69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| // ***********************************************************************
 | |
| // <copyright file="RoleAdapter.cs">
 | |
| //     AgileWebs
 | |
| // </copyright>
 | |
| // ***********************************************************************
 | |
| 
 | |
| using Core.Blueprint.Mongo;
 | |
| using Core.Thalos.Adapters.Common.Enums;
 | |
| using MongoDB.Bson;
 | |
| using MongoDB.Bson.Serialization.Attributes;
 | |
| using System.Text.Json.Serialization;
 | |
| 
 | |
| namespace Core.Thalos.Adapters
 | |
| {
 | |
|     /// <summary>
 | |
|     /// Adapter representing a role.
 | |
|     /// </summary>
 | |
|     [CollectionAttributeName("Roles")]
 | |
|     public class RoleAdapter : Document
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// Gets or sets the unique identifier of the role.
 | |
|         /// </summary>
 | |
|         [BsonId]
 | |
|         [BsonElement("_id")]
 | |
|         [BsonRepresentation(BsonType.ObjectId)]
 | |
|         [JsonPropertyName("id")]
 | |
|         public string Id { get; set; } = null!;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets or sets the name of the role.
 | |
|         /// </summary>
 | |
|         [BsonElement("name")]
 | |
|         [BsonRepresentation(BsonType.String)]
 | |
|         [JsonPropertyName("name")]
 | |
|         public string Name { get; set; } = null!;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets or sets the description of the role.
 | |
|         /// </summary>
 | |
|         [BsonElement("description")]
 | |
|         [BsonRepresentation(BsonType.String)]
 | |
|         [JsonPropertyName("description")]
 | |
|         public string? Description { get; set; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets or sets the status of the entity.
 | |
|         /// </summary>
 | |
|         [BsonElement("applications")]
 | |
|         [JsonPropertyName("applications")]
 | |
|         [JsonConverter(typeof(EnumArrayJsonConverter<ApplicationsEnum>))]
 | |
|         public ApplicationsEnum[]? Applications { get; set; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets or sets the modules of the role.
 | |
|         /// </summary>
 | |
|         [BsonElement("modules")]
 | |
|         [JsonPropertyName("modules")]
 | |
|         public string[] Modules { get; set; } = null!;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Gets or sets the permissions of the role.
 | |
|         /// </summary>
 | |
|         [BsonElement("permissions")]
 | |
|         [JsonPropertyName("permissions")]
 | |
|         public string[] Permissions { get; set; } = null!;
 | |
|     }
 | |
| }
 | 
