be7ee4cae8
feature: flag permissions
46 lines
1.6 KiB
C#
46 lines
1.6 KiB
C#
using System;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace Disco.Models.Repository
|
|
{
|
|
public class UserFlagAssignment
|
|
{
|
|
[Key]
|
|
public int Id { get; set; }
|
|
[Required]
|
|
public int UserFlagId { get; set; }
|
|
[Required]
|
|
public string UserId { get; set; }
|
|
|
|
[Required]
|
|
public DateTime AddedDate { get; set; }
|
|
[Required]
|
|
public string AddedUserId { get; set; }
|
|
public DateTime? RemovedDate { get; set; }
|
|
public string RemovedUserId { get; set; }
|
|
public DateTime? RemoveDate { get; set; }
|
|
public string RemoveUserId { get; set; }
|
|
|
|
public string Comments { get; set; }
|
|
|
|
public string OnAssignmentExpressionResult { get; set; }
|
|
public string OnUnassignmentExpressionResult { get; set; }
|
|
|
|
[ForeignKey(nameof(UserFlagId)), InverseProperty(nameof(Repository.UserFlag.UserFlagAssignments))]
|
|
public virtual UserFlag UserFlag { get; set; }
|
|
|
|
[ForeignKey(nameof(UserId)), InverseProperty(nameof(Repository.User.UserFlagAssignments))]
|
|
public virtual User User { get; set; }
|
|
|
|
[ForeignKey(nameof(AddedUserId))]
|
|
public virtual User AddedUser { get; set; }
|
|
[ForeignKey(nameof(RemovedUserId))]
|
|
public virtual User RemovedUser { get; set; }
|
|
[ForeignKey(nameof(RemoveUserId))]
|
|
public virtual User RemoveUser { get; set; }
|
|
|
|
public override string ToString()
|
|
=> $"User Flag Id: {UserFlagId}; User Id: {UserId}; Added: {AddedDate:s}";
|
|
}
|
|
} |