using Bit.Core.Enums; using Bit.Core.Models.Data.Organizations.Policies; using Bit.Core.Utilities; namespace Bit.Core.Entities; public class Policy : ITableObject { public Guid Id { get; set; } public Guid OrganizationId { get; set; } public PolicyType Type { get; set; } public string Data { get; set; } public bool Enabled { get; set; } public DateTime CreationDate { get; internal set; } = DateTime.UtcNow; public DateTime RevisionDate { get; internal set; } = DateTime.UtcNow; public void SetNewId() { Id = CoreHelpers.GenerateComb(); } public T GetDataModel() where T : IPolicyDataModel, new() { return CoreHelpers.LoadClassFromJsonData(Data); } public void SetDataModel(T dataModel) where T : IPolicyDataModel, new() { Data = CoreHelpers.ClassToJsonData(dataModel); } }