vassago/Models/UAC.cs
adam b859d99c92
All checks were successful
gitea.arg.rip/vassago/pipeline/head This commit looks good
fixed web controller pages
2025-06-12 00:40:37 -04:00

38 lines
1.5 KiB
C#

namespace vassago.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using vassago.Models;
//TODO: rename.
//"uac" originally meant "user account control". but it might just be channel control. in fact, channel-control is much more fun,
//then the platform manages the permissions for you!
//but now I'm going to add locales to it, so it's kind of... "miscellaneous attached data". Official Sticky Notes, if you will.
public class UAC
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; }
///<summary indulgence="haiku-like">
///behaviors will have
///a hardcoded ID thing
///so they can find theirs.
///</summary>
public Guid OwnerId { get; set;}
public string DisplayName { get; set; }
public List<Account> AccountInChannels { get; set; }
public List<Channel> Channels { get; set; }
public List<User> Users { get; set; }
///<summary>"but past adam", you may ask. "if UACs are configured before runtime, why not write html into your source control, as part of the project,
///with the benefit of an html editor?"
///absolutely fair question. **But**: the plan is for external services, e.g., over kafka, to manage their own. So from Vassago's perspective,
///it's variably before and after compile time. shrug.emote.
///</summary>
public string Description { get; set; }
public Dictionary<string, string> CommandAliases {get; set;}
public Dictionary<string, string> Localization {get; set;}
}