payload 1.2.4 → 1.3.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.
Files changed (45) hide show
  1. package/CHANGELOG.md +59 -6
  2. package/dist/admin/components/Routes.js +4 -2
  3. package/dist/admin/components/elements/DatePicker/DatePicker.js +1 -1
  4. package/dist/admin/components/elements/SortComplex/index.js +4 -1
  5. package/dist/admin/components/elements/Status/index.js +7 -7
  6. package/dist/admin/components/forms/field-types/Relationship/GetFilterOptions/index.js +1 -1
  7. package/dist/admin/components/forms/field-types/Relationship/findOptionsByValue.js +16 -12
  8. package/dist/admin/components/forms/field-types/Relationship/index.js +6 -5
  9. package/dist/admin/components/forms/field-types/RichText/RichText.js +9 -5
  10. package/dist/admin/components/forms/field-types/getFilterOptionsQuery.d.ts +3 -1
  11. package/dist/admin/components/forms/field-types/getFilterOptionsQuery.js +1 -1
  12. package/dist/admin/components/views/collections/Edit/Upload/index.js +13 -3
  13. package/dist/admin/components/views/collections/Edit/Upload/index.scss +7 -0
  14. package/dist/collections/config/sanitize.js +1 -3
  15. package/dist/collections/init.js +2 -2
  16. package/dist/collections/requestHandlers/findVersions.js +4 -3
  17. package/dist/errors/FileUploadError.js +2 -2
  18. package/dist/fields/config/types.d.ts +1 -1
  19. package/dist/globals/operations/update.js +1 -1
  20. package/dist/globals/requestHandlers/findOne.js +4 -2
  21. package/dist/globals/requestHandlers/findVersionByID.js +4 -2
  22. package/dist/globals/requestHandlers/findVersions.js +4 -3
  23. package/dist/graphql/schema/buildObjectType.js +3 -3
  24. package/dist/init.js +3 -1
  25. package/dist/mongoose/buildSchema.js +2 -3
  26. package/dist/preferences/init.js +1 -3
  27. package/dist/translations/de.json +11 -1
  28. package/dist/translations/en.json +2 -0
  29. package/dist/translations/es.json +1 -0
  30. package/dist/translations/fr.json +1 -0
  31. package/dist/translations/index.d.ts +976 -32
  32. package/dist/translations/index.js +7 -1
  33. package/dist/translations/it.json +1 -0
  34. package/dist/translations/ja.json +1 -0
  35. package/dist/translations/my.json +1 -0
  36. package/dist/translations/nb.json +303 -0
  37. package/dist/translations/nl.json +1 -0
  38. package/dist/translations/pl.json +1 -0
  39. package/dist/translations/pt.json +1 -0
  40. package/dist/translations/ru.json +13 -0
  41. package/dist/translations/sv.json +1 -0
  42. package/dist/translations/th.json +304 -0
  43. package/dist/translations/tr.json +302 -0
  44. package/dist/translations/vi.json +1 -0
  45. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,19 +1,72 @@
1
1
 
2
2
 
3
- ## [1.2.4](https://github.com/payloadcms/payload/compare/v1.2.3...v1.2.4) (2022-12-03)
3
+ # [1.3.0](https://github.com/payloadcms/payload/compare/v1.2.5...v1.3.0) (2022-12-09)
4
4
 
5
5
 
6
6
  ### Bug Fixes
7
7
 
8
- * missing translation richText link modal ([#1573](https://github.com/payloadcms/payload/issues/1573)) ([2dcada1](https://github.com/payloadcms/payload/commit/2dcada199c21bee97eca88aa6bc8ba1bc2b45e7c))
8
+ * [#1547](https://github.com/payloadcms/payload/issues/1547), global afterChange hook not falling back to original global if nothing returned ([a72123d](https://github.com/payloadcms/payload/commit/a72123dd471e1032d832e409560bda9cf3058095))
9
+ * [#1632](https://github.com/payloadcms/payload/issues/1632) graphQL non-nullable relationship and upload fields ([#1633](https://github.com/payloadcms/payload/issues/1633)) ([eff3f18](https://github.com/payloadcms/payload/commit/eff3f18e7c184e5f82325e960b4cbe84b6377d82))
10
+ * change edit key to prevent richtext editor from crashing ([#1616](https://github.com/payloadcms/payload/issues/1616)) ([471d214](https://github.com/payloadcms/payload/commit/471d21410ac9ac852a8581a019dd6759f56cd8b2))
11
+ * filterOptions function argument relationTo is an array ([#1627](https://github.com/payloadcms/payload/issues/1627)) ([11b1c0e](https://github.com/payloadcms/payload/commit/11b1c0efc66acd32de2efcaf65bad504d2e2eb45))
12
+ * resets slate state when initialValue changes, fixes [#1600](https://github.com/payloadcms/payload/issues/1600), [#1546](https://github.com/payloadcms/payload/issues/1546) ([9558a22](https://github.com/payloadcms/payload/commit/9558a22ce6cdf9bc13215931b43bde0a7dd4bf50))
13
+ * sanitizes global find query params ([512bc1e](https://github.com/payloadcms/payload/commit/512bc1ebe636841f1dee6ce49c1d97db1810c4bd))
14
+ * Select with hasMany and localized ([#1636](https://github.com/payloadcms/payload/issues/1636)) ([756edb8](https://github.com/payloadcms/payload/commit/756edb858a1ca66c32e674770ddcdceae77bf349))
15
+ * translation key in revert published modal ([#1628](https://github.com/payloadcms/payload/issues/1628)) ([b6c597a](https://github.com/payloadcms/payload/commit/b6c597ab5c4fcd879496db5373155df48c657e28))
16
+ * unflattens fields in filterOptions callback ([acff46b](https://github.com/payloadcms/payload/commit/acff46b4a5b57f01fa0b14c1e9fd8330b4d787db))
17
+
18
+
19
+ * feat!: no longer sanitize collection slugs to kebab case (#1607) ([ba2f2d6](https://github.com/payloadcms/payload/commit/ba2f2d6e9b66568b11632bacdd92cfdc8ddae300)), closes [#1607](https://github.com/payloadcms/payload/issues/1607)
20
+
21
+
22
+ ### Features
23
+
24
+ * add Norwegian bokmål (nb) translation ([#1614](https://github.com/payloadcms/payload/issues/1614)) ([759f001](https://github.com/payloadcms/payload/commit/759f00168137ff1a0fd862796a5971a9ba0264cd))
25
+ * add Thai translation ([#1630](https://github.com/payloadcms/payload/issues/1630)) ([7777d11](https://github.com/payloadcms/payload/commit/7777d11b9ed458a6c64efc8c9572edb898f6ceed))
26
+ * upload support pasting file ([eb69b82](https://github.com/payloadcms/payload/commit/eb69b82adfb4e94c1ef36b219310c55afc7a1d4e))
27
+
28
+
29
+ ### BREAKING CHANGES
30
+
31
+ * collection slugs are no longer automatically sanitized to be kebab case. This will only be an issue if your current slugs were in camel case. The upgrade path will be to change those slugs to the kebab case version that the slug was automatically being sanitized to on the backend.
32
+
33
+ If you only use kebab case or single word slugs: no action needed.
34
+
35
+ If you have existing slugs with camel case and populated data: you'll need to convert these to the kebab case version to match the previously sanitized value.
36
+
37
+ ie. myOldSlug is your slug, you should convert it to my-old-slug.
38
+
39
+ Any future slugs after updating will be used as-is.
9
40
 
41
+ ## [1.2.5](https://github.com/payloadcms/payload/compare/v1.2.4...v1.2.5) (2022-12-06)
42
+
43
+
44
+ ### Bug Fixes
45
+
46
+ * exits findOptionsByValue when matchedOption is found ([881c067](https://github.com/payloadcms/payload/commit/881c067c40d7477fa2a56d9c700feab49410e1c1))
47
+ * mismatch language condition when rendering unpublish ([3ddd0ea](https://github.com/payloadcms/payload/commit/3ddd0ea3efbd4d673a943dbf63363c548ae5562c))
48
+ * safely coerces limit and depth to number or undefined ([dd04d78](https://github.com/payloadcms/payload/commit/dd04d7842efe9228e98271a878fd68a814042f41))
49
+ * uses pathOrName to pass to internal Relationship field components ([8874e87](https://github.com/payloadcms/payload/commit/8874e871d4a48d5d3fccb8233464437d8ea61ad4))
50
+
51
+
52
+ ### Features
53
+
54
+ * add Turkish translations ([#1596](https://github.com/payloadcms/payload/issues/1596)) ([c8a6831](https://github.com/payloadcms/payload/commit/c8a683100f1ec663a2fdfd5c1ab82300d2618995))
55
+
56
+ ## [1.2.4](https://github.com/payloadcms/payload/compare/v1.2.3...v1.2.4) (2022-12-03)
57
+
58
+
59
+ ### Bug Fixes
60
+
61
+ * missing translation richText link modal ([#1573](https://github.com/payloadcms/payload/issues/1573)) ([2dcada1](https://github.com/payloadcms/payload/commit/2dcada199c21bee97eca88aa6bc8ba1bc2b45e7c))
62
+
10
63
  ## [1.2.3](https://github.com/payloadcms/payload/compare/v1.2.2...v1.2.3) (2022-12-02)
11
64
 
12
65
 
13
66
  ### Bug Fixes
14
67
 
15
- * reset password regression ([#1574](https://github.com/payloadcms/payload/issues/1574)) ([396ea0b](https://github.com/payloadcms/payload/commit/396ea0bd53dc9e1ae1e348d6fe1eb3c36232b35b))
16
-
68
+ * reset password regression ([#1574](https://github.com/payloadcms/payload/issues/1574)) ([396ea0b](https://github.com/payloadcms/payload/commit/396ea0bd53dc9e1ae1e348d6fe1eb3c36232b35b))
69
+
17
70
  ## [1.2.2](https://github.com/payloadcms/payload/compare/v1.2.1...v1.2.2) (2022-12-02)
18
71
 
19
72
 
@@ -50,8 +103,8 @@
50
103
  * decouples limit from pagination, allows for no limit query ([f7ce0c6](https://github.com/payloadcms/payload/commit/f7ce0c615d76035ee48ef32047613ab1415deb44))
51
104
  * improve typescript comments ([#1467](https://github.com/payloadcms/payload/issues/1467)) ([5bd8657](https://github.com/payloadcms/payload/commit/5bd86571cada5791003bbfa84183f5b300649533))
52
105
  * log email transport error messages ([#1469](https://github.com/payloadcms/payload/issues/1469)) ([a90a1a9](https://github.com/payloadcms/payload/commit/a90a1a9e19bb54eb6d88129b5e2cb6483e22db61))
53
- * removes theme provider and updates background for code fields ([1a6c9a3](https://github.com/payloadcms/payload/commit/1a6c9a3e181930a6f45027fecc5313e8d7228c71))
54
-
106
+ * removes theme provider and updates background for code fields ([1a6c9a3](https://github.com/payloadcms/payload/commit/1a6c9a3e181930a6f45027fecc5313e8d7228c71))
107
+
55
108
  ## [1.2.1](https://github.com/payloadcms/payload/compare/v1.2.0...v1.2.1) (2022-11-22)
56
109
 
57
110
 
@@ -11,6 +11,7 @@ import StayLoggedIn from './modals/StayLoggedIn';
11
11
  import Versions from './views/Versions';
12
12
  import Version from './views/Version';
13
13
  import { DocumentInfoProvider } from './utilities/DocumentInfo';
14
+ import { useLocale } from './utilities/Locale';
14
15
  const Dashboard = lazy(() => import('./views/Dashboard'));
15
16
  const ForgotPassword = lazy(() => import('./views/ForgotPassword'));
16
17
  const Login = lazy(() => import('./views/Login'));
@@ -27,6 +28,7 @@ const Routes = () => {
27
28
  const [initialized, setInitialized] = useState(null);
28
29
  const { user, permissions, refreshCookie } = useAuth();
29
30
  const { i18n } = useTranslation();
31
+ const locale = useLocale();
30
32
  const canAccessAdmin = permissions === null || permissions === void 0 ? void 0 : permissions.canAccessAdmin;
31
33
  const config = useConfig();
32
34
  const { admin: { user: userSlug, logoutRoute, inactivityRoute: logoutInactivityRoute, components: { routes: customRoutes, } = {}, }, routes, collections, globals, } = config;
@@ -114,7 +116,7 @@ const Routes = () => {
114
116
  var _a, _b, _c;
115
117
  const { match: { params: { id } } } = routeProps;
116
118
  if ((_c = (_b = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.collections) === null || _a === void 0 ? void 0 : _a[collection.slug]) === null || _b === void 0 ? void 0 : _b.read) === null || _c === void 0 ? void 0 : _c.permission) {
117
- return (React.createElement(DocumentInfoProvider, { key: `${collection.slug}-edit-${id}`, collection: collection, id: id },
119
+ return (React.createElement(DocumentInfoProvider, { key: `${collection.slug}-edit-${id}-${locale}`, collection: collection, id: id },
118
120
  React.createElement(Edit, { isEditing: true, ...routeProps, collection: collection })));
119
121
  }
120
122
  return React.createElement(Unauthorized, null);
@@ -144,7 +146,7 @@ const Routes = () => {
144
146
  React.createElement(Route, { key: `${global.slug}`, path: `${match.url}/globals/${global.slug}`, exact: true, render: (routeProps) => {
145
147
  var _a, _b, _c;
146
148
  if ((_c = (_b = (_a = permissions === null || permissions === void 0 ? void 0 : permissions.globals) === null || _a === void 0 ? void 0 : _a[global.slug]) === null || _b === void 0 ? void 0 : _b.read) === null || _c === void 0 ? void 0 : _c.permission) {
147
- return (React.createElement(DocumentInfoProvider, { global: global },
149
+ return (React.createElement(DocumentInfoProvider, { global: global, key: `${global.slug}-${locale}` },
148
150
  React.createElement(EditGlobal, { ...routeProps, global: global })));
149
151
  }
150
152
  return React.createElement(Unauthorized, null);
@@ -46,7 +46,7 @@ const DateTime = (props) => {
46
46
  React.createElement(XIcon, null))),
47
47
  React.createElement(CalendarIcon, null)),
48
48
  React.createElement("div", { className: `${baseClass}__input-wrapper` },
49
- React.createElement(DatePicker, { ...dateTimePickerProps, popperModifiers: {
49
+ React.createElement(DatePicker, { ...dateTimePickerProps, onChange: (val) => onChange(val), popperModifiers: {
50
50
  preventOverflow: {
51
51
  enabled: true,
52
52
  },
@@ -9,12 +9,12 @@ import { fieldAffectsData } from '../../../../fields/config/types';
9
9
  import { getTranslation } from '../../../../utilities/getTranslation';
10
10
  import './index.scss';
11
11
  const baseClass = 'sort-complex';
12
- const sortOptions = [{ label: 'Ascending', value: '' }, { label: 'Descending', value: '-' }];
13
12
  const SortComplex = (props) => {
14
13
  const { collection, modifySearchQuery = true, handleChange, } = props;
15
14
  const history = useHistory();
16
15
  const params = useSearchParams();
17
16
  const { t, i18n } = useTranslation('general');
17
+ const [sortOptions, setSortOptions] = useState();
18
18
  const [sortFields] = useState(() => collection.fields.reduce((fields, field) => {
19
19
  if (fieldAffectsData(field) && sortableFieldTypes.indexOf(field.type) > -1) {
20
20
  return [
@@ -41,6 +41,9 @@ const SortComplex = (props) => {
41
41
  }
42
42
  }
43
43
  }, [history, params, sortField, sortOrder, modifySearchQuery, handleChange]);
44
+ useEffect(() => {
45
+ setSortOptions([{ label: t('ascending'), value: '' }, { label: t('descending'), value: '-' }]);
46
+ }, [i18n, t]);
44
47
  return (React.createElement("div", { className: baseClass },
45
48
  React.createElement(React.Fragment, null,
46
49
  React.createElement("div", { className: `${baseClass}__wrap` },
@@ -24,13 +24,13 @@ const Status = () => {
24
24
  const revertModalSlug = `confirm-revert-${id}`;
25
25
  let statusToRender;
26
26
  if (((_a = unpublishedVersions === null || unpublishedVersions === void 0 ? void 0 : unpublishedVersions.docs) === null || _a === void 0 ? void 0 : _a.length) > 0 && publishedDoc) {
27
- statusToRender = t('changed');
27
+ statusToRender = 'changed';
28
28
  }
29
29
  else if (!publishedDoc) {
30
- statusToRender = t('draft');
30
+ statusToRender = 'draft';
31
31
  }
32
32
  else if (publishedDoc && ((_b = unpublishedVersions === null || unpublishedVersions === void 0 ? void 0 : unpublishedVersions.docs) === null || _b === void 0 ? void 0 : _b.length) <= 1) {
33
- statusToRender = t('published');
33
+ statusToRender = 'published';
34
34
  }
35
35
  const performAction = useCallback(async (action) => {
36
36
  let url;
@@ -90,8 +90,8 @@ const Status = () => {
90
90
  if (statusToRender) {
91
91
  return (React.createElement("div", { className: baseClass },
92
92
  React.createElement("div", { className: `${baseClass}__value-wrap` },
93
- React.createElement("span", { className: `${baseClass}__value` }, statusToRender),
94
- statusToRender === 'Published' && (React.createElement(React.Fragment, null,
93
+ React.createElement("span", { className: `${baseClass}__value` }, t(statusToRender)),
94
+ statusToRender === 'published' && (React.createElement(React.Fragment, null,
95
95
  "\u00A0\u2014\u00A0",
96
96
  React.createElement(Button, { onClick: () => toggleModal(unPublishModalSlug), className: `${baseClass}__action`, buttonStyle: "none" }, t('unpublish')),
97
97
  React.createElement(Modal, { slug: unPublishModalSlug, className: `${baseClass}__modal` },
@@ -100,14 +100,14 @@ const Status = () => {
100
100
  React.createElement("p", null, t('aboutToUnpublish')),
101
101
  React.createElement(Button, { buttonStyle: "secondary", type: "button", onClick: processing ? undefined : () => toggleModal(unPublishModalSlug) }, t('general:cancel')),
102
102
  React.createElement(Button, { onClick: processing ? undefined : () => performAction('unpublish') }, t(processing ? 'unpublishing' : 'general:confirm')))))),
103
- statusToRender === 'Changed' && (React.createElement(React.Fragment, null,
103
+ statusToRender === 'changed' && (React.createElement(React.Fragment, null,
104
104
  "\u00A0\u2014\u00A0",
105
105
  React.createElement(Button, { onClick: () => toggleModal(revertModalSlug), className: `${baseClass}__action`, buttonStyle: "none" }, t('revertToPublished')),
106
106
  React.createElement(Modal, { slug: revertModalSlug, className: `${baseClass}__modal` },
107
107
  React.createElement(MinimalTemplate, { className: `${baseClass}__modal-template` },
108
108
  React.createElement("h1", null, t('confirmRevertToSaved')),
109
109
  React.createElement("p", null, t('aboutToRevertToPublished')),
110
- React.createElement(Button, { buttonStyle: "secondary", type: "button", onClick: processing ? undefined : () => toggleModal(revertModalSlug) }, t('general:published')),
110
+ React.createElement(Button, { buttonStyle: "secondary", type: "button", onClick: processing ? undefined : () => toggleModal(revertModalSlug) }, t('general:cancel')),
111
111
  React.createElement(Button, { onClick: processing ? undefined : () => performAction('revert') }, t(processing ? 'reverting' : 'general:confirm')))))))));
112
112
  }
113
113
  return null;
@@ -11,7 +11,7 @@ export const GetFilterOptions = ({ filterOptions, filterOptionsResult, setFilter
11
11
  const { id } = useDocumentInfo();
12
12
  const { user } = useAuth();
13
13
  useEffect(() => {
14
- const data = reduceFieldsToValues(fields);
14
+ const data = reduceFieldsToValues(fields, true);
15
15
  const siblingData = getSiblingData(fields, path);
16
16
  const newFilterOptionsResult = getFilterOptionsQuery(filterOptions, {
17
17
  id,
@@ -4,24 +4,28 @@ export const findOptionsByValue = ({ value, options }) => {
4
4
  return value.map((val) => {
5
5
  let matchedOption;
6
6
  options.forEach((optGroup) => {
7
- matchedOption = optGroup.options.find((option) => {
8
- if (typeof val === 'object') {
9
- return option.value === val.value && option.relationTo === val.relationTo;
10
- }
11
- return val === option.value;
12
- });
7
+ if (!matchedOption) {
8
+ matchedOption = optGroup.options.find((option) => {
9
+ if (typeof val === 'object') {
10
+ return option.value === val.value && option.relationTo === val.relationTo;
11
+ }
12
+ return val === option.value;
13
+ });
14
+ }
13
15
  });
14
16
  return matchedOption;
15
17
  });
16
18
  }
17
19
  let matchedOption;
18
20
  options.forEach((optGroup) => {
19
- matchedOption = optGroup.options.find((option) => {
20
- if (typeof value === 'object') {
21
- return option.value === value.value && option.relationTo === value.relationTo;
22
- }
23
- return value === option.value;
24
- });
21
+ if (!matchedOption) {
22
+ matchedOption = optGroup.options.find((option) => {
23
+ if (typeof value === 'object') {
24
+ return option.value === value.value && option.relationTo === value.relationTo;
25
+ }
26
+ return value === option.value;
27
+ });
28
+ }
25
29
  });
26
30
  return matchedOption;
27
31
  }
@@ -38,11 +38,12 @@ const Relationship = (props) => {
38
38
  const [hasLoadedFirstPage, setHasLoadedFirstPage] = useState(false);
39
39
  const [enableWordBoundarySearch, setEnableWordBoundarySearch] = useState(false);
40
40
  const firstRun = useRef(true);
41
+ const pathOrName = path || name;
41
42
  const memoizedValidate = useCallback((value, validationOptions) => {
42
43
  return validate(value, { ...validationOptions, required });
43
44
  }, [validate, required]);
44
45
  const { value, showError, errorMessage, setValue, initialValue, } = useField({
45
- path: path || name,
46
+ path: pathOrName,
46
47
  validate: memoizedValidate,
47
48
  condition,
48
49
  });
@@ -232,13 +233,13 @@ const Relationship = (props) => {
232
233
  const valueToRender = findOptionsByValue({ value, options });
233
234
  if (!Array.isArray(valueToRender) && (valueToRender === null || valueToRender === void 0 ? void 0 : valueToRender.value) === 'null')
234
235
  valueToRender.value = null;
235
- return (React.createElement("div", { id: `field-${(path || name).replace(/\./gi, '__')}`, className: classes, style: {
236
+ return (React.createElement("div", { id: `field-${(pathOrName).replace(/\./gi, '__')}`, className: classes, style: {
236
237
  ...style,
237
238
  width,
238
239
  } },
239
240
  React.createElement(Error, { showError: showError, message: errorMessage }),
240
- React.createElement(Label, { htmlFor: path, label: label, required: required }),
241
- React.createElement(GetFilterOptions, { ...{ filterOptionsResult, setFilterOptionsResult, filterOptions, path, relationTo } }),
241
+ React.createElement(Label, { htmlFor: pathOrName, label: label, required: required }),
242
+ React.createElement(GetFilterOptions, { ...{ filterOptionsResult, setFilterOptionsResult, filterOptions, path: pathOrName, relationTo } }),
242
243
  !errorLoading && (React.createElement("div", { className: `${baseClass}__wrap` },
243
244
  React.createElement(ReactSelect, { isDisabled: readOnly, onInputChange: (newSearch) => handleInputChange(newSearch, value), onChange: !readOnly ? (selected) => {
244
245
  if (selected === null) {
@@ -287,7 +288,7 @@ const Relationship = (props) => {
287
288
  const r = wordBoundariesRegex(searchFilter || '');
288
289
  return r.test(item.label);
289
290
  } : undefined }),
290
- !readOnly && (React.createElement(AddNewRelation, { ...{ path, hasMany, relationTo, value, setValue, dispatchOptions } })))),
291
+ !readOnly && (React.createElement(AddNewRelation, { ...{ path: pathOrName, hasMany, relationTo, value, setValue, dispatchOptions } })))),
291
292
  errorLoading && (React.createElement("div", { className: `${baseClass}__error-loading` }, errorLoading)),
292
293
  React.createElement(FieldDescription, { value: value, description: description })));
293
294
  };
@@ -34,7 +34,6 @@ const RichText = (props) => {
34
34
  const [loaded, setLoaded] = useState(false);
35
35
  const [enabledElements, setEnabledElements] = useState({});
36
36
  const [enabledLeaves, setEnabledLeaves] = useState({});
37
- const [initialValueKey, setInitialValueKey] = useState('');
38
37
  const editorRef = useRef(null);
39
38
  const toolbarRef = useRef(null);
40
39
  const renderElement = useCallback(({ attributes, children, element }) => {
@@ -92,9 +91,6 @@ const RichText = (props) => {
92
91
  setLoaded(true);
93
92
  }
94
93
  }, [loaded, elements, leaves]);
95
- useEffect(() => {
96
- setInitialValueKey(JSON.stringify(initialValue || ''));
97
- }, [initialValue]);
98
94
  useEffect(() => {
99
95
  function setClickableState(clickState) {
100
96
  var _a, _b;
@@ -118,6 +114,14 @@ const RichText = (props) => {
118
114
  }
119
115
  };
120
116
  }, [loaded, readOnly]);
117
+ useEffect(() => {
118
+ if (Array.isArray(initialValue) && initialValue.length > 0) {
119
+ const point = { path: [0, 0], offset: 0 };
120
+ editor.selection = { anchor: point, focus: point };
121
+ editor.history = { redos: [], undos: [] };
122
+ editor.children = initialValue;
123
+ }
124
+ }, [initialValue, editor]);
121
125
  if (!loaded) {
122
126
  return null;
123
127
  }
@@ -133,7 +137,7 @@ const RichText = (props) => {
133
137
  }
134
138
  if (!valueToRender)
135
139
  valueToRender = defaultValue;
136
- return (React.createElement("div", { key: initialValueKey, className: classes, style: {
140
+ return (React.createElement("div", { className: classes, style: {
137
141
  ...style,
138
142
  width,
139
143
  } },
@@ -1,5 +1,7 @@
1
1
  import { Where } from '../../../../types';
2
2
  import { FilterOptions, FilterOptionsProps } from '../../../../fields/config/types';
3
- export declare const getFilterOptionsQuery: (filterOptions: FilterOptions, options: FilterOptionsProps) => {
3
+ export declare const getFilterOptionsQuery: (filterOptions: FilterOptions, options: Omit<FilterOptionsProps, 'relationTo'> & {
4
+ relationTo: string | string[];
5
+ }) => {
4
6
  [collection: string]: Where;
5
7
  };
@@ -4,7 +4,7 @@ export const getFilterOptionsQuery = (filterOptions, options) => {
4
4
  const query = {};
5
5
  if (typeof filterOptions !== 'undefined') {
6
6
  relations.forEach((relation) => {
7
- query[relation] = typeof filterOptions === 'function' ? filterOptions(options) : filterOptions;
7
+ query[relation] = typeof filterOptions === 'function' ? filterOptions({ ...options, relationTo: relation }) : filterOptions;
8
8
  });
9
9
  }
10
10
  return query;
@@ -112,9 +112,19 @@ const Upload = (props) => {
112
112
  setValue(null);
113
113
  } }))),
114
114
  !value && (React.createElement(React.Fragment, null,
115
- React.createElement("div", { className: `${baseClass}__drop-zone`, ref: dropRef },
116
- React.createElement(Button, { size: "small", buttonStyle: "secondary", onClick: () => setSelectingFile(true) }, t('selectFile')),
117
- React.createElement("span", { className: `${baseClass}__drag-label` }, t('dragAndDropHere'))))),
115
+ React.createElement("div", { className: `${baseClass}__drop-zone`, ref: dropRef, onPaste: (e) => {
116
+ var _a;
117
+ if ((_a = e === null || e === void 0 ? void 0 : e.clipboardData) === null || _a === void 0 ? void 0 : _a.files.length) {
118
+ const fileObject = e.clipboardData.files[0];
119
+ if (fileObject)
120
+ setValue(fileObject);
121
+ }
122
+ } },
123
+ React.createElement(Button, { size: "small", buttonStyle: "secondary", onClick: () => setSelectingFile(true), className: `${baseClass}__file-button` }, t('selectFile')),
124
+ React.createElement("p", { className: `${baseClass}__drag-label` },
125
+ t('general:or'),
126
+ ' ',
127
+ t('dragAndDrop'))))),
118
128
  React.createElement("input", { ref: inputRef, type: "file", accept: (_b = (_a = collection === null || collection === void 0 ? void 0 : collection.upload) === null || _a === void 0 ? void 0 : _a.mimeTypes) === null || _b === void 0 ? void 0 : _b.join(','), onChange: handleInputChange })))));
119
129
  };
120
130
  export default Upload;
@@ -10,6 +10,11 @@
10
10
  bottom: calc(100% - #{base(.5)});
11
11
  }
12
12
 
13
+ &__drag-label {
14
+ margin: 0;
15
+ text-transform: lowercase;
16
+ }
17
+
13
18
  &__upload {
14
19
  position: relative;
15
20
 
@@ -64,6 +69,8 @@
64
69
 
65
70
  .btn {
66
71
  margin: 0 auto;
72
+ width: 100%;
73
+ max-width: 200px;
67
74
  }
68
75
 
69
76
  .file-field__drag-label {
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const deepmerge_1 = __importDefault(require("deepmerge"));
7
7
  const is_plain_object_1 = require("is-plain-object");
8
8
  const sanitize_1 = __importDefault(require("../../fields/config/sanitize"));
9
- const toKebabCase_1 = __importDefault(require("../../utilities/toKebabCase"));
10
9
  const auth_1 = __importDefault(require("../../auth/baseFields/auth"));
11
10
  const apiKey_1 = __importDefault(require("../../auth/baseFields/apiKey"));
12
11
  const verification_1 = __importDefault(require("../../auth/baseFields/verification"));
@@ -25,7 +24,6 @@ const sanitizeCollection = (config, collection) => {
25
24
  const sanitized = (0, deepmerge_1.default)(defaults_1.defaults, collection, {
26
25
  isMergeableObject: is_plain_object_1.isPlainObject,
27
26
  });
28
- sanitized.slug = (0, toKebabCase_1.default)(sanitized.slug);
29
27
  sanitized.labels = sanitized.labels || (0, formatLabels_1.formatLabels)(sanitized.slug);
30
28
  if (sanitized.versions) {
31
29
  if (sanitized.versions === true)
@@ -86,4 +84,4 @@ const sanitizeCollection = (config, collection) => {
86
84
  return sanitized;
87
85
  };
88
86
  exports.default = sanitizeCollection;
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29sbGVjdGlvbnMvY29uZmlnL3Nhbml0aXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMERBQThCO0FBQzlCLHFEQUFnRDtBQUVoRCw0RUFBMEQ7QUFDMUQsOEVBQXNEO0FBQ3RELHNFQUF3RDtBQUN4RCwwRUFBNEQ7QUFDNUQsc0ZBQXdFO0FBQ3hFLG9GQUFzRTtBQUN0RSxnRkFBOEQ7QUFDOUQsK0RBQTREO0FBQzVELHlDQUFvRDtBQUVwRCxzREFBb0U7QUFDcEUsMkVBQTBEO0FBQzFELHlGQUFpRTtBQUNqRSxtRkFBMkQ7QUFFM0QsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE1BQWMsRUFBRSxVQUE0QixFQUE2QixFQUFFO0lBQ3JHLG9DQUFvQztJQUNwQyxpQ0FBaUM7SUFDakMsb0NBQW9DO0lBRXBDLE1BQU0sU0FBUyxHQUFxQixJQUFBLG1CQUFLLEVBQUMsbUJBQVEsRUFBRSxVQUFVLEVBQUU7UUFDOUQsaUJBQWlCLEVBQUUsK0JBQWE7S0FDakMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDLElBQUksR0FBRyxJQUFBLHFCQUFXLEVBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sSUFBSSxJQUFBLDJCQUFZLEVBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBFLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRTtRQUN0QixJQUFJLFNBQVMsQ0FBQyxRQUFRLEtBQUssSUFBSTtZQUFFLFNBQVMsQ0FBQyxRQUFRLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFFeEUsSUFBSSxTQUFTLENBQUMsVUFBVSxLQUFLLEtBQUssRUFBRTtZQUNsQyxNQUFNLElBQUksNEJBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDMUM7UUFFRCxJQUFJLFNB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
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29sbGVjdGlvbnMvY29uZmlnL3Nhbml0aXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMERBQThCO0FBQzlCLHFEQUFnRDtBQUVoRCw0RUFBMEQ7QUFDMUQsc0VBQXdEO0FBQ3hELDBFQUE0RDtBQUM1RCxzRkFBd0U7QUFDeEUsb0ZBQXNFO0FBQ3RFLGdGQUE4RDtBQUM5RCwrREFBNEQ7QUFDNUQseUNBQW9EO0FBRXBELHNEQUFvRTtBQUNwRSwyRUFBMEQ7QUFDMUQseUZBQWlFO0FBQ2pFLG1GQUEyRDtBQUUzRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsTUFBYyxFQUFFLFVBQTRCLEVBQTZCLEVBQUU7SUFDckcsb0NBQW9DO0lBQ3BDLGlDQUFpQztJQUNqQyxvQ0FBb0M7SUFFcEMsTUFBTSxTQUFTLEdBQXFCLElBQUEsbUJBQUssRUFBQyxtQkFBUSxFQUFFLFVBQVUsRUFBRTtRQUM5RCxpQkFBaUIsRUFBRSwrQkFBYTtLQUNqQyxDQUFDLENBQUM7SUFFSCxTQUFTLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLElBQUksSUFBQSwyQkFBWSxFQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVwRSxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUU7UUFDdEIsSUFBSSxTQUFTLENBQUMsUUFBUSxLQUFLLElBQUk7WUFBRSxTQUFTLENBQUMsUUFBUSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBRXhFLElBQUksU0FBUyxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUU7WUFDbEMsTUFBTSxJQUFJLDRCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzFDO1FBRUQsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUM3QixJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtn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
@@ -38,7 +38,7 @@ function registerCollections(ctx) {
38
38
  }
39
39
  const updates = { $inc: { loginAttempts: 1 } };
40
40
  // Lock the account if at max attempts and not already locked
41
- if (this.loginAttempts + 1 >= maxLoginAttempts && !this.isLocked) {
41
+ if (this.loginAttempts + 1 >= maxLoginAttempts) {
42
42
  updates.$set = { lockUntil: Date.now() + lockTime };
43
43
  }
44
44
  return this.updateOne(updates, cb);
@@ -93,4 +93,4 @@ function registerCollections(ctx) {
93
93
  });
94
94
  }
95
95
  exports.default = registerCollections;
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2xsZWN0aW9ucy9pbml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0RBQXlFO0FBQ3pFLGdGQUE0QztBQUM1QyxzREFBOEI7QUFDOUIsd0RBQWdDO0FBQ2hDLHNGQUE0RDtBQUM1RCw2RUFBaUY7QUFDakYsd0VBQXNEO0FBQ3RELHVFQUF1RDtBQUN2RCxnRUFBa0Q7QUFDbEQsMEVBQWtEO0FBQ2xELHNFQUF3RDtBQUd4RCwyRUFBd0U7QUFDeEUsK0VBQXVEO0FBQ3ZELHNFQUE4QztBQUU5QyxTQUF3QixtQkFBbUIsQ0FBQyxHQUFZO0lBQ3RELEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQXFDLEVBQUUsRUFBRTtRQUM1RixNQUFNLG1CQUFtQixHQUFHLFVBQVUsQ0FBQztRQUV2QyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFxQixFQUFDLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV0RSxJQUFJLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzVELE1BQU0sQ0FBQyxNQUFNLENBQUMsaUNBQXFCLEVBQUU7Z0JBQ25DLGFBQWEsRUFBRSxPQUFPO2FBQ3ZCLENBQUMsQ0FBQztZQUdILE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBRXZELElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxFQUFFO2dCQU94QixzQ0FBc0M7Z0JBQ3RDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsVUFBaUQsRUFBRTtvQkFDbkYsbUNBQW1DO29CQUNuQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsR0FB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
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2xsZWN0aW9ucy9pbml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0RBQXlFO0FBQ3pFLGdGQUE0QztBQUM1QyxzREFBOEI7QUFDOUIsd0RBQWdDO0FBQ2hDLHNGQUE0RDtBQUM1RCw2RUFBaUY7QUFDakYsd0VBQXNEO0FBQ3RELHVFQUF1RDtBQUN2RCxnRUFBa0Q7QUFDbEQsMEVBQWtEO0FBQ2xELHNFQUF3RDtBQUd4RCwyRUFBd0U7QUFDeEUsK0VBQXVEO0FBQ3ZELHNFQUE4QztBQUU5QyxTQUF3QixtQkFBbUIsQ0FBQyxHQUFZO0lBQ3RELEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQXFDLEVBQUUsRUFBRTtRQUM1RixNQUFNLG1CQUFtQixHQUFHLFVBQVUsQ0FBQztRQUV2QyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFxQixFQUFDLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV0RSxJQUFJLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzVELE1BQU0sQ0FBQyxNQUFNLENBQUMsaUNBQXFCLEVBQUU7Z0JBQ25DLGFBQWEsRUFBRSxPQUFPO2FBQ3ZCLENBQUMsQ0FBQztZQUdILE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBRXZELElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxFQUFFO2dCQU94QixzQ0FBc0M7Z0JBQ3RDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsVUFBaUQsRUFBRTtvQkFDbkYsbUNBQW1DO29CQUNuQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsR0FB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
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const http_status_1 = __importDefault(require("http-status"));
7
+ const isNumber_1 = require("../../utilities/isNumber");
7
8
  const findVersions_1 = __importDefault(require("../operations/findVersions"));
8
9
  async function findVersionsHandler(req, res, next) {
9
10
  try {
@@ -19,9 +20,9 @@ async function findVersionsHandler(req, res, next) {
19
20
  collection: req.collection,
20
21
  where: req.query.where,
21
22
  page,
22
- limit: parseInt(String(req.query.limit), 10),
23
+ limit: (0, isNumber_1.isNumber)(req.query.limit) ? Number(req.query.limit) : undefined,
23
24
  sort: req.query.sort,
24
- depth: parseInt(String(req.query.depth), 10),
25
+ depth: (0, isNumber_1.isNumber)(req.query.depth) ? Number(req.query.depth) : undefined,
25
26
  payload: req.payload,
26
27
  };
27
28
  const result = await (0, findVersions_1.default)(options);
@@ -32,4 +33,4 @@ async function findVersionsHandler(req, res, next) {
32
33
  }
33
34
  }
34
35
  exports.default = findVersionsHandler;
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZFZlcnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbGxlY3Rpb25zL3JlcXVlc3RIYW5kbGVycy9maW5kVmVyc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSw4REFBcUM7QUFLckMsOEVBQXNEO0FBRXZDLEtBQUssVUFBVSxtQkFBbUIsQ0FBNkIsR0FBbUIsRUFBRSxHQUFhLEVBQUUsSUFBa0I7SUFDbEksSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDO1FBRVQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUN0QyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQzdCLElBQUksR0FBRyxVQUFVLENBQUM7YUFDbkI7U0FDRjtRQUVELE1BQU0sT0FBTyxHQUFHO1lBQ2QsR0FBRztZQUNILFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVTtZQUMxQixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFjO1lBQy9CLElBQUk7WUFDSixLQUFLLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM1QyxJQUFJLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFjO1lBQzlCLEtBQUssRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzVDLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztTQUNyQixDQUFDO1FBRUYsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLHNCQUFZLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0MsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLHFCQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQy9DO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNwQjtBQUNILENBQUM7QUE3QkQsc0NBNkJDIn0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZFZlcnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbGxlY3Rpb25zL3JlcXVlc3RIYW5kbGVycy9maW5kVmVyc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSw4REFBcUM7QUFLckMsdURBQW9EO0FBQ3BELDhFQUFzRDtBQUV2QyxLQUFLLFVBQVUsbUJBQW1CLENBQTZCLEdBQW1CLEVBQUUsR0FBYSxFQUFFLElBQWtCO0lBQ2xJLElBQUk7UUFDRixJQUFJLElBQUksQ0FBQztRQUVULElBQUksT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDdEMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBRWhELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUM3QixJQUFJLEdBQUcsVUFBVSxDQUFDO2FBQ25CO1NBQ0Y7UUFFRCxNQUFNLE9BQU8sR0FBRztZQUNkLEdBQUc7WUFDSCxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7WUFDMUIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBYztZQUMvQixJQUFJO1lBQ0osS0FBSyxFQUFFLElBQUEsbUJBQVEsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUN0RSxJQUFJLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFjO1lBQzlCLEtBQUssRUFBRSxJQUFBLG1CQUFRLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDdEUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1NBQ3JCLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsc0JBQVksRUFBQyxPQUFPLENBQUMsQ0FBQztRQUUzQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMscUJBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDL0M7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3BCO0FBQ0gsQ0FBQztBQTdCRCxzQ0E2QkMifQ==
@@ -7,8 +7,8 @@ const http_status_1 = __importDefault(require("http-status"));
7
7
  const APIError_1 = __importDefault(require("./APIError"));
8
8
  class FileUploadError extends APIError_1.default {
9
9
  constructor(t) {
10
- super(t ? t('problemUploadingFile') : 'There was a problem while uploading the file.', http_status_1.default.BAD_REQUEST);
10
+ super(t ? t('error:problemUploadingFile') : 'There was a problem while uploading the file.', http_status_1.default.BAD_REQUEST);
11
11
  }
12
12
  }
13
13
  exports.default = FileUploadError;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsZVVwbG9hZEVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9ycy9GaWxlVXBsb2FkRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4REFBcUM7QUFFckMsMERBQWtDO0FBRWxDLE1BQU0sZUFBZ0IsU0FBUSxrQkFBUTtJQUNwQyxZQUFZLENBQWE7UUFDdkIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLCtDQUErQyxFQUFFLHFCQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakgsQ0FBQztDQUNGO0FBRUQsa0JBQWUsZUFBZSxDQUFDIn0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsZVVwbG9hZEVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9ycy9GaWxlVXBsb2FkRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4REFBcUM7QUFFckMsMERBQWtDO0FBRWxDLE1BQU0sZUFBZ0IsU0FBUSxrQkFBUTtJQUNwQyxZQUFZLENBQWE7UUFDdkIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDLCtDQUErQyxFQUFFLHFCQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkgsQ0FBQztDQUNGO0FBRUQsa0JBQWUsZUFBZSxDQUFDIn0=
@@ -44,7 +44,7 @@ export declare type FilterOptionsProps<T = any> = {
44
44
  user: Partial<User>;
45
45
  data: T;
46
46
  siblingData: unknown;
47
- relationTo: string | string[];
47
+ relationTo: string;
48
48
  };
49
49
  export declare type FilterOptions<T = any> = Where | ((options: FilterOptionsProps<T>) => Where);
50
50
  declare type Admin = {
@@ -198,7 +198,7 @@ async function update(args) {
198
198
  doc: global,
199
199
  previousDoc: originalDoc,
200
200
  req,
201
- }) || result;
201
+ }) || global;
202
202
  }, Promise.resolve());
203
203
  // /////////////////////////////////////
204
204
  // Return results
@@ -5,15 +5,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const http_status_1 = __importDefault(require("http-status"));
7
7
  const findOne_1 = __importDefault(require("../operations/findOne"));
8
+ const isNumber_1 = require("../../utilities/isNumber");
8
9
  function findOneHandler(globalConfig) {
9
10
  return async function handler(req, res, next) {
11
+ var _a;
10
12
  try {
11
13
  const { slug } = globalConfig;
12
14
  const result = await (0, findOne_1.default)({
13
15
  req,
14
16
  globalConfig,
15
17
  slug,
16
- depth: Number(req.query.depth),
18
+ depth: (0, isNumber_1.isNumber)((_a = req.query) === null || _a === void 0 ? void 0 : _a.depth) ? Number(req.query.depth) : undefined,
17
19
  draft: req.query.draft === 'true',
18
20
  });
19
21
  return res.status(http_status_1.default.OK).json(result);
@@ -24,4 +26,4 @@ function findOneHandler(globalConfig) {
24
26
  };
25
27
  }
26
28
  exports.default = findOneHandler;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZE9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nbG9iYWxzL3JlcXVlc3RIYW5kbGVycy9maW5kT25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsOERBQXFDO0FBSXJDLG9FQUE0QztBQUs1QyxTQUF3QixjQUFjLENBQUMsWUFBbUM7SUFDeEUsT0FBTyxLQUFLLFVBQVUsT0FBTyxDQUFDLEdBQW1CLEVBQUUsR0FBYSxFQUFFLElBQWtCO1FBQ2xGLElBQUk7WUFDRixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBWSxDQUFDO1lBRTlCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSxpQkFBTyxFQUFDO2dCQUMzQixHQUFHO2dCQUNILFlBQVk7Z0JBQ1osSUFBSTtnQkFDSixLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUM5QixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssTUFBTTthQUNsQyxDQUFDLENBQUM7WUFFSCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMscUJBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDL0M7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQWxCRCxpQ0FrQkMifQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZE9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nbG9iYWxzL3JlcXVlc3RIYW5kbGVycy9maW5kT25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsOERBQXFDO0FBSXJDLG9FQUE0QztBQUM1Qyx1REFBb0Q7QUFLcEQsU0FBd0IsY0FBYyxDQUFDLFlBQW1DO0lBQ3hFLE9BQU8sS0FBSyxVQUFVLE9BQU8sQ0FBQyxHQUFtQixFQUFFLEdBQWEsRUFBRSxJQUFrQjs7UUFDbEYsSUFBSTtZQUNGLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLENBQUM7WUFFOUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLGlCQUFPLEVBQUM7Z0JBQzNCLEdBQUc7Z0JBQ0gsWUFBWTtnQkFDWixJQUFJO2dCQUNKLEtBQUssRUFBRSxJQUFBLG1CQUFRLEVBQUMsTUFBQSxHQUFHLENBQUMsS0FBSywwQ0FBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQ3ZFLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxNQUFNO2FBQ2xDLENBQUMsQ0FBQztZQUVILE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxxQkFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMvQztRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEI7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDO0FBbEJELGlDQWtCQyJ9
@@ -3,14 +3,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const isNumber_1 = require("../../utilities/isNumber");
6
7
  const findVersionByID_1 = __importDefault(require("../operations/findVersionByID"));
7
8
  function findVersionByIDHandler(globalConfig) {
8
9
  return async function handler(req, res, next) {
10
+ var _a;
9
11
  const options = {
10
12
  req,
11
13
  globalConfig,
12
14
  id: req.params.id,
13
- depth: Number(req.query.depth),
15
+ depth: (0, isNumber_1.isNumber)((_a = req.query) === null || _a === void 0 ? void 0 : _a.depth) ? Number(req.query.depth) : undefined,
14
16
  };
15
17
  try {
16
18
  const doc = await (0, findVersionByID_1.default)(options);
@@ -22,4 +24,4 @@ function findVersionByIDHandler(globalConfig) {
22
24
  };
23
25
  }
24
26
  exports.default = findVersionByIDHandler;
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZFZlcnNpb25CeUlELmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dsb2JhbHMvcmVxdWVzdEhhbmRsZXJzL2ZpbmRWZXJzaW9uQnlJRC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUlBLG9GQUE0RDtBQUU1RCxTQUF3QixzQkFBc0IsQ0FBQyxZQUFtQztJQUNoRixPQUFPLEtBQUssVUFBVSxPQUFPLENBQUMsR0FBbUIsRUFBRSxHQUFhLEVBQUUsSUFBa0I7UUFDbEYsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHO1lBQ0gsWUFBWTtZQUNaLEVBQUUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztTQUMvQixDQUFDO1FBRUYsSUFBSTtZQUNGLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBQSx5QkFBZSxFQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN0QjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEI7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDO0FBaEJELHlDQWdCQyJ9
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZFZlcnNpb25CeUlELmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dsb2JhbHMvcmVxdWVzdEhhbmRsZXJzL2ZpbmRWZXJzaW9uQnlJRC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLHVEQUFvRDtBQUVwRCxvRkFBNEQ7QUFFNUQsU0FBd0Isc0JBQXNCLENBQUMsWUFBbUM7SUFDaEYsT0FBTyxLQUFLLFVBQVUsT0FBTyxDQUFDLEdBQW1CLEVBQUUsR0FBYSxFQUFFLElBQWtCOztRQUNsRixNQUFNLE9BQU8sR0FBRztZQUNkLEdBQUc7WUFDSCxZQUFZO1lBQ1osRUFBRSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNqQixLQUFLLEVBQUUsSUFBQSxtQkFBUSxFQUFDLE1BQUEsR0FBRyxDQUFDLEtBQUssMENBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ3hFLENBQUM7UUFFRixJQUFJO1lBQ0YsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFBLHlCQUFlLEVBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0MsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3RCO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQjtJQUNILENBQUMsQ0FBQztBQUNKLENBQUM7QUFoQkQseUNBZ0JDIn0=