feat(backend): add pride flag models

This commit is contained in:
sam 2024-09-26 20:15:04 +02:00
parent 39b0917585
commit a70078995b
Signed by: sam
GPG key ID: B4EF20DDE721CAA1
9 changed files with 346 additions and 0 deletions

View file

@ -14,6 +14,8 @@ public class Member : BaseModel
public List<Pronoun> Pronouns { get; set; } = [];
public List<Field> Fields { get; set; } = [];
public List<MemberFlag> ProfileFlags { get; set; } = [];
public Snowflake UserId { get; init; }
public User User { get; init; } = null!;
}

View file

@ -0,0 +1,25 @@
namespace Foxnouns.Backend.Database.Models;
public class PrideFlag : BaseModel
{
public required Snowflake UserId { get; init; }
public required string Hash { get; init; }
public required string Name { get; set; }
public string? Description { get; set; }
}
public class UserFlag
{
public long Id { get; init; }
public required Snowflake UserId { get; init; }
public required Snowflake PrideFlagId { get; init; }
public PrideFlag PrideFlag { get; init; } = null!;
}
public class MemberFlag
{
public long Id { get; init; }
public required Snowflake MemberId { get; init; }
public required Snowflake PrideFlagId { get; init; }
public PrideFlag PrideFlag { get; init; } = null!;
}

View file

@ -21,6 +21,9 @@ public class User : BaseModel
public List<Field> Fields { get; set; } = [];
public Dictionary<Snowflake, CustomPreference> CustomPreferences { get; set; } = [];
public List<PrideFlag> Flags { get; set; } = [];
public List<UserFlag> ProfileFlags { get; set; } = [];
public UserRole Role { get; set; } = UserRole.User;
public string? Password { get; set; } // Password may be null if the user doesn't authenticate with an email address