Add tenant services
This commit is contained in:
		| @@ -0,0 +1,96 @@ | ||||
| // *********************************************************************** | ||||
| // <copyright file="TenantRequest.cs"> | ||||
| //     AgileWebs | ||||
| // </copyright> | ||||
| // *********************************************************************** | ||||
| using MongoDB.Bson.Serialization.Attributes; | ||||
|  | ||||
| namespace Core.Thalos.Domain.Contexts.Onboarding.Request | ||||
| { | ||||
|     /// <summary> | ||||
|     /// Represents a tenant creation request with business and contact details. | ||||
|     /// </summary> | ||||
|     public class TenantRequest | ||||
|     { | ||||
|         /// <summary> | ||||
|         /// The legal or commercial name of the tenant. | ||||
|         /// </summary> | ||||
|         [BsonElement("name")] | ||||
|         public string Name { get; set; } = null!; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// The tax identification number of the tenant (e.g., RFC, VAT). | ||||
|         /// </summary> | ||||
|         [BsonElement("taxIdentifier")] | ||||
|         public string TaxIdentifier { get; set; } = null!; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// The primary address line (street, number, etc.). | ||||
|         /// </summary> | ||||
|         [BsonElement("addressLine1")] | ||||
|         public string AddressLine1 { get; set; } = null!; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// An optional second address line (apartment, suite, etc.). | ||||
|         /// </summary> | ||||
|         [BsonElement("addressLine2")] | ||||
|         [BsonIgnoreIfNull] | ||||
|         public string? AddressLine2 { get; set; } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// The city where the tenant is located. | ||||
|         /// </summary> | ||||
|         [BsonElement("city")] | ||||
|         public string City { get; set; } = null!; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// The state, province, or region of the tenant. | ||||
|         /// </summary> | ||||
|         [BsonElement("state")] | ||||
|         public string State { get; set; } = null!; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// The country of the tenant. | ||||
|         /// </summary> | ||||
|         [BsonElement("country")] | ||||
|         public string Country { get; set; } = null!; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// The postal or ZIP code of the tenant’s location. | ||||
|         /// </summary> | ||||
|         [BsonElement("postalCode")] | ||||
|         public string PostalCode { get; set; } = null!; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// The main email address for contacting the tenant. | ||||
|         /// </summary> | ||||
|         [BsonElement("contactEmail")] | ||||
|         public string ContactEmail { get; set; } = null!; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// The main phone number for contacting the tenant. | ||||
|         /// </summary> | ||||
|         [BsonElement("contactPhone")] | ||||
|         public string ContactPhone { get; set; } = null!; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// The tenant’s website URL, if available. | ||||
|         /// </summary> | ||||
|         [BsonElement("website")] | ||||
|         [BsonIgnoreIfNull] | ||||
|         public string? Website { get; set; } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// The database connection string for the tenant, if applicable. | ||||
|         /// </summary> | ||||
|         [BsonElement("connectionString")] | ||||
|         [BsonIgnoreIfNull] | ||||
|         public string? ConnectionString { get; set; } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Indicates whether the tenant uses an isolated database. | ||||
|         /// </summary> | ||||
|         [BsonElement("isolated")] | ||||
|         public bool Isolated { get; set; } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user