Add project files.
This commit is contained in:
		
							
								
								
									
										171
									
								
								Core.Cerberos.Adapters/Adapters/UserAdapter.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										171
									
								
								Core.Cerberos.Adapters/Adapters/UserAdapter.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,171 @@ | ||||
| // *********************************************************************** | ||||
| // <copyright file="UserAdapter.cs"> | ||||
| //     Heath | ||||
| // </copyright> | ||||
| // *********************************************************************** | ||||
| using Core.Cerberos.Adapters.Common.Enums; | ||||
| using MongoDB.Bson; | ||||
| using MongoDB.Bson.Serialization.Attributes; | ||||
| using System.Text.Json.Serialization; | ||||
|  | ||||
| namespace Core.Cerberos.Adapters | ||||
| { | ||||
|     /// <summary> | ||||
|     /// Adapter representing a user. | ||||
|     /// </summary> | ||||
|     public class UserAdapter : BaseAdapterResponse | ||||
|     { | ||||
|         /// <summary> | ||||
|         /// Gets or sets the unique identifier of the user. | ||||
|         /// </summary> | ||||
|         [BsonId] | ||||
|         [BsonElement("_id")] | ||||
|         [BsonRepresentation(BsonType.ObjectId)] | ||||
|         [JsonPropertyName("id")] | ||||
|         public string Id { get; set; } = null!; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the guid of the user. | ||||
|         /// </summary> | ||||
|         [BsonElement("guid")] | ||||
|         [BsonRepresentation(BsonType.String)] | ||||
|         [JsonPropertyName("guid")] | ||||
|         public string? Guid { get; set; } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the email address of the user. | ||||
|         /// </summary> | ||||
|         [BsonElement("email")] | ||||
|         [BsonRepresentation(BsonType.String)] | ||||
|         [JsonPropertyName("email")] | ||||
|         public string Email { get; set; } = null!; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the name of the user. | ||||
|         /// </summary> | ||||
|         [BsonElement("name")] | ||||
|         [BsonRepresentation(BsonType.String)] | ||||
|         [JsonPropertyName("name")] | ||||
|         public string Name { get; set; } = null!; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the middlename of the user. | ||||
|         /// </summary> | ||||
|         [BsonElement("middleName")] | ||||
|         [BsonRepresentation(BsonType.String)] | ||||
|         [JsonPropertyName("middleName")] | ||||
|         public string? MiddleName { get; set; } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the last name of the user. | ||||
|         /// </summary> | ||||
|         [BsonElement("lastName")] | ||||
|         [BsonRepresentation(BsonType.String)] | ||||
|         [JsonPropertyName("lastName")] | ||||
|         public string LastName { get; set; } = null!; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the name of the user. | ||||
|         /// </summary> | ||||
|         [BsonElement("displayName")] | ||||
|         [BsonRepresentation(BsonType.String)] | ||||
|         [JsonPropertyName("displayName")] | ||||
|         public string? DisplayName { get; set; } | ||||
|  | ||||
|         /// <summary>     | ||||
|         /// Gets or sets the role ID of the user. | ||||
|         /// </summary> | ||||
|         [BsonElement("roleId")] | ||||
|         [BsonRepresentation(BsonType.ObjectId)] | ||||
|         [JsonPropertyName("roleId")] | ||||
|         public string RoleId { get; set; } = null!; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the array of companies associated with the user. | ||||
|         /// </summary> | ||||
|         [BsonElement("companies")] | ||||
|         [JsonPropertyName("companies")] | ||||
|         public string[] Companies { get; set; } = null!; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the array of projects associated with the user. | ||||
|         /// </summary> | ||||
|         [BsonElement("projects")] | ||||
|         [JsonPropertyName("projects")] | ||||
|         public string[]? Projects { get; set; } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the boolean of the consent form accepted by the user. | ||||
|         /// </summary> | ||||
|         [BsonElement("consentFormAccepted")] | ||||
|         [JsonPropertyName("consentFormAccepted")] | ||||
|         [BsonIgnoreIfNull] | ||||
|         public bool ConsentFormAccepted { get; set; } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the timestamp of the last login of the user. | ||||
|         /// </summary> | ||||
|         [BsonElement("lastLogIn")] | ||||
|         [BsonRepresentation(BsonType.DateTime)] | ||||
|         [JsonPropertyName("lastLogIn")] | ||||
|         public DateTime? LastLogIn { get; set; } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the timestamp of the last logout of the user. | ||||
|         /// </summary> | ||||
|         [BsonElement("lastLogOut")] | ||||
|         [BsonRepresentation(BsonType.DateTime)] | ||||
|         [JsonPropertyName("lastLogOut")] | ||||
|         public DateTime? LastLogOut { get; set; } | ||||
|  | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the token associated with the user. | ||||
|         /// </summary> | ||||
|         [BsonElement("token")] | ||||
|         [BsonRepresentation(BsonType.String)] | ||||
|         [JsonPropertyName("token")] | ||||
|         public string? Token { get; set; } = null; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the date and time when the entity was created. | ||||
|         /// </summary> | ||||
|         [BsonElement("createdAt")] | ||||
|         [BsonRepresentation(BsonType.DateTime)] | ||||
|         [JsonPropertyName("createdAt")] | ||||
|         public DateTime CreatedAt { get; set; } = DateTime.UtcNow; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the user who created the entity. | ||||
|         /// </summary> | ||||
|         [BsonElement("createdBy")] | ||||
|         [BsonRepresentation(BsonType.String)] | ||||
|         [JsonPropertyName("createdBy")] | ||||
|         public string? CreatedBy { get; set; } | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the date and time when the entity was last updated. | ||||
|         /// </summary> | ||||
|         [BsonElement("updatedAt")] | ||||
|         [BsonRepresentation(BsonType.DateTime)] | ||||
|         [JsonPropertyName("updatedAt")] | ||||
|         public DateTime? UpdatedAt { get; set; } = null; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the user who last updated the entity. | ||||
|         /// </summary> | ||||
|         [BsonElement("updatedBy")] | ||||
|         [BsonRepresentation(BsonType.String)] | ||||
|         [JsonPropertyName("updatedBy")] | ||||
|         public string? UpdatedBy { get; set; } = null; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Gets or sets the status of the entity. | ||||
|         /// </summary> | ||||
|         [BsonElement("status")] | ||||
|         [BsonRepresentation(BsonType.String)] | ||||
|         [JsonPropertyName("status")] | ||||
|         [JsonConverter(typeof(JsonStringEnumConverter))] | ||||
|         public StatusEnum Status { get; set; } = StatusEnum.Active; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Sergio Matias Urquin
					Sergio Matias Urquin