ciam-commons
Advanced tools
Comparing version 1.20.1 to 1.21.0
@@ -26,5 +26,16 @@ export interface DiscordUser { | ||
} | ||
export declare const isPermissionHolder: (value: unknown) => value is PermissionHolder; | ||
export declare enum PermissionHolderType { | ||
USER = 0, | ||
ROLE = 1, | ||
DISCORD_USER = 2, | ||
DISCORD_ROLE = 3 | ||
} | ||
export interface PermissionHolder { | ||
id: string; | ||
type: PermissionHolderType; | ||
} | ||
export declare const permissionHolderInvocationId: (holder: PermissionHolder) => string; | ||
export interface CheckRequest { | ||
type: 'user' | 'role' | 'discordUser'; | ||
id: string; | ||
holder: PermissionHolder; | ||
required: Flag[]; | ||
@@ -38,7 +49,2 @@ /** | ||
additional: Flag[]; | ||
includeMissing: boolean; | ||
respectCooldown: boolean; | ||
invokeCooldown: boolean; | ||
respectLimit: boolean; | ||
invokeLimit: boolean; | ||
} | ||
@@ -45,0 +51,0 @@ export interface CheckResult { |
@@ -0,1 +1,19 @@ | ||
export const isPermissionHolder = (value) => { | ||
const holder = value; | ||
if (typeof holder.type !== 'number') | ||
return false; | ||
if (typeof holder.id !== 'string') | ||
return false; | ||
return true; | ||
}; | ||
export var PermissionHolderType; | ||
(function (PermissionHolderType) { | ||
PermissionHolderType[PermissionHolderType["USER"] = 0] = "USER"; | ||
PermissionHolderType[PermissionHolderType["ROLE"] = 1] = "ROLE"; | ||
PermissionHolderType[PermissionHolderType["DISCORD_USER"] = 2] = "DISCORD_USER"; | ||
PermissionHolderType[PermissionHolderType["DISCORD_ROLE"] = 3] = "DISCORD_ROLE"; | ||
})(PermissionHolderType || (PermissionHolderType = {})); | ||
export const permissionHolderInvocationId = (holder) => { | ||
return `${holder.id}-${holder.type}`; | ||
}; | ||
export class PermissionError extends Error { | ||
@@ -2,0 +20,0 @@ missing; |
{ | ||
"name": "ciam-commons", | ||
"version": "1.20.1", | ||
"version": "1.21.0", | ||
"description": "Common types and functions for CIAM", | ||
@@ -5,0 +5,0 @@ "main": "./lib/index.js", |
9973
271