@workos-inc/widgets 0.0.0-pre.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/LICENSE +21 -0
- package/README.md +3 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/lib/api/config.d.ts +9 -0
- package/dist/cjs/lib/api/config.d.ts.map +1 -0
- package/dist/cjs/lib/api/config.js +12 -0
- package/dist/cjs/lib/api/config.js.map +1 -0
- package/dist/cjs/lib/api/role.d.ts +9 -0
- package/dist/cjs/lib/api/role.d.ts.map +1 -0
- package/dist/cjs/lib/api/role.js +94 -0
- package/dist/cjs/lib/api/role.js.map +1 -0
- package/dist/cjs/lib/api/user.d.ts +61 -0
- package/dist/cjs/lib/api/user.d.ts.map +1 -0
- package/dist/cjs/lib/api/user.js +312 -0
- package/dist/cjs/lib/api/user.js.map +1 -0
- package/dist/cjs/lib/constants.d.ts +3 -0
- package/dist/cjs/lib/constants.d.ts.map +1 -0
- package/dist/cjs/lib/constants.js +6 -0
- package/dist/cjs/lib/constants.js.map +1 -0
- package/dist/cjs/lib/delete-user-dialog.d.ts +12 -0
- package/dist/cjs/lib/delete-user-dialog.d.ts.map +1 -0
- package/dist/cjs/lib/delete-user-dialog.js +37 -0
- package/dist/cjs/lib/delete-user-dialog.js.map +1 -0
- package/dist/cjs/lib/edit-user-details-dialog.d.ts +12 -0
- package/dist/cjs/lib/edit-user-details-dialog.d.ts.map +1 -0
- package/dist/cjs/lib/edit-user-details-dialog.js +81 -0
- package/dist/cjs/lib/edit-user-details-dialog.js.map +1 -0
- package/dist/cjs/lib/elements.d.ts +32 -0
- package/dist/cjs/lib/elements.d.ts.map +1 -0
- package/dist/cjs/lib/elements.js +57 -0
- package/dist/cjs/lib/elements.js.map +1 -0
- package/dist/cjs/lib/invite-user-dialog.d.ts +7 -0
- package/dist/cjs/lib/invite-user-dialog.d.ts.map +1 -0
- package/dist/cjs/lib/invite-user-dialog.js +167 -0
- package/dist/cjs/lib/invite-user-dialog.js.map +1 -0
- package/dist/cjs/lib/label.d.ts +7 -0
- package/dist/cjs/lib/label.d.ts.map +1 -0
- package/dist/cjs/lib/label.js +9 -0
- package/dist/cjs/lib/label.js.map +1 -0
- package/dist/cjs/lib/pagination.d.ts +8 -0
- package/dist/cjs/lib/pagination.d.ts.map +1 -0
- package/dist/cjs/lib/pagination.js +67 -0
- package/dist/cjs/lib/pagination.js.map +1 -0
- package/dist/cjs/lib/resend-invite-dialog.d.ts +10 -0
- package/dist/cjs/lib/resend-invite-dialog.d.ts.map +1 -0
- package/dist/cjs/lib/resend-invite-dialog.js +71 -0
- package/dist/cjs/lib/resend-invite-dialog.js.map +1 -0
- package/dist/cjs/lib/revoke-invite-dialog.d.ts +10 -0
- package/dist/cjs/lib/revoke-invite-dialog.d.ts.map +1 -0
- package/dist/cjs/lib/revoke-invite-dialog.js +37 -0
- package/dist/cjs/lib/revoke-invite-dialog.js.map +1 -0
- package/dist/cjs/lib/search-provider.d.ts +11 -0
- package/dist/cjs/lib/search-provider.d.ts.map +1 -0
- package/dist/cjs/lib/search-provider.js +55 -0
- package/dist/cjs/lib/search-provider.js.map +1 -0
- package/dist/cjs/lib/use-is-hydrated.d.ts +2 -0
- package/dist/cjs/lib/use-is-hydrated.d.ts.map +1 -0
- package/dist/cjs/lib/use-is-hydrated.js +34 -0
- package/dist/cjs/lib/use-is-hydrated.js.map +1 -0
- package/dist/cjs/lib/user-actions-dropdown.d.ts +9 -0
- package/dist/cjs/lib/user-actions-dropdown.d.ts.map +1 -0
- package/dist/cjs/lib/user-actions-dropdown.js +83 -0
- package/dist/cjs/lib/user-actions-dropdown.js.map +1 -0
- package/dist/cjs/lib/users-filter.d.ts +9 -0
- package/dist/cjs/lib/users-filter.d.ts.map +1 -0
- package/dist/cjs/lib/users-filter.js +63 -0
- package/dist/cjs/lib/users-filter.js.map +1 -0
- package/dist/cjs/lib/users-management-context.d.ts +23 -0
- package/dist/cjs/lib/users-management-context.d.ts.map +1 -0
- package/dist/cjs/lib/users-management-context.js +83 -0
- package/dist/cjs/lib/users-management-context.js.map +1 -0
- package/dist/cjs/lib/users-management-state.d.ts +22 -0
- package/dist/cjs/lib/users-management-state.d.ts.map +1 -0
- package/dist/cjs/lib/users-management-state.js +143 -0
- package/dist/cjs/lib/users-management-state.js.map +1 -0
- package/dist/cjs/lib/users-management.d.ts +12 -0
- package/dist/cjs/lib/users-management.d.ts.map +1 -0
- package/dist/cjs/lib/users-management.js +141 -0
- package/dist/cjs/lib/users-management.js.map +1 -0
- package/dist/cjs/lib/users-search.d.ts +3 -0
- package/dist/cjs/lib/users-search.d.ts.map +1 -0
- package/dist/cjs/lib/users-search.js +65 -0
- package/dist/cjs/lib/users-search.js.map +1 -0
- package/dist/cjs/lib/utils.d.ts +15 -0
- package/dist/cjs/lib/utils.d.ts.map +1 -0
- package/dist/cjs/lib/utils.js +78 -0
- package/dist/cjs/lib/utils.js.map +1 -0
- package/dist/cjs/lib/widgets-context.d.ts +11 -0
- package/dist/cjs/lib/widgets-context.d.ts.map +1 -0
- package/dist/cjs/lib/widgets-context.js +45 -0
- package/dist/cjs/lib/widgets-context.js.map +1 -0
- package/dist/cjs/users-management.client.d.ts +6 -0
- package/dist/cjs/users-management.client.d.ts.map +1 -0
- package/dist/cjs/users-management.client.js +57 -0
- package/dist/cjs/users-management.client.js.map +1 -0
- package/dist/cjs/workos-widgets.client.d.ts +17 -0
- package/dist/cjs/workos-widgets.client.d.ts.map +1 -0
- package/dist/cjs/workos-widgets.client.js +55 -0
- package/dist/cjs/workos-widgets.client.js.map +1 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/api/config.d.ts +9 -0
- package/dist/esm/lib/api/config.d.ts.map +1 -0
- package/dist/esm/lib/api/config.js +9 -0
- package/dist/esm/lib/api/config.js.map +1 -0
- package/dist/esm/lib/api/role.d.ts +9 -0
- package/dist/esm/lib/api/role.d.ts.map +1 -0
- package/dist/esm/lib/api/role.js +89 -0
- package/dist/esm/lib/api/role.js.map +1 -0
- package/dist/esm/lib/api/user.d.ts +61 -0
- package/dist/esm/lib/api/user.d.ts.map +1 -0
- package/dist/esm/lib/api/user.js +302 -0
- package/dist/esm/lib/api/user.js.map +1 -0
- package/dist/esm/lib/constants.d.ts +3 -0
- package/dist/esm/lib/constants.d.ts.map +1 -0
- package/dist/esm/lib/constants.js +3 -0
- package/dist/esm/lib/constants.js.map +1 -0
- package/dist/esm/lib/delete-user-dialog.d.ts +12 -0
- package/dist/esm/lib/delete-user-dialog.d.ts.map +1 -0
- package/dist/esm/lib/delete-user-dialog.js +33 -0
- package/dist/esm/lib/delete-user-dialog.js.map +1 -0
- package/dist/esm/lib/edit-user-details-dialog.d.ts +12 -0
- package/dist/esm/lib/edit-user-details-dialog.d.ts.map +1 -0
- package/dist/esm/lib/edit-user-details-dialog.js +54 -0
- package/dist/esm/lib/edit-user-details-dialog.js.map +1 -0
- package/dist/esm/lib/elements.d.ts +32 -0
- package/dist/esm/lib/elements.d.ts.map +1 -0
- package/dist/esm/lib/elements.js +54 -0
- package/dist/esm/lib/elements.js.map +1 -0
- package/dist/esm/lib/invite-user-dialog.d.ts +7 -0
- package/dist/esm/lib/invite-user-dialog.d.ts.map +1 -0
- package/dist/esm/lib/invite-user-dialog.js +140 -0
- package/dist/esm/lib/invite-user-dialog.js.map +1 -0
- package/dist/esm/lib/label.d.ts +7 -0
- package/dist/esm/lib/label.d.ts.map +1 -0
- package/dist/esm/lib/label.js +6 -0
- package/dist/esm/lib/label.js.map +1 -0
- package/dist/esm/lib/pagination.d.ts +8 -0
- package/dist/esm/lib/pagination.d.ts.map +1 -0
- package/dist/esm/lib/pagination.js +40 -0
- package/dist/esm/lib/pagination.js.map +1 -0
- package/dist/esm/lib/resend-invite-dialog.d.ts +10 -0
- package/dist/esm/lib/resend-invite-dialog.d.ts.map +1 -0
- package/dist/esm/lib/resend-invite-dialog.js +44 -0
- package/dist/esm/lib/resend-invite-dialog.js.map +1 -0
- package/dist/esm/lib/revoke-invite-dialog.d.ts +10 -0
- package/dist/esm/lib/revoke-invite-dialog.d.ts.map +1 -0
- package/dist/esm/lib/revoke-invite-dialog.js +33 -0
- package/dist/esm/lib/revoke-invite-dialog.js.map +1 -0
- package/dist/esm/lib/search-provider.d.ts +11 -0
- package/dist/esm/lib/search-provider.d.ts.map +1 -0
- package/dist/esm/lib/search-provider.js +27 -0
- package/dist/esm/lib/search-provider.js.map +1 -0
- package/dist/esm/lib/use-is-hydrated.d.ts +2 -0
- package/dist/esm/lib/use-is-hydrated.d.ts.map +1 -0
- package/dist/esm/lib/use-is-hydrated.js +8 -0
- package/dist/esm/lib/use-is-hydrated.js.map +1 -0
- package/dist/esm/lib/user-actions-dropdown.d.ts +9 -0
- package/dist/esm/lib/user-actions-dropdown.d.ts.map +1 -0
- package/dist/esm/lib/user-actions-dropdown.js +56 -0
- package/dist/esm/lib/user-actions-dropdown.js.map +1 -0
- package/dist/esm/lib/users-filter.d.ts +9 -0
- package/dist/esm/lib/users-filter.d.ts.map +1 -0
- package/dist/esm/lib/users-filter.js +36 -0
- package/dist/esm/lib/users-filter.js.map +1 -0
- package/dist/esm/lib/users-management-context.d.ts +23 -0
- package/dist/esm/lib/users-management-context.d.ts.map +1 -0
- package/dist/esm/lib/users-management-context.js +54 -0
- package/dist/esm/lib/users-management-context.js.map +1 -0
- package/dist/esm/lib/users-management-state.d.ts +22 -0
- package/dist/esm/lib/users-management-state.d.ts.map +1 -0
- package/dist/esm/lib/users-management-state.js +117 -0
- package/dist/esm/lib/users-management-state.js.map +1 -0
- package/dist/esm/lib/users-management.d.ts +12 -0
- package/dist/esm/lib/users-management.d.ts.map +1 -0
- package/dist/esm/lib/users-management.js +114 -0
- package/dist/esm/lib/users-management.js.map +1 -0
- package/dist/esm/lib/users-search.d.ts +3 -0
- package/dist/esm/lib/users-search.d.ts.map +1 -0
- package/dist/esm/lib/users-search.js +39 -0
- package/dist/esm/lib/users-search.js.map +1 -0
- package/dist/esm/lib/utils.d.ts +15 -0
- package/dist/esm/lib/utils.d.ts.map +1 -0
- package/dist/esm/lib/utils.js +70 -0
- package/dist/esm/lib/utils.js.map +1 -0
- package/dist/esm/lib/widgets-context.d.ts +11 -0
- package/dist/esm/lib/widgets-context.d.ts.map +1 -0
- package/dist/esm/lib/widgets-context.js +17 -0
- package/dist/esm/lib/widgets-context.js.map +1 -0
- package/dist/esm/users-management.client.d.ts +6 -0
- package/dist/esm/users-management.client.d.ts.map +1 -0
- package/dist/esm/users-management.client.js +30 -0
- package/dist/esm/users-management.client.js.map +1 -0
- package/dist/esm/workos-widgets.client.d.ts +17 -0
- package/dist/esm/workos-widgets.client.d.ts.map +1 -0
- package/dist/esm/workos-widgets.client.js +28 -0
- package/dist/esm/workos-widgets.client.js.map +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/package.json +69 -0
- package/src/index.ts +5 -0
- package/src/lib/api/config.ts +9 -0
- package/src/lib/api/role.ts +124 -0
- package/src/lib/api/user.ts +458 -0
- package/src/lib/constants.ts +2 -0
- package/src/lib/delete-user-dialog.tsx +103 -0
- package/src/lib/edit-user-details-dialog.tsx +170 -0
- package/src/lib/elements.tsx +175 -0
- package/src/lib/invite-user-dialog.tsx +319 -0
- package/src/lib/label.tsx +14 -0
- package/src/lib/pagination.tsx +69 -0
- package/src/lib/resend-invite-dialog.tsx +136 -0
- package/src/lib/revoke-invite-dialog.tsx +104 -0
- package/src/lib/search-provider.tsx +51 -0
- package/src/lib/use-is-hydrated.ts +13 -0
- package/src/lib/user-actions-dropdown.tsx +161 -0
- package/src/lib/users-filter.tsx +122 -0
- package/src/lib/users-management-context.tsx +89 -0
- package/src/lib/users-management-state.ts +165 -0
- package/src/lib/users-management.tsx +461 -0
- package/src/lib/users-search.tsx +130 -0
- package/src/lib/utils.ts +94 -0
- package/src/lib/widgets-context.ts +29 -0
- package/src/users-management.client.tsx +59 -0
- package/src/workos-widgets.client.tsx +73 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 WorkOS
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UsersManagement = exports.WorkOsWidgets = void 0;
|
|
4
|
+
var workos_widgets_client_1 = require("./workos-widgets.client");
|
|
5
|
+
Object.defineProperty(exports, "WorkOsWidgets", { enumerable: true, get: function () { return workos_widgets_client_1.WorkOsWidgets; } });
|
|
6
|
+
var users_management_client_1 = require("./users-management.client");
|
|
7
|
+
Object.defineProperty(exports, "UsersManagement", { enumerable: true, get: function () { return users_management_client_1.UsersManagement; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,iEAGiC;AAF/B,sHAAA,aAAa,OAAA;AAGf,qEAA4D;AAAnD,0HAAA,eAAe,OAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const DEFAULT_API_HOSTNAME = "api.workos.com";
|
|
2
|
+
export declare const API_ENDPOINTS: {
|
|
3
|
+
USERS: string;
|
|
4
|
+
USER_ROLES: string;
|
|
5
|
+
USER_INVITE: string;
|
|
6
|
+
USER_INVITES: string;
|
|
7
|
+
USER_INVITES_RESEND: (userId: string) => string;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,aAAa;;;;;kCAKM,MAAM;CAErC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.API_ENDPOINTS = exports.DEFAULT_API_HOSTNAME = void 0;
|
|
4
|
+
exports.DEFAULT_API_HOSTNAME = "api.workos.com";
|
|
5
|
+
exports.API_ENDPOINTS = {
|
|
6
|
+
USERS: "_widgets/UserManagement/members",
|
|
7
|
+
USER_ROLES: "_widgets/UserManagement/roles",
|
|
8
|
+
USER_INVITE: "_widgets/UserManagement/invite-user",
|
|
9
|
+
USER_INVITES: "_widgets/UserManagement/invites",
|
|
10
|
+
USER_INVITES_RESEND: (userId) => `_widgets/UserManagement/invites/${userId}/resend`,
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/lib/api/config.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AACxC,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,iCAAiC;IACxC,UAAU,EAAE,+BAA+B;IAC3C,WAAW,EAAE,qCAAqC;IAClD,YAAY,EAAE,iCAAiC;IAC/C,mBAAmB,EAAE,CAAC,MAAc,EAAE,EAAE,CACtC,mCAAmC,MAAM,SAAS;CACrD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { UsersManagementContextType } from "../users-management-context";
|
|
2
|
+
export interface Role {
|
|
3
|
+
name: string;
|
|
4
|
+
slug: string;
|
|
5
|
+
default: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const useRoles: (initialContext?: UsersManagementContextType) => import("@tanstack/react-query").DefinedUseQueryResult<Role[], Error>;
|
|
8
|
+
export declare const useRole: (slug: string, initialContext?: UsersManagementContextType) => import("@tanstack/react-query").UseQueryResult<Role, Error>;
|
|
9
|
+
//# sourceMappingURL=role.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/role.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAE3B,MAAM,6BAA6B,CAAC;AAKrC,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,QAAQ,oBAAqB,0BAA0B,yEASnE,CAAC;AAEF,eAAO,MAAM,OAAO,SACZ,MAAM,mBACK,0BAA0B,gEA8B5C,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useRole = exports.useRoles = void 0;
|
|
4
|
+
const react_query_1 = require("@tanstack/react-query");
|
|
5
|
+
const users_management_context_1 = require("../users-management-context");
|
|
6
|
+
const widgets_context_1 = require("../widgets-context");
|
|
7
|
+
const config_1 = require("./config");
|
|
8
|
+
const constants_1 = require("../constants");
|
|
9
|
+
const useRoles = (initialContext) => {
|
|
10
|
+
const { authToken } = (0, users_management_context_1.useUsersManagementContext)(initialContext);
|
|
11
|
+
const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
|
|
12
|
+
return (0, react_query_1.useQuery)({
|
|
13
|
+
queryKey: ["roles"],
|
|
14
|
+
queryFn: () => fetchRoles({ authToken, baseUrl }),
|
|
15
|
+
enabled: !!authToken,
|
|
16
|
+
initialData: [],
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
exports.useRoles = useRoles;
|
|
20
|
+
const useRole = (slug, initialContext) => {
|
|
21
|
+
const { authToken } = (0, users_management_context_1.useUsersManagementContext)(initialContext);
|
|
22
|
+
const queryClient = (0, react_query_1.useQueryClient)();
|
|
23
|
+
const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
|
|
24
|
+
return (0, react_query_1.useQuery)({
|
|
25
|
+
queryKey: ["role", slug],
|
|
26
|
+
queryFn: () => {
|
|
27
|
+
if (!authToken) {
|
|
28
|
+
throw new Error("No auth token provided");
|
|
29
|
+
}
|
|
30
|
+
const getRoleOrFetch = async (attempts = 0) => {
|
|
31
|
+
if (attempts >= 3) {
|
|
32
|
+
return fetchRole(slug, { authToken, baseUrl });
|
|
33
|
+
}
|
|
34
|
+
const roles = queryClient.getQueryData(["roles"]);
|
|
35
|
+
const role = roles?.find((role) => role.slug === slug);
|
|
36
|
+
if (role) {
|
|
37
|
+
return role;
|
|
38
|
+
}
|
|
39
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
40
|
+
return getRoleOrFetch(attempts + 1);
|
|
41
|
+
};
|
|
42
|
+
return getRoleOrFetch();
|
|
43
|
+
},
|
|
44
|
+
enabled: !!authToken,
|
|
45
|
+
staleTime: Number.POSITIVE_INFINITY,
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
exports.useRole = useRole;
|
|
49
|
+
/**
|
|
50
|
+
* Fetch functions
|
|
51
|
+
*/
|
|
52
|
+
const fetchRoles = async ({ authToken, baseUrl, }) => {
|
|
53
|
+
if (!authToken) {
|
|
54
|
+
throw new Error("No auth token provided");
|
|
55
|
+
}
|
|
56
|
+
const url = new URL(`${baseUrl}/${config_1.API_ENDPOINTS.USER_ROLES}`);
|
|
57
|
+
const response = await fetch(url, {
|
|
58
|
+
cache: "no-store",
|
|
59
|
+
headers: getAuthHeaders(authToken),
|
|
60
|
+
}).catch((error) => {
|
|
61
|
+
console.error(error);
|
|
62
|
+
// TODO: handle fetch errors
|
|
63
|
+
throw new Error("Failed to fetch roles");
|
|
64
|
+
});
|
|
65
|
+
if (!response.ok) {
|
|
66
|
+
// TODO: handle this case
|
|
67
|
+
throw new Error("Failed to fetch roles");
|
|
68
|
+
}
|
|
69
|
+
const data = await response.json();
|
|
70
|
+
return data;
|
|
71
|
+
};
|
|
72
|
+
const fetchRole = async (slug, { authToken, baseUrl, }) => {
|
|
73
|
+
const url = new URL(`${baseUrl}/${config_1.API_ENDPOINTS.USER_ROLES}/${slug}`);
|
|
74
|
+
const response = await fetch(url, {
|
|
75
|
+
cache: "no-store",
|
|
76
|
+
headers: getAuthHeaders(authToken),
|
|
77
|
+
}).catch((error) => {
|
|
78
|
+
console.error(error);
|
|
79
|
+
// TODO: handle fetch errors
|
|
80
|
+
throw new Error("Failed to fetch role");
|
|
81
|
+
});
|
|
82
|
+
if (!response.ok) {
|
|
83
|
+
// TODO: handle this case
|
|
84
|
+
throw new Error("Failed to fetch role");
|
|
85
|
+
}
|
|
86
|
+
return response.json();
|
|
87
|
+
};
|
|
88
|
+
function getAuthHeaders(authToken) {
|
|
89
|
+
return {
|
|
90
|
+
Authorization: `Bearer ${authToken}`,
|
|
91
|
+
"WorkOS-Widgets-Version": constants_1.WIDGETS_API_VERSION,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=role.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../../../src/lib/api/role.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { type UsersManagementContextType } from "../users-management-context";
|
|
2
|
+
export interface PaginationData {
|
|
3
|
+
before?: string;
|
|
4
|
+
after?: string;
|
|
5
|
+
}
|
|
6
|
+
export type UserAction = "edit-role" | "revoke-membership" | "resend-invite" | "revoke-invite";
|
|
7
|
+
export type UserStatus = "Active" | "Invited" | "InviteExpired" | "InviteRevoked";
|
|
8
|
+
export interface UserRole {
|
|
9
|
+
slug: string;
|
|
10
|
+
name: string;
|
|
11
|
+
}
|
|
12
|
+
export interface User {
|
|
13
|
+
id: string;
|
|
14
|
+
email: string;
|
|
15
|
+
profilePictureUrl?: string | null;
|
|
16
|
+
firstName?: string | null;
|
|
17
|
+
lastName?: string | null;
|
|
18
|
+
emailVerified: boolean;
|
|
19
|
+
createdAt: string;
|
|
20
|
+
lastActivityAt?: string | null;
|
|
21
|
+
isLoggedInUser?: boolean;
|
|
22
|
+
roles: UserRole[];
|
|
23
|
+
actions: UserAction[];
|
|
24
|
+
status: UserStatus;
|
|
25
|
+
}
|
|
26
|
+
export type Paginated<T> = {
|
|
27
|
+
data: T;
|
|
28
|
+
pagination: PaginationData;
|
|
29
|
+
};
|
|
30
|
+
type PaginatedUsers = Paginated<User[]>;
|
|
31
|
+
export declare const useUsers: (context?: UsersManagementContextType) => import("@tanstack/react-query").UseQueryResult<PaginatedUsers, Error>;
|
|
32
|
+
export declare const useUser: (userId: string, initialContext?: UsersManagementContextType) => import("@tanstack/react-query").UseQueryResult<User, Error>;
|
|
33
|
+
export declare const useUpdateUserRole: (args?: {
|
|
34
|
+
onError?: (error: unknown) => void;
|
|
35
|
+
}) => import("@tanstack/react-query").UseMutationResult<{
|
|
36
|
+
id: string;
|
|
37
|
+
success: boolean;
|
|
38
|
+
}, unknown, {
|
|
39
|
+
id: string;
|
|
40
|
+
data: {
|
|
41
|
+
roles: string[];
|
|
42
|
+
};
|
|
43
|
+
}, unknown>;
|
|
44
|
+
export interface InviteUserPayload {
|
|
45
|
+
email: string;
|
|
46
|
+
role: string;
|
|
47
|
+
}
|
|
48
|
+
export declare const useInviteUser: (args?: {
|
|
49
|
+
onError?: (error: unknown) => void;
|
|
50
|
+
}) => import("@tanstack/react-query").UseMutationResult<unknown, unknown, InviteUserPayload, unknown>;
|
|
51
|
+
export declare const useDeleteUser: (args?: {
|
|
52
|
+
onError?: (error: unknown) => void;
|
|
53
|
+
}) => import("@tanstack/react-query").UseMutationResult<unknown, unknown, string, unknown>;
|
|
54
|
+
export declare const useRevokeUserInvite: (args?: {
|
|
55
|
+
onError?: (error: unknown) => void;
|
|
56
|
+
}) => import("@tanstack/react-query").UseMutationResult<unknown, unknown, string, unknown>;
|
|
57
|
+
export declare const useResendUserInvite: (args?: {
|
|
58
|
+
onError?: (error: unknown) => void;
|
|
59
|
+
}) => import("@tanstack/react-query").UseMutationResult<unknown, unknown, string, unknown>;
|
|
60
|
+
export {};
|
|
61
|
+
//# sourceMappingURL=user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/user.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,6BAA6B,CAAC;AAMrC,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,UAAU,GAClB,WAAW,GACX,mBAAmB,GACnB,eAAe,GACf,eAAe,CAAC;AAEpB,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,SAAS,GACT,eAAe,GACf,eAAe,CAAC;AAEpB,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,UAAU,EAAE,cAAc,CAAA;CAAE,CAAC;AAEnE,KAAK,cAAc,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;AAWxC,eAAO,MAAM,QAAQ,aAAc,0BAA0B,0EA2B5D,CAAC;AAEF,eAAO,MAAM,OAAO,WACV,MAAM,mBACG,0BAA0B,gEAS5C,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAW;IACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;QAsNsB,MAAM;aAAW,OAAO;;QA3MrC,MAAM;UACJ;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE;WAQ9B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,aAAa,UAAW;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,oGAcA,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,yFAcA,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAAW;IACzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,yFAcA,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAAW;IACzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,yFAcA,CAAC"}
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useResendUserInvite = exports.useRevokeUserInvite = exports.useDeleteUser = exports.useInviteUser = exports.useUpdateUserRole = exports.useUser = exports.useUsers = void 0;
|
|
4
|
+
const react_query_1 = require("@tanstack/react-query");
|
|
5
|
+
const users_management_context_1 = require("../users-management-context");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
const widgets_context_1 = require("../widgets-context");
|
|
8
|
+
const config_1 = require("./config");
|
|
9
|
+
const constants_1 = require("../constants");
|
|
10
|
+
class InviteUserError extends Error {
|
|
11
|
+
status;
|
|
12
|
+
constructor(args) {
|
|
13
|
+
super(args.message);
|
|
14
|
+
this.name = "InviteUserError";
|
|
15
|
+
this.status = args.status;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const useUsers = (context) => {
|
|
19
|
+
const { authToken, state: { pagination, role, searchQuery }, } = (0, users_management_context_1.useUsersManagementContext)(context);
|
|
20
|
+
const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
|
|
21
|
+
const limit = constants_1.USER_ROW_LIMIT;
|
|
22
|
+
const { before, after } = pagination || {};
|
|
23
|
+
return (0, react_query_1.useQuery)({
|
|
24
|
+
queryKey: [
|
|
25
|
+
"users",
|
|
26
|
+
{ authToken, baseUrl, limit, before, after, role, searchQuery },
|
|
27
|
+
],
|
|
28
|
+
queryFn: () => fetchUsers({
|
|
29
|
+
authToken,
|
|
30
|
+
baseUrl,
|
|
31
|
+
limit,
|
|
32
|
+
before,
|
|
33
|
+
after,
|
|
34
|
+
role,
|
|
35
|
+
searchQuery,
|
|
36
|
+
}),
|
|
37
|
+
enabled: !!authToken,
|
|
38
|
+
placeholderData: react_query_1.keepPreviousData,
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
exports.useUsers = useUsers;
|
|
42
|
+
const useUser = (userId, initialContext) => {
|
|
43
|
+
const { authToken } = (0, users_management_context_1.useUsersManagementContext)(initialContext);
|
|
44
|
+
const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
|
|
45
|
+
return (0, react_query_1.useQuery)({
|
|
46
|
+
queryKey: ["user", userId],
|
|
47
|
+
queryFn: () => fetchUser(userId, { baseUrl, authToken }),
|
|
48
|
+
enabled: !!authToken,
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
exports.useUser = useUser;
|
|
52
|
+
const useUpdateUserRole = (args) => {
|
|
53
|
+
const { authToken } = (0, users_management_context_1.useUsersManagementContext)();
|
|
54
|
+
const queryClient = (0, react_query_1.useQueryClient)();
|
|
55
|
+
const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
|
|
56
|
+
const { onError } = args || {};
|
|
57
|
+
return (0, react_query_1.useMutation)({
|
|
58
|
+
mutationFn: ({ id, data: { roles }, }) => updateUserRole(id, { authToken, baseUrl, data: { roles } }),
|
|
59
|
+
onSuccess: (updatedUser) => {
|
|
60
|
+
queryClient.invalidateQueries({ queryKey: ["users"] });
|
|
61
|
+
queryClient.invalidateQueries({ queryKey: ["user", updatedUser.id] });
|
|
62
|
+
},
|
|
63
|
+
onError,
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
exports.useUpdateUserRole = useUpdateUserRole;
|
|
67
|
+
const useInviteUser = (args) => {
|
|
68
|
+
const { authToken } = (0, users_management_context_1.useUsersManagementContext)();
|
|
69
|
+
const queryClient = (0, react_query_1.useQueryClient)();
|
|
70
|
+
const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
|
|
71
|
+
const { onError } = args || {};
|
|
72
|
+
return (0, react_query_1.useMutation)({
|
|
73
|
+
mutationFn: (data) => inviteUser({ authToken, baseUrl, ...data }),
|
|
74
|
+
onSuccess: (_newUser) => {
|
|
75
|
+
queryClient.invalidateQueries({ queryKey: ["users"] });
|
|
76
|
+
},
|
|
77
|
+
onError,
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
exports.useInviteUser = useInviteUser;
|
|
81
|
+
const useDeleteUser = (args) => {
|
|
82
|
+
const { authToken } = (0, users_management_context_1.useUsersManagementContext)();
|
|
83
|
+
const queryClient = (0, react_query_1.useQueryClient)();
|
|
84
|
+
const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
|
|
85
|
+
const { onError } = args || {};
|
|
86
|
+
return (0, react_query_1.useMutation)({
|
|
87
|
+
mutationFn: (id) => deleteUser(id, { authToken, baseUrl }),
|
|
88
|
+
onSuccess: (_, userId) => {
|
|
89
|
+
queryClient.invalidateQueries({ queryKey: ["users"] });
|
|
90
|
+
queryClient.removeQueries({ queryKey: ["user", userId] });
|
|
91
|
+
},
|
|
92
|
+
onError,
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
exports.useDeleteUser = useDeleteUser;
|
|
96
|
+
const useRevokeUserInvite = (args) => {
|
|
97
|
+
const { authToken } = (0, users_management_context_1.useUsersManagementContext)();
|
|
98
|
+
const queryClient = (0, react_query_1.useQueryClient)();
|
|
99
|
+
const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
|
|
100
|
+
const { onError } = args || {};
|
|
101
|
+
return (0, react_query_1.useMutation)({
|
|
102
|
+
mutationFn: (id) => revokeUserInvite(id, { authToken, baseUrl }),
|
|
103
|
+
onSuccess: (_, userId) => {
|
|
104
|
+
queryClient.invalidateQueries({ queryKey: ["users"] });
|
|
105
|
+
queryClient.removeQueries({ queryKey: ["user", userId] });
|
|
106
|
+
},
|
|
107
|
+
onError,
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
exports.useRevokeUserInvite = useRevokeUserInvite;
|
|
111
|
+
const useResendUserInvite = (args) => {
|
|
112
|
+
const { authToken } = (0, users_management_context_1.useUsersManagementContext)();
|
|
113
|
+
const queryClient = (0, react_query_1.useQueryClient)();
|
|
114
|
+
const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
|
|
115
|
+
const { onError } = args || {};
|
|
116
|
+
return (0, react_query_1.useMutation)({
|
|
117
|
+
mutationFn: (id) => resendUserInvite(id, { authToken, baseUrl }),
|
|
118
|
+
onSuccess: (_, userId) => {
|
|
119
|
+
queryClient.invalidateQueries({ queryKey: ["users"] });
|
|
120
|
+
queryClient.removeQueries({ queryKey: ["user", userId] });
|
|
121
|
+
},
|
|
122
|
+
onError,
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
exports.useResendUserInvite = useResendUserInvite;
|
|
126
|
+
/**
|
|
127
|
+
* Fetch functions
|
|
128
|
+
*/
|
|
129
|
+
async function fetchUsers({ baseUrl, authToken, limit, role, before, after, searchQuery, }) {
|
|
130
|
+
if (!authToken) {
|
|
131
|
+
throw new Error("No auth token provided");
|
|
132
|
+
}
|
|
133
|
+
const url = new URL(`${baseUrl}/${config_1.API_ENDPOINTS.USERS}`);
|
|
134
|
+
url.searchParams.set("limit", limit.toString());
|
|
135
|
+
if (before) {
|
|
136
|
+
url.searchParams.set("before", before);
|
|
137
|
+
}
|
|
138
|
+
if (after) {
|
|
139
|
+
url.searchParams.set("after", after);
|
|
140
|
+
}
|
|
141
|
+
if (role) {
|
|
142
|
+
url.searchParams.set("role", role);
|
|
143
|
+
}
|
|
144
|
+
if (searchQuery) {
|
|
145
|
+
url.searchParams.set("search", searchQuery);
|
|
146
|
+
}
|
|
147
|
+
const response = await fetch(url, {
|
|
148
|
+
cache: "no-store",
|
|
149
|
+
headers: getAuthHeaders(authToken),
|
|
150
|
+
}).catch((error) => {
|
|
151
|
+
console.error(error);
|
|
152
|
+
// TODO: handle fetch errors
|
|
153
|
+
throw new Error("Failed to fetch users");
|
|
154
|
+
});
|
|
155
|
+
if (!response.ok) {
|
|
156
|
+
// TODO: handle this case
|
|
157
|
+
throw new Error("Failed to fetch users");
|
|
158
|
+
}
|
|
159
|
+
// TODO validate the response
|
|
160
|
+
const json = await response.json();
|
|
161
|
+
const { data, listMetadata: pagination } = json;
|
|
162
|
+
return { data, pagination };
|
|
163
|
+
}
|
|
164
|
+
const fetchUser = async (userId, { authToken, baseUrl }) => {
|
|
165
|
+
if (!authToken) {
|
|
166
|
+
throw new Error("No auth token provided");
|
|
167
|
+
}
|
|
168
|
+
const response = await fetch(`${baseUrl}/${config_1.API_ENDPOINTS.USERS}/${userId}`, {
|
|
169
|
+
headers: getAuthHeaders(authToken),
|
|
170
|
+
cache: "no-store",
|
|
171
|
+
}).catch((error) => {
|
|
172
|
+
console.error(error);
|
|
173
|
+
// TODO: handle fetch errors
|
|
174
|
+
throw new Error("Failed to fetch user");
|
|
175
|
+
});
|
|
176
|
+
if (!response.ok) {
|
|
177
|
+
// TODO: handle this case
|
|
178
|
+
throw new Error("Failed to fetch user");
|
|
179
|
+
}
|
|
180
|
+
// TODO validate the response
|
|
181
|
+
const json = await response.json();
|
|
182
|
+
return json.data;
|
|
183
|
+
};
|
|
184
|
+
const updateUserRole = async (userId, { authToken, baseUrl, data, }) => {
|
|
185
|
+
if (!authToken) {
|
|
186
|
+
// TODO handle this case
|
|
187
|
+
throw new Error("No auth token");
|
|
188
|
+
}
|
|
189
|
+
const response = await fetch(`${baseUrl}/${config_1.API_ENDPOINTS.USERS}/${userId}`, {
|
|
190
|
+
method: "POST",
|
|
191
|
+
headers: {
|
|
192
|
+
"Content-Type": "application/json",
|
|
193
|
+
...getAuthHeaders(authToken),
|
|
194
|
+
},
|
|
195
|
+
body: JSON.stringify(data),
|
|
196
|
+
}).catch((error) => {
|
|
197
|
+
console.error(error);
|
|
198
|
+
// TODO: handle fetch errors
|
|
199
|
+
throw new Error("Failed to update user");
|
|
200
|
+
});
|
|
201
|
+
if (!response.ok) {
|
|
202
|
+
throw new Error("Failed to update user");
|
|
203
|
+
}
|
|
204
|
+
// TODO validate the response
|
|
205
|
+
const json = await response.json();
|
|
206
|
+
return json;
|
|
207
|
+
};
|
|
208
|
+
const inviteUser = async ({ authToken, baseUrl, ...data }) => {
|
|
209
|
+
if (!authToken) {
|
|
210
|
+
// TODO handle this case
|
|
211
|
+
throw new Error("No auth token");
|
|
212
|
+
}
|
|
213
|
+
if (!data.role) {
|
|
214
|
+
throw new Error("Role required to invite user");
|
|
215
|
+
}
|
|
216
|
+
const response = await fetch(`${baseUrl}/${config_1.API_ENDPOINTS.USER_INVITE}`, {
|
|
217
|
+
method: "POST",
|
|
218
|
+
headers: {
|
|
219
|
+
"Content-Type": "application/json",
|
|
220
|
+
...getAuthHeaders(authToken),
|
|
221
|
+
},
|
|
222
|
+
body: JSON.stringify({
|
|
223
|
+
email: data.email,
|
|
224
|
+
roles: [data.role],
|
|
225
|
+
}),
|
|
226
|
+
}).catch((error) => {
|
|
227
|
+
console.error(error);
|
|
228
|
+
// TODO: handle fetch errors
|
|
229
|
+
throw new Error("Failed to invite user");
|
|
230
|
+
});
|
|
231
|
+
if (!response.ok) {
|
|
232
|
+
const { message, status } = await (0, utils_1.parseErrorResponse)(response);
|
|
233
|
+
throw new InviteUserError({
|
|
234
|
+
message,
|
|
235
|
+
status,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
// TODO validate the response
|
|
239
|
+
const json = await response.json();
|
|
240
|
+
return json;
|
|
241
|
+
};
|
|
242
|
+
const deleteUser = async (userId, { authToken, baseUrl }) => {
|
|
243
|
+
if (!authToken) {
|
|
244
|
+
// TODO handle this case
|
|
245
|
+
throw new Error("No auth token");
|
|
246
|
+
}
|
|
247
|
+
const response = await fetch(`${baseUrl}/${config_1.API_ENDPOINTS.USERS}/${userId}`, {
|
|
248
|
+
method: "DELETE",
|
|
249
|
+
headers: getAuthHeaders(authToken),
|
|
250
|
+
}).catch((error) => {
|
|
251
|
+
console.error(error);
|
|
252
|
+
// TODO: handle fetch errors
|
|
253
|
+
throw new Error("Failed to delete user. Please try again.");
|
|
254
|
+
});
|
|
255
|
+
if (!response.ok) {
|
|
256
|
+
console.error(response);
|
|
257
|
+
// TODO: handle server errors
|
|
258
|
+
throw new Error("Failed to delete user. Please try again.");
|
|
259
|
+
}
|
|
260
|
+
// TODO validate the response
|
|
261
|
+
const json = await response.json();
|
|
262
|
+
return json;
|
|
263
|
+
};
|
|
264
|
+
const revokeUserInvite = async (userId, { authToken, baseUrl }) => {
|
|
265
|
+
if (!authToken) {
|
|
266
|
+
// TODO handle this case
|
|
267
|
+
throw new Error("No auth token");
|
|
268
|
+
}
|
|
269
|
+
const response = await fetch(`${baseUrl}/${config_1.API_ENDPOINTS.USER_INVITES}/${userId}`, {
|
|
270
|
+
method: "DELETE",
|
|
271
|
+
headers: getAuthHeaders(authToken),
|
|
272
|
+
}).catch((error) => {
|
|
273
|
+
console.error(error);
|
|
274
|
+
// TODO: handle fetch errors
|
|
275
|
+
throw new Error("Failed to resend user invite. Please try again.");
|
|
276
|
+
});
|
|
277
|
+
if (!response.ok) {
|
|
278
|
+
// TODO: handle server errors
|
|
279
|
+
throw new Error("Failed to resend user invite. Please try again.");
|
|
280
|
+
}
|
|
281
|
+
// TODO validate the response
|
|
282
|
+
const json = await response.json();
|
|
283
|
+
return json;
|
|
284
|
+
};
|
|
285
|
+
const resendUserInvite = async (userId, { authToken, baseUrl }) => {
|
|
286
|
+
if (!authToken) {
|
|
287
|
+
// TODO handle this case
|
|
288
|
+
throw new Error("No auth token");
|
|
289
|
+
}
|
|
290
|
+
const response = await fetch(`${baseUrl}/${config_1.API_ENDPOINTS.USER_INVITES_RESEND(userId)}`, {
|
|
291
|
+
method: "POST",
|
|
292
|
+
headers: getAuthHeaders(authToken),
|
|
293
|
+
}).catch((error) => {
|
|
294
|
+
console.error(error);
|
|
295
|
+
// TODO: handle fetch errors
|
|
296
|
+
throw new Error("Failed to resend user invite. Please try again.");
|
|
297
|
+
});
|
|
298
|
+
if (!response.ok) {
|
|
299
|
+
// TODO: handle server errors
|
|
300
|
+
throw new Error("Failed to resend user invite. Please try again.");
|
|
301
|
+
}
|
|
302
|
+
// TODO validate the response
|
|
303
|
+
const json = await response.json();
|
|
304
|
+
return json;
|
|
305
|
+
};
|
|
306
|
+
function getAuthHeaders(authToken) {
|
|
307
|
+
return {
|
|
308
|
+
Authorization: `Bearer ${authToken}`,
|
|
309
|
+
"WorkOS-Widgets-Version": constants_1.WIDGETS_API_VERSION,
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
//# sourceMappingURL=user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/lib/api/user.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,mBAAmB,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,EAAE,CAAC;AACpB,QAAA,mBAAmB,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AlertDialog } from "@radix-ui/themes";
|
|
2
|
+
import { type ReactNode } from "react";
|
|
3
|
+
import type { User } from "./api/user";
|
|
4
|
+
interface DeleteUserDialogProps extends AlertDialog.RootProps {
|
|
5
|
+
open: boolean;
|
|
6
|
+
onOpenChange: (open: boolean) => void;
|
|
7
|
+
user: User;
|
|
8
|
+
children?: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export declare const DeleteUserDialog: ({ children, user, ...props }: DeleteUserDialogProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=delete-user-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-user-dialog.d.ts","sourceRoot":"","sources":["../../../src/lib/delete-user-dialog.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,EAKZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,SAAS,EAAU,MAAM,OAAO,CAAC;AAE/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,UAAU,qBAAsB,SAAQ,WAAW,CAAC,SAAS;IAC3D,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,iCAI1B,qBAAqB,4CAoEvB,CAAC"}
|