@firecms/user_management 3.0.0-canary.116 → 3.0.0-canary.118
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/index.es.js +20 -16
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +21 -17
- package/dist/index.umd.js.map +1 -1
- package/package.json +5 -5
- package/src/components/roles/RolesDetailsForm.tsx +12 -12
- package/src/hooks/useBuildUserManagement.tsx +20 -5
package/dist/index.es.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
import React, { useEffect, useCallback, useContext, useState } from "react";
|
2
2
|
import equal from "react-fast-compare";
|
3
|
+
import { removeUndefined, toSnakeCase, FieldCaption, DeleteConfirmationDialog, useNavigationController, useSnackbarController, useAuthController, useCustomizationController, defaultDateFormat } from "@firecms/core";
|
3
4
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
4
5
|
import { getColorSchemeForSeed, Chip, Dialog, DialogContent, Typography, TextField, Paper, Table, TableHeader, TableCell, TableBody, TableRow, Tooltip, Checkbox, Button, Select, SelectItem, DialogActions, LoadingButton, DoneIcon, IconButton, DeleteIcon, CenteredView, Container, AddIcon, MultiSelect, MultiSelectItem } from "@firecms/ui";
|
5
6
|
import * as Yup from "yup";
|
6
|
-
import { toSnakeCase, FieldCaption, DeleteConfirmationDialog, useNavigationController, useSnackbarController, useAuthController, useCustomizationController, defaultDateFormat } from "@firecms/core";
|
7
7
|
import { useCreateFormex, getIn, Formex } from "@firecms/formex";
|
8
8
|
import { format } from "date-fns";
|
9
9
|
import * as locales from "date-fns/locale";
|
@@ -219,15 +219,19 @@ function useBuildUserManagement({
|
|
219
219
|
const roleIds = user.roles?.map((r) => r.id);
|
220
220
|
const email = user.email?.toLowerCase().trim();
|
221
221
|
if (!email) throw Error("Email is required");
|
222
|
+
const userExists = users.find((u) => u.email?.toLowerCase() === email);
|
222
223
|
const data = {
|
223
224
|
...user,
|
224
|
-
roles: roleIds
|
225
|
+
roles: roleIds ?? []
|
225
226
|
};
|
227
|
+
if (!userExists) {
|
228
|
+
data.created_on = /* @__PURE__ */ new Date();
|
229
|
+
}
|
226
230
|
return dataSourceDelegate.saveEntity({
|
227
231
|
status: "existing",
|
228
232
|
path: usersPath,
|
229
233
|
entityId: email,
|
230
|
-
values: data
|
234
|
+
values: removeUndefined(data)
|
231
235
|
}).then(() => user);
|
232
236
|
}, [usersPath, dataSourceDelegate?.initialised]);
|
233
237
|
const saveRole = useCallback((role) => {
|
@@ -242,7 +246,7 @@ function useBuildUserManagement({
|
|
242
246
|
status: "existing",
|
243
247
|
path: rolesPath,
|
244
248
|
entityId: id,
|
245
|
-
values: roleData
|
249
|
+
values: removeUndefined(roleData)
|
246
250
|
}).then(() => {
|
247
251
|
return;
|
248
252
|
});
|
@@ -646,8 +650,8 @@ function RolesDetailsForm({
|
|
646
650
|
Checkbox,
|
647
651
|
{
|
648
652
|
disabled: isAdmin || defaultCreate || !editable,
|
649
|
-
checked: (isAdmin || defaultCreate || getIn(values, `collectionPermissions.${col.
|
650
|
-
onCheckedChange: (checked) => setFieldValue(`collectionPermissions.${col.
|
653
|
+
checked: (isAdmin || defaultCreate || getIn(values, `collectionPermissions.${col.id}.create`)) ?? false,
|
654
|
+
onCheckedChange: (checked) => setFieldValue(`collectionPermissions.${col.id}.create`, checked)
|
651
655
|
}
|
652
656
|
)
|
653
657
|
}
|
@@ -660,8 +664,8 @@ function RolesDetailsForm({
|
|
660
664
|
Checkbox,
|
661
665
|
{
|
662
666
|
disabled: isAdmin || defaultRead || !editable,
|
663
|
-
checked: (isAdmin || defaultRead || getIn(values, `collectionPermissions.${col.
|
664
|
-
onCheckedChange: (checked) => setFieldValue(`collectionPermissions.${col.
|
667
|
+
checked: (isAdmin || defaultRead || getIn(values, `collectionPermissions.${col.id}.read`)) ?? false,
|
668
|
+
onCheckedChange: (checked) => setFieldValue(`collectionPermissions.${col.id}.read`, checked)
|
665
669
|
}
|
666
670
|
)
|
667
671
|
}
|
@@ -674,8 +678,8 @@ function RolesDetailsForm({
|
|
674
678
|
Checkbox,
|
675
679
|
{
|
676
680
|
disabled: isAdmin || defaultEdit || !editable,
|
677
|
-
checked: (isAdmin || defaultEdit || getIn(values, `collectionPermissions.${col.
|
678
|
-
onCheckedChange: (checked) => setFieldValue(`collectionPermissions.${col.
|
681
|
+
checked: (isAdmin || defaultEdit || getIn(values, `collectionPermissions.${col.id}.edit`)) ?? false,
|
682
|
+
onCheckedChange: (checked) => setFieldValue(`collectionPermissions.${col.id}.edit`, checked)
|
679
683
|
}
|
680
684
|
)
|
681
685
|
}
|
@@ -688,8 +692,8 @@ function RolesDetailsForm({
|
|
688
692
|
Checkbox,
|
689
693
|
{
|
690
694
|
disabled: isAdmin || defaultDelete || !editable,
|
691
|
-
checked: (isAdmin || defaultDelete || getIn(values, `collectionPermissions.${col.
|
692
|
-
onCheckedChange: (checked) => setFieldValue(`collectionPermissions.${col.
|
695
|
+
checked: (isAdmin || defaultDelete || getIn(values, `collectionPermissions.${col.id}.delete`)) ?? false,
|
696
|
+
onCheckedChange: (checked) => setFieldValue(`collectionPermissions.${col.id}.delete`, checked)
|
693
697
|
}
|
694
698
|
)
|
695
699
|
}
|
@@ -707,10 +711,10 @@ function RolesDetailsForm({
|
|
707
711
|
{
|
708
712
|
className: "color-inherit",
|
709
713
|
onClick: () => {
|
710
|
-
setFieldValue(`collectionPermissions.${col.
|
711
|
-
setFieldValue(`collectionPermissions.${col.
|
712
|
-
setFieldValue(`collectionPermissions.${col.
|
713
|
-
setFieldValue(`collectionPermissions.${col.
|
714
|
+
setFieldValue(`collectionPermissions.${col.id}.create`, true);
|
715
|
+
setFieldValue(`collectionPermissions.${col.id}.read`, true);
|
716
|
+
setFieldValue(`collectionPermissions.${col.id}.edit`, true);
|
717
|
+
setFieldValue(`collectionPermissions.${col.id}.delete`, true);
|
714
718
|
},
|
715
719
|
disabled: isAdmin || !editable,
|
716
720
|
variant: "text",
|