Class UserPermissionStore
- Namespace
- Uncreated.Warfare.Players.Permissions
- Assembly
- Uncreated.Warfare.dll
[GenerateRpcSource]
[RpcGeneratedProxyType(TypeSetupMethodName = "__ModularRpcsGeneratedSetupStaticGeneratedProxy")]
public class UserPermissionStore : IAsyncDisposable, IHostedService, IEventListener<PlayerLeft>
- Inheritance
-
UserPermissionStore
- Implements
- Inherited Members
Constructors
UserPermissionStore(IUserDataDbContext, WarfareModule, ILogger<UserPermissionStore>, IPlayerService, Func<DutyService>)
public UserPermissionStore(IUserDataDbContext dbContext, WarfareModule module, ILogger<UserPermissionStore> logger, IPlayerService playerService, Func<DutyService> dutyService)
Parameters
dbContextIUserDataDbContextmoduleWarfareModuleloggerILogger<UserPermissionStore>playerServiceIPlayerServicedutyServiceFunc<DutyService>
Properties
DefaultPermissionGroup
The group that all players implicitly are a member of. Adding them to this group manually does nothing.
public PermissionGroup? DefaultPermissionGroup { get; }
Property Value
PermissionGroups
List of all permission groups from config.
public IReadOnlyList<PermissionGroup> PermissionGroups { get; }
Property Value
Methods
AddPermissionAsync(CSteamID, PermissionBranch, CancellationToken)
Add an individual permission to player.
public virtual Task<bool> AddPermissionAsync(CSteamID player, PermissionBranch permission, CancellationToken token = default)
Parameters
playerCSteamIDpermissionPermissionBranchtokenCancellationToken
Returns
AddPermissionGroupAsync(CSteamID, string, CancellationToken)
Add a permission group to player.
public virtual Task<bool> AddPermissionGroupAsync(CSteamID player, string permissionGroupId, CancellationToken token = default)
Parameters
playerCSteamIDpermissionGroupIdstringtokenCancellationToken
Returns
AddPermissionGroupsAsync(CSteamID, IEnumerable<string>, CancellationToken)
Add multiple permission groups to player.
public virtual Task<int> AddPermissionGroupsAsync(CSteamID player, IEnumerable<string> permissionGroupIds, CancellationToken token = default)
Parameters
playerCSteamIDpermissionGroupIdsIEnumerable<string>tokenCancellationToken
Returns
AddPermissionsAsync(CSteamID, IEnumerable<PermissionBranch>, CancellationToken)
Add multiple individual permissions to player.
public virtual Task<int> AddPermissionsAsync(CSteamID player, IEnumerable<PermissionBranch> permissions, CancellationToken token = default)
Parameters
playerCSteamIDpermissionsIEnumerable<PermissionBranch>tokenCancellationToken
Returns
ClearCachedPermissions(ulong)
Clear all cached permissions for a player. If steam64 is 0, all cached permissions will be cleared.
public void ClearCachedPermissions(ulong steam64)
Parameters
steam64ulong
GetPermissionGroupsAsync(CSteamID, bool, CancellationToken)
Get a list of all permission groups assigned to a player already in order of priority.
public virtual ValueTask<IReadOnlyList<PermissionGroup>> GetPermissionGroupsAsync(CSteamID player, bool forceRedownload = false, CancellationToken token = default)
Parameters
playerCSteamIDforceRedownloadbooltokenCancellationToken
Returns
GetPermissionsAsync(CSteamID, bool, CancellationToken)
Get a list of all individual permissions assigned to a player.
public virtual ValueTask<IReadOnlyList<PermissionBranch>> GetPermissionsAsync(CSteamID player, bool forceRedownload = false, CancellationToken token = default)
Parameters
playerCSteamIDforceRedownloadbooltokenCancellationToken
Returns
HasPermissionAsync(ICommandUser, PermissionLeaf, CancellationToken)
Check if a user has permission, or the Superuser permission.
public ValueTask<bool> HasPermissionAsync(ICommandUser user, PermissionLeaf permission, CancellationToken token = default)
Parameters
userICommandUserpermissionPermissionLeaftokenCancellationToken
Returns
RemovePermissionAsync(CSteamID, PermissionBranch, CancellationToken)
Remove an individual permission from player.
public virtual Task<bool> RemovePermissionAsync(CSteamID player, PermissionBranch permission, CancellationToken token = default)
Parameters
playerCSteamIDpermissionPermissionBranchtokenCancellationToken
Returns
RemovePermissionGroupAsync(CSteamID, string, CancellationToken)
Remove a permission group from player.
public virtual Task<bool> RemovePermissionGroupAsync(CSteamID player, string permissionGroupId, CancellationToken token = default)
Parameters
playerCSteamIDpermissionGroupIdstringtokenCancellationToken
Returns
RemovePermissionGroupsAsync(CSteamID, IEnumerable<string>, CancellationToken)
Remove multiple permission groups from player.
public virtual Task<int> RemovePermissionGroupsAsync(CSteamID player, IEnumerable<string> permissionGroupIds, CancellationToken token = default)
Parameters
playerCSteamIDpermissionGroupIdsIEnumerable<string>tokenCancellationToken
Returns
RemovePermissionsAsync(CSteamID, IEnumerable<PermissionBranch>, CancellationToken)
Remove multiple individual permissions from player.
public virtual Task<int> RemovePermissionsAsync(CSteamID player, IEnumerable<PermissionBranch> permissions, CancellationToken token = default)
Parameters
playerCSteamIDpermissionsIEnumerable<PermissionBranch>tokenCancellationToken