@payloadcms/ui 3.13.0 → 3.14.1-canary.549a973
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/elements/Gutter/index.js +0 -1
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +3 -2
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +11 -4
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/SaveButton/index.d.ts.map +1 -1
- package/dist/elements/SaveButton/index.js +12 -4
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +3 -2
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +6 -2
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/exports/client/index.js +22 -22
- package/dist/exports/client/index.js.map +3 -3
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +3 -3
- package/dist/fields/Text/index.d.ts +1 -1
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +1 -1
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +6 -4
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +166 -143
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.d.ts +1 -1
- package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +55 -45
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +9 -2
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts +7 -1
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +9 -2
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +3 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +22 -24
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +14 -7
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.js +26 -3
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +8 -9
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +6 -0
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +3 -0
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +5 -2
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +1 -0
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/utilities/abortAndIgnore.d.ts +8 -0
- package/dist/utilities/abortAndIgnore.d.ts.map +1 -1
- package/dist/utilities/abortAndIgnore.js +11 -5
- package/dist/utilities/abortAndIgnore.js.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.js +4 -6
- package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +4 -6
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +14 -4
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.d.ts +1 -1
- package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +25 -4
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/views/Edit/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Auth/index.js +79 -90
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/Auth/types.d.ts +0 -1
- package/dist/views/Edit/Auth/types.d.ts.map +1 -1
- package/dist/views/Edit/Auth/types.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +3 -9
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/index.js +1 -1
- package/dist/views/List/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -4,18 +4,39 @@ export const schedulePublishHandler = async ({
|
|
|
4
4
|
doc,
|
|
5
5
|
global,
|
|
6
6
|
locale,
|
|
7
|
-
req
|
|
7
|
+
req
|
|
8
|
+
}) => {
|
|
9
|
+
const {
|
|
8
10
|
i18n,
|
|
9
|
-
payload
|
|
11
|
+
payload,
|
|
12
|
+
user
|
|
13
|
+
} = req;
|
|
14
|
+
const incomingUserSlug = user?.collection;
|
|
15
|
+
const adminUserSlug = payload.config.admin.user;
|
|
16
|
+
if (!incomingUserSlug) {
|
|
17
|
+
throw new Error('Unauthorized');
|
|
18
|
+
}
|
|
19
|
+
const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin;
|
|
20
|
+
// Run the admin access function from the config if it exists
|
|
21
|
+
if (adminAccessFunction) {
|
|
22
|
+
const canAccessAdmin = await adminAccessFunction({
|
|
23
|
+
req
|
|
24
|
+
});
|
|
25
|
+
if (!canAccessAdmin) {
|
|
26
|
+
throw new Error('Unauthorized');
|
|
27
|
+
}
|
|
28
|
+
// Match the user collection to the global admin config
|
|
29
|
+
} else if (adminUserSlug !== incomingUserSlug) {
|
|
30
|
+
throw new Error('Unauthorized');
|
|
10
31
|
}
|
|
11
|
-
}) => {
|
|
12
32
|
try {
|
|
13
33
|
await payload.jobs.queue({
|
|
14
34
|
input: {
|
|
15
35
|
type,
|
|
16
36
|
doc,
|
|
17
37
|
global,
|
|
18
|
-
locale
|
|
38
|
+
locale,
|
|
39
|
+
user: user.id
|
|
19
40
|
},
|
|
20
41
|
task: 'schedulePublish',
|
|
21
42
|
waitUntil: date
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedulePublishHandler.js","names":["schedulePublishHandler","type","date","doc","global","locale","req","i18n","payload","jobs","queue","input","task","waitUntil","err","error","value","relationTo","logger","message","t"],"sources":["../../src/utilities/schedulePublishHandler.ts"],"sourcesContent":["import type { PayloadRequest, SchedulePublishTaskInput } from 'payload'\n\nexport type SchedulePublishHandlerArgs = {\n date: Date\n req: PayloadRequest\n} & SchedulePublishTaskInput\n\nexport const schedulePublishHandler = async ({\n type,\n date,\n doc,\n global,\n locale,\n req: { i18n, payload }
|
|
1
|
+
{"version":3,"file":"schedulePublishHandler.js","names":["schedulePublishHandler","type","date","doc","global","locale","req","i18n","payload","user","incomingUserSlug","collection","adminUserSlug","config","admin","Error","adminAccessFunction","collections","access","canAccessAdmin","jobs","queue","input","id","task","waitUntil","err","error","value","relationTo","logger","message","t"],"sources":["../../src/utilities/schedulePublishHandler.ts"],"sourcesContent":["import type { PayloadRequest, SchedulePublishTaskInput } from 'payload'\n\nexport type SchedulePublishHandlerArgs = {\n date: Date\n req: PayloadRequest\n} & SchedulePublishTaskInput\n\nexport const schedulePublishHandler = async ({\n type,\n date,\n doc,\n global,\n locale,\n req,\n}: SchedulePublishHandlerArgs) => {\n const { i18n, payload, user } = req\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = payload.config.admin.user\n\n if (!incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n\n try {\n await payload.jobs.queue({\n input: {\n type,\n doc,\n global,\n locale,\n user: user.id,\n },\n task: 'schedulePublish',\n waitUntil: date,\n })\n } catch (err) {\n let error = `Error scheduling ${type} for `\n\n if (doc) {\n error += `document with ID ${doc.value} in collection ${doc.relationTo}`\n }\n\n payload.logger.error(error)\n payload.logger.error(err)\n\n return {\n error,\n }\n }\n\n return { message: i18n.t('general:success') }\n}\n"],"mappings":"AAOA,OAAO,MAAMA,sBAAA,GAAyB,MAAAA,CAAO;EAC3CC,IAAI;EACJC,IAAI;EACJC,GAAG;EACHC,MAAM;EACNC,MAAM;EACNC;AAAG,CACwB;EAC3B,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAI,CAAE,GAAGH,GAAA;EAEhC,MAAMI,gBAAA,GAAmBD,IAAA,EAAME,UAAA;EAE/B,MAAMC,aAAA,GAAgBJ,OAAA,CAAQK,MAAM,CAACC,KAAK,CAACL,IAAI;EAE/C,IAAI,CAACC,gBAAA,EAAkB;IACrB,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,MAAMC,mBAAA,GAAsBR,OAAA,CAAQS,WAAW,CAACP,gBAAA,CAAiB,CAACG,MAAM,CAACK,MAAM,EAAEJ,KAAA;EAEjF;EACA,IAAIE,mBAAA,EAAqB;IACvB,MAAMG,cAAA,GAAiB,MAAMH,mBAAA,CAAoB;MAAEV;IAAI;IAEvD,IAAI,CAACa,cAAA,EAAgB;MACnB,MAAM,IAAIJ,KAAA,CAAM;IAClB;IACA;EACF,OAAO,IAAIH,aAAA,KAAkBF,gBAAA,EAAkB;IAC7C,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,IAAI;IACF,MAAMP,OAAA,CAAQY,IAAI,CAACC,KAAK,CAAC;MACvBC,KAAA,EAAO;QACLrB,IAAA;QACAE,GAAA;QACAC,MAAA;QACAC,MAAA;QACAI,IAAA,EAAMA,IAAA,CAAKc;MACb;MACAC,IAAA,EAAM;MACNC,SAAA,EAAWvB;IACb;EACF,EAAE,OAAOwB,GAAA,EAAK;IACZ,IAAIC,KAAA,GAAQ,oBAAoB1B,IAAA,OAAW;IAE3C,IAAIE,GAAA,EAAK;MACPwB,KAAA,IAAS,oBAAoBxB,GAAA,CAAIyB,KAAK,kBAAkBzB,GAAA,CAAI0B,UAAU,EAAE;IAC1E;IAEArB,OAAA,CAAQsB,MAAM,CAACH,KAAK,CAACA,KAAA;IACrBnB,OAAA,CAAQsB,MAAM,CAACH,KAAK,CAACD,GAAA;IAErB,OAAO;MACLC;IACF;EACF;EAEA,OAAO;IAAEI,OAAA,EAASxB,IAAA,CAAKyB,CAAC,CAAC;EAAmB;AAC9C","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAGxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAavC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAGxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAavC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiNhC,CAAA"}
|
|
@@ -18,7 +18,7 @@ import { APIKey } from './APIKey.js';
|
|
|
18
18
|
import './index.scss';
|
|
19
19
|
const baseClass = 'auth-fields';
|
|
20
20
|
export const Auth = props => {
|
|
21
|
-
const $ = _c(
|
|
21
|
+
const $ = _c(58);
|
|
22
22
|
const {
|
|
23
23
|
className,
|
|
24
24
|
collectionSlug,
|
|
@@ -28,7 +28,6 @@ export const Auth = props => {
|
|
|
28
28
|
operation,
|
|
29
29
|
readOnly,
|
|
30
30
|
requirePassword,
|
|
31
|
-
setSchemaPathSegments,
|
|
32
31
|
setValidateBeforeSubmit,
|
|
33
32
|
useAPIKey,
|
|
34
33
|
username,
|
|
@@ -39,8 +38,7 @@ export const Auth = props => {
|
|
|
39
38
|
} = useAuth();
|
|
40
39
|
const [changingPassword, setChangingPassword] = useState(requirePassword);
|
|
41
40
|
const enableAPIKey = useFormFields(_temp);
|
|
42
|
-
const
|
|
43
|
-
const dispatchFields = useFormFields(_temp3);
|
|
41
|
+
const dispatchFields = useFormFields(_temp2);
|
|
44
42
|
const modified = useFormModified();
|
|
45
43
|
const {
|
|
46
44
|
i18n,
|
|
@@ -77,11 +75,10 @@ export const Auth = props => {
|
|
|
77
75
|
const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read;
|
|
78
76
|
const canReadEnableAPIKey = apiKeyPermissions === true || apiKeyPermissions?.read;
|
|
79
77
|
let t3;
|
|
80
|
-
if ($[0] !==
|
|
78
|
+
if ($[0] !== dispatchFields || $[1] !== setValidateBeforeSubmit || $[2] !== t) {
|
|
81
79
|
t3 = showPasswordFields => {
|
|
82
80
|
if (showPasswordFields) {
|
|
83
81
|
setValidateBeforeSubmit(true);
|
|
84
|
-
setSchemaPathSegments([`_${collectionSlug}`, "auth"]);
|
|
85
82
|
dispatchFields({
|
|
86
83
|
type: "UPDATE",
|
|
87
84
|
errorMessage: t("validation:required"),
|
|
@@ -96,7 +93,6 @@ export const Auth = props => {
|
|
|
96
93
|
});
|
|
97
94
|
} else {
|
|
98
95
|
setValidateBeforeSubmit(false);
|
|
99
|
-
setSchemaPathSegments([collectionSlug]);
|
|
100
96
|
dispatchFields({
|
|
101
97
|
type: "REMOVE",
|
|
102
98
|
path: "password"
|
|
@@ -108,18 +104,16 @@ export const Auth = props => {
|
|
|
108
104
|
}
|
|
109
105
|
setChangingPassword(showPasswordFields);
|
|
110
106
|
};
|
|
111
|
-
$[0] =
|
|
112
|
-
$[1] =
|
|
113
|
-
$[2] =
|
|
114
|
-
$[3] =
|
|
115
|
-
$[4] = t;
|
|
116
|
-
$[5] = t3;
|
|
107
|
+
$[0] = dispatchFields;
|
|
108
|
+
$[1] = setValidateBeforeSubmit;
|
|
109
|
+
$[2] = t;
|
|
110
|
+
$[3] = t3;
|
|
117
111
|
} else {
|
|
118
|
-
t3 = $[
|
|
112
|
+
t3 = $[3];
|
|
119
113
|
}
|
|
120
114
|
const handleChangePassword = t3;
|
|
121
115
|
let t4;
|
|
122
|
-
if ($[
|
|
116
|
+
if ($[4] !== api || $[5] !== collectionSlug || $[6] !== email || $[7] !== i18n.language || $[8] !== loginWithUsername || $[9] !== serverURL || $[10] !== t || $[11] !== username) {
|
|
123
117
|
t4 = async () => {
|
|
124
118
|
const url = `${serverURL}${api}/${collectionSlug}/unlock`;
|
|
125
119
|
const response = await fetch(url, {
|
|
@@ -141,54 +135,53 @@ export const Auth = props => {
|
|
|
141
135
|
toast.error(t("authentication:failedToUnlock"));
|
|
142
136
|
}
|
|
143
137
|
};
|
|
144
|
-
$[
|
|
145
|
-
$[
|
|
146
|
-
$[
|
|
147
|
-
$[
|
|
148
|
-
$[
|
|
149
|
-
$[
|
|
150
|
-
$[
|
|
151
|
-
$[
|
|
152
|
-
$[
|
|
138
|
+
$[4] = api;
|
|
139
|
+
$[5] = collectionSlug;
|
|
140
|
+
$[6] = email;
|
|
141
|
+
$[7] = i18n.language;
|
|
142
|
+
$[8] = loginWithUsername;
|
|
143
|
+
$[9] = serverURL;
|
|
144
|
+
$[10] = t;
|
|
145
|
+
$[11] = username;
|
|
146
|
+
$[12] = t4;
|
|
153
147
|
} else {
|
|
154
|
-
t4 = $[
|
|
148
|
+
t4 = $[12];
|
|
155
149
|
}
|
|
156
150
|
const unlock = t4;
|
|
157
151
|
let t5;
|
|
158
152
|
let t6;
|
|
159
|
-
if ($[
|
|
153
|
+
if ($[13] !== modified) {
|
|
160
154
|
t5 = () => {
|
|
161
155
|
if (!modified) {
|
|
162
156
|
setChangingPassword(false);
|
|
163
157
|
}
|
|
164
158
|
};
|
|
165
159
|
t6 = [modified];
|
|
166
|
-
$[
|
|
167
|
-
$[
|
|
168
|
-
$[
|
|
160
|
+
$[13] = modified;
|
|
161
|
+
$[14] = t5;
|
|
162
|
+
$[15] = t6;
|
|
169
163
|
} else {
|
|
170
|
-
t5 = $[
|
|
171
|
-
t6 = $[
|
|
164
|
+
t5 = $[14];
|
|
165
|
+
t6 = $[15];
|
|
172
166
|
}
|
|
173
167
|
useEffect(t5, t6);
|
|
174
168
|
if (disableLocalStrategy && !useAPIKey) {
|
|
175
169
|
return null;
|
|
176
170
|
}
|
|
177
171
|
const disabled = readOnly || isInitializing;
|
|
178
|
-
const showPasswordFields_0 = changingPassword || forceOpenChangePassword;
|
|
179
172
|
let t7;
|
|
180
|
-
if ($[
|
|
173
|
+
if ($[16] !== className) {
|
|
181
174
|
t7 = [baseClass, className].filter(Boolean);
|
|
182
|
-
$[
|
|
183
|
-
$[
|
|
175
|
+
$[16] = className;
|
|
176
|
+
$[17] = t7;
|
|
184
177
|
} else {
|
|
185
|
-
t7 = $[
|
|
178
|
+
t7 = $[17];
|
|
186
179
|
}
|
|
187
180
|
const t8 = t7.join(" ");
|
|
188
181
|
let t9;
|
|
189
|
-
if ($[
|
|
182
|
+
if ($[18] !== apiKeyReadOnly || $[19] !== canReadApiKey || $[20] !== canReadEnableAPIKey || $[21] !== changingPassword || $[22] !== collectionSlug || $[23] !== disableLocalStrategy || $[24] !== disabled || $[25] !== docPermissions?.fields || $[26] !== enableAPIKey?.value || $[27] !== enableAPIKeyReadOnly || $[28] !== handleChangePassword || $[29] !== hasPermissionToUnlock || $[30] !== isEditing || $[31] !== loginWithUsername || $[32] !== operation || $[33] !== readOnly || $[34] !== requirePassword || $[35] !== t || $[36] !== t8 || $[37] !== unlock || $[38] !== useAPIKey || $[39] !== verify) {
|
|
190
183
|
let t10;
|
|
191
|
-
if ($[
|
|
184
|
+
if ($[41] !== apiKeyReadOnly || $[42] !== canReadApiKey || $[43] !== canReadEnableAPIKey || $[44] !== collectionSlug || $[45] !== disabled || $[46] !== enableAPIKey?.value || $[47] !== enableAPIKeyReadOnly || $[48] !== t || $[49] !== useAPIKey) {
|
|
192
185
|
t10 = useAPIKey && _jsxs("div", {
|
|
193
186
|
className: `${baseClass}__api-key`,
|
|
194
187
|
children: [canReadEnableAPIKey && _jsx(CheckboxField, {
|
|
@@ -207,21 +200,21 @@ export const Auth = props => {
|
|
|
207
200
|
readOnly: apiKeyReadOnly
|
|
208
201
|
})]
|
|
209
202
|
});
|
|
210
|
-
$[
|
|
211
|
-
$[
|
|
212
|
-
$[
|
|
213
|
-
$[
|
|
214
|
-
$[
|
|
215
|
-
$[
|
|
216
|
-
$[
|
|
217
|
-
$[
|
|
218
|
-
$[
|
|
219
|
-
$[
|
|
203
|
+
$[41] = apiKeyReadOnly;
|
|
204
|
+
$[42] = canReadApiKey;
|
|
205
|
+
$[43] = canReadEnableAPIKey;
|
|
206
|
+
$[44] = collectionSlug;
|
|
207
|
+
$[45] = disabled;
|
|
208
|
+
$[46] = enableAPIKey?.value;
|
|
209
|
+
$[47] = enableAPIKeyReadOnly;
|
|
210
|
+
$[48] = t;
|
|
211
|
+
$[49] = useAPIKey;
|
|
212
|
+
$[50] = t10;
|
|
220
213
|
} else {
|
|
221
|
-
t10 = $[
|
|
214
|
+
t10 = $[50];
|
|
222
215
|
}
|
|
223
216
|
let t11;
|
|
224
|
-
if ($[
|
|
217
|
+
if ($[51] !== collectionSlug || $[52] !== disabled || $[53] !== isEditing || $[54] !== readOnly || $[55] !== t || $[56] !== verify) {
|
|
225
218
|
t11 = verify && isEditing && _jsx(CheckboxField, {
|
|
226
219
|
field: {
|
|
227
220
|
name: "_verified",
|
|
@@ -234,15 +227,15 @@ export const Auth = props => {
|
|
|
234
227
|
path: "_verified",
|
|
235
228
|
schemaPath: `${collectionSlug}._verified`
|
|
236
229
|
});
|
|
237
|
-
$[
|
|
238
|
-
$[
|
|
239
|
-
$[
|
|
240
|
-
$[
|
|
241
|
-
$[
|
|
242
|
-
$[
|
|
243
|
-
$[
|
|
230
|
+
$[51] = collectionSlug;
|
|
231
|
+
$[52] = disabled;
|
|
232
|
+
$[53] = isEditing;
|
|
233
|
+
$[54] = readOnly;
|
|
234
|
+
$[55] = t;
|
|
235
|
+
$[56] = verify;
|
|
236
|
+
$[57] = t11;
|
|
244
237
|
} else {
|
|
245
|
-
t11 = $[
|
|
238
|
+
t11 = $[57];
|
|
246
239
|
}
|
|
247
240
|
t9 = _jsxs("div", {
|
|
248
241
|
className: t8,
|
|
@@ -253,7 +246,7 @@ export const Auth = props => {
|
|
|
253
246
|
permissions: docPermissions?.fields,
|
|
254
247
|
readOnly,
|
|
255
248
|
t
|
|
256
|
-
}), (
|
|
249
|
+
}), (changingPassword || requirePassword) && _jsxs("div", {
|
|
257
250
|
className: `${baseClass}__changing-password`,
|
|
258
251
|
children: [_jsx(PasswordField, {
|
|
259
252
|
autoComplete: "new-password",
|
|
@@ -272,13 +265,13 @@ export const Auth = props => {
|
|
|
272
265
|
})]
|
|
273
266
|
}), _jsxs("div", {
|
|
274
267
|
className: `${baseClass}__controls`,
|
|
275
|
-
children: [
|
|
268
|
+
children: [changingPassword && !requirePassword && _jsx(Button, {
|
|
276
269
|
buttonStyle: "secondary",
|
|
277
270
|
disabled,
|
|
278
271
|
onClick: () => handleChangePassword(false),
|
|
279
272
|
size: "medium",
|
|
280
273
|
children: t("general:cancel")
|
|
281
|
-
}), !
|
|
274
|
+
}), !changingPassword && !requirePassword && _jsx(Button, {
|
|
282
275
|
buttonStyle: "secondary",
|
|
283
276
|
disabled,
|
|
284
277
|
id: "change-password",
|
|
@@ -295,31 +288,31 @@ export const Auth = props => {
|
|
|
295
288
|
})]
|
|
296
289
|
}), t10, t11]
|
|
297
290
|
});
|
|
298
|
-
$[
|
|
299
|
-
$[
|
|
300
|
-
$[
|
|
301
|
-
$[
|
|
302
|
-
$[
|
|
303
|
-
$[
|
|
304
|
-
$[
|
|
305
|
-
$[
|
|
306
|
-
$[
|
|
307
|
-
$[
|
|
308
|
-
$[
|
|
309
|
-
$[
|
|
310
|
-
$[
|
|
311
|
-
$[
|
|
312
|
-
$[
|
|
313
|
-
$[
|
|
314
|
-
$[
|
|
315
|
-
$[
|
|
316
|
-
$[
|
|
317
|
-
$[
|
|
318
|
-
$[
|
|
319
|
-
$[
|
|
320
|
-
$[
|
|
291
|
+
$[18] = apiKeyReadOnly;
|
|
292
|
+
$[19] = canReadApiKey;
|
|
293
|
+
$[20] = canReadEnableAPIKey;
|
|
294
|
+
$[21] = changingPassword;
|
|
295
|
+
$[22] = collectionSlug;
|
|
296
|
+
$[23] = disableLocalStrategy;
|
|
297
|
+
$[24] = disabled;
|
|
298
|
+
$[25] = docPermissions?.fields;
|
|
299
|
+
$[26] = enableAPIKey?.value;
|
|
300
|
+
$[27] = enableAPIKeyReadOnly;
|
|
301
|
+
$[28] = handleChangePassword;
|
|
302
|
+
$[29] = hasPermissionToUnlock;
|
|
303
|
+
$[30] = isEditing;
|
|
304
|
+
$[31] = loginWithUsername;
|
|
305
|
+
$[32] = operation;
|
|
306
|
+
$[33] = readOnly;
|
|
307
|
+
$[34] = requirePassword;
|
|
308
|
+
$[35] = t;
|
|
309
|
+
$[36] = t8;
|
|
310
|
+
$[37] = unlock;
|
|
311
|
+
$[38] = useAPIKey;
|
|
312
|
+
$[39] = verify;
|
|
313
|
+
$[40] = t9;
|
|
321
314
|
} else {
|
|
322
|
-
t9 = $[
|
|
315
|
+
t9 = $[40];
|
|
323
316
|
}
|
|
324
317
|
return t9;
|
|
325
318
|
};
|
|
@@ -327,11 +320,7 @@ function _temp(t0) {
|
|
|
327
320
|
const [fields] = t0;
|
|
328
321
|
return fields && fields?.enableAPIKey || null;
|
|
329
322
|
}
|
|
330
|
-
function _temp2(
|
|
331
|
-
const [fields_0] = t0;
|
|
332
|
-
return fields_0 && fields_0?.password || null;
|
|
333
|
-
}
|
|
334
|
-
function _temp3(reducer) {
|
|
323
|
+
function _temp2(reducer) {
|
|
335
324
|
return reducer[1];
|
|
336
325
|
}
|
|
337
326
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useAuth","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setSchemaPathSegments","setValidateBeforeSubmit","useAPIKey","username","verify","permissions","changingPassword","setChangingPassword","enableAPIKey","_temp","forceOpenChangePassword","_temp2","dispatchFields","_temp3","modified","i18n","t","docPermissions","isEditing","isInitializing","config","t0","routes","t1","serverURL","api","t2","bb0","collection","collections","Boolean","unlock","undefined","hasPermissionToUnlock","apiKeyPermissions","fields","apiKeyReadOnly","update","enableAPIKeyReadOnly","canReadApiKey","read","canReadEnableAPIKey","t3","showPasswordFields","type","errorMessage","path","valid","handleChangePassword","t4","language","url","response","fetch","body","JSON","stringify","credentials","headers","method","status","success","error","t5","t6","disabled","showPasswordFields_0","t7","filter","t8","join","t9","value","t10","_jsxs","children","_jsx","field","name","admin","label","schemaPath","enabled","t11","Fragment","autoComplete","required","indexPath","parentPath","parentSchemaPath","buttonStyle","onClick","size","id","fields_0","password","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { APIKey } from './APIKey.js'\nimport './index.scss'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setSchemaPathSegments,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const { permissions } = useAuth()\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => (fields && fields?.enableAPIKey) || null)\n const forceOpenChangePassword = useFormFields(([fields]) => (fields && fields?.password) || null)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n const collection = permissions?.collections?.[collectionSlug]\n\n if (collection) {\n return Boolean('unlock' in collection ? collection.unlock : undefined)\n }\n\n return false\n }, [permissions, collectionSlug])\n\n const apiKeyPermissions =\n docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey\n\n const apiKeyReadOnly =\n readOnly ||\n apiKeyPermissions === true ||\n (apiKeyPermissions && typeof apiKeyPermissions === 'object' && !apiKeyPermissions?.update)\n\n const enableAPIKeyReadOnly =\n readOnly || (apiKeyPermissions !== true && !apiKeyPermissions?.update)\n\n const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read\n const canReadEnableAPIKey = apiKeyPermissions === true || apiKeyPermissions?.read\n\n const handleChangePassword = useCallback(\n (showPasswordFields: boolean) => {\n if (showPasswordFields) {\n setValidateBeforeSubmit(true)\n setSchemaPathSegments([`_${collectionSlug}`, 'auth'])\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n setSchemaPathSegments([collectionSlug])\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(showPasswordFields)\n },\n [dispatchFields, t, collectionSlug, setSchemaPathSegments, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n if (disableLocalStrategy && !useAPIKey) {\n return null\n }\n\n const disabled = readOnly || isInitializing\n\n const showPasswordFields = changingPassword || forceOpenChangePassword\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {!disableLocalStrategy && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n t={t}\n />\n {(showPasswordFields || requirePassword) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly} />\n </div>\n )}\n <div className={`${baseClass}__controls`}>\n {showPasswordFields && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!showPasswordFields && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n {canReadEnableAPIKey && (\n <CheckboxField\n field={{\n name: 'enableAPIKey',\n admin: { disabled, readOnly: enableAPIKeyReadOnly },\n label: t('authentication:enableAPIKey'),\n }}\n path=\"enableAPIKey\"\n schemaPath={`${collectionSlug}.enableAPIKey`}\n />\n )}\n {canReadApiKey && <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />}\n </div>\n )}\n {verify && isEditing && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AACjE,SAASC,KAAK,QAAQ;AAItB,SAASC,MAAM,QAAQ;AACvB,SAASC,sBAAsB,QAAQ;AACvC,SAASC,aAAa,QAAQ;AAC9B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,aAAa,QAAQ;AAC9B,SAASC,aAAa,EAAEC,eAAe,QAAQ;AAC/C,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,IAAA,GAAwBC,KAAA;EAAA,MAAAC,CAAA,GAAAtB,EAAA;EACnC;IAAAuB,SAAA;IAAAC,cAAA;IAAAC,oBAAA;IAAAC,KAAA;IAAAC,iBAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC,eAAA;IAAAC,qBAAA;IAAAC,uBAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC;EAAA,IAcId,KAAA;EAEJ;IAAAe;EAAA,IAAwBtB,OAAA;EACxB,OAAAuB,gBAAA,EAAAC,mBAAA,IAAgDjC,QAAA,CAASyB,eAAA;EACzD,MAAAS,YAAA,GAAqB3B,aAAA,CAAA4B,KAAgE;EACrF,MAAAC,uBAAA,GAAgC7B,aAAA,CAAA8B,MAA4D;EAC5F,MAAAC,cAAA,GAAuB/B,aAAA,CAAAgC,MAAqC;EAC5D,MAAAC,QAAA,GAAiBhC,eAAA;EACjB;IAAAiC,IAAA;IAAAC;EAAA,IAAoB9B,cAAA;EACpB;IAAA+B,cAAA;IAAAC,SAAA;IAAAC;EAAA,IAAsDlC,eAAA;EAEtD;IAAAmC,MAAA,EAAAC;EAAA,IAKIrC,SAAA;EAJM;IAAAsC,MAAA,EAAAC,EAAA;IAAAC;EAAA,IAAAH,EAGP;EAFS;IAAAI;EAAA,IAAAF,EAAO;EAAA,IAAAG,EAAA;EAAAC,GAAA;IAMjB,MAAAC,UAAA,GAAmBvB,WAAA,EAAAwB,WAAA,GAA2BpC,cAAA;IAAe,IAEzDmC,UAAA;MACFF,EAAA,GAAOI,OAAA,CAAQ,YAAYF,UAAA,GAAaA,UAAA,CAAAG,MAAA,GAAAC,SAAoB;MAAA,MAAAL,GAAA;IAAA;IAG9DD,EAAA;EAAO;EAPT,MAAAO,qBAAA,GAAuCP,EAQP;EAEhC,MAAAQ,iBAAA,GACEjB,cAAA,EAAAkB,MAAA,SAA2B,UAAclB,cAAA,EAAAkB,MAAA,EAAA3B,YAAwB;EAEnE,MAAA4B,cAAA,GACEtC,QAAA,IACAoC,iBAAA,SAAsB,IACrBA,iBAAA,IAAqB,OAAOA,iBAAA,KAAsB,aAAaA,iBAAA,EAAAG,MAAmB;EAErF,MAAAC,oBAAA,GACExC,QAAA,IAAaoC,iBAAA,SAAsB,KAASA,iBAAA,EAAAG,MAAmB;EAEjE,MAAAE,aAAA,GAAsBL,iBAAA,SAAsB,IAAQA,iBAAA,EAAAM,IAAmB;EACvE,MAAAC,mBAAA,GAA4BP,iBAAA,SAAsB,IAAQA,iBAAA,EAAAM,IAAmB;EAAA,IAAAE,EAAA;EAAA,IAAAnD,CAAA,QAAAE,cAAA,IAAAF,CAAA,QAAAqB,cAAA,IAAArB,CAAA,QAAAS,qBAAA,IAAAT,CAAA,QAAAU,uBAAA,IAAAV,CAAA,QAAAyB,CAAA;IAG3E0B,EAAA,GAAAC,kBAAA;MAAA,IACMA,kBAAA;QACF1C,uBAAA,KAAwB;QACxBD,qBAAA,EAAuB,IAAIP,cAAA,EAAgB,EAAE,OAAO;QAEpDmB,cAAA;UAAAgC,IAAA,EACQ;UAAAC,YAAA,EACQ7B,CAAA,CAAE;UAAA8B,IAAA,EACV;UAAAC,KAAA;QAAA,CAER;QAEAnC,cAAA;UAAAgC,IAAA,EACQ;UAAAC,YAAA,EACQ7B,CAAA,CAAE;UAAA8B,IAAA,EACV;UAAAC,KAAA;QAAA,CAER;MAAA;QAEA9C,uBAAA,MAAwB;QACxBD,qBAAA,EAAuBP,cAAA,CAAe;QACtCmB,cAAA;UAAAgC,IAAA,EAAuB;UAAAE,IAAA,EAAgB;QAAA,CAAW;QAClDlC,cAAA;UAAAgC,IAAA,EAAuB;UAAAE,IAAA,EAAgB;QAAA,CAAmB;MAAA;MAG5DvC,mBAAA,CAAoBoC,kBAAA;IAAA;IACtBpD,CAAA,MAAAE,cAAA;IAAAF,CAAA,MAAAqB,cAAA;IAAArB,CAAA,MAAAS,qBAAA;IAAAT,CAAA,MAAAU,uBAAA;IAAAV,CAAA,MAAAyB,CAAA;IAAAzB,CAAA,MAAAmD,EAAA;EAAA;IAAAA,EAAA,GAAAnD,CAAA;EAAA;EA3BF,MAAAyD,oBAAA,GAA6BN,EA4BwD;EAAA,IAAAO,EAAA;EAAA,IAAA1D,CAAA,QAAAkC,GAAA,IAAAlC,CAAA,QAAAE,cAAA,IAAAF,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAwB,IAAA,CAAAmC,QAAA,IAAA3D,CAAA,SAAAK,iBAAA,IAAAL,CAAA,SAAAiC,SAAA,IAAAjC,CAAA,SAAAyB,CAAA,IAAAzB,CAAA,SAAAY,QAAA;IAG1D8C,EAAA,SAAAA,CAAA;MACzB,MAAAE,GAAA,GAAY,GAAG3B,SAAA,GAAYC,GAAA,IAAOhC,cAAA,SAAuB;MACzD,MAAA2D,QAAA,SAAuBC,KAAA,CAAMF,GAAA;QAAAG,IAAA,EAEzB1D,iBAAA,IAAqBO,QAAA,GAAWoD,IAAA,CAAAC,SAAA;UAAArD;QAAA,CAA0B,IAAKoD,IAAA,CAAAC,SAAA;UAAA7D;QAAA,CAAuB;QAAA8D,WAAA,EAC3E;QAAAC,OAAA;UAAA,mBAEQ3C,IAAA,CAAAmC,QAAA;UAAA,gBACH;QAAA;QAAAS,MAAA,EAEV;MAAA,CACV;MAAA,IAEIP,QAAA,CAAAQ,MAAA,QAAoB;QACtBrF,KAAA,CAAAsF,OAAA,CAAc7C,CAAA,CAAE;MAAA;QAEhBzC,KAAA,CAAAuF,KAAA,CAAY9C,CAAA,CAAE;MAAA;IAAA;IAElBzB,CAAA,MAAAkC,GAAA;IAAAlC,CAAA,MAAAE,cAAA;IAAAF,CAAA,MAAAI,KAAA;IAAAJ,CAAA,MAAAwB,IAAA,CAAAmC,QAAA;IAAA3D,CAAA,OAAAK,iBAAA;IAAAL,CAAA,OAAAiC,SAAA;IAAAjC,CAAA,OAAAyB,CAAA;IAAAzB,CAAA,OAAAY,QAAA;IAAAZ,CAAA,OAAA0D,EAAA;EAAA;IAAAA,EAAA,GAAA1D,CAAA;EAAA;EAlBA,MAAAwC,MAAA,GAAekB,EAkBiE;EAAA,IAAAc,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAzE,CAAA,SAAAuB,QAAA;IAEtEiD,EAAA,GAAAA,CAAA;MAAA,KACHjD,QAAA;QACHP,mBAAA,MAAoB;MAAA;IAAA;IAErByD,EAAA,IAAClD,QAAA;IAASvB,CAAA,OAAAuB,QAAA;IAAAvB,CAAA,OAAAwE,EAAA;IAAAxE,CAAA,OAAAyE,EAAA;EAAA;IAAAD,EAAA,GAAAxE,CAAA;IAAAyE,EAAA,GAAAzE,CAAA;EAAA;EAJbnB,SAAA,CAAU2F,EAIV,EAAGC,EAAU;EAAA,IAETtE,oBAAA,KAAyBQ,SAAA;IAAA;EAAA;EAI7B,MAAA+D,QAAA,GAAiBnE,QAAA,IAAYqB,cAAA;EAE7B,MAAA+C,oBAAA,GAA2B5D,gBAAA,IAAoBI,uBAAA;EAAA,IAAAyD,EAAA;EAAA,IAAA5E,CAAA,SAAAC,SAAA;IAG7B2E,EAAA,IAAA/E,SAAA,EAAYI,SAAA,EAAA4E,MAAA,CAAAtC,OAAkB;IAAAvC,CAAA,OAAAC,SAAA;IAAAD,CAAA,OAAA4E,EAAA;EAAA;IAAAA,EAAA,GAAA5E,CAAA;EAAA;EAA9B,MAAA8E,EAAA,GAAAF,EAA8B,CAAAG,IAAA,CAAc;EAAA,IAAAC,EAAA;EAAA,IAAAhF,CAAA,SAAA6C,cAAA,IAAA7C,CAAA,SAAAgD,aAAA,IAAAhD,CAAA,SAAAkD,mBAAA,IAAAlD,CAAA,SAAAE,cAAA,IAAAF,CAAA,SAAAG,oBAAA,IAAAH,CAAA,SAAA0E,QAAA,IAAA1E,CAAA,SAAA0B,cAAA,EAAAkB,MAAA,IAAA5C,CAAA,SAAAiB,YAAA,EAAAgE,KAAA,IAAAjF,CAAA,SAAA+C,oBAAA,IAAA/C,CAAA,SAAAyD,oBAAA,IAAAzD,CAAA,SAAA0C,qBAAA,IAAA1C,CAAA,SAAA2B,SAAA,IAAA3B,CAAA,SAAAK,iBAAA,IAAAL,CAAA,SAAAM,SAAA,IAAAN,CAAA,SAAAO,QAAA,IAAAP,CAAA,SAAAQ,eAAA,IAAAR,CAAA,SAAA2E,oBAAA,IAAA3E,CAAA,SAAAyB,CAAA,IAAAzB,CAAA,SAAA8E,EAAA,IAAA9E,CAAA,SAAAwC,MAAA,IAAAxC,CAAA,SAAAW,SAAA,IAAAX,CAAA,SAAAa,MAAA;IAAA,IAAAqE,GAAA;IAAA,IAAAlF,CAAA,SAAA6C,cAAA,IAAA7C,CAAA,SAAAgD,aAAA,IAAAhD,CAAA,SAAAkD,mBAAA,IAAAlD,CAAA,SAAAE,cAAA,IAAAF,CAAA,SAAA0E,QAAA,IAAA1E,CAAA,SAAAiB,YAAA,EAAAgE,KAAA,IAAAjF,CAAA,SAAA+C,oBAAA,IAAA/C,CAAA,SAAAyB,CAAA,IAAAzB,CAAA,SAAAW,SAAA;MA+DzDuE,GAAA,GAAAvE,SAAA,IACCwE,KAAA,CAAC;QAAAlF,SAAA,EAAe,GAAAJ,SAAA,WAAuB;QAAAuF,QAAA,GACpClC,mBAAA,IACCmC,IAAA,CAAAlG,aAAA;UAAAmG,KAAA;YAAAC,IAAA,EAEU;YAAAC,KAAA;cAAAd,QAAA;cAAAnE,QAAA,EACuBwC;YAAA;YAAA0C,KAAA,EACtBhE,CAAA,CAAE;UAAA;UAAA8B,IAAA,EAEN;UAAAmC,UAAA,EACO,GAAGxF,cAAA;QAA6B,C,GAG/C8C,aAAA,IAAiBqC,IAAA,CAAAzF,MAAA;UAAA+F,OAAA,IAAmB1E,YAAA,EAAAgE,KAAA;UAAA1E,QAAA,EAA+BsC;QAAA,C;;;;;;;;;;;;;;;;;MAGvE+C,GAAA,GAAA/E,MAAA,IAAUc,SAAA,IACT0D,IAAA,CAAAlG,aAAA;QAAAmG,KAAA;UAAAC,IAAA,EAEU;UAAAC,KAAA;YAAAd,QAAA;YAAAnE;UAAA;UAAAkF,KAAA,EAEChE,CAAA,CAAE;QAAA;QAAA8B,IAAA,EAEN;QAAAmC,UAAA,EACO,GAAGxF,cAAA;MAA0B,C;;;;;;;;;;;IAvF/C8E,EAAA,GAAAG,KAAA,CAAC;MAAAlF,SAAA,EAAe6E,EAA4C;MAAAM,QAAA,GACzD,CAACjF,oBAAA,IACAgF,KAAA,CAAAxG,KAAA,CAAAkH,QAAA;QAAAT,QAAA,GACEC,IAAA,CAAAnG,sBAAA;UAAAmB,iBAAA;UAAAC,SAAA;UAAAQ,WAAA,EAGeY,cAAA,EAAAkB,MAAA;UAAArC,QAAA;UAAAkB;QAAA,C,GAIb,CAAA2B,oBAAA,IAAsB5C,eAAc,KACpC2E,KAAA,CAAC;UAAAlF,SAAA,EAAe,GAAAJ,SAAA,qBAAiC;UAAAuF,QAAA,GAC/CC,IAAA,CAAAhG,aAAA;YAAAyG,YAAA,EACe;YAAAR,KAAA;cAAAC,IAAA,EAEL;cAAAE,KAAA,EACChE,CAAA,CAAE;cAAAsE,QAAA;YAAA;YAAAC,SAAA,EAGD;YAAAC,UAAA,EACC;YAAAC,gBAAA,EACM;YAAA3C,IAAA,EACZ;YAAAmC,UAAA,EACM;UAAA,C,GAEbL,IAAA,CAAAjG,oBAAA;YAAAsF,QAAA,EAAgCnE;UAAA,C;YAGpC4E,KAAA,CAAC;UAAAlF,SAAA,EAAe,GAAAJ,SAAA,YAAwB;UAAAuF,QAAA,GACrChC,oBAAA,KAAuB5C,eAAA,IACtB6E,IAAA,CAAApG,MAAA;YAAAkH,WAAA,EACc;YAAAzB,QAAA;YAAA0B,OAAA,EAAAA,CAAA,KAEG3C,oBAAA,MAAqB;YAAA4C,IAAA,EAC/B;YAAAjB,QAAA,EAEJ3D,CAAA,CAAE;UAAA,C,GAGN,CAAC2B,oBAAA,KAAuB5C,eAAA,IACvB6E,IAAA,CAAApG,MAAA;YAAAkH,WAAA,EACc;YAAAzB,QAAA;YAAA4B,EAAA,EAET;YAAAF,OAAA,EAAAA,CAAA,KACY3C,oBAAA,KAAqB;YAAA4C,IAAA,EAC/B;YAAAjB,QAAA,EAEJ3D,CAAA,CAAE;UAAA,C,GAGNnB,SAAA,KAAc,YAAYoC,qBAAA,IACzB2C,IAAA,CAAApG,MAAA;YAAAkH,WAAA,EACc;YAAAzB,QAAA;YAAA0B,OAAA,EAAAA,CAAA,UAEQ5D,MAAA;YAAA6D,IAAA,EACf;YAAAjB,QAAA,EAEJ3D,CAAA,CAAE;UAAA,C;;UAMZyD,G,EAgBAU,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA/EHZ,E;CA4FJ;AAvNqC,SAAA9D,MAAAY,EAAA;EAmBC,OAAAc,MAAA,IAAAd,EAAQ;EAAA,OAAKc,MAAC,IAAUA,MAAA,EAAA3B,YAAQ,QAAiB;AAAA;AAnBlD,SAAAG,OAAAU,EAAA;EAoBY,OAAAyE,QAAA,IAAAzE,EAAQ;EAAA,OAAKc,QAAC,IAAUA,QAAA,EAAA4D,QAAQ,QAAa;AAAA;AApBzD,SAAAlF,OAAAmF,OAAA;EAAA,OAqBeA,OAAO;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useAuth","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setValidateBeforeSubmit","useAPIKey","username","verify","permissions","changingPassword","setChangingPassword","enableAPIKey","_temp","dispatchFields","_temp2","modified","i18n","t","docPermissions","isEditing","isInitializing","config","t0","routes","t1","serverURL","api","t2","bb0","collection","collections","Boolean","unlock","undefined","hasPermissionToUnlock","apiKeyPermissions","fields","apiKeyReadOnly","update","enableAPIKeyReadOnly","canReadApiKey","read","canReadEnableAPIKey","t3","showPasswordFields","type","errorMessage","path","valid","handleChangePassword","t4","language","url","response","fetch","body","JSON","stringify","credentials","headers","method","status","success","error","t5","t6","disabled","t7","filter","t8","join","t9","value","t10","_jsxs","children","_jsx","field","name","admin","label","schemaPath","enabled","t11","Fragment","autoComplete","required","indexPath","parentPath","parentSchemaPath","buttonStyle","onClick","size","id","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { APIKey } from './APIKey.js'\nimport './index.scss'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const { permissions } = useAuth()\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => (fields && fields?.enableAPIKey) || null)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isEditing, isInitializing } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n const collection = permissions?.collections?.[collectionSlug]\n\n if (collection) {\n return Boolean('unlock' in collection ? collection.unlock : undefined)\n }\n\n return false\n }, [permissions, collectionSlug])\n\n const apiKeyPermissions =\n docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey\n\n const apiKeyReadOnly =\n readOnly ||\n apiKeyPermissions === true ||\n (apiKeyPermissions && typeof apiKeyPermissions === 'object' && !apiKeyPermissions?.update)\n\n const enableAPIKeyReadOnly =\n readOnly || (apiKeyPermissions !== true && !apiKeyPermissions?.update)\n\n const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read\n const canReadEnableAPIKey = apiKeyPermissions === true || apiKeyPermissions?.read\n\n const handleChangePassword = useCallback(\n (showPasswordFields: boolean) => {\n if (showPasswordFields) {\n setValidateBeforeSubmit(true)\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(showPasswordFields)\n },\n [dispatchFields, t, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n if (disableLocalStrategy && !useAPIKey) {\n return null\n }\n\n const disabled = readOnly || isInitializing\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {!disableLocalStrategy && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n t={t}\n />\n {(changingPassword || requirePassword) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly} />\n </div>\n )}\n <div className={`${baseClass}__controls`}>\n {changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!changingPassword && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n {canReadEnableAPIKey && (\n <CheckboxField\n field={{\n name: 'enableAPIKey',\n admin: { disabled, readOnly: enableAPIKeyReadOnly },\n label: t('authentication:enableAPIKey'),\n }}\n path=\"enableAPIKey\"\n schemaPath={`${collectionSlug}.enableAPIKey`}\n />\n )}\n {canReadApiKey && <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />}\n </div>\n )}\n {verify && isEditing && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,oBAAoB,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAA;IAChF,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAA;IACzE,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,oBAAoB,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAA;IAChF,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAA;IACzE,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,uBAAuB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IACpD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Edit/Auth/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from 'payload'\n\nexport type Props = {\n className?: string\n collectionSlug: SanitizedCollectionConfig['slug']\n disableLocalStrategy?: SanitizedCollectionConfig['auth']['disableLocalStrategy']\n email: string\n loginWithUsername: SanitizedCollectionConfig['auth']['loginWithUsername']\n operation: 'create' | 'update'\n readOnly: boolean\n requirePassword?: boolean\n
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Edit/Auth/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from 'payload'\n\nexport type Props = {\n className?: string\n collectionSlug: SanitizedCollectionConfig['slug']\n disableLocalStrategy?: SanitizedCollectionConfig['auth']['disableLocalStrategy']\n email: string\n loginWithUsername: SanitizedCollectionConfig['auth']['loginWithUsername']\n operation: 'create' | 'update'\n readOnly: boolean\n requirePassword?: boolean\n setValidateBeforeSubmit: (validate: boolean) => void\n useAPIKey?: boolean\n username: string\n verify?: boolean\n}\n"],"mappings":"AAEA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,uBAAuB,EAGxB,MAAM,SAAS,CAAA;AAGhB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,uBAAuB,EAGxB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAsE,MAAM,OAAO,CAAA;AA8B1F,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAwhB7D,CAAA"}
|
package/dist/views/Edit/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { useRouter, useSearchParams } from 'next/navigation.js';
|
|
5
|
-
import React, { Fragment, useCallback, useEffect, useRef, useState } from 'react';
|
|
5
|
+
import React, { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
6
6
|
import { DocumentControls } from '../../elements/DocumentControls/index.js';
|
|
7
7
|
import { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js';
|
|
8
8
|
import { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js';
|
|
@@ -149,12 +149,7 @@ export const DefaultEditView = ({
|
|
|
149
149
|
if (collectionSlug) {
|
|
150
150
|
classes.push(`collection-edit--${collectionSlug}`);
|
|
151
151
|
}
|
|
152
|
-
const
|
|
153
|
-
if (operation === 'create' && auth && !auth.disableLocalStrategy) {
|
|
154
|
-
return [`_${entitySlug}`, 'auth'];
|
|
155
|
-
}
|
|
156
|
-
return [entitySlug];
|
|
157
|
-
});
|
|
152
|
+
const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug]);
|
|
158
153
|
const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {
|
|
159
154
|
if (operation === 'create' && auth && !auth.disableLocalStrategy) {
|
|
160
155
|
return true;
|
|
@@ -237,7 +232,7 @@ export const DefaultEditView = ({
|
|
|
237
232
|
abortOnSaveRef.current = null;
|
|
238
233
|
return state;
|
|
239
234
|
}
|
|
240
|
-
}, [
|
|
235
|
+
}, [reportUpdate, id, entitySlug, user, collectionSlug, userSlug, incrementVersionCount, updateSavedDocumentData, onSaveFromContext, isEditing, depth, getDocPermissions, globalSlug, autosaveEnabled, refreshCookieAsync, adminRoute, locale, router, resetUploadEdits, getDocPreferences, getFormState, docPermissions, operation, schemaPathSegments, isLockingEnabled, setDocumentIsLocked]);
|
|
241
236
|
const onChange = useCallback(async ({
|
|
242
237
|
formState: prevFormState
|
|
243
238
|
}) => {
|
|
@@ -391,7 +386,6 @@ export const DefaultEditView = ({
|
|
|
391
386
|
operation: operation,
|
|
392
387
|
readOnly: !hasSavePermission,
|
|
393
388
|
requirePassword: !id,
|
|
394
|
-
setSchemaPathSegments: setSchemaPathSegments,
|
|
395
389
|
setValidateBeforeSubmit: setValidateBeforeSubmit,
|
|
396
390
|
useAPIKey: auth.useAPIKey,
|
|
397
391
|
username: savedDocumentData?.username,
|