Reintroduces separate contexts for users, channels, connections (now split into sessions and connections) and user-channel associations. It builds which is as much assurance as I can give about the stability of this commit, but its also the bare minimum of what i like to commit sooooo A lot of things still need to be broadcast through events throughout the application in order to keep states consistent but we'll cross that bridge when we get to it. I really need to stop using that phrase thingy, I'm overusing it.
22 lines
533 B
C#
22 lines
533 B
C#
namespace SharpChat.Users;
|
|
|
|
public readonly record struct UserDiff(
|
|
User User,
|
|
string Id,
|
|
StringDiff Name,
|
|
ValueDiff<ColourInheritable> Colour,
|
|
ValueDiff<int> Rank,
|
|
ValueDiff<UserPermissions> Permissions,
|
|
StringDiff Nick,
|
|
ValueDiff<UserStatus> Status,
|
|
StringDiff StatusText
|
|
) : Diff {
|
|
public bool Changed
|
|
=> Name.Changed
|
|
|| Colour.Changed
|
|
|| Rank.Changed
|
|
|| Permissions.Changed
|
|
|| Nick.Changed
|
|
|| Status.Changed
|
|
|| StatusText.Changed;
|
|
}
|