payload 1.1.27-beta.0 → 1.2.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/CHANGELOG.md +14 -39
- package/dist/admin/components/Routes.js +1 -1
- package/dist/admin/components/elements/Autosave/index.js +2 -2
- package/dist/admin/components/elements/DeleteDocument/index.js +1 -0
- package/dist/admin/components/elements/DuplicateDocument/index.js +5 -5
- package/dist/admin/components/elements/Status/index.js +3 -2
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.js +2 -2
- package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.d.ts +3 -3
- package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.js +7 -7
- package/dist/admin/components/forms/Form/buildStateFromSchema/index.d.ts +2 -2
- package/dist/admin/components/forms/Form/buildStateFromSchema/index.js +2 -2
- package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.d.ts +3 -3
- package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.js +2 -2
- package/dist/admin/components/forms/Form/index.js +8 -4
- package/dist/admin/components/forms/field-types/Array/index.js +2 -2
- package/dist/admin/components/forms/field-types/Blocks/index.js +2 -2
- package/dist/admin/components/forms/field-types/Relationship/AddNew/Modal/index.js +2 -2
- package/dist/admin/components/forms/field-types/Relationship/index.js +2 -2
- package/dist/admin/components/forms/field-types/RichText/elements/link/Button.js +2 -2
- package/dist/admin/components/forms/field-types/RichText/elements/link/Element.js +3 -3
- package/dist/admin/components/forms/field-types/RichText/elements/relationship/Button/index.js +1 -1
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/EditModal/index.js +2 -2
- package/dist/admin/components/forms/field-types/Upload/Input.js +1 -1
- package/dist/admin/components/forms/useField/index.js +2 -2
- package/dist/admin/components/utilities/Auth/index.js +9 -5
- package/dist/admin/components/utilities/DocumentInfo/index.js +3 -3
- package/dist/admin/components/utilities/I18n/index.js +4 -1
- package/dist/admin/components/utilities/Preferences/index.js +2 -2
- package/dist/admin/components/views/Account/index.js +4 -4
- package/dist/admin/components/views/Global/index.js +5 -5
- package/dist/admin/components/views/Verify/index.js +1 -1
- package/dist/admin/components/views/Version/Compare/index.js +1 -1
- package/dist/admin/components/views/Version/Restore/index.js +6 -2
- package/dist/admin/components/views/collections/Edit/Auth/APIKey.js +2 -2
- package/dist/admin/components/views/collections/Edit/Auth/index.js +1 -1
- package/dist/admin/components/views/collections/Edit/Default.js +3 -2
- package/dist/admin/components/views/collections/Edit/index.js +4 -4
- package/dist/admin/components/views/collections/List/RelationshipProvider/index.js +1 -1
- package/dist/admin/hooks/usePayloadAPI.js +1 -1
- package/dist/auth/executeAccess.js +3 -3
- package/dist/auth/getExecuteStaticAccess.js +2 -2
- package/dist/auth/operations/forgotPassword.js +5 -5
- package/dist/auth/operations/local/forgotPassword.js +3 -1
- package/dist/auth/operations/local/login.js +3 -1
- package/dist/auth/operations/local/resetPassword.js +3 -1
- package/dist/auth/operations/local/unlock.js +3 -1
- package/dist/auth/operations/login.js +4 -4
- package/dist/auth/operations/logout.js +2 -2
- package/dist/auth/operations/refresh.js +2 -2
- package/dist/auth/operations/registerFirstUser.js +2 -2
- package/dist/auth/sendVerificationEmail.js +3 -3
- package/dist/collections/operations/create.js +4 -4
- package/dist/collections/operations/delete.js +6 -6
- package/dist/collections/operations/findByID.js +4 -4
- package/dist/collections/operations/findVersionByID.js +5 -5
- package/dist/collections/operations/local/create.js +3 -1
- package/dist/collections/operations/local/delete.js +3 -1
- package/dist/collections/operations/local/find.js +3 -1
- package/dist/collections/operations/local/findByID.js +3 -1
- package/dist/collections/operations/local/findVersionByID.js +3 -1
- package/dist/collections/operations/local/findVersions.js +5 -2
- package/dist/collections/operations/local/restoreVersion.js +4 -2
- package/dist/collections/operations/local/update.js +5 -2
- package/dist/collections/operations/restoreVersion.js +5 -5
- package/dist/collections/operations/update.js +6 -6
- package/dist/collections/requestHandlers/create.js +2 -2
- package/dist/collections/requestHandlers/delete.js +2 -2
- package/dist/collections/requestHandlers/restoreVersion.js +2 -2
- package/dist/collections/requestHandlers/update.js +4 -4
- package/dist/errors/AuthenticationError.d.ts +2 -2
- package/dist/errors/AuthenticationError.js +3 -3
- package/dist/errors/ErrorDeletingFile.d.ts +2 -2
- package/dist/errors/ErrorDeletingFile.js +3 -3
- package/dist/errors/FileUploadError.d.ts +2 -2
- package/dist/errors/FileUploadError.js +3 -3
- package/dist/errors/Forbidden.d.ts +2 -2
- package/dist/errors/Forbidden.js +3 -3
- package/dist/errors/LockedAuth.d.ts +2 -2
- package/dist/errors/LockedAuth.js +3 -3
- package/dist/errors/MissingFile.d.ts +2 -2
- package/dist/errors/MissingFile.js +3 -3
- package/dist/errors/NotFound.d.ts +2 -2
- package/dist/errors/NotFound.js +3 -3
- package/dist/errors/UnathorizedError.d.ts +2 -2
- package/dist/errors/UnathorizedError.js +3 -3
- package/dist/errors/ValidationError.d.ts +2 -2
- package/dist/errors/ValidationError.js +3 -3
- package/dist/express/middleware/i18n.js +3 -3
- package/dist/express/types.d.ts +2 -1
- package/dist/fields/config/schema.js +4 -1
- package/dist/fields/config/types.d.ts +5 -2
- package/dist/fields/config/types.js +1 -1
- package/dist/fields/hooks/beforeChange/index.js +2 -2
- package/dist/fields/hooks/beforeChange/promise.js +2 -2
- package/dist/fields/validations.js +51 -51
- package/dist/fields/validations.spec.js +2 -3
- package/dist/globals/operations/findVersionByID.js +5 -5
- package/dist/globals/operations/local/findOne.js +5 -1
- package/dist/globals/operations/local/findVersionByID.js +5 -1
- package/dist/globals/operations/local/findVersions.js +5 -1
- package/dist/globals/operations/local/restoreVersion.js +5 -1
- package/dist/globals/operations/local/update.js +5 -1
- package/dist/globals/operations/restoreVersion.js +3 -3
- package/dist/globals/requestHandlers/restoreVersion.js +2 -2
- package/dist/globals/requestHandlers/update.js +4 -4
- package/dist/graphql/schema/buildBlockType.js +3 -3
- package/dist/preferences/operations/delete.js +2 -2
- package/dist/preferences/operations/findOne.js +2 -2
- package/dist/preferences/operations/update.js +2 -2
- package/dist/preferences/requestHandlers/delete.js +2 -2
- package/dist/preferences/requestHandlers/findOne.js +2 -2
- package/dist/preferences/requestHandlers/update.js +2 -2
- package/dist/translations/init.d.ts +2 -2
- package/dist/translations/init.js +4 -1
- package/dist/uploads/generateFileData.js +3 -3
- package/dist/uploads/uploadFiles.d.ts +2 -2
- package/dist/uploads/uploadFiles.js +3 -3
- package/docs/configuration/i18n.mdx +1 -1
- package/docs/fields/blocks.mdx +23 -22
- package/docs/fields/overview.mdx +1 -1
- package/package.json +1 -1
|
@@ -89,7 +89,7 @@ export const DocumentInfoProvider = ({ children, global, collection, id, }) => {
|
|
|
89
89
|
let publishedJSON = await fetch(publishedFetchURL, {
|
|
90
90
|
credentials: 'include',
|
|
91
91
|
headers: {
|
|
92
|
-
'
|
|
92
|
+
'Accept-Language': i18n.language,
|
|
93
93
|
},
|
|
94
94
|
}).then((res) => res.json());
|
|
95
95
|
if (collection) {
|
|
@@ -99,7 +99,7 @@ export const DocumentInfoProvider = ({ children, global, collection, id, }) => {
|
|
|
99
99
|
versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {
|
|
100
100
|
credentials: 'include',
|
|
101
101
|
headers: {
|
|
102
|
-
'
|
|
102
|
+
'Accept-Language': i18n.language,
|
|
103
103
|
},
|
|
104
104
|
}).then((res) => res.json());
|
|
105
105
|
if (publishedJSON === null || publishedJSON === void 0 ? void 0 : publishedJSON.updatedAt) {
|
|
@@ -121,7 +121,7 @@ export const DocumentInfoProvider = ({ children, global, collection, id, }) => {
|
|
|
121
121
|
const newerVersionRes = await fetch(`${versionFetchURL}?${qs.stringify(newerVersionParams)}`, {
|
|
122
122
|
credentials: 'include',
|
|
123
123
|
headers: {
|
|
124
|
-
'
|
|
124
|
+
'Accept-Language': i18n.language,
|
|
125
125
|
},
|
|
126
126
|
});
|
|
127
127
|
if (newerVersionRes.status === 200) {
|
|
@@ -6,10 +6,13 @@ import { defaultOptions } from '../../../../translations/defaultOptions';
|
|
|
6
6
|
import { useConfig } from '../Config';
|
|
7
7
|
export const I18n = () => {
|
|
8
8
|
const config = useConfig();
|
|
9
|
+
if (i18n.isInitialized) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
9
12
|
i18n
|
|
10
13
|
.use(LanguageDetector)
|
|
11
14
|
.use(initReactI18next)
|
|
12
|
-
.init(deepmerge(defaultOptions, config.i18n || {}));
|
|
15
|
+
.init(deepmerge(defaultOptions, config.i18n || { debug: true }));
|
|
13
16
|
return null;
|
|
14
17
|
};
|
|
15
18
|
export default I18n;
|
|
@@ -8,7 +8,7 @@ const requestOptions = (value, language) => ({
|
|
|
8
8
|
body: JSON.stringify({ value }),
|
|
9
9
|
headers: {
|
|
10
10
|
'Content-Type': 'application/json',
|
|
11
|
-
'
|
|
11
|
+
'Accept-Language': language,
|
|
12
12
|
},
|
|
13
13
|
});
|
|
14
14
|
export const PreferencesProvider = ({ children }) => {
|
|
@@ -31,7 +31,7 @@ export const PreferencesProvider = ({ children }) => {
|
|
|
31
31
|
(async () => {
|
|
32
32
|
const request = await requests.get(`${serverURL}${api}/_preferences/${key}`, {
|
|
33
33
|
headers: {
|
|
34
|
-
'
|
|
34
|
+
'Accept-Language': i18n.language,
|
|
35
35
|
},
|
|
36
36
|
});
|
|
37
37
|
let value = null;
|
|
@@ -25,7 +25,7 @@ const AccountView = () => {
|
|
|
25
25
|
}, } = {}, } = {
|
|
26
26
|
user: 'users',
|
|
27
27
|
}, } = useConfig();
|
|
28
|
-
const { t
|
|
28
|
+
const { t } = useTranslation('authentication');
|
|
29
29
|
const collection = collections.find((coll) => coll.slug === adminUser);
|
|
30
30
|
const { fields } = collection;
|
|
31
31
|
const collectionPermissions = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.collections) === null || _a === void 0 ? void 0 : _a[adminUser];
|
|
@@ -36,18 +36,18 @@ const AccountView = () => {
|
|
|
36
36
|
const action = `${serverURL}${api}/${user.collection}/${data === null || data === void 0 ? void 0 : data.id}?locale=${locale}&depth=0`;
|
|
37
37
|
useEffect(() => {
|
|
38
38
|
const nav = [{
|
|
39
|
-
label: t('
|
|
39
|
+
label: t('account'),
|
|
40
40
|
}];
|
|
41
41
|
setStepNav(nav);
|
|
42
42
|
}, [setStepNav, t]);
|
|
43
43
|
useEffect(() => {
|
|
44
44
|
const awaitInitialState = async () => {
|
|
45
|
-
const state = await buildStateFromSchema({ fieldSchema: fields, data: dataToRender, operation: 'update', id, user, locale,
|
|
45
|
+
const state = await buildStateFromSchema({ fieldSchema: fields, data: dataToRender, operation: 'update', id, user, locale, t });
|
|
46
46
|
await getPreference(preferencesKey);
|
|
47
47
|
setInitialState(state);
|
|
48
48
|
};
|
|
49
49
|
awaitInitialState();
|
|
50
|
-
}, [dataToRender, fields, id, user, locale, preferencesKey, getPreference,
|
|
50
|
+
}, [dataToRender, fields, id, user, locale, preferencesKey, getPreference, t]);
|
|
51
51
|
return (React.createElement(RenderCustomComponent, { DefaultComponent: DefaultAccount, CustomComponent: CustomAccount, componentProps: {
|
|
52
52
|
action,
|
|
53
53
|
data,
|
|
@@ -20,15 +20,15 @@ const GlobalView = (props) => {
|
|
|
20
20
|
const [initialState, setInitialState] = useState();
|
|
21
21
|
const { getVersions, preferencesKey } = useDocumentInfo();
|
|
22
22
|
const { getPreference } = usePreferences();
|
|
23
|
-
const {
|
|
23
|
+
const { t } = useTranslation();
|
|
24
24
|
const { serverURL, routes: { api, }, } = useConfig();
|
|
25
25
|
const { global } = props;
|
|
26
26
|
const { slug, label, fields, admin: { components: { views: { Edit: CustomEdit, } = {}, } = {}, } = {}, } = global;
|
|
27
27
|
const onSave = useCallback(async (json) => {
|
|
28
28
|
getVersions();
|
|
29
|
-
const state = await buildStateFromSchema({ fieldSchema: fields, data: json.result, operation: 'update', user, locale,
|
|
29
|
+
const state = await buildStateFromSchema({ fieldSchema: fields, data: json.result, operation: 'update', user, locale, t });
|
|
30
30
|
setInitialState(state);
|
|
31
|
-
}, [getVersions, fields, user, locale,
|
|
31
|
+
}, [getVersions, fields, user, locale, t]);
|
|
32
32
|
const [{ data }] = usePayloadAPI(`${serverURL}${api}/globals/${slug}`, { initialParams: { 'fallback-locale': 'null', depth: 0, draft: 'true' } });
|
|
33
33
|
const dataToRender = (locationState === null || locationState === void 0 ? void 0 : locationState.data) || data;
|
|
34
34
|
useEffect(() => {
|
|
@@ -39,12 +39,12 @@ const GlobalView = (props) => {
|
|
|
39
39
|
}, [setStepNav, label]);
|
|
40
40
|
useEffect(() => {
|
|
41
41
|
const awaitInitialState = async () => {
|
|
42
|
-
const state = await buildStateFromSchema({ fieldSchema: fields, data: dataToRender, user, operation: 'update', locale,
|
|
42
|
+
const state = await buildStateFromSchema({ fieldSchema: fields, data: dataToRender, user, operation: 'update', locale, t });
|
|
43
43
|
await getPreference(preferencesKey);
|
|
44
44
|
setInitialState(state);
|
|
45
45
|
};
|
|
46
46
|
awaitInitialState();
|
|
47
|
-
}, [dataToRender, fields, user, locale, getPreference, preferencesKey,
|
|
47
|
+
}, [dataToRender, fields, user, locale, getPreference, preferencesKey, t]);
|
|
48
48
|
const globalPermissions = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.globals) === null || _a === void 0 ? void 0 : _a[slug];
|
|
49
49
|
return (React.createElement(RenderCustomComponent, { DefaultComponent: DefaultGlobal, CustomComponent: CustomEdit, componentProps: {
|
|
50
50
|
isLoading: !initialState,
|
|
@@ -31,7 +31,11 @@ const Restore = ({ collection, global, className, versionID, originalDocID, vers
|
|
|
31
31
|
}
|
|
32
32
|
const handleRestore = useCallback(async () => {
|
|
33
33
|
setProcessing(true);
|
|
34
|
-
const res = await requests.post(fetchURL
|
|
34
|
+
const res = await requests.post(fetchURL, {
|
|
35
|
+
headers: {
|
|
36
|
+
'Accept-Language': i18n.language,
|
|
37
|
+
},
|
|
38
|
+
});
|
|
35
39
|
if (res.status === 200) {
|
|
36
40
|
const json = await res.json();
|
|
37
41
|
toast.success(json.message);
|
|
@@ -40,7 +44,7 @@ const Restore = ({ collection, global, className, versionID, originalDocID, vers
|
|
|
40
44
|
else {
|
|
41
45
|
toast.error(t('problemRestoringVersion'));
|
|
42
46
|
}
|
|
43
|
-
}, [fetchURL, history, redirectURL, t]);
|
|
47
|
+
}, [fetchURL, history, redirectURL, t, i18n]);
|
|
44
48
|
return (React.createElement(Fragment, null,
|
|
45
49
|
React.createElement(Pill, { onClick: () => toggleModal(modalSlug), className: [baseClass, className].filter(Boolean).join(' ') }, t('restoreThisVersion')),
|
|
46
50
|
React.createElement(Modal, { slug: modalSlug, className: `${baseClass}__modal` },
|
|
@@ -12,9 +12,9 @@ const baseClass = 'api-key';
|
|
|
12
12
|
const APIKey = () => {
|
|
13
13
|
const [initialAPIKey, setInitialAPIKey] = useState(null);
|
|
14
14
|
const [highlightedField, setHighlightedField] = useState(false);
|
|
15
|
-
const {
|
|
15
|
+
const { t } = useTranslation();
|
|
16
16
|
const apiKey = useFormFields(([fields]) => fields[path]);
|
|
17
|
-
const validate = (val) => text(val, { minLength: 24, maxLength: 48, data: {}, siblingData: {},
|
|
17
|
+
const validate = (val) => text(val, { minLength: 24, maxLength: 48, data: {}, siblingData: {}, t });
|
|
18
18
|
const apiKeyValue = apiKey === null || apiKey === void 0 ? void 0 : apiKey.value;
|
|
19
19
|
const APIKeyLabel = useMemo(() => (React.createElement("div", { className: `${baseClass}__label` },
|
|
20
20
|
React.createElement("span", null, "API Key"),
|
|
@@ -26,13 +26,14 @@ import SaveDraft from '../../../elements/SaveDraft';
|
|
|
26
26
|
import { useDocumentInfo } from '../../../utilities/DocumentInfo';
|
|
27
27
|
import { OperationContext } from '../../../utilities/OperationProvider';
|
|
28
28
|
import { Gutter } from '../../../elements/Gutter';
|
|
29
|
+
import { getTranslation } from '../../../../../utilities/getTranslation';
|
|
29
30
|
import './index.scss';
|
|
30
31
|
const baseClass = 'collection-edit';
|
|
31
32
|
const DefaultEditView = (props) => {
|
|
32
33
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
33
34
|
const { admin: { dateFormat }, routes: { admin } } = useConfig();
|
|
34
35
|
const { publishedDoc } = useDocumentInfo();
|
|
35
|
-
const { t } = useTranslation('general');
|
|
36
|
+
const { t, i18n } = useTranslation('general');
|
|
36
37
|
const { collection, isEditing, data, onSave, permissions, isLoading, initialState, apiURL, action, hasSavePermission, disableEyebrow, disableActions, disableLeaveWithoutSaving, customHeader, id, } = props;
|
|
37
38
|
const { slug, fields, admin: { useAsTitle, disableDuplicate, preview, hideAPIURL, }, versions, timestamps, auth, upload, } = collection;
|
|
38
39
|
const classes = [
|
|
@@ -45,7 +46,7 @@ const DefaultEditView = (props) => {
|
|
|
45
46
|
!isLoading && (React.createElement(OperationContext.Provider, { value: operation },
|
|
46
47
|
React.createElement(Form, { className: `${baseClass}__form`, method: id ? 'patch' : 'post', action: action, onSuccess: onSave, disabled: !hasSavePermission, initialState: initialState },
|
|
47
48
|
React.createElement("div", { className: `${baseClass}__main` },
|
|
48
|
-
React.createElement(Meta, { title: `${isEditing ? t('editing') : t('creating')} - ${collection.labels.singular}`, description: `${isEditing ? t('editing') : t('creating')} - ${collection.labels.singular}`, keywords: `${collection.labels.singular}, Payload, CMS` }),
|
|
49
|
+
React.createElement(Meta, { title: `${isEditing ? t('editing') : t('creating')} - ${getTranslation(collection.labels.singular, i18n)}`, description: `${isEditing ? t('editing') : t('creating')} - ${getTranslation(collection.labels.singular, i18n)}`, keywords: `${getTranslation(collection.labels.singular, i18n)}, Payload, CMS` }),
|
|
49
50
|
!disableEyebrow && (React.createElement(Eyebrow, null)),
|
|
50
51
|
(!(((_a = collection.versions) === null || _a === void 0 ? void 0 : _a.drafts) && ((_c = (_b = collection.versions) === null || _b === void 0 ? void 0 : _b.drafts) === null || _c === void 0 ? void 0 : _c.autosave)) && !disableLeaveWithoutSaving) && (React.createElement(LeaveWithoutSaving, null)),
|
|
51
52
|
React.createElement(Gutter, { className: `${baseClass}__edit` },
|
|
@@ -39,10 +39,10 @@ const EditView = (props) => {
|
|
|
39
39
|
setRedirect(`${admin}/collections/${collection.slug}/${(_a = json === null || json === void 0 ? void 0 : json.doc) === null || _a === void 0 ? void 0 : _a.id}`);
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
|
-
const state = await buildStateFromSchema({ fieldSchema: collection.fields, data: json.doc, user, id, operation: 'update', locale,
|
|
42
|
+
const state = await buildStateFromSchema({ fieldSchema: collection.fields, data: json.doc, user, id, operation: 'update', locale, t });
|
|
43
43
|
setInitialState(state);
|
|
44
44
|
}
|
|
45
|
-
}, [admin, collection, isEditing, getVersions, user, id,
|
|
45
|
+
}, [admin, collection, isEditing, getVersions, user, id, t, locale]);
|
|
46
46
|
const [{ data, isLoading: isLoadingDocument, isError }] = usePayloadAPI((isEditing ? `${serverURL}${api}/${slug}/${id}` : null), { initialParams: { 'fallback-locale': 'null', depth: 0, draft: 'true' } });
|
|
47
47
|
const dataToRender = (locationState === null || locationState === void 0 ? void 0 : locationState.data) || data;
|
|
48
48
|
useEffect(() => {
|
|
@@ -81,12 +81,12 @@ const EditView = (props) => {
|
|
|
81
81
|
return;
|
|
82
82
|
}
|
|
83
83
|
const awaitInitialState = async () => {
|
|
84
|
-
const state = await buildStateFromSchema({ fieldSchema: fields, data: dataToRender, user, operation: isEditing ? 'update' : 'create', id, locale,
|
|
84
|
+
const state = await buildStateFromSchema({ fieldSchema: fields, data: dataToRender, user, operation: isEditing ? 'update' : 'create', id, locale, t });
|
|
85
85
|
await getPreference(preferencesKey);
|
|
86
86
|
setInitialState(state);
|
|
87
87
|
};
|
|
88
88
|
awaitInitialState();
|
|
89
|
-
}, [dataToRender, fields, isEditing, id, user, locale, isLoadingDocument, preferencesKey, getPreference,
|
|
89
|
+
}, [dataToRender, fields, isEditing, id, user, locale, isLoadingDocument, preferencesKey, getPreference, t]);
|
|
90
90
|
useEffect(() => {
|
|
91
91
|
if (redirect) {
|
|
92
92
|
history.push(redirect);
|
|
@@ -6,7 +6,7 @@ const executeAccess = async (operation, access) => {
|
|
|
6
6
|
const result = await access(operation);
|
|
7
7
|
if (!result) {
|
|
8
8
|
if (!operation.disableErrors)
|
|
9
|
-
throw new errors_1.Forbidden(operation.req.
|
|
9
|
+
throw new errors_1.Forbidden(operation.req.t);
|
|
10
10
|
}
|
|
11
11
|
return result;
|
|
12
12
|
}
|
|
@@ -14,8 +14,8 @@ const executeAccess = async (operation, access) => {
|
|
|
14
14
|
return true;
|
|
15
15
|
}
|
|
16
16
|
if (!operation.disableErrors)
|
|
17
|
-
throw new errors_1.Forbidden(operation.req.
|
|
17
|
+
throw new errors_1.Forbidden(operation.req.t);
|
|
18
18
|
return false;
|
|
19
19
|
};
|
|
20
20
|
exports.default = executeAccess;
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZUFjY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdXRoL2V4ZWN1dGVBY2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxzQ0FBc0M7QUFHdEMsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFjLEVBQXlCLEVBQUU7SUFDL0UsSUFBSSxNQUFNLEVBQUU7UUFDVixNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhO2dCQUFFLE1BQU0sSUFBSSxrQkFBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEU7UUFFRCxPQUFPLE1BQU0sQ0FBQztLQUNmO0lBRUQsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRTtRQUN0QixPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhO1FBQUUsTUFBTSxJQUFJLGtCQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLGtCQUFlLGFBQWEsQ0FBQyJ9
|
|
@@ -42,7 +42,7 @@ const getExecuteStaticAccess = ({ config, Model }) => async (req, res, next) =>
|
|
|
42
42
|
const query = await Model.buildQuery(queryToBuild, req.locale);
|
|
43
43
|
const doc = await Model.findOne(query);
|
|
44
44
|
if (!doc) {
|
|
45
|
-
throw new errors_1.Forbidden(req.
|
|
45
|
+
throw new errors_1.Forbidden(req.t);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -53,4 +53,4 @@ const getExecuteStaticAccess = ({ config, Model }) => async (req, res, next) =>
|
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
55
|
exports.default = getExecuteStaticAccess;
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RXhlY3V0ZVN0YXRpY0FjY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdXRoL2dldEV4ZWN1dGVTdGF0aWNBY2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxvRUFBNEM7QUFDNUMsc0NBQXNDO0FBR3RDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQW1CLEVBQUUsR0FBYSxFQUFFLElBQWtCLEVBQUUsRUFBRTtJQUNySCxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO1FBQzVCLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUM1QjtJQUVELElBQUk7UUFDRixJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUU7WUFDWixNQUFNLFlBQVksR0FBRyxNQUFNLElBQUEsdUJBQWEsRUFBQyxFQUFFLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRWpHLElBQUksT0FBTyxZQUFZLEtBQUssUUFBUSxFQUFFO2dCQUNwQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBRTdELE1BQU0sWUFBWSxHQUFxQjtvQkFDckMsS0FBSyxFQUFFO3dCQUNMLEdBQUcsRUFBRTs0QkFDSDtnQ0FDRSxFQUFFLEVBQUU7b0NBQ0Y7d0NBQ0UsUUFBUSxFQUFFOzRDQUNSLE1BQU0sRUFBRSxRQUFRO3lDQUNqQjtxQ0FDRjtpQ0FDRjs2QkFDRjs0QkFDRCxZQUFZO3lCQUNiO3FCQUNGO2lCQUNGLENBQUM7Z0JBRUYsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtvQkFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO3dCQUM1QyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzRCQUNoQyxDQUFDLFNBQVMsSUFBSSxXQUFXLENBQUMsRUFBRTtnQ0FDMUIsTUFBTSxFQUFFLFFBQVE7NkJBQ2pCO3lCQUNGLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQztpQkFDSjtnQkFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDL0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUV2QyxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUNSLE1BQU0sSUFBSSxrQkFBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDNUI7YUFDRjtTQUNGO1FBRUQsT0FBTyxJQUFJLEVBQUUsQ0FBQztLQUNmO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNwQjtBQUNILENBQUMsQ0FBQztBQUVGLGtCQUFlLHNCQUFzQixDQUFDIn0=
|
|
@@ -20,7 +20,7 @@ async function forgotPassword(incomingArgs) {
|
|
|
20
20
|
operation: 'forgotPassword',
|
|
21
21
|
})) || args;
|
|
22
22
|
}, Promise.resolve());
|
|
23
|
-
const { collection: { Model, config: collectionConfig, }, data, disableEmail, expiration, req: {
|
|
23
|
+
const { collection: { Model, config: collectionConfig, }, data, disableEmail, expiration, req: { t, payload: { config, sendEmail: email, emailOptions, }, }, req, } = args;
|
|
24
24
|
// /////////////////////////////////////
|
|
25
25
|
// Forget password
|
|
26
26
|
// /////////////////////////////////////
|
|
@@ -34,11 +34,11 @@ async function forgotPassword(incomingArgs) {
|
|
|
34
34
|
await user.save();
|
|
35
35
|
const userJSON = user.toJSON({ virtuals: true });
|
|
36
36
|
if (!disableEmail) {
|
|
37
|
-
let html = `${
|
|
37
|
+
let html = `${t('authentication:youAreReceivingResetPassword')}
|
|
38
38
|
<a href="${config.serverURL}${config.routes.admin}/reset/${token}">
|
|
39
39
|
${config.serverURL}${config.routes.admin}/reset/${token}
|
|
40
40
|
</a>
|
|
41
|
-
${
|
|
41
|
+
${t('authentication:youDidNotRequestPassword')}`;
|
|
42
42
|
if (typeof collectionConfig.auth.forgotPassword.generateEmailHTML === 'function') {
|
|
43
43
|
html = await collectionConfig.auth.forgotPassword.generateEmailHTML({
|
|
44
44
|
req,
|
|
@@ -46,7 +46,7 @@ async function forgotPassword(incomingArgs) {
|
|
|
46
46
|
user: userJSON,
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
|
-
let subject =
|
|
49
|
+
let subject = t('authentication:resetYourPassword');
|
|
50
50
|
if (typeof collectionConfig.auth.forgotPassword.generateEmailSubject === 'function') {
|
|
51
51
|
subject = await collectionConfig.auth.forgotPassword.generateEmailSubject({
|
|
52
52
|
req,
|
|
@@ -71,4 +71,4 @@ async function forgotPassword(incomingArgs) {
|
|
|
71
71
|
return token;
|
|
72
72
|
}
|
|
73
73
|
exports.default = forgotPassword;
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290UGFzc3dvcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXV0aC9vcGVyYXRpb25zL2ZvcmdvdFBhc3N3b3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBRTVCLHlDQUF3QztBQWlCeEMsS0FBSyxVQUFVLGNBQWMsQ0FBQyxZQUF1QjtJQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUU7UUFDckUsTUFBTSxJQUFJLGlCQUFRLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDM0M7SUFFRCxJQUFJLElBQUksR0FBRyxZQUFZLENBQUM7SUFFeEIsd0NBQXdDO0lBQ3hDLCtCQUErQjtJQUMvQix3Q0FBd0M7SUFFeEMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ2xGLE1BQU0sU0FBUyxDQUFDO1FBRWhCLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQ2pCLElBQUk7WUFDSixTQUFTLEVBQUUsZ0JBQWdCO1NBQzVCLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNkLENBQUMsRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUV0QixNQUFNLEVBQ0osVUFBVSxFQUFFLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFBRSxnQkFBZ0IsR0FDekIsRUFDRCxJQUFJLEVBQ0osWUFBWSxFQUNaLFVBQVUsRUFDVixHQUFHLEVBQUUsRUFDSCxDQUFDLEVBQ0QsT0FBTyxFQUFFLEVBQ1AsTUFBTSxFQUNOLFNBQVMsRUFBRSxLQUFLLEVBQ2hCLFlBQVksR0FDYixHQUNGLEVBQ0QsR0FBRyxHQUNKLEdBQUcs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
|
|
@@ -11,6 +11,8 @@ async function localForgotPassword(payload, options) {
|
|
|
11
11
|
const collection = payload.collections[collectionSlug];
|
|
12
12
|
req.payloadAPI = 'local';
|
|
13
13
|
req.i18n = (0, init_1.default)(payload.config.i18n);
|
|
14
|
+
if (!req.t)
|
|
15
|
+
req.t = req.i18n.t;
|
|
14
16
|
if (!req.payloadDataLoader)
|
|
15
17
|
req.payloadDataLoader = (0, dataloader_1.getDataLoader)(req);
|
|
16
18
|
return (0, forgotPassword_1.default)({
|
|
@@ -22,4 +24,4 @@ async function localForgotPassword(payload, options) {
|
|
|
22
24
|
});
|
|
23
25
|
}
|
|
24
26
|
exports.default = localForgotPassword;
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290UGFzc3dvcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0aC9vcGVyYXRpb25zL2xvY2FsL2ZvcmdvdFBhc3N3b3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsdUVBQTJEO0FBRTNELGdFQUFnRTtBQUNoRSxzRUFBOEM7QUFZOUMsS0FBSyxVQUFVLG1CQUFtQixDQUFDLE9BQWdCLEVBQUUsT0FBZ0I7SUFDbkUsTUFBTSxFQUNKLFVBQVUsRUFBRSxjQUFjLEVBQzFCLElBQUksRUFDSixVQUFVLEVBQ1YsWUFBWSxFQUNaLEdBQUcsR0FBRyxFQUFvQixHQUMzQixHQUFHLE9BQU8sQ0FBQztJQUVaLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFdkQsR0FBRyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7SUFDekIsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFBLGNBQUksRUFBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXJDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUI7UUFBRSxHQUFHLENBQUMsaUJBQWlCLEdBQUcsSUFBQSwwQkFBYSxFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXZFLE9BQU8sSUFBQSx3QkFBYyxFQUFDO1FBQ3BCLElBQUk7UUFDSixVQUFVO1FBQ1YsWUFBWTtRQUNaLFVBQVU7UUFDVixHQUFHO0tBQ0osQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELGtCQUFlLG1CQUFtQixDQUFDIn0=
|
|
@@ -14,6 +14,8 @@ async function localLogin(payload, options) {
|
|
|
14
14
|
req.i18n = (0, init_1.default)(payload.config.i18n);
|
|
15
15
|
req.locale = undefined;
|
|
16
16
|
req.fallbackLocale = undefined;
|
|
17
|
+
if (!req.t)
|
|
18
|
+
req.t = req.i18n.t;
|
|
17
19
|
if (!req.payloadDataLoader)
|
|
18
20
|
req.payloadDataLoader = (0, dataloader_1.getDataLoader)(req);
|
|
19
21
|
const args = {
|
|
@@ -32,4 +34,4 @@ async function localLogin(payload, options) {
|
|
|
32
34
|
return (0, login_1.default)(args);
|
|
33
35
|
}
|
|
34
36
|
exports.default = localLogin;
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0aC9vcGVyYXRpb25zL2xvY2FsL2xvZ2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EscURBQXlDO0FBSXpDLGdFQUFnRTtBQUNoRSxzRUFBOEM7QUFpQjlDLEtBQUssVUFBVSxVQUFVLENBQTZCLE9BQWdCLEVBQUUsT0FBZ0I7SUFDdEYsTUFBTSxFQUNKLFVBQVUsRUFBRSxjQUFjLEVBQzFCLEdBQUcsR0FBRyxFQUFvQixFQUMxQixHQUFHLEVBQ0gsS0FBSyxFQUNMLE1BQU0sRUFDTixjQUFjLEVBQ2QsSUFBSSxFQUNKLGNBQWMsR0FBRyxJQUFJLEVBQ3JCLGdCQUFnQixHQUNqQixHQUFHLE9BQU8sQ0FBQztJQUVaLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFdkQsR0FBRyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7SUFDekIsR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDdEIsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFBLGNBQUksRUFBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ3ZCLEdBQUcsQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO0lBRS9CLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUI7UUFBRSxHQUFHLENBQUMsaUJBQWlCLEdBQUcsSUFBQSwwQkFBYSxFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXZFLE1BQU0sSUFBSSxHQUFHO1FBQ1gsS0FBSztRQUNMLFVBQVU7UUFDVixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLElBQUk7UUFDSixHQUFHO1FBQ0gsR0FBRztLQUNKLENBQUM7SUFFRixJQUFJLE1BQU07UUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDckMsSUFBSSxjQUFjO1FBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0lBRTdELE9BQU8sSUFBQSxlQUFLLEVBQUMsSUFBSSxDQUFDLENBQUM7QUFDckIsQ0FBQztBQUVELGtCQUFlLFVBQVUsQ0FBQyJ9
|
|
@@ -12,6 +12,8 @@ async function localResetPassword(payload, options) {
|
|
|
12
12
|
req.payload = payload;
|
|
13
13
|
req.payloadAPI = 'local';
|
|
14
14
|
req.i18n = (0, init_1.default)(payload.config.i18n);
|
|
15
|
+
if (!req.t)
|
|
16
|
+
req.t = req.i18n.t;
|
|
15
17
|
if (!req.payloadDataLoader)
|
|
16
18
|
req.payloadDataLoader = (0, dataloader_1.getDataLoader)(req);
|
|
17
19
|
return (0, resetPassword_1.default)({
|
|
@@ -22,4 +24,4 @@ async function localResetPassword(payload, options) {
|
|
|
22
24
|
});
|
|
23
25
|
}
|
|
24
26
|
exports.default = localResetPassword;
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXRQYXNzd29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoL29wZXJhdGlvbnMvbG9jYWwvcmVzZXRQYXNzd29yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHFFQUF5RDtBQUV6RCxnRUFBZ0U7QUFDaEUsc0VBQThDO0FBWTlDLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxPQUFnQixFQUFFLE9BQWdCO0lBQ2xFLE1BQU0sRUFDSixVQUFVLEVBQUUsY0FBYyxFQUMxQixJQUFJLEVBQ0osY0FBYyxFQUNkLEdBQUcsR0FBRyxFQUFvQixHQUMzQixHQUFHLE9BQU8sQ0FBQztJQUVaLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFdkQsR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDdEIsR0FBRyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7SUFDekIsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFBLGNBQUksRUFBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXJDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUI7UUFBRSxHQUFHLENBQUMsaUJBQWlCLEdBQUcsSUFBQSwwQkFBYSxFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXZFLE9BQU8sSUFBQSx1QkFBYSxFQUFDO1FBQ25CLFVBQVU7UUFDVixJQUFJO1FBQ0osY0FBYztRQUNkLEdBQUc7S0FDSixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsa0JBQWUsa0JBQWtCLENBQUMifQ==
|
|
@@ -12,6 +12,8 @@ async function localUnlock(payload, options) {
|
|
|
12
12
|
req.payload = payload;
|
|
13
13
|
req.payloadAPI = 'local';
|
|
14
14
|
req.i18n = (0, init_1.default)(payload.config.i18n);
|
|
15
|
+
if (!req.t)
|
|
16
|
+
req.t = req.i18n.t;
|
|
15
17
|
if (!req.payloadDataLoader)
|
|
16
18
|
req.payloadDataLoader = (0, dataloader_1.getDataLoader)(req);
|
|
17
19
|
return (0, unlock_1.default)({
|
|
@@ -22,4 +24,4 @@ async function localUnlock(payload, options) {
|
|
|
22
24
|
});
|
|
23
25
|
}
|
|
24
26
|
exports.default = localUnlock;
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5sb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F1dGgvb3BlcmF0aW9ucy9sb2NhbC91bmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSx1REFBK0I7QUFDL0IsZ0VBQWdFO0FBQ2hFLHNFQUE4QztBQVc5QyxLQUFLLFVBQVUsV0FBVyxDQUFDLE9BQWdCLEVBQUUsT0FBZ0I7SUFDM0QsTUFBTSxFQUNKLFVBQVUsRUFBRSxjQUFjLEVBQzFCLElBQUksRUFDSixjQUFjLEdBQUcsSUFBSSxFQUNyQixHQUFHLEdBQUcsRUFBb0IsR0FDM0IsR0FBRyxPQUFPLENBQUM7SUFFWixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRXZELEdBQUcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3RCLEdBQUcsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBQSxjQUFJLEVBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVyQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCO1FBQUUsR0FBRyxDQUFDLGlCQUFpQixHQUFHLElBQUEsMEJBQWEsRUFBQyxHQUFHLENBQUMsQ0FBQztJQUV2RSxPQUFPLElBQUEsZ0JBQU0sRUFBQztRQUNaLElBQUk7UUFDSixVQUFVO1FBQ1YsY0FBYztRQUNkLEdBQUc7S0FDSixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsa0JBQWUsV0FBVyxDQUFDIn0=
|
|
@@ -33,17 +33,17 @@ async function login(incomingArgs) {
|
|
|
33
33
|
// @ts-ignore Improper typing in library, additional args should be optional
|
|
34
34
|
const userDoc = await Model.findByUsername(email);
|
|
35
35
|
if (!userDoc || (args.collection.config.auth.verify && userDoc._verified === false)) {
|
|
36
|
-
throw new errors_1.AuthenticationError(req.
|
|
36
|
+
throw new errors_1.AuthenticationError(req.t);
|
|
37
37
|
}
|
|
38
38
|
if (userDoc && (0, isLocked_1.default)(userDoc.lockUntil)) {
|
|
39
|
-
throw new errors_1.LockedAuth(req.
|
|
39
|
+
throw new errors_1.LockedAuth(req.t);
|
|
40
40
|
}
|
|
41
41
|
const authResult = await userDoc.authenticate(password);
|
|
42
42
|
const maxLoginAttemptsEnabled = args.collection.config.auth.maxLoginAttempts > 0;
|
|
43
43
|
if (!authResult.user) {
|
|
44
44
|
if (maxLoginAttemptsEnabled)
|
|
45
45
|
await userDoc.incLoginAttempts();
|
|
46
|
-
throw new errors_1.AuthenticationError(req.
|
|
46
|
+
throw new errors_1.AuthenticationError(req.t);
|
|
47
47
|
}
|
|
48
48
|
if (maxLoginAttemptsEnabled) {
|
|
49
49
|
await (0, unlock_1.default)({
|
|
@@ -145,4 +145,4 @@ async function login(incomingArgs) {
|
|
|
145
145
|
};
|
|
146
146
|
}
|
|
147
147
|
exports.default = login;
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXV0aC9vcGVyYXRpb25zL2xvZ2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0VBQStCO0FBRS9CLHlDQUErRDtBQUUvRCw4RkFBc0U7QUFDdEUsMkRBQW1DO0FBQ25DLG9HQUE0RTtBQUM1RSxxREFBdUY7QUFHdkYsNERBQXlEO0FBQ3pELHNEQUE4QjtBQXFCOUIsS0FBSyxVQUFVLEtBQUssQ0FBSSxZQUF1QjtJQUM3QyxJQUFJLElBQUksR0FBRyxZQUFZLENBQUM7SUFFeEIsd0NBQXdDO0lBQ3hDLCtCQUErQjtJQUMvQix3Q0FBd0M7SUFFeEMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ2xGLE1BQU0sU0FBUyxDQUFDO1FBRWhCLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQ2pCLElBQUk7WUFDSixTQUFTLEVBQUUsT0FBTztTQUNuQixDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDZCxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFdEIsTUFBTSxFQUNKLFVBQVUsRUFBRSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQUUsZ0JBQWdCLEdBQ3pCLEVBQ0QsSUFBSSxFQUNKLEdBQUcsRUFBRSxFQUNILE9BQU8sRUFBRSxFQUNQLE1BQU0sRUFDTixNQUFNLEdBQ1AsR0FDRixFQUNELEdBQUcsRUFDSCxLQUFLLEVBQ0wsY0FBYyxFQUNkLGdCQUFnQixHQUNqQixHQUFHLElBQUksQ0FBQztJQUVULHdDQUF3QztJQUN4QyxRQUFRO0lBQ1Isd0NBQXdDO0lBRXhDLE1BQU0sRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lB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
|
|
@@ -29,7 +29,7 @@ async function logout(incomingArgs) {
|
|
|
29
29
|
})) || args;
|
|
30
30
|
}, Promise.resolve());
|
|
31
31
|
res.clearCookie(`${config.cookiePrefix}-token`, cookieOptions);
|
|
32
|
-
return req.
|
|
32
|
+
return req.t('authentication:loggedOutSuccessfully');
|
|
33
33
|
}
|
|
34
34
|
exports.default = logout;
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F1dGgvb3BlcmF0aW9ucy9sb2dvdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4REFBcUM7QUFHckMseUNBQXdDO0FBU3hDLEtBQUssVUFBVSxNQUFNLENBQUMsWUFBdUI7SUFDM0MsSUFBSSxJQUFJLEdBQUcsWUFBWSxDQUFDO0lBQ3hCLE1BQU0sRUFDSixHQUFHLEVBQ0gsR0FBRyxFQUFFLEVBQ0gsT0FBTyxFQUFFLEVBQ1AsTUFBTSxHQUNQLEVBQ0QsSUFBSSxHQUNMLEVBQ0QsR0FBRyxFQUNILFVBQVUsRUFBRSxFQUNWLE1BQU0sRUFBRSxnQkFBZ0IsR0FDekIsRUFDRCxVQUFVLEdBQ1gsR0FBRyxZQUFZLENBQUM7SUFFakIsSUFBSSxDQUFDLElBQUk7UUFBRSxNQUFNLElBQUksaUJBQVEsQ0FBQyxTQUFTLEVBQUUscUJBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssZ0JBQWdCLENBQUMsSUFBSTtRQUFFLE1BQU0sSUFBSSxpQkFBUSxDQUFDLHNCQUFzQixFQUFFLHFCQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFaEgsTUFBTSxhQUFhLEdBQUc7UUFDcEIsSUFBSSxFQUFFLEdBQUc7UUFDVCxRQUFRLEVBQUUsSUFBSTtRQUNkLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07UUFDNUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtRQUNoRCxNQUFNLEVBQUUsU0FBUztLQUNsQixDQUFDO0lBRUYsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07UUFBRSxhQUFhLENBQUMsTUFBTSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBRXRHLE1BQU0sVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3pFLE1BQU0sU0FBUyxDQUFDO1FBRWhCLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQ2pCLEdBQUc7WUFDSCxHQUFHO1NBQ0osQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRXRCLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxNQUFNLENBQUMsWUFBWSxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFFL0QsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELGtCQUFlLE1BQU0sQ0FBQyJ9
|
|
@@ -26,7 +26,7 @@ async function refresh(incomingArgs) {
|
|
|
26
26
|
expiresIn: args.collection.config.auth.tokenExpiration,
|
|
27
27
|
};
|
|
28
28
|
if (typeof args.token !== 'string')
|
|
29
|
-
throw new errors_1.Forbidden(args.req.
|
|
29
|
+
throw new errors_1.Forbidden(args.req.t);
|
|
30
30
|
const payload = jsonwebtoken_1.default.verify(args.token, secret, {});
|
|
31
31
|
delete payload.iat;
|
|
32
32
|
delete payload.exp;
|
|
@@ -67,4 +67,4 @@ async function refresh(incomingArgs) {
|
|
|
67
67
|
};
|
|
68
68
|
}
|
|
69
69
|
exports.default = refresh;
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL29wZXJhdGlvbnMvcmVmcmVzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdFQUErQjtBQUcvQix5Q0FBeUM7QUFDekMsOEZBQXNFO0FBaUJ0RSxLQUFLLFVBQVUsT0FBTyxDQUFDLFlBQXVCO0lBQzVDLElBQUksSUFBSSxHQUFHLFlBQVksQ0FBQztJQUV4Qix3Q0FBd0M7SUFDeEMsK0JBQStCO0lBQy9CLHdDQUF3QztJQUV4QyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUE4QyxFQUFFLElBQXlCLEVBQUUsRUFBRTtRQUM1SSxNQUFNLFNBQVMsQ0FBQztRQUVoQixJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQztZQUNqQixJQUFJO1lBQ0osU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRXRCLHdDQUF3QztJQUN4QyxVQUFVO0lBQ1Ysd0NBQXdDO0lBRXhDLE1BQU0sRUFDSixVQUFVLEVBQUUsRUFDVixNQUFNLEVBQUUsZ0JBQWdCLEdBQ3pCLEVBQ0QsR0FBRyxFQUFFLEVBQ0gsT0FBTyxFQUFFLEVBQ1AsTUFBTSxFQUNOLE1BQU0sR0FDUCxHQUNGLEdBQ0YsR0FBRyxJQUFJLENBQUM7SUFFVCxNQUFNLElBQUksR0FBRztRQUNYLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZTtLQUN2RCxDQUFDO0lBRUYsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUTtRQUFFLE1BQU0sSUFBSSxrQkFBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFcEUsTUFBTSxPQUFPLEdBQUcsc0JBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUE0QixDQUFDO0lBQzlFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUNuQixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDbkIsTUFBTSxjQUFjLEdBQUcsc0JBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxNQUFNLEdBQUcsR0FBSSxzQkFBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQTZCLENBQUMsR0FBYSxDQUFDO0lBRWxGLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNaLE1BQU0sYUFBYSxHQUFHO1lBQ3BCLElBQUksRUFBRSxHQUFHO1lBQ1QsUUFBUSxFQUFFLElBQUk7WUFDZCxPQUFPLEVBQUUsSUFBQSw2QkFBbUIsRUFBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQ25FLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDNUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNoRCxNQUFNLEVBQUUsU0FBUztTQUNsQixDQUFDO1FBRUYsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07WUFBRSxhQUFhLENBQUMsTUFBTSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBRXRHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksUUFBUSxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQztLQUNoRjtJQUVELHdDQUF3QztJQUN4Qyw2QkFBNkI7SUFDN0Isd0NBQXdDO0lBRXhDLE1BQU0sZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUN6RSxNQUFNLFNBQVMsQ0FBQztRQUVoQixJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQztZQUNqQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixHQUFHO1lBQ0gsS0FBSyxFQUFFLGNBQWM7U0FDdEIsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRXRCLHdDQUF3QztJQUN4QyxpQkFBaUI7SUFDakIsd0NBQXdDO0lBRXhDLE9BQU87UUFDTCxjQUFjO1FBQ2QsR0FBRztRQUNILElBQUksRUFBRSxPQUFPO0tBQ2QsQ0FBQztBQUNKLENBQUM7QUFFRCxrQkFBZSxPQUFPLENBQUMifQ==
|
|
@@ -5,7 +5,7 @@ async function registerFirstUser(args) {
|
|
|
5
5
|
const { collection: { Model, config: { slug, auth: { verify, }, }, }, req: { payload, }, req, data, } = args;
|
|
6
6
|
const count = await Model.countDocuments({});
|
|
7
7
|
if (count >= 1)
|
|
8
|
-
throw new errors_1.Forbidden(req.
|
|
8
|
+
throw new errors_1.Forbidden(req.t);
|
|
9
9
|
// /////////////////////////////////////
|
|
10
10
|
// Register first user
|
|
11
11
|
// /////////////////////////////////////
|
|
@@ -42,4 +42,4 @@ async function registerFirstUser(args) {
|
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
exports.default = registerFirstUser;
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJGaXJzdFVzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXV0aC9vcGVyYXRpb25zL3JlZ2lzdGVyRmlyc3RVc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEseUNBQXlDO0FBbUJ6QyxLQUFLLFVBQVUsaUJBQWlCLENBQUMsSUFBZTtJQUM5QyxNQUFNLEVBQ0osVUFBVSxFQUFFLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFBRSxFQUNOLElBQUksRUFDSixJQUFJLEVBQUUsRUFDSixNQUFNLEdBQ1AsR0FDRixHQUNGLEVBQ0QsR0FBRyxFQUFFLEVBQ0gsT0FBTyxHQUNSLEVBQ0QsR0FBRyxFQUNILElBQUksR0FDTCxHQUFHLElBQUksQ0FBQztJQUVULE1BQU0sS0FBSyxHQUFHLE1BQU0sS0FBSyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU3QyxJQUFJLEtBQUssSUFBSSxDQUFDO1FBQUUsTUFBTSxJQUFJLGtCQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTNDLHdDQUF3QztJQUN4QyxzQkFBc0I7SUFDdEIsd0NBQXdDO0lBRXhDLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLE1BQU0sQ0FBYTtRQUM5QyxHQUFHO1FBQ0gsVUFBVSxFQUFFLElBQUk7UUFDaEIsSUFBSTtRQUNKLGNBQWMsRUFBRSxJQUFJO0tBQ3JCLENBQUMsQ0FBQztJQUVILDhCQUE4QjtJQUM5QixJQUFJLE1BQU0sRUFBRTtRQUNWLE1BQU0sT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNuQixFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7WUFDYixVQUFVLEVBQUUsSUFBSTtZQUNoQixJQUFJLEVBQUU7Z0JBQ0osU0FBUyxFQUFFLElBQUk7YUFDaEI7U0FDRixDQUFDLENBQUM7S0FDSjtJQUVELHdDQUF3QztJQUN4QyxrQkFBa0I7SUFDbEIsd0NBQXdDO0lBRXhDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDcEMsR0FBRyxJQUFJO1FBQ1AsVUFBVSxFQUFFLElBQUk7S0FDakIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxjQUFjLEdBQUc7UUFDckIsR0FBRyxNQUFNO1FBQ1QsS0FBSztLQUNOLENBQUM7SUFFRixPQUFPO1FBQ0wsT0FBTyxFQUFFLGlEQUFpRDtRQUMxRCxJQUFJLEVBQUUsY0FBYztLQUNyQixDQUFDO0FBQ0osQ0FBQztBQUVELGtCQUFlLGlCQUFpQixDQUFDIn0=
|
|
@@ -5,7 +5,7 @@ async function sendVerificationEmail(args) {
|
|
|
5
5
|
const { config, emailOptions, sendEmail, collection: { config: collectionConfig, }, user, disableEmail, req, token, } = args;
|
|
6
6
|
if (!disableEmail) {
|
|
7
7
|
const verificationURL = `${config.serverURL}${config.routes.admin}/${collectionConfig.slug}/verify/${token}`;
|
|
8
|
-
let html = `${req.
|
|
8
|
+
let html = `${req.t('authentication:newAccountCreated', { interpolation: { escapeValue: false }, serverURL: config.serverURL, verificationURL })}`;
|
|
9
9
|
const verify = collectionConfig.auth.verify;
|
|
10
10
|
// Allow config to override email content
|
|
11
11
|
if (typeof verify.generateEmailHTML === 'function') {
|
|
@@ -15,7 +15,7 @@ async function sendVerificationEmail(args) {
|
|
|
15
15
|
user,
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
|
-
let subject = req.
|
|
18
|
+
let subject = req.t('authentication:verifyYourEmail');
|
|
19
19
|
// Allow config to override email subject
|
|
20
20
|
if (typeof verify.generateEmailSubject === 'function') {
|
|
21
21
|
subject = await verify.generateEmailSubject({
|
|
@@ -33,4 +33,4 @@ async function sendVerificationEmail(args) {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
exports.default = sendVerificationEmail;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZFZlcmlmaWNhdGlvbkVtYWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F1dGgvc2VuZFZlcmlmaWNhdGlvbkVtYWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBa0JBLEtBQUssVUFBVSxxQkFBcUIsQ0FBQyxJQUFVO0lBQzdDLDJCQUEyQjtJQUMzQixNQUFNLEVBQ0osTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUFFLEVBQ1YsTUFBTSxFQUFFLGdCQUFnQixHQUN6QixFQUNELElBQUksRUFDSixZQUFZLEVBQ1osR0FBRyxFQUNILEtBQUssR0FDTixHQUFHLElBQUksQ0FBQztJQUVULElBQUksQ0FBQyxZQUFZLEVBQUU7UUFDakIsTUFBTSxlQUFlLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLGdCQUFnQixDQUFDLElBQUksV0FBVyxLQUFLLEVBQUUsQ0FBQztRQUU3RyxJQUFJLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsa0NBQWtDLEVBQUUsRUFBRSxhQUFhLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBRW5KLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFzQixDQUFDO1FBRTVELHlDQUF5QztRQUN6QyxJQUFJLE9BQU8sTUFBTSxDQUFDLGlCQUFpQixLQUFLLFVBQVUsRUFBRTtZQUNsRCxJQUFJLEdBQUcsTUFBTSxNQUFNLENBQUMsaUJBQWlCLENBQUM7Z0JBQ3BDLEdBQUc7Z0JBQ0gsS0FBSztnQkFDTCxJQUFJO2FBQ0wsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFFdEQseUNBQXlDO1FBQ3pDLElBQUksT0FBTyxNQUFNLENBQUMsb0JBQW9CLEtBQUssVUFBVSxFQUFFO1lBQ3JELE9BQU8sR0FBRyxNQUFNLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztnQkFDMUMsR0FBRztnQkFDSCxLQUFLO2dCQUNMLElBQUk7YUFDTCxDQUFDLENBQUM7U0FDSjtRQUVELFNBQVMsQ0FBQztZQUNSLElBQUksRUFBRSxJQUFJLFlBQVksQ0FBQyxRQUFRLE1BQU0sWUFBWSxDQUFDLFdBQVcsR0FBRztZQUNoRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDZCxPQUFPO1lBQ1AsSUFBSTtTQUNMLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQztBQUVELGtCQUFlLHFCQUFxQixDQUFDIn0=
|