payload 0.12.10-beta.0 → 0.13.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 +28 -23
- package/components/forms.ts +2 -1
- package/dist/admin/components/elements/PreviewButton/index.js +19 -4
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/types.d.ts +1 -1
- package/dist/admin/components/forms/DraggableSection/SectionTitle/index.js +2 -2
- package/dist/admin/components/forms/FieldDescription/types.d.ts +1 -2
- package/dist/admin/components/forms/FieldDescription/types.js +11 -3
- package/dist/admin/components/forms/field-types/Array/Array.js +2 -2
- package/dist/admin/components/forms/field-types/Array/types.d.ts +2 -1
- package/dist/admin/components/forms/field-types/Blocks/Blocks.js +2 -2
- package/dist/admin/components/forms/field-types/Blocks/types.d.ts +2 -1
- package/dist/admin/components/forms/field-types/Checkbox/index.js +2 -2
- package/dist/admin/components/forms/field-types/Code/Code.js +2 -2
- package/dist/admin/components/forms/field-types/ConfirmPassword/index.js +2 -2
- package/dist/admin/components/forms/field-types/DateTime/index.js +2 -2
- package/dist/admin/components/forms/field-types/Email/index.js +2 -2
- package/dist/admin/components/forms/field-types/HiddenInput/index.js +2 -2
- package/dist/admin/components/forms/field-types/Number/index.js +2 -2
- package/dist/admin/components/forms/field-types/Password/index.js +2 -2
- package/dist/admin/components/forms/field-types/Password/types.d.ts +2 -1
- package/dist/admin/components/forms/field-types/Point/index.js +2 -2
- package/dist/admin/components/forms/field-types/RadioGroup/index.js +2 -2
- package/dist/admin/components/forms/field-types/Relationship/index.js +2 -2
- package/dist/admin/components/forms/field-types/Relationship/types.d.ts +1 -1
- package/dist/admin/components/forms/field-types/RichText/RichText.js +2 -2
- package/dist/admin/components/forms/field-types/Select/index.js +32 -16
- package/dist/admin/components/forms/field-types/Text/index.js +19 -6
- package/dist/admin/components/forms/field-types/Textarea/index.js +2 -2
- package/dist/admin/components/forms/field-types/Upload/index.js +21 -8
- package/dist/admin/components/forms/useField/index.d.ts +3 -0
- package/dist/admin/components/forms/{useFieldType → useField}/index.js +30 -9
- package/dist/admin/components/forms/{useFieldType → useField}/types.d.ts +0 -0
- package/dist/admin/components/forms/{useFieldType → useField}/types.js +0 -0
- package/dist/admin/components/views/collections/Edit/Auth/APIKey.js +2 -2
- package/dist/admin/components/views/collections/Edit/Upload/index.js +2 -2
- package/dist/admin/components/views/collections/List/types.d.ts +1 -1
- package/dist/auth/getExecuteStaticAccess.d.ts +1 -1
- package/dist/auth/getExecuteStaticAccess.js +20 -4
- package/dist/bin/generateTypes.js +20 -10
- package/dist/collections/config/types.d.ts +102 -39
- package/dist/collections/operations/create.d.ts +1 -0
- package/dist/collections/operations/create.js +12 -4
- package/dist/collections/operations/delete.js +5 -5
- package/dist/collections/operations/find.d.ts +2 -2
- package/dist/collections/operations/find.js +15 -8
- package/dist/collections/operations/findByID.d.ts +2 -3
- package/dist/collections/operations/findByID.js +1 -1
- package/dist/collections/operations/local/create.d.ts +1 -0
- package/dist/collections/operations/local/create.js +3 -2
- package/dist/collections/operations/local/delete.d.ts +2 -1
- package/dist/collections/operations/local/delete.js +1 -1
- package/dist/collections/operations/local/find.d.ts +2 -2
- package/dist/collections/operations/local/find.js +1 -1
- package/dist/collections/operations/local/findByID.d.ts +2 -1
- package/dist/collections/operations/local/findByID.js +1 -1
- package/dist/collections/operations/local/update.d.ts +2 -1
- package/dist/collections/operations/local/update.js +1 -1
- package/dist/collections/operations/update.js +11 -3
- package/dist/collections/requestHandlers/find.d.ts +2 -2
- package/dist/collections/requestHandlers/find.js +1 -1
- package/dist/config/types.d.ts +4 -1
- package/dist/express/static.js +2 -2
- package/dist/fields/baseFields/getBaseUploadFields.js +3 -1
- package/dist/fields/config/types.d.ts +21 -16
- package/dist/fields/config/types.js +1 -1
- package/dist/fields/validations.d.ts +17 -17
- package/dist/index.d.ts +8 -9
- package/dist/index.js +1 -1
- package/dist/mongoose/buildQuery.js +14 -11
- package/dist/mongoose/buildSchema.js +6 -1
- package/dist/mongoose/sanitizeFormattedValue.js +18 -22
- package/dist/uploads/fileExists.d.ts +2 -2
- package/dist/uploads/fileExists.js +4 -3
- package/dist/uploads/fileOrDocExists.d.ts +3 -0
- package/dist/uploads/fileOrDocExists.js +22 -0
- package/dist/uploads/getSafeFilename.d.ts +2 -1
- package/dist/uploads/getSafeFilename.js +4 -4
- package/dist/uploads/imageResizer.d.ts +11 -1
- package/dist/uploads/imageResizer.js +2 -2
- package/dist/uploads/isImage.js +2 -2
- package/dist/utilities/sanitizeInternalFields.d.ts +2 -1
- package/dist/utilities/sanitizeInternalFields.js +1 -1
- package/docs/admin/components.mdx +3 -3
- package/docs/fields/blocks.mdx +9 -0
- package/docs/fields/overview.mdx +12 -0
- package/docs/fields/rich-text.mdx +11 -0
- package/docs/hooks/collections.mdx +23 -0
- package/docs/hooks/fields.mdx +28 -0
- package/docs/hooks/globals.mdx +17 -0
- package/docs/typescript/generating-types.mdx +114 -0
- package/docs/typescript/overview.mdx +36 -0
- package/package.json +1 -1
- package/types.d.ts +18 -2
- package/dist/admin/components/forms/useFieldType/index.d.ts +0 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useCallback } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import useField from '../../useField';
|
|
3
3
|
import withCondition from '../../withCondition';
|
|
4
4
|
import Label from '../../Label';
|
|
5
5
|
import Error from '../../Error';
|
|
@@ -13,7 +13,7 @@ const Textarea = (props) => {
|
|
|
13
13
|
const validationResult = validate(value, { minLength, maxLength, required });
|
|
14
14
|
return validationResult;
|
|
15
15
|
}, [validate, maxLength, minLength, required]);
|
|
16
|
-
const { value, showError, setValue, errorMessage, } =
|
|
16
|
+
const { value, showError, setValue, errorMessage, } = useField({
|
|
17
17
|
path,
|
|
18
18
|
validate: memoizedValidate,
|
|
19
19
|
enableDebouncedValue: true,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState, useEffect, useCallback } from 'react';
|
|
2
2
|
import { useModal } from '@faceless-ui/modal';
|
|
3
3
|
import { useConfig } from '@payloadcms/config-provider';
|
|
4
|
-
import
|
|
4
|
+
import useField from '../../useField';
|
|
5
5
|
import withCondition from '../../withCondition';
|
|
6
6
|
import Button from '../../../elements/Button';
|
|
7
7
|
import Label from '../../Label';
|
|
@@ -18,7 +18,7 @@ const Upload = (props) => {
|
|
|
18
18
|
const [internalValue, setInternalValue] = useState(undefined);
|
|
19
19
|
const [missingFile, setMissingFile] = useState(false);
|
|
20
20
|
const { collections, serverURL, routes: { api } } = useConfig();
|
|
21
|
-
const { path: pathFromProps, name, required, admin: { readOnly, style, width, description, condition, } = {}, label, validate = upload, relationTo, fieldTypes, } = props;
|
|
21
|
+
const { path: pathFromProps, name, required, admin: { readOnly, style, width, description, condition, } = {}, label, validate = upload, relationTo, fieldTypes, value: valueFromProps, onChange: onChangeFromProps, } = props;
|
|
22
22
|
const collection = collections.find((coll) => coll.slug === relationTo);
|
|
23
23
|
const path = pathFromProps || name;
|
|
24
24
|
const addModalSlug = `${path}-add`;
|
|
@@ -27,12 +27,13 @@ const Upload = (props) => {
|
|
|
27
27
|
const validationResult = validate(value, { required });
|
|
28
28
|
return validationResult;
|
|
29
29
|
}, [validate, required]);
|
|
30
|
-
const fieldType =
|
|
30
|
+
const fieldType = useField({
|
|
31
31
|
path,
|
|
32
32
|
validate: memoizedValidate,
|
|
33
33
|
condition,
|
|
34
34
|
});
|
|
35
|
-
const { value, showError, setValue, errorMessage, } = fieldType;
|
|
35
|
+
const { value: valueFromContext, showError, setValue, errorMessage, } = fieldType;
|
|
36
|
+
const value = valueFromProps || valueFromContext || '';
|
|
36
37
|
const classes = [
|
|
37
38
|
'field-type',
|
|
38
39
|
baseClass,
|
|
@@ -49,13 +50,27 @@ const Upload = (props) => {
|
|
|
49
50
|
}
|
|
50
51
|
else {
|
|
51
52
|
setInternalValue(undefined);
|
|
52
|
-
setValue(null);
|
|
53
53
|
setMissingFile(true);
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
56
|
fetchFile();
|
|
57
57
|
}
|
|
58
|
-
}, [
|
|
58
|
+
}, [
|
|
59
|
+
value,
|
|
60
|
+
relationTo,
|
|
61
|
+
api,
|
|
62
|
+
serverURL,
|
|
63
|
+
setValue
|
|
64
|
+
]);
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
const { id: incomingID } = internalValue || {};
|
|
67
|
+
if (typeof onChangeFromProps === 'function') {
|
|
68
|
+
onChangeFromProps(incomingID);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
setValue(incomingID);
|
|
72
|
+
}
|
|
73
|
+
}, [internalValue]);
|
|
59
74
|
return (React.createElement("div", { className: classes, style: {
|
|
60
75
|
...style,
|
|
61
76
|
width,
|
|
@@ -83,7 +98,6 @@ const Upload = (props) => {
|
|
|
83
98
|
fieldTypes,
|
|
84
99
|
setValue: (val) => {
|
|
85
100
|
setMissingFile(false);
|
|
86
|
-
setValue(val.id);
|
|
87
101
|
setInternalValue(val);
|
|
88
102
|
},
|
|
89
103
|
} }),
|
|
@@ -92,7 +106,6 @@ const Upload = (props) => {
|
|
|
92
106
|
slug: selectExistingModalSlug,
|
|
93
107
|
setValue: (val) => {
|
|
94
108
|
setMissingFile(false);
|
|
95
|
-
setValue(val.id);
|
|
96
109
|
setInternalValue(val);
|
|
97
110
|
},
|
|
98
111
|
addModalSlug,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { useCallback, useEffect, useState, } from 'react';
|
|
2
2
|
import { useFormProcessing, useFormSubmitted, useFormModified, useForm } from '../Form/context';
|
|
3
3
|
import useDebounce from '../../../hooks/useDebounce';
|
|
4
|
-
const
|
|
4
|
+
const useField = (options) => {
|
|
5
5
|
const { path, validate, enableDebouncedValue, disableFormData, ignoreWhileFlattening, stringify, condition, } = options;
|
|
6
6
|
const formContext = useForm();
|
|
7
7
|
const submitted = useFormSubmitted();
|
|
8
8
|
const processing = useFormProcessing();
|
|
9
9
|
const modified = useFormModified();
|
|
10
|
-
const { dispatchFields, getField, setModified, } = formContext;
|
|
10
|
+
const { dispatchFields, getField, setModified, } = formContext || {};
|
|
11
11
|
const [internalValue, setInternalValue] = useState(undefined);
|
|
12
12
|
// Debounce internal values to update form state only every 60ms
|
|
13
13
|
const debouncedValue = useDebounce(internalValue, 120);
|
|
@@ -40,18 +40,35 @@ const useFieldType = (options) => {
|
|
|
40
40
|
else {
|
|
41
41
|
fieldToDispatch.valid = validationResult;
|
|
42
42
|
}
|
|
43
|
-
dispatchFields
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
if (typeof dispatchFields === 'function') {
|
|
44
|
+
dispatchFields(fieldToDispatch);
|
|
45
|
+
}
|
|
46
|
+
}, [
|
|
47
|
+
path,
|
|
48
|
+
dispatchFields,
|
|
49
|
+
validate,
|
|
50
|
+
disableFormData,
|
|
51
|
+
ignoreWhileFlattening,
|
|
52
|
+
initialValue,
|
|
53
|
+
stringify,
|
|
54
|
+
condition
|
|
55
|
+
]);
|
|
56
|
+
// Method to return from `useField`, used to
|
|
46
57
|
// update internal field values from field component(s)
|
|
47
58
|
// as fast as they arrive. NOTE - this method is NOT debounced
|
|
48
59
|
const setValue = useCallback((e, modifyForm = true) => {
|
|
49
60
|
const val = (e && e.target) ? e.target.value : e;
|
|
50
61
|
if ((!ignoreWhileFlattening && !modified) && modifyForm) {
|
|
51
|
-
setModified
|
|
62
|
+
if (typeof setModified === 'function') {
|
|
63
|
+
setModified(true);
|
|
64
|
+
}
|
|
52
65
|
}
|
|
53
66
|
setInternalValue(val);
|
|
54
|
-
}, [
|
|
67
|
+
}, [
|
|
68
|
+
setModified,
|
|
69
|
+
modified,
|
|
70
|
+
ignoreWhileFlattening
|
|
71
|
+
]);
|
|
55
72
|
useEffect(() => {
|
|
56
73
|
setInternalValue(initialValue);
|
|
57
74
|
}, [initialValue]);
|
|
@@ -63,7 +80,11 @@ const useFieldType = (options) => {
|
|
|
63
80
|
if ((field === null || field === void 0 ? void 0 : field.value) !== valueToSend && valueToSend !== undefined) {
|
|
64
81
|
sendField(valueToSend);
|
|
65
82
|
}
|
|
66
|
-
}, [
|
|
83
|
+
}, [
|
|
84
|
+
valueToSend,
|
|
85
|
+
sendField,
|
|
86
|
+
field
|
|
87
|
+
]);
|
|
67
88
|
return {
|
|
68
89
|
...options,
|
|
69
90
|
showError,
|
|
@@ -74,4 +95,4 @@ const useFieldType = (options) => {
|
|
|
74
95
|
setValue,
|
|
75
96
|
};
|
|
76
97
|
};
|
|
77
|
-
export default
|
|
98
|
+
export default useField;
|
|
File without changes
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useMemo, useState, useEffect } from 'react';
|
|
2
2
|
import { v4 as uuidv4 } from 'uuid';
|
|
3
|
-
import
|
|
3
|
+
import useField from '../../../../forms/useField';
|
|
4
4
|
import Label from '../../../../forms/Label';
|
|
5
5
|
import CopyToClipboard from '../../../../elements/CopyToClipboard';
|
|
6
6
|
import { text } from '../../../../../../fields/validations';
|
|
@@ -18,7 +18,7 @@ const APIKey = () => {
|
|
|
18
18
|
const APIKeyLabel = useMemo(() => (React.createElement("div", { className: `${baseClass}__label` },
|
|
19
19
|
React.createElement("span", null, "API Key"),
|
|
20
20
|
React.createElement(CopyToClipboard, { value: apiKeyValue }))), [apiKeyValue]);
|
|
21
|
-
const fieldType =
|
|
21
|
+
const fieldType = useField({
|
|
22
22
|
path: 'apiKey',
|
|
23
23
|
validate,
|
|
24
24
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useState, useRef, useEffect, useCallback, } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import useField from '../../../../forms/useField';
|
|
3
3
|
import Button from '../../../../elements/Button';
|
|
4
4
|
import FileDetails from '../../../../elements/FileDetails';
|
|
5
5
|
import Error from '../../../../forms/Error';
|
|
@@ -26,7 +26,7 @@ const Upload = (props) => {
|
|
|
26
26
|
const [replacingFile, setReplacingFile] = useState(false);
|
|
27
27
|
const { data = {}, collection, } = props;
|
|
28
28
|
const { filename } = data;
|
|
29
|
-
const { value, setValue, showError, errorMessage, } =
|
|
29
|
+
const { value, setValue, showError, errorMessage, } = useField({
|
|
30
30
|
path: 'file',
|
|
31
31
|
validate,
|
|
32
32
|
});
|
|
@@ -2,7 +2,7 @@ import { SanitizedCollectionConfig, PaginatedDocs } from '../../../../../collect
|
|
|
2
2
|
import { Column } from '../../../elements/Table/types';
|
|
3
3
|
export declare type Props = {
|
|
4
4
|
collection: SanitizedCollectionConfig;
|
|
5
|
-
data: PaginatedDocs
|
|
5
|
+
data: PaginatedDocs<any>;
|
|
6
6
|
newDocumentURL: string;
|
|
7
7
|
setListControls: (controls: unknown) => void;
|
|
8
8
|
setSort: (sort: string) => void;
|
|
@@ -3,5 +3,5 @@ import { PayloadRequest } from '../express/types';
|
|
|
3
3
|
declare const getExecuteStaticAccess: ({ config, Model }: {
|
|
4
4
|
config: any;
|
|
5
5
|
Model: any;
|
|
6
|
-
}) => (req: PayloadRequest, res: Response, next: NextFunction) => Promise<void
|
|
6
|
+
}) => (req: PayloadRequest, res: Response, next: NextFunction) => Promise<void | Response<any, Record<string, any>>>;
|
|
7
7
|
export default getExecuteStaticAccess;
|
|
@@ -6,6 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const executeAccess_1 = __importDefault(require("./executeAccess"));
|
|
7
7
|
const errors_1 = require("../errors");
|
|
8
8
|
const getExecuteStaticAccess = ({ config, Model }) => async (req, res, next) => {
|
|
9
|
+
if (req.method === 'OPTIONS') {
|
|
10
|
+
return res.sendStatus(200);
|
|
11
|
+
}
|
|
9
12
|
try {
|
|
10
13
|
if (req.path) {
|
|
11
14
|
const accessResult = await (0, executeAccess_1.default)({ req, isReadingStaticFile: true }, config.access.read);
|
|
@@ -15,14 +18,27 @@ const getExecuteStaticAccess = ({ config, Model }) => async (req, res, next) =>
|
|
|
15
18
|
where: {
|
|
16
19
|
and: [
|
|
17
20
|
{
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
or: [
|
|
22
|
+
{
|
|
23
|
+
filename: {
|
|
24
|
+
equals: filename,
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
],
|
|
21
28
|
},
|
|
22
29
|
accessResult,
|
|
23
30
|
],
|
|
24
31
|
},
|
|
25
32
|
};
|
|
33
|
+
if (config.upload.imageSizes) {
|
|
34
|
+
config.upload.imageSizes.forEach(({ name }) => {
|
|
35
|
+
queryToBuild.where.and[0].or.push({
|
|
36
|
+
[`sizes.${name}.filename`]: {
|
|
37
|
+
equals: filename,
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
26
42
|
const query = await Model.buildQuery(queryToBuild, req.locale);
|
|
27
43
|
const doc = await Model.findOne(query);
|
|
28
44
|
if (!doc) {
|
|
@@ -37,4 +53,4 @@ const getExecuteStaticAccess = ({ config, Model }) => async (req, res, next) =>
|
|
|
37
53
|
}
|
|
38
54
|
};
|
|
39
55
|
exports.default = getExecuteStaticAccess;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RXhlY3V0ZVN0YXRpY0FjY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdXRoL2dldEV4ZWN1dGVTdGF0aWNBY2Nlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxvRUFBNEM7QUFDNUMsc0NBQXNDO0FBR3RDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQW1CLEVBQUUsR0FBYSxFQUFFLElBQWtCLEVBQUUsRUFBRTtJQUNySCxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO1FBQzVCLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUM1QjtJQUVELElBQUk7UUFDRixJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUU7WUFDWixNQUFNLFlBQVksR0FBRyxNQUFNLElBQUEsdUJBQWEsRUFBQyxFQUFFLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRWpHLElBQUksT0FBTyxZQUFZLEtBQUssUUFBUSxFQUFFO2dCQUNwQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBRTdELE1BQU0sWUFBWSxHQUFxQjtvQkFDckMsS0FBSyxFQUFFO3dCQUNMLEdBQUcsRUFBRTs0QkFDSDtnQ0FDRSxFQUFFLEVBQUU7b0NBQ0Y7d0NBQ0UsUUFBUSxFQUFFOzRDQUNSLE1BQU0sRUFBRSxRQUFRO3lDQUNqQjtxQ0FDRjtpQ0FDRjs2QkFDRjs0QkFDRCxZQUFZO3lCQUNiO3FCQUNGO2lCQUNGLENBQUM7Z0JBRUYsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtvQkFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO3dCQUM1QyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzRCQUNoQyxDQUFDLFNBQVMsSUFBSSxXQUFXLENBQUMsRUFBRTtnQ0FDMUIsTUFBTSxFQUFFLFFBQVE7NkJBQ2pCO3lCQUNGLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQztpQkFDSjtnQkFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDL0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUV2QyxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUNSLE1BQU0sSUFBSSxrQkFBUyxFQUFFLENBQUM7aUJBQ3ZCO2FBQ0Y7U0FDRjtRQUVELE9BQU8sSUFBSSxFQUFFLENBQUM7S0FDZjtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDcEI7QUFDSCxDQUFDLENBQUM7QUFFRixrQkFBZSxzQkFBc0IsQ0FBQyJ9
|
|
@@ -7,18 +7,16 @@ exports.generateTypes = void 0;
|
|
|
7
7
|
/* eslint-disable no-nested-ternary */
|
|
8
8
|
const fs_1 = __importDefault(require("fs"));
|
|
9
9
|
const json_schema_to_typescript_1 = require("json-schema-to-typescript");
|
|
10
|
+
const __1 = __importDefault(require(".."));
|
|
10
11
|
const types_1 = require("../fields/config/types");
|
|
11
12
|
const load_1 = __importDefault(require("../config/load"));
|
|
12
13
|
function getCollectionIDType(collections, slug) {
|
|
13
14
|
const matchedCollection = collections.find((collection) => collection.slug === slug);
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return 'number';
|
|
18
|
-
}
|
|
19
|
-
return 'string';
|
|
15
|
+
const customIdField = matchedCollection.fields.find((field) => 'name' in field && field.name === 'id');
|
|
16
|
+
if (customIdField && customIdField.type === 'number') {
|
|
17
|
+
return 'number';
|
|
20
18
|
}
|
|
21
|
-
return
|
|
19
|
+
return 'string';
|
|
22
20
|
}
|
|
23
21
|
function returnOptionEnums(options) {
|
|
24
22
|
return options.map((option) => {
|
|
@@ -285,6 +283,14 @@ function generateFieldTypes(config, fields) {
|
|
|
285
283
|
}
|
|
286
284
|
function entityToJsonSchema(config, entity) {
|
|
287
285
|
const title = 'label' in entity ? entity.label : entity.labels.singular;
|
|
286
|
+
const idField = { type: 'text', name: 'id', required: true };
|
|
287
|
+
const customIdField = entity.fields.find((field) => (0, types_1.fieldAffectsData)(field) && field.name === 'id');
|
|
288
|
+
if (customIdField) {
|
|
289
|
+
customIdField.required = true;
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
entity.fields.unshift(idField);
|
|
293
|
+
}
|
|
288
294
|
return {
|
|
289
295
|
title,
|
|
290
296
|
type: 'object',
|
|
@@ -309,13 +315,17 @@ function configToJsonSchema(config) {
|
|
|
309
315
|
}
|
|
310
316
|
function generateTypes() {
|
|
311
317
|
const config = (0, load_1.default)();
|
|
312
|
-
|
|
318
|
+
__1.default.logger.info('Compiling TS types for Collections and Globals...');
|
|
313
319
|
const jsonSchema = configToJsonSchema(config);
|
|
314
320
|
(0, json_schema_to_typescript_1.compile)(jsonSchema, 'Config', {
|
|
315
|
-
bannerComment: '// auto-generated by payload',
|
|
316
321
|
unreachableDefinitions: true,
|
|
322
|
+
bannerComment: '/* tslint:disable */\n/**\n* This file was automatically generated by Payload CMS.\n* DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,\n* and re-run `payload generate:types` to regenerate this file.\n*/',
|
|
323
|
+
style: {
|
|
324
|
+
singleQuote: true,
|
|
325
|
+
},
|
|
317
326
|
}).then((compiled) => {
|
|
318
327
|
fs_1.default.writeFileSync(config.typescript.outputFile, compiled);
|
|
328
|
+
__1.default.logger.info(`Types written to ${config.typescript.outputFile}`);
|
|
319
329
|
});
|
|
320
330
|
}
|
|
321
331
|
exports.generateTypes = generateTypes;
|
|
@@ -323,4 +333,4 @@ exports.generateTypes = generateTypes;
|
|
|
323
333
|
if (module.id === require.main.id) {
|
|
324
334
|
generateTypes();
|
|
325
335
|
}
|
|
326
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVUeXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vZ2VuZXJhdGVUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxzQ0FBc0M7QUFDdEMsNENBQW9CO0FBRXBCLHlFQUFvRDtBQUNwRCxrREFBeUU7QUFHekUsMERBQXdDO0FBR3hDLFNBQVMsbUJBQW1CLENBQUMsV0FBd0MsRUFBRSxJQUFJO0lBQ3pFLE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNyRixJQUFJLGlCQUFpQixFQUFFO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztRQUVqRyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUN4QyxPQUFPLFFBQVEsQ0FBQztTQUNqQjtRQUVELE9BQU8sUUFBUSxDQUFDO0tBQ2pCO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsT0FBaUI7SUFDMUMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDNUIsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksT0FBTyxJQUFJLE1BQU0sRUFBRTtZQUNuRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDckI7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLE1BQXVCLEVBQUUsTUFBZTtJQU1sRSxJQUFJLGFB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
|
|
336
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVUeXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vZ2VuZXJhdGVUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxzQ0FBc0M7QUFDdEMsNENBQW9CO0FBRXBCLHlFQUFvRDtBQUNwRCwyQ0FBeUI7QUFDekIsa0RBQTZGO0FBRzdGLDBEQUF3QztBQUd4QyxTQUFTLG1CQUFtQixDQUFDLFdBQXdDLEVBQUUsSUFBWTtJQUNqRixNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDckYsTUFBTSxhQUFhLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBRXZHLElBQUksYUFBYSxJQUFJLGFBQWEsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQ3BELE9BQU8sUUFBUSxDQUFDO0tBQ2pCO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsT0FBaUI7SUFDMUMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDNUIsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksT0FBTyxJQUFJLE1BQU0sRUFBRTtZQUNuRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDckI7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLE1BQXVCLEVBQUUsTUFBZTtJQU1sRSxJQUFJLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDdkIsSUFBSSxxQkFBcUIs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
|
|
@@ -16,36 +16,59 @@ export interface AuthCollectionModel extends CollectionModel {
|
|
|
16
16
|
resetPasswordExpiration: Date;
|
|
17
17
|
}
|
|
18
18
|
export declare type HookOperationType = 'create' | 'read' | 'update' | 'delete' | 'refresh' | 'login' | 'forgotPassword';
|
|
19
|
+
declare type CreateOrUpdateOperation = Extract<HookOperationType, 'create' | 'update'>;
|
|
19
20
|
export declare type BeforeOperationHook = (args: {
|
|
20
21
|
args?: any;
|
|
22
|
+
/**
|
|
23
|
+
* Hook operation being performed
|
|
24
|
+
*/
|
|
21
25
|
operation: HookOperationType;
|
|
22
26
|
}) => any;
|
|
23
|
-
export declare type BeforeValidateHook = (args: {
|
|
24
|
-
data?:
|
|
27
|
+
export declare type BeforeValidateHook<T extends TypeWithID = any> = (args: {
|
|
28
|
+
data?: Partial<T>;
|
|
25
29
|
req?: PayloadRequest;
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Hook operation being performed
|
|
32
|
+
*/
|
|
33
|
+
operation: CreateOrUpdateOperation;
|
|
34
|
+
/**
|
|
35
|
+
* Original document before change
|
|
36
|
+
*
|
|
37
|
+
* `undefined` on 'create' operation
|
|
38
|
+
*/
|
|
39
|
+
originalDoc?: T;
|
|
28
40
|
}) => any;
|
|
29
|
-
export declare type BeforeChangeHook = (args: {
|
|
30
|
-
data:
|
|
41
|
+
export declare type BeforeChangeHook<T extends TypeWithID = any> = (args: {
|
|
42
|
+
data: Partial<T>;
|
|
31
43
|
req: PayloadRequest;
|
|
32
|
-
|
|
33
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Hook operation being performed
|
|
46
|
+
*/
|
|
47
|
+
operation: CreateOrUpdateOperation;
|
|
48
|
+
/**
|
|
49
|
+
* Original document before change
|
|
50
|
+
*
|
|
51
|
+
* `undefined` on 'create' operation
|
|
52
|
+
*/
|
|
53
|
+
originalDoc?: T;
|
|
34
54
|
}) => any;
|
|
35
|
-
export declare type AfterChangeHook = (args: {
|
|
36
|
-
doc:
|
|
55
|
+
export declare type AfterChangeHook<T extends TypeWithID = any> = (args: {
|
|
56
|
+
doc: T;
|
|
37
57
|
req: PayloadRequest;
|
|
38
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Hook operation being performed
|
|
60
|
+
*/
|
|
61
|
+
operation: CreateOrUpdateOperation;
|
|
39
62
|
}) => any;
|
|
40
|
-
export declare type BeforeReadHook = (args: {
|
|
41
|
-
doc:
|
|
63
|
+
export declare type BeforeReadHook<T extends TypeWithID = any> = (args: {
|
|
64
|
+
doc: T;
|
|
42
65
|
req: PayloadRequest;
|
|
43
66
|
query: {
|
|
44
67
|
[key: string]: any;
|
|
45
68
|
};
|
|
46
69
|
}) => any;
|
|
47
|
-
export declare type AfterReadHook = (args: {
|
|
48
|
-
doc:
|
|
70
|
+
export declare type AfterReadHook<T extends TypeWithID = any> = (args: {
|
|
71
|
+
doc: T;
|
|
49
72
|
req: PayloadRequest;
|
|
50
73
|
query?: {
|
|
51
74
|
[key: string]: any;
|
|
@@ -55,10 +78,10 @@ export declare type BeforeDeleteHook = (args: {
|
|
|
55
78
|
req: PayloadRequest;
|
|
56
79
|
id: string;
|
|
57
80
|
}) => any;
|
|
58
|
-
export declare type AfterDeleteHook = (args: {
|
|
81
|
+
export declare type AfterDeleteHook<T extends TypeWithID = any> = (args: {
|
|
82
|
+
doc: T;
|
|
59
83
|
req: PayloadRequest;
|
|
60
84
|
id: string;
|
|
61
|
-
doc: any;
|
|
62
85
|
}) => any;
|
|
63
86
|
export declare type AfterErrorHook = (err: Error, res: unknown) => {
|
|
64
87
|
response: any;
|
|
@@ -67,39 +90,64 @@ export declare type AfterErrorHook = (err: Error, res: unknown) => {
|
|
|
67
90
|
export declare type BeforeLoginHook = (args: {
|
|
68
91
|
req: PayloadRequest;
|
|
69
92
|
}) => any;
|
|
70
|
-
export declare type AfterLoginHook = (args: {
|
|
93
|
+
export declare type AfterLoginHook<T extends TypeWithID = any> = (args: {
|
|
71
94
|
req: PayloadRequest;
|
|
72
|
-
doc:
|
|
95
|
+
doc: T;
|
|
73
96
|
token: string;
|
|
74
97
|
}) => any;
|
|
75
98
|
export declare type AfterForgotPasswordHook = (args: {
|
|
76
99
|
args?: any;
|
|
77
100
|
}) => any;
|
|
101
|
+
export declare type CollectionAdminOptions = {
|
|
102
|
+
/**
|
|
103
|
+
* Field to use as title in Edit view and first column in List view
|
|
104
|
+
*/
|
|
105
|
+
useAsTitle?: string;
|
|
106
|
+
/**
|
|
107
|
+
* Default columns to show in list view
|
|
108
|
+
*/
|
|
109
|
+
defaultColumns?: string[];
|
|
110
|
+
/**
|
|
111
|
+
* Custom description for collection
|
|
112
|
+
*/
|
|
113
|
+
description?: string | (() => string) | React.FC;
|
|
114
|
+
disableDuplicate?: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Custom admin components
|
|
117
|
+
*/
|
|
118
|
+
components?: {
|
|
119
|
+
views?: {
|
|
120
|
+
Edit?: React.ComponentType;
|
|
121
|
+
List?: React.ComponentType;
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
pagination?: {
|
|
125
|
+
defaultLimit?: number;
|
|
126
|
+
limits?: number[];
|
|
127
|
+
};
|
|
128
|
+
enableRichTextRelationship?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Function to generate custom preview URL
|
|
131
|
+
*/
|
|
132
|
+
preview?: GeneratePreviewURL;
|
|
133
|
+
};
|
|
78
134
|
export declare type CollectionConfig = {
|
|
79
135
|
slug: string;
|
|
136
|
+
/**
|
|
137
|
+
* Label configuration
|
|
138
|
+
*/
|
|
80
139
|
labels?: {
|
|
81
140
|
singular?: string;
|
|
82
141
|
plural?: string;
|
|
83
142
|
};
|
|
84
143
|
fields: Field[];
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
Edit?: React.ComponentType;
|
|
93
|
-
List?: React.ComponentType;
|
|
94
|
-
};
|
|
95
|
-
};
|
|
96
|
-
pagination?: {
|
|
97
|
-
defaultLimit?: number;
|
|
98
|
-
limits?: number[];
|
|
99
|
-
};
|
|
100
|
-
enableRichTextRelationship?: boolean;
|
|
101
|
-
preview?: GeneratePreviewURL;
|
|
102
|
-
};
|
|
144
|
+
/**
|
|
145
|
+
* Collection admin options
|
|
146
|
+
*/
|
|
147
|
+
admin?: CollectionAdminOptions;
|
|
148
|
+
/**
|
|
149
|
+
* Hooks to modify Payload functionality
|
|
150
|
+
*/
|
|
103
151
|
hooks?: {
|
|
104
152
|
beforeOperation?: BeforeOperationHook[];
|
|
105
153
|
beforeValidate?: BeforeValidateHook[];
|
|
@@ -114,6 +162,9 @@ export declare type CollectionConfig = {
|
|
|
114
162
|
afterLogin?: AfterLoginHook[];
|
|
115
163
|
afterForgotPassword?: AfterForgotPasswordHook[];
|
|
116
164
|
};
|
|
165
|
+
/**
|
|
166
|
+
* Access control
|
|
167
|
+
*/
|
|
117
168
|
access?: {
|
|
118
169
|
create?: Access;
|
|
119
170
|
read?: Access;
|
|
@@ -122,7 +173,15 @@ export declare type CollectionConfig = {
|
|
|
122
173
|
admin?: Access;
|
|
123
174
|
unlock?: Access;
|
|
124
175
|
};
|
|
176
|
+
/**
|
|
177
|
+
* Collection login options
|
|
178
|
+
*
|
|
179
|
+
* Use `true` to enable with default options
|
|
180
|
+
*/
|
|
125
181
|
auth?: IncomingAuthType | boolean;
|
|
182
|
+
/**
|
|
183
|
+
* Upload options
|
|
184
|
+
*/
|
|
126
185
|
upload?: IncomingUploadType | boolean;
|
|
127
186
|
timestamps?: boolean;
|
|
128
187
|
};
|
|
@@ -139,8 +198,8 @@ export declare type AuthCollection = {
|
|
|
139
198
|
Model: AuthCollectionModel;
|
|
140
199
|
config: SanitizedCollectionConfig;
|
|
141
200
|
};
|
|
142
|
-
export declare type PaginatedDocs = {
|
|
143
|
-
docs:
|
|
201
|
+
export declare type PaginatedDocs<T extends TypeWithID = any> = {
|
|
202
|
+
docs: T[];
|
|
144
203
|
totalDocs: number;
|
|
145
204
|
limit: number;
|
|
146
205
|
totalPages: number;
|
|
@@ -151,3 +210,7 @@ export declare type PaginatedDocs = {
|
|
|
151
210
|
prevPage: number | null;
|
|
152
211
|
nextPage: number | null;
|
|
153
212
|
};
|
|
213
|
+
export declare type TypeWithID = {
|
|
214
|
+
id: string | number;
|
|
215
|
+
};
|
|
216
|
+
export {};
|
|
@@ -10,6 +10,7 @@ export declare type Arguments = {
|
|
|
10
10
|
overrideAccess?: boolean;
|
|
11
11
|
showHiddenFields?: boolean;
|
|
12
12
|
data: Record<string, unknown>;
|
|
13
|
+
overwriteExistingFiles?: boolean;
|
|
13
14
|
};
|
|
14
15
|
declare function create(this: Payload, incomingArgs: Arguments): Promise<Document>;
|
|
15
16
|
export default create;
|