Files
ClubPenguinServer/MareSynchronosServer/MareSynchronosShared/Models/CharaData.cs
Stanley Dimant 156c3d80ed MCDO fixes
add groups to individuals stuff

don't show your own data lmao

don't allow to share to not joined groups

fix shared bug maybe

fucking braces

improve CharaDataGetShared()

remove unnecessary double-query on get shared data

optimize

remove shit
2025-06-28 14:37:25 +00:00

91 lines
2.8 KiB
C#

using System.ComponentModel.DataAnnotations;
namespace MareSynchronosShared.Models;
public enum CharaDataAccess
{
Individuals,
ClosePairs,
AllPairs,
Public
}
public enum CharaDataShare
{
Private,
Shared
}
public class CharaData
{
public string Id { get; set; }
public virtual User Uploader { get; set; }
public string UploaderUID { get; set; }
public DateTime CreatedDate { get; set; }
public DateTime UpdatedDate { get; set; }
public string Description { get; set; }
public CharaDataAccess AccessType { get; set; }
public CharaDataShare ShareType { get; set; }
public DateTime? ExpiryDate { get; set; }
public string? GlamourerData { get; set; }
public string? CustomizeData { get; set; }
public string? ManipulationData { get; set; }
public int DownloadCount { get; set; } = 0;
public virtual ICollection<CharaDataPose> Poses { get; set; } = [];
public virtual ICollection<CharaDataFile> Files { get; set; } = [];
public virtual ICollection<CharaDataFileSwap> FileSwaps { get; set; } = [];
public virtual ICollection<CharaDataOriginalFile> OriginalFiles { get; set; } = [];
public virtual ICollection<CharaDataAllowance> AllowedIndividiuals { get; set; } = [];
}
public class CharaDataAllowance
{
[Key]
public long Id { get; set; }
public virtual CharaData Parent { get; set; }
public string ParentId { get; set; }
public string ParentUploaderUID { get; set; }
public virtual User? AllowedUser { get; set; }
public string? AllowedUserUID { get; set; }
public virtual Group? AllowedGroup { get; set; }
public string? AllowedGroupGID { get; set; }
}
public class CharaDataOriginalFile
{
public virtual CharaData Parent { get; set; }
public string ParentId { get; set; }
public string ParentUploaderUID { get; set; }
public string GamePath { get; set; }
public string Hash { get; set; }
}
public class CharaDataFile
{
public virtual FileCache FileCache { get; set; }
public string FileCacheHash { get; set; }
public string GamePath { get; set; }
public virtual CharaData Parent { get; set; }
public string ParentId { get; set; }
public string ParentUploaderUID { get; set; }
}
public class CharaDataFileSwap
{
public virtual CharaData Parent { get; set; }
public string ParentId { get; set; }
public string ParentUploaderUID { get; set; }
public string GamePath { get; set; }
public string FilePath { get; set; }
}
public class CharaDataPose
{
public long Id { get; set; }
public virtual CharaData Parent { get; set; }
public string ParentId { get; set; }
public string ParentUploaderUID { get; set; }
public string Description { get; set; }
public string PoseData { get; set; }
public string WorldData { get; set; }
}