datastake-daf 0.6.813 → 0.6.814
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/build/favicon.ico +0 -0
- package/build/logo192.png +0 -0
- package/build/logo512.png +0 -0
- package/build/manifest.json +25 -0
- package/build/robots.txt +3 -0
- package/dist/components/index.js +3056 -4315
- package/dist/hooks/index.js +4 -11
- package/dist/layouts/index.js +478 -464
- package/dist/pages/index.js +490 -576
- package/dist/services/index.js +6 -56
- package/dist/style/datastake/mapbox-gl.css +330 -0
- package/dist/utils/index.js +483 -492
- package/package.json +1 -1
- package/src/@daf/core/components/AuthForm/index.jsx +3 -12
- package/src/@daf/core/components/Icon/configs/index.js +3 -1
- package/src/@daf/core/components/Screens/Admin/AdminDashboard/components/UserStatistics/TopContributors/index.jsx +1 -0
- package/src/@daf/core/components/Screens/Admin/AdminDashboard/components/UserStatistics/UserGrowth/hook.js +1 -0
- package/src/@daf/core/components/Screens/Admin/AdminDashboard/components/UserStatistics/UserGrowth/index.jsx +3 -1
- package/src/@daf/core/components/Screens/Admin/AdminModals/CombineLocation/index.jsx +51 -51
- package/src/@daf/core/components/Screens/Admin/AdminModals/CombineSubjects/index.jsx +1 -6
- package/src/@daf/core/components/Screens/Admin/AdminModals/NewAccount/index.jsx +31 -56
- package/src/@daf/core/components/Screens/Admin/AdminModals/NewUser/index.jsx +10 -36
- package/src/@daf/core/components/Screens/Admin/AdminModals/TransferRights/index.jsx +1 -1
- package/src/@daf/core/components/Screens/Admin/AdminScreens/Accounts.jsx +10 -37
- package/src/@daf/core/components/Screens/Admin/AdminScreens/Dashboard.jsx +2 -2
- package/src/@daf/core/components/Screens/Admin/AdminScreens/index.js +0 -2
- package/src/@daf/core/components/Screens/Admin/AdminTables/AccountTable/helper.js +30 -22
- package/src/@daf/core/components/Screens/Admin/AdminTables/AccountTable/index.jsx +13 -25
- package/src/@daf/core/components/Screens/Admin/AdminTables/LocationTable/index.jsx +2 -17
- package/src/@daf/core/components/Screens/Admin/AdminTables/SubjectsTable/index.jsx +13 -27
- package/src/@daf/core/components/Screens/Admin/AdminTables/UserTable/index.jsx +1 -0
- package/src/@daf/core/components/Screens/Admin/AdminTables/components/index.jsx +2 -4
- package/src/@daf/core/components/Screens/Admin/AdminTables/hook.js +0 -3
- package/src/@daf/core/components/Screens/Admin/AdminViews/components/Edit/index.jsx +9 -12
- package/src/@daf/core/components/Screens/Admin/AdminViews/components/Users/index.jsx +4 -16
- package/src/@daf/core/components/Screens/Admin/AdminViews/components/View/helpers.js +17 -9
- package/src/@daf/core/components/Screens/Admin/AdminViews/index.jsx +8 -9
- package/src/@daf/core/components/Screens/Admin/AppInvitation/index.jsx +99 -124
- package/src/@daf/core/components/Screens/Admin/adminRoutes.js +1 -48
- package/src/@daf/hooks/useAdminDashboard.js +4 -7
- package/src/@daf/pages/View/hooks/useViewActions.js +0 -13
- package/src/@daf/pages/View/hooks/useViewPermissions.js +0 -16
- package/src/@daf/pages/View/index.jsx +4 -29
- package/src/@daf/services/AdminService.js +5 -47
- package/src/@daf/services/DashboardService.js +3 -3
- package/src/@daf/utils/filters.js +15 -13
- package/src/constants/locales/en/translation.js +0 -13
- package/src/helpers/copyToClipboard.js +0 -60
- package/src/@daf/core/components/Screens/Admin/AdminScreens/Documents.jsx +0 -81
- package/src/@daf/core/components/Screens/Admin/AdminScreens/Events.jsx +0 -77
- package/src/@daf/core/components/Screens/Admin/AdminTables/DocumentsTable/column.js +0 -127
- package/src/@daf/core/components/Screens/Admin/AdminTables/DocumentsTable/helper.js +0 -43
- package/src/@daf/core/components/Screens/Admin/AdminTables/DocumentsTable/index.jsx +0 -201
- package/src/@daf/core/components/Screens/Admin/AdminTables/EventsTable/column.js +0 -146
- package/src/@daf/core/components/Screens/Admin/AdminTables/EventsTable/helper.js +0 -58
- package/src/@daf/core/components/Screens/Admin/AdminTables/EventsTable/index.jsx +0 -176
|
@@ -35,7 +35,6 @@ export default function AccountTable({
|
|
|
35
35
|
actionButton,
|
|
36
36
|
inviteAccount,
|
|
37
37
|
}) {
|
|
38
|
-
const accountTypes = config?.accountTypes;
|
|
39
38
|
const [showFilters, setShowFilters] = useState(false);
|
|
40
39
|
const [hasError, setHasError] = useState(false);
|
|
41
40
|
const [selectedAccounts, setSelectedAccounts] = useState([]);
|
|
@@ -61,15 +60,15 @@ export default function AccountTable({
|
|
|
61
60
|
filtersConfig,
|
|
62
61
|
getRedirectLink,
|
|
63
62
|
getData,
|
|
64
|
-
fetchPendingOnMount: true,
|
|
63
|
+
fetchPendingOnMount: true,
|
|
65
64
|
});
|
|
66
65
|
|
|
67
66
|
const selectOptions = useMemo(() => {
|
|
68
67
|
return {
|
|
69
68
|
country: config.options?.countries,
|
|
70
|
-
type: accountTypes,
|
|
69
|
+
type: config.accountTypes,
|
|
71
70
|
};
|
|
72
|
-
}, [config.options, accountTypes]);
|
|
71
|
+
}, [config.options, config.accountTypes]);
|
|
73
72
|
|
|
74
73
|
useEffect(() => {
|
|
75
74
|
if (initFetchDone) {
|
|
@@ -97,23 +96,12 @@ export default function AccountTable({
|
|
|
97
96
|
console.log(err);
|
|
98
97
|
}
|
|
99
98
|
},
|
|
100
|
-
onCancel: () => {
|
|
99
|
+
onCancel: () => {},
|
|
101
100
|
});
|
|
102
101
|
},
|
|
103
102
|
[t, fetchData, fetchPendingAccounts],
|
|
104
103
|
);
|
|
105
104
|
|
|
106
|
-
const onResendInvitation = useCallback(
|
|
107
|
-
async (user) => {
|
|
108
|
-
try {
|
|
109
|
-
await config.onTableClick.onResendInvitation(user);
|
|
110
|
-
message.success(t("Email successfully sent"));
|
|
111
|
-
} catch (error) {
|
|
112
|
-
console.error("Failed to resend invitation:", error);
|
|
113
|
-
message.error(t("Failed to resend invitation"));
|
|
114
|
-
}
|
|
115
|
-
}, [t, config.onTableClick]);
|
|
116
|
-
|
|
117
105
|
const columns = useMemo(
|
|
118
106
|
() =>
|
|
119
107
|
getColumns({
|
|
@@ -125,7 +113,7 @@ export default function AccountTable({
|
|
|
125
113
|
getRedirectLink,
|
|
126
114
|
onCanelVerification: onCanelVerification,
|
|
127
115
|
onCopyInvitation: config.onTableClick.onCopyInvitation,
|
|
128
|
-
onResendInvitation: onResendInvitation,
|
|
116
|
+
onResendInvitation: config.onTableClick.onResendInvitation,
|
|
129
117
|
setAddAccountVisible: config.onTableClick.setAddAccountVisible,
|
|
130
118
|
setSelectedAccounts: setSelectedAccounts,
|
|
131
119
|
selectedAccounts: selectedAccounts,
|
|
@@ -141,13 +129,13 @@ export default function AccountTable({
|
|
|
141
129
|
headerTitle={headerTitle}
|
|
142
130
|
actionButton={[
|
|
143
131
|
...actionButton,
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
132
|
+
{
|
|
133
|
+
icon: "Merge",
|
|
134
|
+
// type: "primary",
|
|
135
|
+
onClick: () => setCombineAccountVisible(true),
|
|
136
|
+
tooltip: "Combine",
|
|
137
|
+
disabled: selectedAccounts.length < 2,
|
|
138
|
+
},
|
|
151
139
|
]}
|
|
152
140
|
tabs={getTabs({
|
|
153
141
|
totalPending: totalPending,
|
|
@@ -219,7 +207,7 @@ export default function AccountTable({
|
|
|
219
207
|
fetchData();
|
|
220
208
|
fetchPendingAccounts();
|
|
221
209
|
}}
|
|
222
|
-
accountTypes={accountTypes}
|
|
210
|
+
accountTypes={config.accountTypes}
|
|
223
211
|
inviteAccount={inviteAccount}
|
|
224
212
|
/>
|
|
225
213
|
<CombineAccountModal
|
|
@@ -53,22 +53,7 @@ export default function LocationTable({
|
|
|
53
53
|
console.error('Failed to parse pagination', e);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const pageSize = Number(paginationObj.pageSize) || Number(paginationObj.take) || 20;
|
|
59
|
-
|
|
60
|
-
let pageNumber = 1;
|
|
61
|
-
|
|
62
|
-
if (paginationObj.page || paginationObj.current) {
|
|
63
|
-
pageNumber = Number(paginationObj.page) || Number(paginationObj.current);
|
|
64
|
-
} else if (typeof paginationObj.skip === 'number') {
|
|
65
56
|
|
|
66
|
-
pageNumber = Math.floor(paginationObj.skip / pageSize) + 1;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
pageNumber = pageNumber || 1;
|
|
70
|
-
|
|
71
|
-
|
|
72
57
|
let activeTab = tab || "active";
|
|
73
58
|
if (!tab && filters) {
|
|
74
59
|
try {
|
|
@@ -81,8 +66,8 @@ export default function LocationTable({
|
|
|
81
66
|
|
|
82
67
|
const transformedParams = {
|
|
83
68
|
pagination: {
|
|
84
|
-
skip:
|
|
85
|
-
take: pageSize,
|
|
69
|
+
skip: String(paginationObj.page || 1),
|
|
70
|
+
take: String(paginationObj.pageSize || 20),
|
|
86
71
|
},
|
|
87
72
|
tab: activeTab,
|
|
88
73
|
};
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
} from "./helper.js";
|
|
14
14
|
import { getColumns } from "./columns.js";
|
|
15
15
|
import CombineSubjectsModal from "../../AdminModals/CombineSubjects/index.jsx";
|
|
16
|
+
|
|
16
17
|
const { useToken } = theme;
|
|
17
18
|
|
|
18
19
|
export default function SubjectsTable({
|
|
@@ -39,7 +40,10 @@ export default function SubjectsTable({
|
|
|
39
40
|
const { token } = useToken();
|
|
40
41
|
const [isCombineModalOpen, setIsModalOpen] = useState(false);
|
|
41
42
|
|
|
42
|
-
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
const getDataWithStringPagination = async ({ params }) => {
|
|
43
47
|
const { pagination, tab, filters, search, sort, ...otherParams } = params;
|
|
44
48
|
|
|
45
49
|
let paginationObj = { page: 1, pageSize: 20 };
|
|
@@ -50,21 +54,7 @@ export default function SubjectsTable({
|
|
|
50
54
|
console.error('Failed to parse pagination', e);
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
|
-
|
|
54
|
-
const pageSize = Number(paginationObj.pageSize) || Number(paginationObj.take) || 20;
|
|
55
|
-
|
|
56
|
-
let pageNumber = 1;
|
|
57
|
-
|
|
58
|
-
if (paginationObj.page || paginationObj.current) {
|
|
59
|
-
pageNumber = Number(paginationObj.page) || Number(paginationObj.current);
|
|
60
|
-
} else if (typeof paginationObj.skip === 'number') {
|
|
61
|
-
|
|
62
|
-
pageNumber = Math.floor(paginationObj.skip / pageSize) + 1;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
pageNumber = pageNumber || 1;
|
|
66
|
-
|
|
67
|
-
|
|
57
|
+
|
|
68
58
|
let activeTab = tab || "active";
|
|
69
59
|
if (!tab && filters) {
|
|
70
60
|
try {
|
|
@@ -77,16 +67,14 @@ export default function SubjectsTable({
|
|
|
77
67
|
|
|
78
68
|
const transformedParams = {
|
|
79
69
|
pagination: {
|
|
80
|
-
skip:
|
|
81
|
-
take: pageSize,
|
|
70
|
+
skip: String(paginationObj.page || 1),
|
|
71
|
+
take: String(paginationObj.pageSize || 20),
|
|
82
72
|
},
|
|
83
73
|
tab: activeTab,
|
|
84
74
|
};
|
|
85
75
|
|
|
86
76
|
return getData({ params: transformedParams });
|
|
87
77
|
};
|
|
88
|
-
|
|
89
|
-
|
|
90
78
|
const {
|
|
91
79
|
filter,
|
|
92
80
|
activeTab,
|
|
@@ -145,7 +133,7 @@ export default function SubjectsTable({
|
|
|
145
133
|
{
|
|
146
134
|
icon: "Merge",
|
|
147
135
|
onClick: () => setIsModalOpen(true),
|
|
148
|
-
tooltip: t("merge-subjects"),
|
|
136
|
+
tooltip: t("admin::merge-subjects"),
|
|
149
137
|
disabled: selectedSubjects.length < 2,
|
|
150
138
|
},
|
|
151
139
|
]}
|
|
@@ -204,13 +192,11 @@ export default function SubjectsTable({
|
|
|
204
192
|
onSuccess={(data) => {
|
|
205
193
|
setIsModalOpen(false);
|
|
206
194
|
setLoading(true);
|
|
195
|
+
message.success(t("Subjects successfully merged."))
|
|
207
196
|
if (typeof mergeSubjectsFunction === 'function') {
|
|
208
|
-
mergeSubjectsFunction(data).
|
|
209
|
-
setTimeout(() => {
|
|
210
|
-
fetchData();
|
|
211
|
-
}, 500);
|
|
212
|
-
}).finally(() => {
|
|
197
|
+
mergeSubjectsFunction(data).finally(() => {
|
|
213
198
|
setSelectedSubjects([]);
|
|
199
|
+
fetchData();
|
|
214
200
|
});
|
|
215
201
|
}
|
|
216
202
|
}}
|
|
@@ -221,4 +207,4 @@ export default function SubjectsTable({
|
|
|
221
207
|
/>
|
|
222
208
|
</>
|
|
223
209
|
);
|
|
224
|
-
}
|
|
210
|
+
}
|
|
@@ -22,8 +22,6 @@ export default function AdminTable({
|
|
|
22
22
|
breadcrumbs,
|
|
23
23
|
children,
|
|
24
24
|
}) {
|
|
25
|
-
|
|
26
|
-
console.log(tabs, "tabs");
|
|
27
25
|
return (
|
|
28
26
|
<>
|
|
29
27
|
<div className="semibold form-input-output daf-create-view">
|
|
@@ -31,7 +29,7 @@ export default function AdminTable({
|
|
|
31
29
|
<div className="column start table-content">
|
|
32
30
|
<div className="mt-6 ml-6 mr-6">
|
|
33
31
|
<div className="flex flex-row">
|
|
34
|
-
|
|
32
|
+
<div className="mr-2">
|
|
35
33
|
<Tabs
|
|
36
34
|
t={t}
|
|
37
35
|
tabs={tabs}
|
|
@@ -40,7 +38,7 @@ export default function AdminTable({
|
|
|
40
38
|
filters.setActiveFilters((p) => ({ ...p, activeTab: val }))
|
|
41
39
|
}
|
|
42
40
|
/>
|
|
43
|
-
</div>
|
|
41
|
+
</div>
|
|
44
42
|
<div className="flex-1">
|
|
45
43
|
<SearchFilters
|
|
46
44
|
t={t}
|
|
@@ -32,7 +32,6 @@ export function useAdminTable({
|
|
|
32
32
|
defaultPageSize: defaultPageSize || 20,
|
|
33
33
|
getRedirectLink,
|
|
34
34
|
});
|
|
35
|
-
console.log(filter, "filter.activeFilters");
|
|
36
35
|
|
|
37
36
|
const activeTab = useMemo(() => filter.activeFilters.activeTab, [filter.activeFilters]);
|
|
38
37
|
|
|
@@ -60,14 +59,12 @@ export function useAdminTable({
|
|
|
60
59
|
fetchPendingAccounts();
|
|
61
60
|
}, []);
|
|
62
61
|
|
|
63
|
-
|
|
64
62
|
const fetchData = useCallback(async () => {
|
|
65
63
|
try {
|
|
66
64
|
setLoading(true);
|
|
67
65
|
const params = filterParams({
|
|
68
66
|
activeFilters: filter.activeFilters,
|
|
69
67
|
});
|
|
70
|
-
console.log(params, "params");
|
|
71
68
|
const { data } = await getData({ params });
|
|
72
69
|
setData(data.data || data);
|
|
73
70
|
filter.setPagination((prev) => ({ ...prev, total: data?.meta?.total || data?.length || 0 }));
|
|
@@ -3,7 +3,7 @@ import { ExclamationCircleOutlined } from "@ant-design/icons";
|
|
|
3
3
|
import { useCallback, useEffect } from "react";
|
|
4
4
|
import { useForms } from "../../../../../../context/Forms/index.js";
|
|
5
5
|
import Users from "../Users/index.jsx";
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
export default function Edit({
|
|
8
8
|
t,
|
|
9
9
|
goTo,
|
|
@@ -37,17 +37,14 @@ export default function Edit({
|
|
|
37
37
|
}, [isChanged, addCheck, removeCheck]);
|
|
38
38
|
|
|
39
39
|
const deleteUser = useCallback(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
fetchData();
|
|
45
|
-
} catch (err) {
|
|
46
|
-
handleError(err);
|
|
47
|
-
}
|
|
40
|
+
(id) => {
|
|
41
|
+
// TODO: add call
|
|
42
|
+
console.log("DELETE", id);
|
|
43
|
+
fetchData();
|
|
48
44
|
},
|
|
49
|
-
[fetchData
|
|
45
|
+
[fetchData],
|
|
50
46
|
);
|
|
47
|
+
|
|
51
48
|
const updateUser = useCallback((id, val) => {
|
|
52
49
|
setIsChanged(true);
|
|
53
50
|
setData((prev) => ({
|
|
@@ -74,9 +71,9 @@ export default function Edit({
|
|
|
74
71
|
|
|
75
72
|
const onSuspend = () => {
|
|
76
73
|
Modal.confirm({
|
|
77
|
-
title: t("
|
|
74
|
+
title: t("sbg-admin::suspend-title"),
|
|
78
75
|
icon: <ExclamationCircleOutlined />,
|
|
79
|
-
content:
|
|
76
|
+
content: t("sbg-admin::suspend-content"),
|
|
80
77
|
okText: t("Yes"),
|
|
81
78
|
cancelText: t("No"),
|
|
82
79
|
onOk: async () => {
|
|
@@ -34,7 +34,6 @@ export default function Users({
|
|
|
34
34
|
inviteCompanyAccount = () => {},
|
|
35
35
|
companyId,
|
|
36
36
|
handleError = () => {},
|
|
37
|
-
|
|
38
37
|
}) {
|
|
39
38
|
const [hasError, setHasError] = useState(false);
|
|
40
39
|
const [showFilters, setShowFilters] = useState(false);
|
|
@@ -73,9 +72,9 @@ export default function Users({
|
|
|
73
72
|
const onDeleteUserClick = useCallback(
|
|
74
73
|
(id) => {
|
|
75
74
|
Modal.confirm({
|
|
76
|
-
title: t("
|
|
75
|
+
title: t("sbg-admin::remove-user-title"),
|
|
77
76
|
icon: <ExclamationCircleOutlined />,
|
|
78
|
-
content:
|
|
77
|
+
content: t("sbg-admin::remove-user-body"),
|
|
79
78
|
okText: t("Yes"),
|
|
80
79
|
cancelText: t("No"),
|
|
81
80
|
onOk: () => {
|
|
@@ -88,15 +87,8 @@ export default function Users({
|
|
|
88
87
|
);
|
|
89
88
|
|
|
90
89
|
const data = useMemo(() => {
|
|
91
|
-
const { users = []
|
|
92
|
-
let filtered = [
|
|
93
|
-
...users,
|
|
94
|
-
...pendingUsers.map(u => ({
|
|
95
|
-
...u,
|
|
96
|
-
status: 'pending',
|
|
97
|
-
id: u.invitationToken || u.email // ensure pending users have an ID
|
|
98
|
-
}))
|
|
99
|
-
];
|
|
90
|
+
const { users = [] } = accountData;
|
|
91
|
+
let filtered = [...users];
|
|
100
92
|
|
|
101
93
|
if (!isEmptyOrSpaces(activeFilters.search)) {
|
|
102
94
|
const search = activeFilters.search.toLowerCase();
|
|
@@ -194,10 +186,6 @@ export default function Users({
|
|
|
194
186
|
inviteCompanyAccount={inviteCompanyAccount}
|
|
195
187
|
companyId={companyId}
|
|
196
188
|
handleError={handleError}
|
|
197
|
-
existingEmails={[
|
|
198
|
-
...(accountData?.users || []).map(u => u.email?.toLowerCase()),
|
|
199
|
-
...(accountData?.pendingUsers || []).map(u => u.email?.toLowerCase()),
|
|
200
|
-
].filter(Boolean)}
|
|
201
189
|
/>
|
|
202
190
|
</div>
|
|
203
191
|
);
|
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
import { Tag } from "antd";
|
|
2
2
|
|
|
3
3
|
export const renderStatus = ({ val, t = (s) => s }) => {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
// switch (val) {
|
|
5
|
+
// case "active":
|
|
6
|
+
// return <Tag color="green">{t("Active")}</Tag>;
|
|
7
|
+
// case "unsaved":
|
|
8
|
+
// return <Tag color="red">{t("Unsaved")}</Tag>;
|
|
9
|
+
// case "inactive":
|
|
10
|
+
// case "suspended":
|
|
11
|
+
// return <Tag color="red">{t("Suspended")}</Tag>;
|
|
12
|
+
// case "pending":
|
|
13
|
+
// return <Tag color="orange">{t("Pending")}</Tag>;
|
|
14
|
+
// default:
|
|
15
|
+
// return <Tag color="default">{t("Unknown")}</Tag>;
|
|
16
|
+
// }
|
|
17
|
+
|
|
18
|
+
if (val) {
|
|
11
19
|
return <Tag color="green">{t("Active")}</Tag>;
|
|
20
|
+
} else {
|
|
21
|
+
return <Tag color="red">{t("Suspended")}</Tag>;
|
|
12
22
|
}
|
|
13
|
-
|
|
14
|
-
return <Tag color="red">{t("Suspended")}</Tag>;
|
|
15
23
|
};
|
|
@@ -172,15 +172,14 @@ function AdminView({
|
|
|
172
172
|
try {
|
|
173
173
|
const { pendingCompanyId, status, ...userDataToInvite } = user;
|
|
174
174
|
console.log('Sending invitation for:', user.email, userDataToInvite);
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
// console.log('Invitation sent successfully for:', user.email);
|
|
175
|
+
await inviteCompanyAccount({
|
|
176
|
+
companyId: editData.id,
|
|
177
|
+
data: {
|
|
178
|
+
...userDataToInvite,
|
|
179
|
+
pendingCompanyId,
|
|
180
|
+
},
|
|
181
|
+
});
|
|
182
|
+
console.log('Invitation sent successfully for:', user.email);
|
|
184
183
|
} catch (inviteError) {
|
|
185
184
|
console.error('Failed to invite user:', user.email, inviteError);
|
|
186
185
|
handleError(inviteError);
|