payload 0.15.3 → 0.15.4
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 +21 -0
- package/dist/admin/components/elements/WhereBuilder/field-types.d.ts +2 -2
- package/dist/admin/components/elements/WhereBuilder/field-types.js +11 -7
- package/dist/admin/components/forms/DraggableSection/index.js +2 -3
- package/dist/admin/components/forms/Form/buildStateFromSchema.d.ts +10 -1
- package/dist/admin/components/forms/Form/buildStateFromSchema.js +14 -6
- package/dist/admin/components/forms/Form/getDataByPath.js +6 -11
- package/dist/admin/components/forms/Form/getSiblingData.js +12 -14
- package/dist/admin/components/forms/Form/index.js +23 -6
- package/dist/admin/components/forms/Form/reduceFieldsToValues.d.ts +1 -1
- package/dist/admin/components/forms/Form/reduceFieldsToValues.js +1 -2
- package/dist/admin/components/forms/Form/types.d.ts +3 -2
- package/dist/admin/components/forms/RenderFields/index.d.ts +1 -2
- package/dist/admin/components/forms/RenderFields/index.js +6 -16
- package/dist/admin/components/forms/RenderFields/types.d.ts +0 -5
- package/dist/admin/components/forms/field-types/Array/Array.js +18 -9
- package/dist/admin/components/forms/field-types/Blocks/Blocks.js +21 -15
- package/dist/admin/components/forms/field-types/Checkbox/index.js +3 -4
- package/dist/admin/components/forms/field-types/Code/Code.js +4 -5
- package/dist/admin/components/forms/field-types/DateTime/index.js +2 -3
- package/dist/admin/components/forms/field-types/Email/index.js +2 -3
- package/dist/admin/components/forms/field-types/Number/index.js +3 -4
- package/dist/admin/components/forms/field-types/Password/index.js +2 -2
- package/dist/admin/components/forms/field-types/Point/index.js +2 -3
- package/dist/admin/components/forms/field-types/RadioGroup/index.js +3 -4
- package/dist/admin/components/forms/field-types/Relationship/index.js +49 -17
- package/dist/admin/components/forms/field-types/RichText/RichText.js +3 -4
- package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/EditModal/index.js +4 -2
- package/dist/admin/components/forms/field-types/Row/index.js +7 -2
- package/dist/admin/components/forms/field-types/Select/index.js +4 -5
- package/dist/admin/components/forms/field-types/Text/index.js +6 -3
- package/dist/admin/components/forms/field-types/Textarea/index.js +4 -5
- package/dist/admin/components/forms/field-types/Upload/Add/index.js +1 -1
- package/dist/admin/components/forms/field-types/Upload/Input.d.ts +2 -1
- package/dist/admin/components/forms/field-types/Upload/Input.js +3 -1
- package/dist/admin/components/forms/field-types/Upload/SelectExisting/index.js +27 -4
- package/dist/admin/components/forms/field-types/Upload/SelectExisting/types.d.ts +3 -0
- package/dist/admin/components/forms/field-types/Upload/index.js +4 -5
- package/dist/admin/components/forms/field-types/getFilterOptionsQuery.d.ts +5 -0
- package/dist/admin/components/forms/field-types/getFilterOptionsQuery.js +11 -0
- package/dist/admin/components/forms/useField/index.js +39 -8
- package/dist/admin/components/utilities/OperationProvider/index.d.ts +4 -0
- package/dist/admin/components/utilities/OperationProvider/index.js +3 -0
- package/dist/admin/components/views/Account/Default.js +41 -39
- package/dist/admin/components/views/Account/index.js +4 -2
- package/dist/admin/components/views/CreateFirstUser/index.js +1 -1
- package/dist/admin/components/views/Global/Default.js +45 -43
- package/dist/admin/components/views/Global/index.js +5 -5
- package/dist/admin/components/views/collections/Edit/Auth/APIKey.js +1 -1
- package/dist/admin/components/views/collections/Edit/Default.js +55 -53
- package/dist/admin/components/views/collections/Edit/index.js +5 -5
- package/dist/collections/tests/pointField.spec.js +26 -15
- package/dist/collections/tests/relationships.spec.js +21 -1
- package/dist/config/load.d.ts +3 -1
- package/dist/config/load.js +5 -3
- package/dist/config/types.d.ts +3 -0
- package/dist/config/types.js +1 -1
- package/dist/config/validate.d.ts +2 -1
- package/dist/config/validate.js +2 -4
- package/dist/email/build.d.ts +2 -1
- package/dist/email/build.js +7 -9
- package/dist/express/middleware/errorHandler.spec.js +2 -2
- package/dist/fields/config/sanitize.js +2 -2
- package/dist/fields/config/schema.js +3 -1
- package/dist/fields/config/types.d.ts +25 -1
- package/dist/fields/config/types.js +1 -1
- package/dist/fields/performFieldOperations.js +3 -3
- package/dist/fields/traverseFields.js +15 -5
- package/dist/fields/validationPromise.d.ts +10 -3
- package/dist/fields/validationPromise.js +16 -5
- package/dist/fields/validations.d.ts +33 -35
- package/dist/fields/validations.js +130 -76
- package/dist/fields/validations.spec.js +115 -43
- package/dist/graphql/schema/fieldToSchemaMap.js +7 -7
- package/dist/index.d.ts +2 -2
- package/dist/index.js +5 -5
- package/dist/mongoose/buildQuery.js +2 -2
- package/dist/mongoose/connect.d.ts +2 -1
- package/dist/mongoose/connect.js +2 -4
- package/dist/mongoose/sanitizeFormattedValue.js +12 -3
- package/dist/utilities/logger.d.ts +1 -1
- package/dist/utilities/logger.js +10 -6
- package/dist/webpack/getBaseConfig.js +2 -1
- package/docs/fields/overview.mdx +39 -3
- package/docs/fields/relationship.mdx +45 -0
- package/docs/fields/upload.mdx +1 -0
- package/docs/getting-started/installation.mdx +14 -10
- package/docs/queries/overview.mdx +2 -1
- package/package.json +1 -1
|
@@ -11,7 +11,7 @@ const combineMerge_1 = require("../utilities/combineMerge");
|
|
|
11
11
|
const getSchemaTypeOptions_1 = require("./getSchemaTypeOptions");
|
|
12
12
|
const operatorMap_1 = require("./operatorMap");
|
|
13
13
|
const sanitizeFormattedValue_1 = require("./sanitizeFormattedValue");
|
|
14
|
-
const validOperators = ['like', 'in', 'all', 'not_in', 'greater_than_equal', 'greater_than', 'less_than_equal', 'less_than', 'not_equals', 'equals', 'exists', 'near'];
|
|
14
|
+
const validOperators = ['like', 'contains', 'in', 'all', 'not_in', 'greater_than_equal', 'greater_than', 'less_than_equal', 'less_than', 'not_equals', 'equals', 'exists', 'near'];
|
|
15
15
|
const subQueryOptions = {
|
|
16
16
|
limit: 50,
|
|
17
17
|
lean: true,
|
|
@@ -285,4 +285,4 @@ function buildQueryPlugin(schema) {
|
|
|
285
285
|
modifiedSchema.statics.buildQuery = buildQuery;
|
|
286
286
|
}
|
|
287
287
|
exports.default = buildQueryPlugin;
|
|
288
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRRdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb25nb29zZS9idWlsZFF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUNBQXFDO0FBQ3JDLHlDQUF5QztBQUN6QywwREFBa0M7QUFDbEMsd0RBQWlEO0FBQ2pELDREQUF5RDtBQUV6RCxpRUFBOEQ7QUFDOUQsK0NBQTRDO0FBQzVDLHFFQUE4RDtBQUU5RCxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRXZLLE1BQU0sZUFBZSxHQUFHO0lBQ3RCLEtBQUssRUFBRSxFQUFFO0lBQ1QsSUFBSSxFQUFFLElBQUk7Q0FDWCxDQUFDO0FBcUJGLE1BQU0sV0FBVztJQWNmLFlBQVksS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFjO1FBQzFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLFlBQVksRUFBRSxFQUFFO1lBQ2hCLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQztJQUNKLENBQUM7SUFFRCx1Q0FBdUM7SUFFdkMsS0FBSyxDQUFDLEtBQUs7UUFDVCxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUU7WUFDdEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElB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
|
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRRdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb25nb29zZS9idWlsZFF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUNBQXFDO0FBQ3JDLHlDQUF5QztBQUN6QywwREFBa0M7QUFDbEMsd0RBQWlEO0FBQ2pELDREQUF5RDtBQUV6RCxpRUFBOEQ7QUFDOUQsK0NBQTRDO0FBQzVDLHFFQUE4RDtBQUU5RCxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUVuTCxNQUFNLGVBQWUsR0FBRztJQUN0QixLQUFLLEVBQUUsRUFBRTtJQUNULElBQUksRUFBRSxJQUFJO0NBQ1gsQ0FBQztBQXFCRixNQUFNLFdBQVc7SUFjZixZQUFZLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBYztRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxZQUFZLEVBQUUsRUFBRTtZQUNoQixJQUFJLEVBQUUsS0FBSztTQUNaLENBQUM7SUFDSixDQUFDO0lBRUQsdUNBQXVDO0lBRXZDLEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxFQUFFO1lBQ3RDLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElB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
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { ConnectOptions } from 'mongoose';
|
|
2
|
-
|
|
2
|
+
import pino from 'pino';
|
|
3
|
+
declare const connectMongoose: (url: string, options: ConnectOptions, local: boolean, logger: pino.Logger) => Promise<void>;
|
|
3
4
|
export default connectMongoose;
|
package/dist/mongoose/connect.js
CHANGED
|
@@ -4,10 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const mongoose_1 = __importDefault(require("mongoose"));
|
|
7
|
-
const logger_1 = __importDefault(require("../utilities/logger"));
|
|
8
7
|
const testCredentials_1 = require("./testCredentials");
|
|
9
|
-
const
|
|
10
|
-
const connectMongoose = async (url, options, local) => {
|
|
8
|
+
const connectMongoose = async (url, options, local, logger) => {
|
|
11
9
|
let urlToConnect = url;
|
|
12
10
|
let successfulConnectionMessage = 'Connected to Mongo server successfully!';
|
|
13
11
|
const connectionOptions = {
|
|
@@ -43,4 +41,4 @@ const connectMongoose = async (url, options, local) => {
|
|
|
43
41
|
}
|
|
44
42
|
};
|
|
45
43
|
exports.default = connectMongoose;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb25nb29zZS9jb25uZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0RBQW9EO0FBRXBELHVEQUErQztBQUUvQyxNQUFNLGVBQWUsR0FBRyxLQUFLLEVBQzNCLEdBQVcsRUFDWCxPQUF1QixFQUN2QixLQUFjLEVBQ2QsTUFBbUIsRUFDSixFQUFFO0lBQ2pCLElBQUksWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUN2QixJQUFJLDJCQUEyQixHQUFHLHlDQUF5QyxDQUFDO0lBQzVFLE1BQU0saUJBQWlCLEdBQUc7UUFDeEIsR0FBRyxPQUFPO1FBQ1YsZUFBZSxFQUFFLElBQUk7UUFDckIsU0FBUyxFQUFFLElBQUk7S0FDaEIsQ0FBQztJQUVGLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssTUFBTSxFQUFFO1FBQ25DLElBQUksS0FBSyxFQUFFO1lBQ1QsWUFBWSxHQUFHLEdBQUcsNEJBQVUsQ0FBQyxHQUFHLElBQUksNEJBQVUsQ0FBQyxJQUFJLElBQUksNEJBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxRTthQUFNO1lBQ0wsaUJBQWlCLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQztZQUMzQyw4RUFBOEU7WUFDOUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDL0QsTUFBTSxLQUFLLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7Z0JBQzNDLFFBQVEsRUFBRTtvQkFDUixNQUFNLEVBQUUsNEJBQVUsQ0FBQyxJQUFJO29CQUN2QixJQUFJLEVBQUUsNEJBQVUsQ0FBQyxJQUFJO2lCQUN0QjthQUNGLENBQUMsQ0FBQztZQUVILFlBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUIsMkJBQTJCLEdBQUcsbURBQW1ELENBQUM7U0FDbkY7S0FDRjtJQUdELElBQUk7UUFDRixNQUFNLGtCQUFRLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQztLQUMxQztJQUFDLE9BQU8sR0FBRyxFQUFFO1FBQ1osTUFBTSxDQUFDLEtBQUssQ0FBQyw4Q0FBOEMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7QUFDSCxDQUFDLENBQUM7QUFFRixrQkFBZSxlQUFlLENBQUMifQ==
|
|
@@ -82,8 +82,17 @@ const sanitizeQueryValue = (schemaType, path, operator, val) => {
|
|
|
82
82
|
}, []);
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
if (
|
|
86
|
-
|
|
85
|
+
if (path !== '_id') {
|
|
86
|
+
if (operator === 'contains') {
|
|
87
|
+
formattedValue = { $regex: formattedValue, $options: 'i' };
|
|
88
|
+
}
|
|
89
|
+
if (operator === 'like' && typeof formattedValue === 'string') {
|
|
90
|
+
const words = formattedValue.split(' ');
|
|
91
|
+
const regex = words.reduce((pattern, word, i) => {
|
|
92
|
+
return `${pattern}(?=.*\\b${word}\\b)${i + 1 === words.length ? '.+' : ''}`;
|
|
93
|
+
}, '');
|
|
94
|
+
formattedValue = { $regex: new RegExp(regex), $options: 'i' };
|
|
95
|
+
}
|
|
87
96
|
}
|
|
88
97
|
if (operator === 'exists') {
|
|
89
98
|
formattedValue = (formattedValue === 'true' || formattedValue === true);
|
|
@@ -91,4 +100,4 @@ const sanitizeQueryValue = (schemaType, path, operator, val) => {
|
|
|
91
100
|
return formattedValue;
|
|
92
101
|
};
|
|
93
102
|
exports.sanitizeQueryValue = sanitizeQueryValue;
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemVGb3JtYXR0ZWRWYWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb25nb29zZS9zYW5pdGl6ZUZvcm1hdHRlZFZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHdEQUFnRDtBQUNoRCxxRkFBa0Y7QUFDbEYsaUVBQThEO0FBRXZELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxVQUFzQixFQUFFLElBQVksRUFBRSxRQUFnQixFQUFFLEdBQVEsRUFBVyxFQUFFO0lBQzlHLElBQUksY0FBYyxHQUFHLEdBQUcsQ0FBQztJQUN6QixNQUFNLGFBQWEsR0FBRyxJQUFBLDJDQUFvQixFQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXZELHlCQUF5QjtJQUV6QixJQUFJLElBQUksS0FBSyxLQUFLLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUM1RSxJQUFJLENBQUEsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLFFBQVEsTUFBSyxVQUFVLEVBQUU7WUFDdkMsTUFBTSxPQUFPLEdBQUcsa0JBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUVyRCxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNaLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1NBQ0Y7UUFFRCxJQUFJLENBQUEsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLFFBQVEsTUFBSyxRQUFRLEVBQUU7WUFDckMsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXJDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDOUIsT0FBTyxTQUFTLENBQUM7YUFDbEI7U0FDRjtLQUNGO0lBRUQsa0RBQWtEO0lBRWxELElBQUksQ0FBQSxV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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import pino from 'pino';
|
|
2
2
|
export declare type PayloadLogger = pino.Logger;
|
|
3
|
-
declare const _default: import("micro-memoize").MicroMemoize.Memoized<(name?: string) => pino.Logger>;
|
|
3
|
+
declare const _default: import("micro-memoize").MicroMemoize.Memoized<(name?: string, options?: pino.LoggerOptions) => pino.Logger>;
|
|
4
4
|
export default _default;
|
package/dist/utilities/logger.js
CHANGED
|
@@ -6,12 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const falsey_1 = __importDefault(require("falsey"));
|
|
7
7
|
const pino_1 = __importDefault(require("pino"));
|
|
8
8
|
const micro_memoize_1 = __importDefault(require("micro-memoize"));
|
|
9
|
-
exports.default = (0, micro_memoize_1.default)((name = 'payload') => (0, pino_1.default)({
|
|
9
|
+
exports.default = (0, micro_memoize_1.default)((name = 'payload', options) => (0, pino_1.default)({
|
|
10
10
|
name,
|
|
11
11
|
enabled: (0, falsey_1.default)(process.env.DISABLE_LOGGING),
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
...(options
|
|
13
|
+
? { options }
|
|
14
|
+
: {
|
|
15
|
+
prettyPrint: {
|
|
16
|
+
ignore: 'pid,hostname',
|
|
17
|
+
translateTime: 'HH:MM:ss',
|
|
18
|
+
},
|
|
19
|
+
}),
|
|
16
20
|
}));
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsZ0RBQXdCO0FBQ3hCLGtFQUFvQztBQUlwQyxrQkFBZSxJQUFBLHVCQUFPLEVBQ3BCLENBQUMsSUFBSSxHQUFHLFNBQVMsRUFBRSxPQUE0QixFQUFFLEVBQUUsQ0FBQyxJQUFBLGNBQUksRUFBQztJQUN2RCxJQUFJO0lBQ0osT0FBTyxFQUFFLElBQUEsZ0JBQU0sRUFBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQztJQUM1QyxHQUFHLENBQUMsT0FBTztRQUNULENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRTtRQUNiLENBQUMsQ0FBQztZQUNBLFdBQVcsRUFBRTtnQkFDWCxNQUFNLEVBQUUsY0FBYztnQkFDdEIsYUFBYSxFQUFFLFVBQVU7YUFDMUI7U0FDRixDQUFDO0NBQ0wsQ0FBa0IsQ0FDcEIsQ0FBQyJ9
|
|
@@ -58,6 +58,7 @@ exports.default = (config) => ({
|
|
|
58
58
|
'payload-user-css': config.admin.css,
|
|
59
59
|
'payload-scss-overrides': config.admin.scss,
|
|
60
60
|
dotenv: mockDotENVPath,
|
|
61
|
+
[path_1.default.resolve(__dirname, '../index')]: mockModulePath,
|
|
61
62
|
},
|
|
62
63
|
extensions: ['.ts', '.tsx', '.js', '.json'],
|
|
63
64
|
},
|
|
@@ -79,4 +80,4 @@ exports.default = (config) => ({
|
|
|
79
80
|
new webpack_1.default.HotModuleReplacementPlugin(),
|
|
80
81
|
],
|
|
81
82
|
});
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QmFzZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93ZWJwYWNrL2dldEJhc2VDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnREFBd0I7QUFDeEIsOEVBQW9EO0FBQ3BELHNEQUFpRDtBQUVqRCxtRUFBMEM7QUFFMUMsTUFBTSxjQUFjLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztBQUN6RSxNQUFNLGNBQWMsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBRXBFLGtCQUFlLENBQUMsTUFBdUIsRUFBaUIsRUFBRSxDQUFDLENBQUM7SUFDMUQsS0FBSyxFQUFFO1FBQ0wsSUFBSSxFQUFFO1lBQ0osY0FBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDO1NBQ3BDO0tBQ0Y7SUFDRCxhQUFhLEVBQUU7UUFDYixPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztLQUN0RTtJQUNELE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRTtZQUNMO2dCQUNFLElBQUksRUFBRSxhQUFhO2dCQUNuQixPQUFPLEVBQUUsdURBQXVEO2dCQUNoRSxHQUFHLEVBQUU7b0JBQ0g7d0JBQ0UsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO3dCQUN2QyxPQUFPLEVBQUUsc0JBQVc7cUJBQ3JCO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxLQUFLLEVBQUU7b0JBQ0w7d0JBQ0UsSUFBSSxFQUFFLDhCQUE4Qjt3QkFDcEMsSUFBSSxFQUFFLGdCQUFnQjtxQkFDdkI7b0JBQ0Q7d0JBQ0UsSUFBSSxFQUFFLGdDQUFnQzt3QkFDdEMsSUFBSSxFQUFFLGNBQWM7cUJBQ3JCO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7WUFDeEMsTUFBTSxFQUFFLEtBQUs7WUFDYixLQUFLLEVBQUUsS0FBSztZQUNaLElBQUksRUFBRSxLQUFLO1NBQ1o7UUFDRCxPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUN4RSxLQUFLLEVBQUU7WUFDTCxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU07WUFDckMsUUFBUSxFQUFFLGNBQWM7WUFDeEIsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHO1lBQ3BDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUMzQyxNQUFNLEVBQUUsY0FBYztZQUN0QixDQUFDLGNBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsY0FBYztTQUN0RDtRQUNELFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQztLQUM1QztJQUNELE9BQU8sRUFBRTtRQUNQLElBQUksaUJBQU8sQ0FBQyxhQUFhLENBQ3ZCLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLENBQy9CO1FBQ0QsSUFBSSxpQkFBTyxDQUFDLFlBQVksQ0FDdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUNoQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFO1lBQ3JCLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEMsT0FBTyxDQUFDO29CQUNOLEdBQUcsTUFBTTtvQkFDVCxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEdBQUcsR0FBRztpQkFDbkMsQ0FBQyxDQUFDO2FBQ0o7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLEVBQ0QsRUFBRSxDQUNILENBQ0Y7UUFDRCxJQUFJLDZCQUFpQixDQUFDO1lBQ3BCLFFBQVEsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVM7WUFDaEMsUUFBUSxFQUFFLGNBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDO1NBQ3pDLENBQUM7UUFDRixJQUFJLGlCQUFPLENBQUMsMEJBQTBCLEVBQUU7S0FDekM7Q0FDRixDQUFDLENBQUMifQ==
|
package/docs/fields/overview.mdx
CHANGED
|
@@ -62,7 +62,19 @@ In addition to being able to define access control on a document-level, you can
|
|
|
62
62
|
|
|
63
63
|
### Validation
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
Field validation is enforced automatically based on the field type and other properties such as `required` or `min` and `max` value constraints on certain field types. This default behavior can be replaced by providing your own validate function for any field. It will be used on both the frontend and the backend, so it should not rely on any Node-specific packages. The validation function can be either synchronous or asynchronous and expects to return either `true` or a string error message to display in both API responses and within the Admin panel.
|
|
66
|
+
|
|
67
|
+
There are two arguments available to custom validation functions.
|
|
68
|
+
1. The value which is currently assigned to the field
|
|
69
|
+
2. An optional object with dynamic properties for more complex validation having the following:
|
|
70
|
+
|
|
71
|
+
| Property | Description |
|
|
72
|
+
| ------------- | -------------|
|
|
73
|
+
| `data` | An object of the full collection or global document |
|
|
74
|
+
| `siblingData` | An object of the document data limited to fields within the same parent to the field |
|
|
75
|
+
| `operation` | Will be "create" or "update" depending on the UI action or API call |
|
|
76
|
+
| `id` | The value of the collection `id`, will be `undefined` on create request |
|
|
77
|
+
| `user` | The currently authenticated user object |
|
|
66
78
|
|
|
67
79
|
Example:
|
|
68
80
|
```js
|
|
@@ -72,7 +84,11 @@ Example:
|
|
|
72
84
|
{
|
|
73
85
|
name: 'customerNumber',
|
|
74
86
|
type: 'text',
|
|
75
|
-
validate: async (val) => {
|
|
87
|
+
validate: async (val, { operation }) => {
|
|
88
|
+
if (operation !== 'create') {
|
|
89
|
+
// skip validation on update
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
76
92
|
const response = await fetch(`https://your-api.com/customers/${val}`);
|
|
77
93
|
if (response.ok) {
|
|
78
94
|
return true;
|
|
@@ -85,6 +101,26 @@ Example:
|
|
|
85
101
|
}
|
|
86
102
|
```
|
|
87
103
|
|
|
104
|
+
When supplying a field `validate` function, Payload will use yours in place of the default. To make use of the default field validation in your custom logic you can import, call and return the result as needed.
|
|
105
|
+
|
|
106
|
+
For example:
|
|
107
|
+
```js
|
|
108
|
+
import { text } from 'payload/fields/validations';
|
|
109
|
+
const field =
|
|
110
|
+
{
|
|
111
|
+
name: 'notBad',
|
|
112
|
+
type: 'text',
|
|
113
|
+
validate: (val, args) => {
|
|
114
|
+
if (value === 'bad') {
|
|
115
|
+
return 'This cannot be "bad"';
|
|
116
|
+
}
|
|
117
|
+
// highlight-start
|
|
118
|
+
return text(val, args);
|
|
119
|
+
// highlight-end
|
|
120
|
+
},
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
88
124
|
### Customizable ID
|
|
89
125
|
|
|
90
126
|
Collections ID fields are generated automatically by default. An explicit `id` field can be declared in the `fields` array to override this behavior.
|
|
@@ -198,7 +234,7 @@ A description can be configured three ways.
|
|
|
198
234
|
- As a function that accepts an object containing the field's value, which returns a string
|
|
199
235
|
- As a React component that accepts value as a prop
|
|
200
236
|
|
|
201
|
-
As shown above, you can simply provide a string that will show by the field, but there are use cases where you may want to create some dynamic feedback. By using a function or a component for the `description` property you can provide
|
|
237
|
+
As shown above, you can simply provide a string that will show by the field, but there are use cases where you may want to create some dynamic feedback. By using a function or a component for the `description` property you can provide realtime feedback as the user interacts with the form.
|
|
202
238
|
|
|
203
239
|
**Function Example:**
|
|
204
240
|
|
|
@@ -22,6 +22,7 @@ keywords: relationship, fields, config, configuration, documentation, Content Ma
|
|
|
22
22
|
| ---------------- | ----------- |
|
|
23
23
|
| **`name`** * | To be used as the property name when stored and retrieved from the database. |
|
|
24
24
|
| **`relationTo`** * | Provide one or many collection `slug`s to be able to assign relationships to. |
|
|
25
|
+
| **`filterOptions`** | A query to filter which options appear in the UI and validate against. [More](#filtering-relationship-options). |
|
|
25
26
|
| **`hasMany`** | Boolean when, if set to `true`, allows this field to have many relations instead of only one. |
|
|
26
27
|
| **`maxDepth`** | Sets a number limit on iterations of related documents to populate when queried. [Depth](/docs/getting-started/concepts#depth) |
|
|
27
28
|
| **`label`** | Used as a field label in the Admin panel and to name the generated GraphQL type. |
|
|
@@ -44,6 +45,50 @@ keywords: relationship, fields, config, configuration, documentation, Content Ma
|
|
|
44
45
|
The <a href="/docs/getting-started/concepts#depth">Depth</a> parameter can be used to automatically populate related documents that are returned by the API.
|
|
45
46
|
</Banner>
|
|
46
47
|
|
|
48
|
+
### Filtering relationship options
|
|
49
|
+
|
|
50
|
+
Options can be dynamically limited by supplying a [query constraint](/docs/queries/overview), which will be used both for validating input and filtering available relationships in the UI.
|
|
51
|
+
|
|
52
|
+
The `filterOptions` property can either be a `Where` query directly, or a function that returns one. When using a function, it will be called with an argument object with the following properties:
|
|
53
|
+
|
|
54
|
+
| Property | Description |
|
|
55
|
+
| ------------- | -------------|
|
|
56
|
+
| `relationTo` | The `relationTo` to filter against (as defined on the field) |
|
|
57
|
+
| `data` | An object of the full collection or global document currently being edited |
|
|
58
|
+
| `siblingData` | An object of the document data limited to fields within the same parent to the field |
|
|
59
|
+
| `id` | The value of the collection `id`, will be `undefined` on create request |
|
|
60
|
+
| `user` | The currently authenticated user object |
|
|
61
|
+
|
|
62
|
+
**Example:**
|
|
63
|
+
|
|
64
|
+
```js
|
|
65
|
+
const relationshipField = {
|
|
66
|
+
name: 'purchase',
|
|
67
|
+
type: 'relationship',
|
|
68
|
+
relationTo: ['products', 'services'],
|
|
69
|
+
filterOptions: ({ relationTo, siblingData }) => {
|
|
70
|
+
// returns a Where query dynamically by the type of relationship
|
|
71
|
+
if (relationTo === 'products') {
|
|
72
|
+
return {
|
|
73
|
+
'stock': { is_greater_than: siblingData.quantity }
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (relationTo === 'services') {
|
|
78
|
+
return {
|
|
79
|
+
'isAvailable': { equals: true }
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
You can learn more about writing queries [here](/docs/queries/overview).
|
|
87
|
+
|
|
88
|
+
<Banner type="warning">
|
|
89
|
+
When a relationship field has both <strong>filterOptions</strong> and a custom <strong>validate</strong> function, the server-side validation will not enforce <strong>filterOptions</strong>unless you call the default relationship field validation function imported from <strong>payload/fields/validations</strong> within your custom function.
|
|
90
|
+
</Banner>
|
|
91
|
+
|
|
47
92
|
### How the data is saved
|
|
48
93
|
|
|
49
94
|
Given the variety of options possible within the `relationship` field type, the shape of the data needed for creating and updating these fields can vary. The following sections will describe the variety of data shapes that can arise from this field.
|
package/docs/fields/upload.mdx
CHANGED
|
@@ -27,6 +27,7 @@ keywords: upload, images media, fields, config, configuration, documentation, Co
|
|
|
27
27
|
| ---------------- | ----------- |
|
|
28
28
|
| **`name`** * | To be used as the property name when stored and retrieved from the database. |
|
|
29
29
|
| **`*relationTo`** * | Provide a single collection `slug` to allow this field to accept a relation to. <strong>Note: the related collection must be configured to support Uploads.</strong> |
|
|
30
|
+
| **`filterOptions`** | A query to filter which options appear in the UI and validate against. [More](#filtering-relationship-options). |
|
|
30
31
|
| **`maxDepth`** | Sets a number limit on iterations of related documents to populate when queried. [Depth](/docs/getting-started/concepts#depth) |
|
|
31
32
|
| **`label`** | Used as a field label in the Admin panel and to name the generated GraphQL type. |
|
|
32
33
|
| **`unique`** | Enforce that each entry in the Collection has a unique value for this field. |
|
|
@@ -88,15 +88,19 @@ app.listen(3000, async () => {
|
|
|
88
88
|
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
-
|
|
91
|
+
Here is a list of all properties available to pass through `payload.init`:
|
|
92
|
+
|
|
93
|
+
##### `express`
|
|
94
|
+
|
|
95
|
+
**Required**. This is your Express app as shown above. Payload will tie into your existing `app` and scope all of its functionalities to sub-routers. By default, Payload will add an `/admin` router and an `/api` router, but you can customize these paths.
|
|
92
96
|
|
|
93
97
|
##### `secret`
|
|
94
98
|
|
|
95
|
-
This is a secure string that will be used to authenticate with Payload. It can be random but should be at least 14 characters and be very difficult to guess. Often, it's smart to store this value in an `env` and set different values for each of your environments (local, stage, prod, etc). The `dotenv` package is very handy and works well alongside of Payload.
|
|
99
|
+
**Required**. This is a secure string that will be used to authenticate with Payload. It can be random but should be at least 14 characters and be very difficult to guess. Often, it's smart to store this value in an `env` and set different values for each of your environments (local, stage, prod, etc). The `dotenv` package is very handy and works well alongside of Payload.
|
|
96
100
|
|
|
97
101
|
##### `mongoURL`
|
|
98
102
|
|
|
99
|
-
This is a fully qualified MongoDB connection string that points to your Mongo database. If you don't have Mongo installed locally, you can [follow these steps for Mac OSX](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/) and [these steps](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/) for Windows 10. If you want to use a local database and you know you have MongoDB installed locally, a typical connection string will look like this:
|
|
103
|
+
**Required**. This is a fully qualified MongoDB connection string that points to your Mongo database. If you don't have Mongo installed locally, you can [follow these steps for Mac OSX](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/) and [these steps](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/) for Windows 10. If you want to use a local database and you know you have MongoDB installed locally, a typical connection string will look like this:
|
|
100
104
|
|
|
101
105
|
`mongodb://localhost/payload`
|
|
102
106
|
|
|
@@ -104,11 +108,7 @@ In contrast to running Mongo locally, a popular option is to sign up for a free
|
|
|
104
108
|
|
|
105
109
|
##### `mongoOptions`
|
|
106
110
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
##### `express`
|
|
110
|
-
|
|
111
|
-
This is your Express app as shown above. Payload will tie into your existing `app` and scope all of its functionalities to sub-routers. By default, Payload will add an `/admin` router and an `/api` router, but you can customize these paths.
|
|
111
|
+
Customize Mongo connection options. Payload will connect to your MongoDB database using default options which you can override and extend to include all the [options](https://mongoosejs.com/docs/connections.html#options) available to mongoose.
|
|
112
112
|
|
|
113
113
|
##### `license`
|
|
114
114
|
|
|
@@ -116,15 +116,19 @@ Your Payload license key. Not needed for development purposes, but when it's tim
|
|
|
116
116
|
|
|
117
117
|
##### `email`
|
|
118
118
|
|
|
119
|
-
An
|
|
119
|
+
An object used to configure SMTP. [Read more](/docs/email/overview).
|
|
120
120
|
|
|
121
121
|
##### `local`
|
|
122
122
|
|
|
123
123
|
A boolean that when set to `true` tells Payload to start in local-only mode which will bypass setting up API routes. When set to `true`, `express` is not required. This is useful when running scripts that need to use Payload's [local-api](/docs/local-api/overview).
|
|
124
124
|
|
|
125
|
+
##### `loggerOptions`
|
|
126
|
+
|
|
127
|
+
Specify options for the built-in Pino logger that Payload uses for internal logging. See [Pino Docs](https://getpino.io/#/docs/api?id=options) for more info on what is available.
|
|
128
|
+
|
|
125
129
|
##### `onInit`
|
|
126
130
|
|
|
127
|
-
|
|
131
|
+
A function that is called immediately following startup that receives the Payload instance as it's only argument.
|
|
128
132
|
|
|
129
133
|
### Test it out
|
|
130
134
|
|
|
@@ -59,7 +59,8 @@ The above example demonstrates a simple query but you can get much more complex.
|
|
|
59
59
|
| `greater_than_equal` | For numeric or date-based fields. |
|
|
60
60
|
| `less_than` | For numeric or date-based fields. |
|
|
61
61
|
| `less_than_equal` | For numeric or date-based fields. |
|
|
62
|
-
| `like` |
|
|
62
|
+
| `like` | Case-insensitive string must be present. If string of words, all words must be present, in any order. |
|
|
63
|
+
| `contains` | Must contain the value entered, case-insensitive. |
|
|
63
64
|
| `in` | The value must be found within the provided comma-delimited list of values. |
|
|
64
65
|
| `not_in` | The value must NOT be within the provided comma-delimited list of values. |
|
|
65
66
|
| `exists` | Only return documents where the value either exists (`true`) or does not exist (`false`). |
|