Files
TorchPlugins/LightPerms/Group.cs
2022-05-24 15:49:43 +07:00

48 lines
1.4 KiB
C#

using PetaPoco;
namespace LightPerms;
[TableName("groups")]
[PrimaryKey(nameof(Uid), AutoIncrement = true)]
public class Group
{
[Column]
public long Uid { get; set; }
[Column]
public string Name { get; set; } = "group";
internal const string CreateTableSql = "create table if not exists groups (uid INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL);";
}
[TableName("permissions")]
[PrimaryKey(nameof(Uid), AutoIncrement = true)]
public class Permission
{
[Column]
public long Uid { get; set; }
[Column]
public string Value { get; set; } = "*";
[Column]
public long GroupUid { get; set; }
internal const string CreateTableSql = "create table if not exists permissions (uid INTEGER PRIMARY KEY AUTOINCREMENT, value TEXT NOT NULL, group_uid INTEGER, FOREIGN KEY(group_uid) REFERENCES groups(uid));";
}
[TableName("group_members")]
[PrimaryKey(nameof(Uid), AutoIncrement = true)]
public class GroupMember
{
[Column]
public long Uid { get; set; }
[Column]
public string Name { get; set; } = "no name";
[Column]
public string ClientId { get; set; } = "0";
[Column]
public long GroupUid { get; set; }
internal const string CreateTableSql = "create table if not exists group_members (uid INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, client_id INTEGER, group_uid INTEGER, FOREIGN KEY(group_uid) REFERENCES groups(uid));";
}