29 lines
975 B
C#
29 lines
975 B
C#
using SurrealDb.Net.Models;
|
|
|
|
namespace RelayServer.Models;
|
|
|
|
[Flags]
|
|
public enum PermissionFlags
|
|
{
|
|
None = 0,
|
|
ReadMessages = 1 << 0,
|
|
SendMessages = 1 << 1,
|
|
ManageMessages = 1 << 2, // Edit / delete others' messages
|
|
ManageChannels = 1 << 3, // Create channels (umbrella manage permission)
|
|
ManageMembers = 1 << 4, // Kick / ban members
|
|
Administrator = 1 << 5, // All permissions, bypasses channel overrides
|
|
ViewChannel = 1 << 6, // "Visibility" — can see the channel at all
|
|
Speak = 1 << 7, // Can transmit in a voice channel
|
|
EditChannel = 1 << 8, // Rename / reconfigure a channel
|
|
DeleteChannel = 1 << 9 // Delete a channel
|
|
}
|
|
|
|
public class Roles : Record
|
|
{
|
|
public required string Name { get; set; }
|
|
public required PermissionFlags Permissions { get; set; }
|
|
public required DateTime CreatedAt { get; set; }
|
|
|
|
public int Priority { get; set; }
|
|
}
|