@rebasepro/types 0.2.4 → 0.2.5
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/dist/controllers/auth.d.ts +2 -2
- package/dist/controllers/client.d.ts +25 -40
- package/dist/controllers/data.d.ts +4 -0
- package/dist/controllers/data_driver.d.ts +5 -0
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js.map +1 -1
- package/dist/types/auth_adapter.d.ts +3 -56
- package/dist/types/backend.d.ts +2 -2
- package/dist/types/backend_hooks.d.ts +2 -17
- package/dist/types/properties.d.ts +7 -5
- package/dist/types/user_management_delegate.d.ts +16 -53
- package/dist/users/index.d.ts +0 -1
- package/dist/users/user.d.ts +0 -1
- package/package.json +1 -1
- package/src/controllers/auth.tsx +2 -2
- package/src/controllers/client.ts +23 -22
- package/src/controllers/data.ts +5 -0
- package/src/controllers/data_driver.ts +6 -0
- package/src/types/auth_adapter.ts +5 -63
- package/src/types/backend.ts +2 -2
- package/src/types/backend_hooks.ts +2 -18
- package/src/types/properties.ts +18 -29
- package/src/types/user_management_delegate.ts +16 -67
- package/src/users/index.ts +1 -1
- package/src/users/user.ts +0 -1
- package/dist/users/roles.d.ts +0 -14
- package/src/users/roles.ts +0 -22
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { User } from "../users";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Result of creating a new user via admin flow.
|
|
@@ -18,60 +18,45 @@ export interface UserCreationResult<USER extends User = User> {
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
-
* Delegate to manage
|
|
22
|
-
*
|
|
23
|
-
*
|
|
21
|
+
* Delegate to manage auth-specific user operations.
|
|
22
|
+
*
|
|
23
|
+
* This interface allows the CMS to be agnostic of the underlying
|
|
24
|
+
* authentication provider or backend. User/role CRUD is now handled
|
|
25
|
+
* by the collection system; this delegate only exposes auth-specific
|
|
26
|
+
* operations (password hashing, invitations, bootstrap).
|
|
24
27
|
*
|
|
25
28
|
* @group Models
|
|
26
29
|
*/
|
|
27
30
|
export interface UserManagementDelegate<USER extends User = User> {
|
|
28
31
|
|
|
29
32
|
/**
|
|
30
|
-
* Are
|
|
33
|
+
* Are auth-related operations currently loading?
|
|
31
34
|
*/
|
|
32
35
|
loading: boolean;
|
|
33
36
|
|
|
34
37
|
/**
|
|
35
|
-
*
|
|
38
|
+
* In-memory list of users (used for client-side filtering fallback).
|
|
36
39
|
*/
|
|
37
|
-
users
|
|
40
|
+
users?: USER[];
|
|
38
41
|
|
|
39
42
|
/**
|
|
40
|
-
*
|
|
43
|
+
* Error from fetching the users list, if any.
|
|
41
44
|
*/
|
|
42
45
|
usersError?: Error;
|
|
43
46
|
|
|
44
47
|
/**
|
|
45
|
-
*
|
|
46
|
-
* user information when assigning ownership of an entity.
|
|
47
|
-
* @param uid
|
|
48
|
-
*/
|
|
49
|
-
getUser: (uid: string) => USER | null;
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Search users with server-side pagination.
|
|
53
|
-
* When provided, the CMS will use this for the users table
|
|
54
|
-
* instead of loading all users into memory.
|
|
48
|
+
* Look up a single user by UID from the in-memory cache.
|
|
55
49
|
*/
|
|
56
|
-
|
|
57
|
-
search?: string;
|
|
58
|
-
limit?: number;
|
|
59
|
-
offset?: number;
|
|
60
|
-
orderBy?: string;
|
|
61
|
-
orderDir?: "asc" | "desc";
|
|
62
|
-
roleId?: string;
|
|
63
|
-
}) => Promise<{ users: USER[]; total: number }>;
|
|
50
|
+
getUser?: (uid: string) => USER | null;
|
|
64
51
|
|
|
65
52
|
/**
|
|
66
|
-
*
|
|
67
|
-
* @param user
|
|
53
|
+
* Server-side user search with pagination.
|
|
68
54
|
*/
|
|
69
|
-
|
|
55
|
+
searchUsers?: (params: { search?: string; limit?: number; offset?: number }) => Promise<{ users: USER[]; total: number }>;
|
|
70
56
|
|
|
71
57
|
/**
|
|
72
58
|
* Create a new user with invitation/password generation support.
|
|
73
59
|
* Returns additional info about how the credentials were delivered.
|
|
74
|
-
* Falls back to saveUser if not provided.
|
|
75
60
|
*/
|
|
76
61
|
createUser?: (user: USER) => Promise<UserCreationResult<USER>>;
|
|
77
62
|
|
|
@@ -82,52 +67,16 @@ export interface UserManagementDelegate<USER extends User = User> {
|
|
|
82
67
|
*/
|
|
83
68
|
resetPassword?: (user: USER) => Promise<UserCreationResult<USER>>;
|
|
84
69
|
|
|
85
|
-
/**
|
|
86
|
-
* Delete a user
|
|
87
|
-
* @param user
|
|
88
|
-
*/
|
|
89
|
-
deleteUser?: (user: USER) => Promise<void>;
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* List of roles defined in the CMS.
|
|
93
|
-
*/
|
|
94
|
-
roles?: Role[];
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Optional error if roles failed to load.
|
|
98
|
-
*/
|
|
99
|
-
rolesError?: Error;
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Save a role (create or update)
|
|
103
|
-
* @param role
|
|
104
|
-
*/
|
|
105
|
-
saveRole?: (role: Role) => Promise<void>;
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Delete a role
|
|
109
|
-
* @param role
|
|
110
|
-
*/
|
|
111
|
-
deleteRole?: (role: Role) => Promise<void>;
|
|
112
|
-
|
|
113
70
|
/**
|
|
114
71
|
* Is the currently logged in user an admin?
|
|
115
72
|
*/
|
|
116
73
|
isAdmin?: boolean;
|
|
117
74
|
|
|
118
|
-
/**
|
|
119
|
-
* If true, the UI will allow the user to create the default roles (admin, editor, viewer).
|
|
120
|
-
*/
|
|
121
|
-
allowDefaultRolesCreation?: boolean;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
75
|
/**
|
|
127
76
|
* Optionally define roles for a given user. This is useful when the roles
|
|
128
77
|
* are coming from a separate provider than the one issuing the tokens.
|
|
129
78
|
*/
|
|
130
|
-
defineRolesFor?: (user: USER) => Promise<
|
|
79
|
+
defineRolesFor?: (user: USER) => Promise<string[] | undefined> | string[] | undefined;
|
|
131
80
|
|
|
132
81
|
/**
|
|
133
82
|
* Whether any admin users exist. Used by the bootstrap banner to decide
|
package/src/users/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from "./user";
|
|
2
|
-
|
|
2
|
+
|
package/src/users/user.ts
CHANGED
package/dist/users/roles.d.ts
DELETED
package/src/users/roles.ts
DELETED