This commit is contained in:
zznty
2022-05-24 15:49:43 +07:00
commit c20e468b99
32 changed files with 1654 additions and 0 deletions

47
LightPerms/Group.cs Normal file
View File

@@ -0,0 +1,47 @@
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));";
}