@deix/rossini-identity-management 1.0.1 → 1.1.2

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.
Files changed (42) hide show
  1. package/lib/components/AddItemDialog.d.ts.map +1 -1
  2. package/lib/components/DeleteConfirmationDialog.d.ts.map +1 -1
  3. package/lib/components/SearchField.d.ts.map +1 -1
  4. package/lib/components/groups/CreateGroupDialog.d.ts.map +1 -1
  5. package/lib/components/groups/GroupDetails.d.ts.map +1 -1
  6. package/lib/components/groups/GroupForm.d.ts.map +1 -1
  7. package/lib/components/groups/GroupTabs.d.ts.map +1 -1
  8. package/lib/components/groups/GroupUsers.d.ts.map +1 -1
  9. package/lib/components/groups/Groups.d.ts.map +1 -1
  10. package/lib/components/groups/GroupsTable.d.ts.map +1 -1
  11. package/lib/components/users/CreateUserDialog.d.ts +3 -1
  12. package/lib/components/users/CreateUserDialog.d.ts.map +1 -1
  13. package/lib/components/users/CreateUserDialog.js +21 -8
  14. package/lib/components/users/UserCredentials.d.ts.map +1 -1
  15. package/lib/components/users/UserDetails.d.ts +2 -1
  16. package/lib/components/users/UserDetails.d.ts.map +1 -1
  17. package/lib/components/users/UserDetails.js +2 -2
  18. package/lib/components/users/UserForm.d.ts +2 -1
  19. package/lib/components/users/UserForm.d.ts.map +1 -1
  20. package/lib/components/users/UserForm.js +6 -4
  21. package/lib/components/users/UserGroups.d.ts.map +1 -1
  22. package/lib/components/users/Users.d.ts +4 -1
  23. package/lib/components/users/Users.d.ts.map +1 -1
  24. package/lib/components/users/Users.js +5 -5
  25. package/lib/components/users/UsersTable.d.ts +2 -1
  26. package/lib/components/users/UsersTable.d.ts.map +1 -1
  27. package/lib/components/users/UsersTable.js +5 -3
  28. package/lib/components/users/UsersTabs.d.ts +3 -1
  29. package/lib/components/users/UsersTabs.d.ts.map +1 -1
  30. package/lib/components/users/UsersTabs.js +4 -4
  31. package/lib/config/index.d.ts.map +1 -1
  32. package/lib/index.d.ts +6 -0
  33. package/lib/index.d.ts.map +1 -1
  34. package/lib/index.js +6 -0
  35. package/lib/tsconfig.tsbuildinfo +1 -1
  36. package/lib/utils/hooks/groups.d.ts.map +1 -1
  37. package/lib/utils/hooks/useAPIClient.d.ts +2 -2
  38. package/lib/utils/hooks/useAPIClient.d.ts.map +1 -1
  39. package/lib/utils/hooks/users.d.ts +12 -2
  40. package/lib/utils/hooks/users.d.ts.map +1 -1
  41. package/lib/utils/hooks/users.js +26 -12
  42. package/package.json +34 -34
@@ -1 +1 @@
1
- {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/groups.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,cAAc,EAGf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAUzC,eAAO,MAAM,SAAS,cACT,aAAa,KACvB,cAAc,CAAC,KAAK,EAAE,GAAG,SAAS,EAAE,KAAK,CAM3C,CAAC;AAcF,eAAO,MAAM,WAAW,gBACT,WAAW,aACb,aAAa,oDA6BzB,CAAC;AAiBF,eAAO,MAAM,cAAc,gBACZ,WAAW,aACb,aAAa,oDA8BzB,CAAC;AAgBF,eAAO,MAAM,cAAc,gBACZ,WAAW,aACb,aAAa,6EA6BzB,CAAC;AAgBF,eAAO,MAAM,aAAa,OACpB,MAAM,GAAG,SAAS,aACX,aAAa,KACvB,cAAc,CAAC,IAAI,EAAE,GAAG,SAAS,EAAE,KAAK,CAM1C,CAAC"}
1
+ {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/groups.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,cAAc,EAGf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAUzC,eAAO,MAAM,SAAS,GACpB,WAAW,aAAa,KACvB,cAAc,CAAC,KAAK,EAAE,GAAG,SAAS,EAAE,KAAK,CAM3C,CAAC;AAcF,eAAO,MAAM,WAAW,GACtB,aAAa,WAAW,EACxB,WAAW,aAAa,oDA6BzB,CAAC;AAiBF,eAAO,MAAM,cAAc,GACzB,aAAa,WAAW,EACxB,WAAW,aAAa,oDA8BzB,CAAC;AAgBF,eAAO,MAAM,cAAc,GACzB,aAAa,WAAW,EACxB,WAAW,aAAa,6EA6BzB,CAAC;AAgBF,eAAO,MAAM,aAAa,GACxB,IAAI,MAAM,GAAG,SAAS,EACtB,WAAW,aAAa,KACvB,cAAc,CAAC,IAAI,EAAE,GAAG,SAAS,EAAE,KAAK,CAM1C,CAAC"}
@@ -1,10 +1,10 @@
1
- import axios from 'axios';
1
+ import { AxiosInstance } from 'axios';
2
2
  import React from 'react';
3
3
  interface APIClientProviderProps {
4
4
  baseURL: string;
5
5
  children: React.ReactNode;
6
6
  }
7
7
  export declare const APIClientProvider: ({ baseURL, children, }: APIClientProviderProps) => React.JSX.Element;
8
- export declare const useAPIClient: () => axios.AxiosInstance;
8
+ export declare const useAPIClient: () => AxiosInstance;
9
9
  export {};
10
10
  //# sourceMappingURL=useAPIClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAPIClient.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/useAPIClient.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAoC,MAAM,OAAO,CAAC;AAUzD,UAAU,sBAAsB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB,2BAG3B,sBAAsB,sBAaxB,CAAC;AAEF,eAAO,MAAM,YAAY,2BAA+B,CAAC"}
1
+ {"version":3,"file":"useAPIClient.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/useAPIClient.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAoC,MAAM,OAAO,CAAC;AAUzD,UAAU,sBAAsB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB,GAAI,wBAG/B,sBAAsB,sBAaxB,CAAC;AAEF,eAAO,MAAM,YAAY,qBAA+B,CAAC"}
@@ -3,9 +3,19 @@ import { AxiosInstance } from 'axios';
3
3
  import { User } from '../../types/users';
4
4
  import { Group } from '../../types/groups';
5
5
  import { UserFormFields } from '../../components/users/UserForm';
6
- export declare const useUsers: (apiClient: AxiosInstance) => UseQueryResult<User[] | undefined, Error>;
6
+ export declare const getUsers: (apiClient: AxiosInstance, username?: string, group?: string) => Promise<User[]>;
7
+ export declare const useUsers: (apiClient: AxiosInstance, group?: string) => UseQueryResult<User[] | undefined, Error>;
7
8
  export declare const useUser: (id: string, apiClient: AxiosInstance) => UseQueryResult<User | undefined, Error>;
8
- export declare const useAddUser: (queryClient: QueryClient, apiClient: AxiosInstance) => UseMutationResult<null, Error, UserFormFields, unknown>;
9
+ export declare const addUser: ({ newUser, sendEmailOnCreation, apiClient, groups, }: {
10
+ newUser: User;
11
+ sendEmailOnCreation: boolean;
12
+ apiClient: AxiosInstance;
13
+ groups?: string[];
14
+ }) => Promise<null>;
15
+ export declare const useAddUser: (queryClient: QueryClient, apiClient: AxiosInstance) => UseMutationResult<null, Error, {
16
+ data: UserFormFields;
17
+ groups: string[] | undefined;
18
+ }, unknown>;
9
19
  export declare const useUpdateUser: (queryClient: QueryClient, apiClient: AxiosInstance) => UseMutationResult<User, Error, User, unknown>;
10
20
  export declare const useDeleteUser: (queryClient: QueryClient, apiClient: AxiosInstance) => UseMutationResult<User | undefined, Error, string | undefined, unknown>;
11
21
  export declare const useUserGroups: (id: string | undefined, apiClient: AxiosInstance) => UseQueryResult<Group[] | undefined, Error>;
@@ -1 +1 @@
1
- {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/users.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,cAAc,EAGf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAUjE,eAAO,MAAM,QAAQ,cACR,aAAa,KACvB,cAAc,CAAC,IAAI,EAAE,GAAG,SAAS,EAAE,KAAK,CAM1C,CAAC;AAQF,eAAO,MAAM,OAAO,OACd,MAAM,aACC,aAAa,KACvB,cAAc,CAAC,IAAI,GAAG,SAAS,EAAE,KAAK,CAMxC,CAAC;AAwBF,eAAO,MAAM,UAAU,gBACR,WAAW,aACb,aAAa,4DAgCzB,CAAC;AAiBF,eAAO,MAAM,aAAa,gBACX,WAAW,aACb,aAAa,kDA6BzB,CAAC;AAgBF,eAAO,MAAM,aAAa,gBACX,WAAW,aACb,aAAa,4EA6BzB,CAAC;AAcF,eAAO,MAAM,aAAa,OACpB,MAAM,GAAG,SAAS,aACX,aAAa,KACvB,cAAc,CAAC,KAAK,EAAE,GAAG,SAAS,EAAE,KAAK,CAM3C,CAAC;AAmBF,eAAO,MAAM,iBAAiB,gBACf,WAAW,aACb,aAAa;;;;YAIsB,MAAM;aAAW,MAAM;WA8BtE,CAAC;AAmBF,eAAO,MAAM,sBAAsB,gBACpB,WAAW,aACb,aAAa;;;;YAIsB,MAAM;aAAW,MAAM;WA8BtE,CAAC;AAkBF,eAAO,MAAM,0BAA0B,gBACxB,WAAW,aACb,aAAa;;0BAoBzB,CAAC"}
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../../src/utils/hooks/users.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,cAAc,EAGf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGjE,eAAO,MAAM,QAAQ,GACnB,WAAW,aAAa,EACxB,WAAW,MAAM,EACjB,QAAQ,MAAM,oBAoBf,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,WAAW,aAAa,EACxB,QAAQ,MAAM,KACb,cAAc,CAAC,IAAI,EAAE,GAAG,SAAS,EAAE,KAAK,CAM1C,CAAC;AAQF,eAAO,MAAM,OAAO,GAClB,IAAI,MAAM,EACV,WAAW,aAAa,KACvB,cAAc,CAAC,IAAI,GAAG,SAAS,EAAE,KAAK,CAMxC,CAAC;AAGF,eAAO,MAAM,OAAO,GAAU,sDAK3B;IACD,OAAO,EAAE,IAAI,CAAC;IACd,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,kBAWA,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,aAAa,WAAW,EACxB,WAAW,aAAa;UAQd,cAAc;YACZ,MAAM,EAAE,GAAG,SAAS;WA6BjC,CAAC;AAiBF,eAAO,MAAM,aAAa,GACxB,aAAa,WAAW,EACxB,WAAW,aAAa,kDA6BzB,CAAC;AAgBF,eAAO,MAAM,aAAa,GACxB,aAAa,WAAW,EACxB,WAAW,aAAa,4EA6BzB,CAAC;AAcF,eAAO,MAAM,aAAa,GACxB,IAAI,MAAM,GAAG,SAAS,EACtB,WAAW,aAAa,KACvB,cAAc,CAAC,KAAK,EAAE,GAAG,SAAS,EAAE,KAAK,CAM3C,CAAC;AAmBF,eAAO,MAAM,iBAAiB,GAC5B,aAAa,WAAW,EACxB,WAAW,aAAa;;;;YAIsB,MAAM;aAAW,MAAM;WA8BtE,CAAC;AAmBF,eAAO,MAAM,sBAAsB,GACjC,aAAa,WAAW,EACxB,WAAW,aAAa;;;;YAIsB,MAAM;aAAW,MAAM;WA8BtE,CAAC;AAkBF,eAAO,MAAM,0BAA0B,GACrC,aAAa,WAAW,EACxB,WAAW,aAAa;;0BAoBzB,CAAC"}
@@ -3,16 +3,30 @@ import { enqueueSnackbar } from 'notistack';
3
3
  import { useLocale } from '@deix/rossini-core';
4
4
  import usersTranslations from '../../lang/users';
5
5
  // Get list of users
6
- const getUsers = async (apiClient, username) => {
7
- const { data } = await apiClient.get(`/users`, {
8
- params: { max: 1000, username },
9
- });
10
- return data;
6
+ export const getUsers = async (apiClient, username, group) => {
7
+ if (group) {
8
+ const { data: groupData } = await apiClient.get(`/groups`, {
9
+ params: { max: 1, search: group, exact: 'true' },
10
+ });
11
+ if (groupData.length === 1) {
12
+ const { data } = await apiClient.get(`/groups/${groupData[0].id}/members`);
13
+ return data;
14
+ }
15
+ else {
16
+ return [];
17
+ }
18
+ }
19
+ else {
20
+ const { data } = await apiClient.get(`/users`, {
21
+ params: { max: 1000, username, exact: 'true' },
22
+ });
23
+ return data;
24
+ }
11
25
  };
12
- export const useUsers = (apiClient) => {
26
+ export const useUsers = (apiClient, group) => {
13
27
  return useQuery({
14
- queryKey: ['users'],
15
- queryFn: () => getUsers(apiClient),
28
+ queryKey: ['users', `users-${JSON.stringify(group)}`],
29
+ queryFn: () => getUsers(apiClient, undefined, group),
16
30
  staleTime: 0,
17
31
  });
18
32
  };
@@ -29,8 +43,8 @@ export const useUser = (id, apiClient) => {
29
43
  });
30
44
  };
31
45
  // Add user
32
- const addUser = async ({ newUser, sendEmailOnCreation, apiClient, }) => {
33
- await apiClient.post(`/users`, newUser);
46
+ export const addUser = async ({ newUser, sendEmailOnCreation, apiClient, groups, }) => {
47
+ await apiClient.post(`/users`, { ...newUser, groups });
34
48
  if (sendEmailOnCreation) {
35
49
  // The POST does not return the newly created user, so we have to search for
36
50
  // it in order to get its ID and send the email
@@ -44,9 +58,9 @@ const addUser = async ({ newUser, sendEmailOnCreation, apiClient, }) => {
44
58
  export const useAddUser = (queryClient, apiClient) => {
45
59
  const locale = useLocale();
46
60
  return useMutation({
47
- mutationFn: (data) => {
61
+ mutationFn: ({ data, groups, }) => {
48
62
  const { sendEmailOnCreation, ...newUser } = data;
49
- return addUser({ newUser, sendEmailOnCreation, apiClient });
63
+ return addUser({ newUser, sendEmailOnCreation, apiClient, groups });
50
64
  },
51
65
  onError: (error) => {
52
66
  enqueueSnackbar(`${usersTranslations.addUserError[locale]}. ${error.message}`, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deix/rossini-identity-management",
3
- "version": "1.0.1",
3
+ "version": "1.1.2",
4
4
  "main": "lib/index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,32 +20,32 @@
20
20
  "dev": "next dev"
21
21
  },
22
22
  "peerDependencies": {
23
- "@emotion/react": "^11.11.3",
24
- "@emotion/styled": "^11.11.0",
25
- "@fontsource/raleway": "^5.0.15",
26
- "@mui/icons-material": "^6.1.8",
27
- "@mui/material": "^6.1.8",
28
- "@tanstack/react-query": "^5.12.2",
29
- "@tanstack/react-query-devtools": "^5.12.2",
30
- "@types/react": "^18.0.28",
31
- "@types/react-dom": "^18.0.8",
32
- "axios": "^1.3.2",
33
- "next": "^15.0.3",
34
- "react": "^18.2.0",
35
- "react-dom": "^18.2.0"
23
+ "@emotion/react": "^11.14.0",
24
+ "@emotion/styled": "^11.14.0",
25
+ "@fontsource/raleway": "^5.1.1",
26
+ "@mui/icons-material": "^6.4.2",
27
+ "@mui/material": "^6.4.2",
28
+ "@tanstack/react-query": "^5.66.0",
29
+ "@tanstack/react-query-devtools": "^5.66.0",
30
+ "@types/react": "^19.0.10",
31
+ "@types/react-dom": "^19.0.4",
32
+ "axios": "^1.7.9",
33
+ "next": "^15.1.6",
34
+ "react": "^19.0.0",
35
+ "react-dom": "^19.0.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@babel/core": "^7.23.7",
39
39
  "@chromatic-com/storybook": "^3.2.2",
40
- "@emotion/react": "^11.11.3",
41
- "@emotion/styled": "^11.11.0",
40
+ "@emotion/react": "^11.14.0",
41
+ "@emotion/styled": "^11.14.0",
42
42
  "@eslint/js": "^9.15.0",
43
- "@fontsource/raleway": "^5.0.16",
43
+ "@fontsource/raleway": "^5.1.1",
44
44
  "@hipster/mdx2-issue-checker": "^0.0.7",
45
45
  "@mdx-js/loader": "^3.1.0",
46
46
  "@mdx-js/react": "^3.1.0",
47
- "@mui/icons-material": "^6.1.8",
48
- "@mui/material": "^6.1.8",
47
+ "@mui/icons-material": "^6.4.2",
48
+ "@mui/material": "^6.4.2",
49
49
  "@storybook/addon-docs": "^8.4.5",
50
50
  "@storybook/addon-essentials": "^8.4.5",
51
51
  "@storybook/addon-interactions": "^8.4.5",
@@ -61,26 +61,26 @@
61
61
  "@storybook/theming": "^8.4.5",
62
62
  "@tanstack/react-query": "^5.17.12",
63
63
  "@tanstack/react-query-devtools": "^5.17.12",
64
- "@types/node": "^22.9.3",
65
- "@types/react": "^18.2.48",
66
- "@types/react-dom": "^18.2.18",
67
- "axios": "^1.6.5",
64
+ "@types/node": "^22.13.0",
65
+ "@types/react": "^19.0.10",
66
+ "@types/react-dom": "^19.0.4",
67
+ "axios": "^1.7.9",
68
68
  "babel-loader": "^9.1.3",
69
69
  "commitizen": "^4.3.0",
70
70
  "cz-conventional-changelog": "^3.3.0",
71
- "eslint": "^9.15.0",
72
- "eslint-config-prettier": "^9.1.0",
73
- "eslint-plugin-prettier": "^5.2.1",
71
+ "eslint": "^9.19.0",
72
+ "eslint-config-prettier": "^10.0.1",
73
+ "eslint-plugin-prettier": "^5.2.3",
74
74
  "json-server": "^1.0.0-alpha.21",
75
- "next": "^15.0.3",
76
- "react": "^18.2.0",
75
+ "next": "^15.1.6",
76
+ "react": "^19.0.0",
77
77
  "react-docgen-typescript-plugin": "^1.0.5",
78
- "react-dom": "^18.2.0",
78
+ "react-dom": "^19.0.0",
79
79
  "remark-mdx": "^3.0.0",
80
80
  "storybook": "^8.4.5",
81
81
  "ts-loader": "^9.5.1",
82
- "typescript": "^5.7.2",
83
- "typescript-eslint": "^8.15.0"
82
+ "typescript": "^5.7.3",
83
+ "typescript-eslint": "^8.24.1"
84
84
  },
85
85
  "resolutions": {
86
86
  "@storybook/react-docgen-typescript-plugin": "npm:react-docgen-typescript-plugin@1.0.2"
@@ -94,9 +94,9 @@
94
94
  }
95
95
  },
96
96
  "dependencies": {
97
- "@deix/rossini-core": "^3.0.5",
98
- "@mui/icons-material": "^6.1.8",
99
- "@mui/material": "^6.1.8",
97
+ "@deix/rossini-core": "^3.1.1",
98
+ "@mui/icons-material": "^6.4.2",
99
+ "@mui/material": "^6.3.2",
100
100
  "notistack": "^3.0.1",
101
101
  "react-hook-form": "^7.49.3"
102
102
  }