101 lines
3.2 KiB
C#
101 lines
3.2 KiB
C#
// ***********************************************************************
|
|
// <copyright file="UserAdapter.cs">
|
|
// AgileWebs
|
|
// </copyright>
|
|
// ***********************************************************************
|
|
using Core.Blueprint.Mongo;
|
|
using MongoDB.Bson;
|
|
using MongoDB.Bson.Serialization.Attributes;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace Core.Thalos.BuildingBlocks
|
|
{
|
|
/// <summary>
|
|
/// Adapter representing a user.
|
|
/// </summary>
|
|
[CollectionAttributeName("Users")]
|
|
public class UserAdapter : Document
|
|
{
|
|
/// <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 Tenand ID of the user.
|
|
/// </summary>
|
|
[BsonElement("tenantId")]
|
|
[BsonRepresentation(BsonType.ObjectId)]
|
|
[JsonPropertyName("tenantId")]
|
|
public string TenantId { get; set; } = null!;
|
|
|
|
/// <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 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;
|
|
}
|
|
}
|