Update: Text Channel Stuff
Bugs: Files don't work Bugs: Video In-Line don't work Added: idk, everything?
This commit is contained in:
12
RelayServer/Models/Chat/ChannelMessageEdits.cs
Normal file
12
RelayServer/Models/Chat/ChannelMessageEdits.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using SurrealDb.Net.Models;
|
||||
|
||||
namespace RelayServer.Models;
|
||||
|
||||
public class ChannelMessageEdits : Record
|
||||
{
|
||||
public required string MessageId { get; set; }
|
||||
public required string CipherText { get; set; }
|
||||
public required string Nonce { get; set; }
|
||||
public required string Tag { get; set; }
|
||||
public required DateTime EditedAt { get; set; }
|
||||
}
|
||||
@@ -10,4 +10,6 @@ public class ChannelMessages : Record
|
||||
public required string Nonce { get; set; }
|
||||
public required string Tag { get; set; }
|
||||
public required DateTime CreatedAt { get; set; }
|
||||
}
|
||||
public DateTime? EditedAt { get; set; }
|
||||
public bool IsDeleted { get; set; }
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using SurrealDb.Net.Models;
|
||||
using RelayShared.Services;
|
||||
|
||||
namespace RelayServer.Models;
|
||||
|
||||
@@ -6,4 +7,9 @@ public class Channels : Record
|
||||
{
|
||||
public required string Name { get; set; }
|
||||
public required DateTime CreatedAt { get; set; }
|
||||
}
|
||||
public ChannelType Type { get; set; } = ChannelType.Text;
|
||||
public string Group { get; set; } = string.Empty;
|
||||
public bool IsReadOnly { get; set; }
|
||||
public bool IsDeleted { get; set; }
|
||||
public string? LinkedFileChannelId { get; set; }
|
||||
}
|
||||
|
||||
11
RelayServer/Models/Server/ChannelPermissions.cs
Normal file
11
RelayServer/Models/Server/ChannelPermissions.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using SurrealDb.Net.Models;
|
||||
|
||||
namespace RelayServer.Models;
|
||||
|
||||
public class ChannelPermissions : Record
|
||||
{
|
||||
public required string ChannelId { get; set; }
|
||||
public required string RoleId { get; set; }
|
||||
public PermissionFlags Allow { get; set; }
|
||||
public PermissionFlags Deny { get; set; }
|
||||
}
|
||||
28
RelayServer/Models/Server/Roles.cs
Normal file
28
RelayServer/Models/Server/Roles.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
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; }
|
||||
}
|
||||
10
RelayServer/Models/Server/UserRoles.cs
Normal file
10
RelayServer/Models/Server/UserRoles.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
using SurrealDb.Net.Models;
|
||||
|
||||
namespace RelayServer.Models;
|
||||
|
||||
public class UserRoles : Record
|
||||
{
|
||||
public required string UserId { get; set; }
|
||||
public required string RoleId { get; set; }
|
||||
public required DateTime AssignedAt { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user