using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using AyCode.Interfaces.Entities; using AyCode.Interfaces.TimeStampInfo; namespace TIAM.Entities.Permissions; [Table("PermissionContextMapping")] public class PermissionContextMapping : IEntityGuid, ITimeStampInfo { [Key, DatabaseGenerated(DatabaseGeneratedOption.None)] public Guid Id { get; set; } public Guid SubjectId { get; set; } //group or user public short SubjectType { get; set; } //1 for user, 2 for group public int Permissions { get; set; } public bool IsBuiltin { get; set; } public DateTime Created { get; set; } public DateTime Modified { get; set; } public PermissionContextMapping(Guid subjectId, short subjectType, int permissions, bool isBuiltin) : this(Guid.NewGuid(), subjectId, subjectType, permissions, isBuiltin) { } public PermissionContextMapping(Guid id, Guid subjectId, short subjectType, int permissions, bool isBuiltin) { Id = id; SubjectId = subjectId; SubjectType = subjectType; Permissions = permissions; IsBuiltin = isBuiltin; } }