@prsm/auth 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +226 -0
- package/index.d.ts +19 -0
- package/package.json +76 -0
- package/src/__tests__/auth.test.js +1171 -0
- package/src/__tests__/impersonation-test-setup.js +208 -0
- package/src/__tests__/impersonation.test.js +473 -0
- package/src/__tests__/oauth-test-setup.js +136 -0
- package/src/__tests__/oauth.test.js +400 -0
- package/src/__tests__/prsm.test.js +215 -0
- package/src/__tests__/test-setup.js +385 -0
- package/src/__tests__/totp.test.js +158 -0
- package/src/__tests__/two-factor-test-setup.js +331 -0
- package/src/__tests__/two-factor.test.js +396 -0
- package/src/activity-logger.js +228 -0
- package/src/auth-context.js +120 -0
- package/src/auth-functions.js +520 -0
- package/src/auth-manager.js +1371 -0
- package/src/errors.js +173 -0
- package/src/hooks.js +41 -0
- package/src/index.js +23 -0
- package/src/invalidation.js +166 -0
- package/src/middleware.js +33 -0
- package/src/providers/azure-provider.js +114 -0
- package/src/providers/base-provider.js +152 -0
- package/src/providers/github-provider.js +86 -0
- package/src/providers/google-provider.js +76 -0
- package/src/providers/index.js +4 -0
- package/src/queries.js +543 -0
- package/src/schema.js +261 -0
- package/src/totp.js +221 -0
- package/src/two-factor/index.js +3 -0
- package/src/two-factor/otp-provider.js +128 -0
- package/src/two-factor/totp-provider.js +98 -0
- package/src/two-factor/two-factor-manager.js +676 -0
- package/src/types.js +399 -0
- package/src/user-roles.js +128 -0
- package/src/util.js +32 -0
- package/types/activity-logger.d.ts +73 -0
- package/types/auth-context.d.ts +88 -0
- package/types/auth-functions.d.ts +151 -0
- package/types/auth-manager.d.ts +365 -0
- package/types/errors.d.ts +108 -0
- package/types/hooks.d.ts +30 -0
- package/types/index.d.ts +13 -0
- package/types/invalidation.d.ts +40 -0
- package/types/middleware.d.ts +11 -0
- package/types/providers/azure-provider.d.ts +35 -0
- package/types/providers/base-provider.d.ts +52 -0
- package/types/providers/github-provider.d.ts +29 -0
- package/types/providers/google-provider.d.ts +29 -0
- package/types/providers/index.d.ts +4 -0
- package/types/queries.d.ts +287 -0
- package/types/schema.d.ts +37 -0
- package/types/totp.d.ts +72 -0
- package/types/two-factor/index.d.ts +3 -0
- package/types/two-factor/otp-provider.d.ts +57 -0
- package/types/two-factor/totp-provider.d.ts +58 -0
- package/types/two-factor/two-factor-manager.d.ts +191 -0
- package/types/types.d.ts +688 -0
- package/types/user-roles.d.ts +47 -0
- package/types/util.d.ts +3 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Define a set of named roles as a frozen bitmask map. Each role gets the next
|
|
3
|
+
* power-of-two bit. Capped at 31 because postgres INTEGER is 32-bit signed.
|
|
4
|
+
*
|
|
5
|
+
* @param {...string} names
|
|
6
|
+
* @returns {Readonly<Record<string, number>>}
|
|
7
|
+
*/
|
|
8
|
+
export function defineRoles(...names: string[]): Readonly<Record<string, number>>;
|
|
9
|
+
/**
|
|
10
|
+
* Add a role to a user's account using bitwise OR.
|
|
11
|
+
*
|
|
12
|
+
* @param {AuthConfig} config
|
|
13
|
+
* @param {UserIdentifier} identifier
|
|
14
|
+
* @param {number} role
|
|
15
|
+
* @throws {UserNotFoundError}
|
|
16
|
+
*/
|
|
17
|
+
export function addRoleToUser(config: AuthConfig, identifier: UserIdentifier, role: number): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Remove a role from a user's account using bitwise operations.
|
|
20
|
+
*
|
|
21
|
+
* @param {AuthConfig} config
|
|
22
|
+
* @param {UserIdentifier} identifier
|
|
23
|
+
* @param {number} role
|
|
24
|
+
* @throws {UserNotFoundError}
|
|
25
|
+
*/
|
|
26
|
+
export function removeRoleFromUser(config: AuthConfig, identifier: UserIdentifier, role: number): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Set a user's complete role mask, replacing any existing roles.
|
|
29
|
+
*
|
|
30
|
+
* @param {AuthConfig} config
|
|
31
|
+
* @param {UserIdentifier} identifier
|
|
32
|
+
* @param {number} rolemask
|
|
33
|
+
* @throws {UserNotFoundError}
|
|
34
|
+
*/
|
|
35
|
+
export function setUserRoles(config: AuthConfig, identifier: UserIdentifier, rolemask: number): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Get a user's current role mask.
|
|
38
|
+
*
|
|
39
|
+
* @param {AuthConfig} config
|
|
40
|
+
* @param {UserIdentifier} identifier
|
|
41
|
+
* @returns {Promise<number>}
|
|
42
|
+
* @throws {UserNotFoundError}
|
|
43
|
+
*/
|
|
44
|
+
export function getUserRoles(config: AuthConfig, identifier: UserIdentifier): Promise<number>;
|
|
45
|
+
export type AuthConfig = import("./types.js").AuthConfig;
|
|
46
|
+
export type AuthAccount = import("./types.js").AuthAccount;
|
|
47
|
+
export type UserIdentifier = import("./types.js").UserIdentifier;
|
package/types/util.d.ts
ADDED