payload 0.15.13 → 0.16.2

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 (131) hide show
  1. package/.eslintrc.js +2 -1
  2. package/CHANGELOG.md +33 -0
  3. package/dist/admin/components/elements/ReactSelect/types.d.ts +1 -1
  4. package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.d.ts +18 -0
  5. package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.js +158 -0
  6. package/dist/admin/components/forms/Form/{buildStateFromSchema.d.ts → buildStateFromSchema/index.d.ts} +4 -3
  7. package/dist/admin/components/forms/Form/buildStateFromSchema/index.js +25 -0
  8. package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.d.ts +18 -0
  9. package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.js +24 -0
  10. package/dist/admin/components/forms/Form/index.js +2 -6
  11. package/dist/admin/components/forms/RenderFields/index.js +1 -1
  12. package/dist/admin/components/forms/field-types/Array/Array.js +4 -2
  13. package/dist/admin/components/forms/field-types/Blocks/Blocks.js +4 -2
  14. package/dist/admin/components/forms/field-types/Relationship/index.js +3 -1
  15. package/dist/admin/components/forms/field-types/RichText/elements/upload/Element/EditModal/index.js +4 -2
  16. package/dist/admin/components/views/Account/index.js +2 -2
  17. package/dist/admin/components/views/Global/index.js +4 -4
  18. package/dist/admin/components/views/collections/Edit/index.js +7 -4
  19. package/dist/auth/operations/login.js +6 -8
  20. package/dist/collections/config/types.d.ts +1 -0
  21. package/dist/collections/operations/create.js +21 -20
  22. package/dist/collections/operations/delete.js +6 -7
  23. package/dist/collections/operations/find.js +8 -9
  24. package/dist/collections/operations/findByID.js +7 -9
  25. package/dist/collections/operations/findVersionByID.js +7 -9
  26. package/dist/collections/operations/findVersions.js +8 -10
  27. package/dist/collections/operations/restoreVersion.js +9 -13
  28. package/dist/collections/operations/update.js +26 -33
  29. package/dist/collections/tests/defaultValue.spec.d.ts +1 -0
  30. package/dist/collections/tests/defaultValue.spec.js +95 -0
  31. package/dist/collections/tests/hooks.spec.js +5 -1
  32. package/dist/fields/config/sanitize.d.ts +2 -1
  33. package/dist/fields/config/sanitize.js +5 -5
  34. package/dist/fields/config/sanitize.spec.js +30 -19
  35. package/dist/fields/config/schema.js +16 -15
  36. package/dist/fields/config/types.d.ts +8 -4
  37. package/dist/fields/config/types.js +6 -2
  38. package/dist/fields/getDefaultValue.d.ts +9 -0
  39. package/dist/fields/getDefaultValue.js +14 -0
  40. package/dist/fields/hooks/afterChange/index.d.ts +12 -0
  41. package/dist/fields/hooks/afterChange/index.js +26 -0
  42. package/dist/fields/hooks/afterChange/promise.d.ts +14 -0
  43. package/dist/fields/hooks/afterChange/promise.js +104 -0
  44. package/dist/fields/hooks/afterChange/traverseFields.d.ts +14 -0
  45. package/dist/fields/hooks/afterChange/traverseFields.js +20 -0
  46. package/dist/fields/hooks/afterRead/index.d.ts +16 -0
  47. package/dist/fields/hooks/afterRead/index.js +40 -0
  48. package/dist/fields/hooks/afterRead/promise.d.ts +18 -0
  49. package/dist/fields/hooks/afterRead/promise.js +225 -0
  50. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +13 -0
  51. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +84 -0
  52. package/dist/fields/hooks/afterRead/traverseFields.d.ts +18 -0
  53. package/dist/fields/hooks/afterRead/traverseFields.js +24 -0
  54. package/dist/fields/hooks/beforeChange/index.d.ts +16 -0
  55. package/dist/fields/hooks/beforeChange/index.js +40 -0
  56. package/dist/fields/hooks/beforeChange/promise.d.ts +25 -0
  57. package/dist/fields/hooks/beforeChange/promise.js +236 -0
  58. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +25 -0
  59. package/dist/fields/hooks/beforeChange/traverseFields.js +27 -0
  60. package/dist/fields/hooks/beforeValidate/index.d.ts +14 -0
  61. package/dist/fields/hooks/beforeValidate/index.js +28 -0
  62. package/dist/fields/hooks/beforeValidate/promise.d.ts +16 -0
  63. package/dist/fields/hooks/beforeValidate/promise.js +229 -0
  64. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +16 -0
  65. package/dist/fields/hooks/beforeValidate/traverseFields.js +22 -0
  66. package/dist/fields/richText/populate.d.ts +1 -3
  67. package/dist/fields/richText/populate.js +3 -3
  68. package/dist/fields/richText/recurseNestedFields.d.ts +1 -3
  69. package/dist/fields/richText/recurseNestedFields.js +7 -15
  70. package/dist/fields/richText/relationshipPromise.d.ts +6 -9
  71. package/dist/fields/richText/relationshipPromise.js +11 -15
  72. package/dist/fields/validations.js +3 -4
  73. package/dist/globals/config/types.d.ts +1 -0
  74. package/dist/globals/operations/findOne.js +11 -11
  75. package/dist/globals/operations/findVersionByID.js +5 -8
  76. package/dist/globals/operations/findVersions.js +7 -9
  77. package/dist/globals/operations/restoreVersion.js +12 -14
  78. package/dist/globals/operations/update.js +29 -33
  79. package/dist/graphql/schema/buildObjectType.js +3 -5
  80. package/dist/index.d.ts +0 -2
  81. package/dist/index.js +1 -3
  82. package/dist/localization/middleware.js +1 -2
  83. package/dist/mongoose/buildSchema.js +1 -2
  84. package/dist/uploads/mimeTypeValidator.js +4 -1
  85. package/dist/uploads/mimeTypeValidator.spec.js +7 -1
  86. package/dist/uploads/uploadFile.js +3 -2
  87. package/dist/versions/drafts/saveCollectionDraft.d.ts +1 -1
  88. package/dist/versions/drafts/saveCollectionDraft.js +1 -1
  89. package/dist/versions/ensurePublishedCollectionVersion.js +5 -7
  90. package/dist/versions/ensurePublishedGlobalVersion.js +5 -6
  91. package/dist/versions/saveCollectionVersion.js +6 -7
  92. package/dist/versions/saveGlobalVersion.js +7 -7
  93. package/dist/versions/tests/globals-graphql.spec.js +2 -2
  94. package/dist/webpack/getBaseConfig.js +1 -2
  95. package/docs/fields/array.mdx +1 -1
  96. package/docs/fields/blocks.mdx +1 -1
  97. package/docs/fields/checkbox.mdx +1 -1
  98. package/docs/fields/code.mdx +1 -1
  99. package/docs/fields/date.mdx +1 -1
  100. package/docs/fields/email.mdx +1 -1
  101. package/docs/fields/group.mdx +1 -1
  102. package/docs/fields/number.mdx +1 -1
  103. package/docs/fields/overview.mdx +37 -2
  104. package/docs/fields/point.mdx +1 -1
  105. package/docs/fields/radio.mdx +1 -1
  106. package/docs/fields/relationship.mdx +1 -1
  107. package/docs/fields/rich-text.mdx +1 -1
  108. package/docs/fields/select.mdx +1 -1
  109. package/docs/fields/text.mdx +1 -1
  110. package/docs/fields/textarea.mdx +1 -1
  111. package/docs/fields/upload.mdx +1 -1
  112. package/docs/hooks/collections.mdx +1 -0
  113. package/docs/hooks/fields.mdx +4 -3
  114. package/docs/hooks/globals.mdx +1 -0
  115. package/docs/production/preventing-abuse.mdx +16 -5
  116. package/docs/queries/overview.mdx +1 -1
  117. package/docs/rest-api/overview.mdx +1 -1
  118. package/package.json +4 -1
  119. package/dist/admin/components/forms/Form/buildStateFromSchema.js +0 -140
  120. package/dist/fields/accessPromise.d.ts +0 -22
  121. package/dist/fields/accessPromise.js +0 -39
  122. package/dist/fields/hookPromise.d.ts +0 -16
  123. package/dist/fields/hookPromise.js +0 -53
  124. package/dist/fields/performFieldOperations.d.ts +0 -25
  125. package/dist/fields/performFieldOperations.js +0 -86
  126. package/dist/fields/relationshipPopulationPromise.d.ts +0 -15
  127. package/dist/fields/relationshipPopulationPromise.js +0 -86
  128. package/dist/fields/traverseFields.d.ts +0 -40
  129. package/dist/fields/traverseFields.js +0 -329
  130. package/dist/fields/validationPromise.d.ts +0 -22
  131. package/dist/fields/validationPromise.js +0 -34
@@ -1,140 +0,0 @@
1
- import ObjectID from 'bson-objectid';
2
- import { fieldAffectsData, fieldIsPresentationalOnly, } from '../../../../fields/config/types';
3
- const buildValidationPromise = async (fieldState, options) => {
4
- const validatedFieldState = fieldState;
5
- let validationResult = true;
6
- if (typeof fieldState.validate === 'function') {
7
- validationResult = await fieldState.validate(fieldState.value, options);
8
- }
9
- if (typeof validationResult === 'string') {
10
- validatedFieldState.errorMessage = validationResult;
11
- validatedFieldState.valid = false;
12
- }
13
- else {
14
- validatedFieldState.valid = true;
15
- }
16
- };
17
- const buildStateFromSchema = async (args) => {
18
- const { fieldSchema, data: fullData = {}, user, id, operation, } = args;
19
- if (fieldSchema) {
20
- const validationPromises = [];
21
- const structureFieldState = (field, passesCondition, data = {}) => {
22
- var _a;
23
- const value = typeof (data === null || data === void 0 ? void 0 : data[field.name]) !== 'undefined' ? data[field.name] : field.defaultValue;
24
- const fieldState = {
25
- value,
26
- initialValue: value,
27
- valid: true,
28
- validate: field.validate,
29
- condition: (_a = field.admin) === null || _a === void 0 ? void 0 : _a.condition,
30
- passesCondition,
31
- };
32
- validationPromises.push(buildValidationPromise(fieldState, {
33
- ...field,
34
- fullData,
35
- user,
36
- siblingData: data,
37
- id,
38
- operation,
39
- }));
40
- return fieldState;
41
- };
42
- const iterateFields = (fields, data, parentPassesCondition, path = '') => fields.reduce((state, field) => {
43
- var _a, _b;
44
- let initialData = data;
45
- if (!fieldIsPresentationalOnly(field) && !((_a = field === null || field === void 0 ? void 0 : field.admin) === null || _a === void 0 ? void 0 : _a.disabled)) {
46
- if (fieldAffectsData(field) && field.defaultValue && typeof (initialData === null || initialData === void 0 ? void 0 : initialData[field.name]) === 'undefined') {
47
- initialData = { [field.name]: field.defaultValue };
48
- }
49
- const passesCondition = Boolean((((_b = field === null || field === void 0 ? void 0 : field.admin) === null || _b === void 0 ? void 0 : _b.condition) ? field.admin.condition(fullData || {}, initialData || {}) : true) && parentPassesCondition);
50
- if (fieldAffectsData(field)) {
51
- if (field.type === 'relationship' && (initialData === null || initialData === void 0 ? void 0 : initialData[field.name]) === null) {
52
- initialData[field.name] = 'null';
53
- }
54
- if (field.type === 'array' || field.type === 'blocks') {
55
- if (Array.isArray(initialData === null || initialData === void 0 ? void 0 : initialData[field.name])) {
56
- const rows = initialData[field.name];
57
- if (field.type === 'array') {
58
- return {
59
- ...state,
60
- ...rows.reduce((rowState, row, i) => {
61
- const rowPath = `${path}${field.name}.${i}.`;
62
- return {
63
- ...rowState,
64
- [`${rowPath}id`]: {
65
- value: row.id,
66
- initialValue: row.id || new ObjectID().toHexString(),
67
- valid: true,
68
- },
69
- ...iterateFields(field.fields, row, passesCondition, rowPath),
70
- };
71
- }, {}),
72
- };
73
- }
74
- if (field.type === 'blocks') {
75
- return {
76
- ...state,
77
- ...rows.reduce((rowState, row, i) => {
78
- const block = field.blocks.find((blockType) => blockType.slug === row.blockType);
79
- const rowPath = `${path}${field.name}.${i}.`;
80
- return {
81
- ...rowState,
82
- [`${rowPath}blockType`]: {
83
- value: row.blockType,
84
- initialValue: row.blockType,
85
- valid: true,
86
- },
87
- [`${rowPath}blockName`]: {
88
- value: row.blockName,
89
- initialValue: row.blockName,
90
- valid: true,
91
- },
92
- [`${rowPath}id`]: {
93
- value: row.id,
94
- initialValue: row.id || new ObjectID().toHexString(),
95
- valid: true,
96
- },
97
- ...((block === null || block === void 0 ? void 0 : block.fields) ? iterateFields(block.fields, row, passesCondition, rowPath) : {}),
98
- };
99
- }, {}),
100
- };
101
- }
102
- }
103
- return state;
104
- }
105
- // Handle non-array-based nested fields (group, etc)
106
- if (field.type === 'group') {
107
- const subFieldData = initialData === null || initialData === void 0 ? void 0 : initialData[field.name];
108
- return {
109
- ...state,
110
- ...iterateFields(field.fields, subFieldData, passesCondition, `${path}${field.name}.`),
111
- };
112
- }
113
- return {
114
- ...state,
115
- [`${path}${field.name}`]: structureFieldState(field, passesCondition, data),
116
- };
117
- }
118
- // Handle field types that do not use names (row, etc)
119
- if (field.type === 'row') {
120
- return {
121
- ...state,
122
- ...iterateFields(field.fields, data, passesCondition, path),
123
- };
124
- }
125
- const namedField = field;
126
- // Handle normal fields
127
- return {
128
- ...state,
129
- [`${path}${namedField.name}`]: structureFieldState(field, passesCondition, data),
130
- };
131
- }
132
- return state;
133
- }, {});
134
- const resultingState = iterateFields(fieldSchema, fullData, true);
135
- await Promise.all(validationPromises);
136
- return resultingState;
137
- }
138
- return {};
139
- };
140
- export default buildStateFromSchema;
@@ -1,22 +0,0 @@
1
- import { Payload } from '..';
2
- import { HookName, FieldAffectingData } from './config/types';
3
- import { Operation } from '../types';
4
- import { PayloadRequest } from '../express/types';
5
- declare type Arguments = {
6
- data: Record<string, unknown>;
7
- fullData: Record<string, unknown>;
8
- originalDoc: Record<string, unknown>;
9
- field: FieldAffectingData;
10
- operation: Operation;
11
- overrideAccess: boolean;
12
- req: PayloadRequest;
13
- id: string | number;
14
- relationshipPopulations: (() => Promise<void>)[];
15
- depth: number;
16
- currentDepth: number;
17
- hook: HookName;
18
- payload: Payload;
19
- showHiddenFields: boolean;
20
- };
21
- declare const accessPromise: ({ data, fullData, field, operation, overrideAccess, req, id, relationshipPopulations, depth, currentDepth, hook, payload, showHiddenFields, originalDoc, }: Arguments) => Promise<void>;
22
- export default accessPromise;
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const relationshipPopulationPromise_1 = __importDefault(require("./relationshipPopulationPromise"));
7
- const accessPromise = async ({ data, fullData, field, operation, overrideAccess, req, id, relationshipPopulations, depth, currentDepth, hook, payload, showHiddenFields, originalDoc, }) => {
8
- const resultingData = data;
9
- let accessOperation;
10
- if (hook === 'afterRead') {
11
- accessOperation = 'read';
12
- }
13
- else if (hook === 'beforeValidate') {
14
- if (operation === 'update')
15
- accessOperation = 'update';
16
- if (operation === 'create')
17
- accessOperation = 'create';
18
- }
19
- if (field.access && field.access[accessOperation]) {
20
- const result = overrideAccess ? true : await field.access[accessOperation]({ req, id, siblingData: data, data: fullData, doc: originalDoc });
21
- if (!result) {
22
- delete resultingData[field.name];
23
- }
24
- }
25
- if ((field.type === 'relationship' || field.type === 'upload') && hook === 'afterRead') {
26
- relationshipPopulations.push((0, relationshipPopulationPromise_1.default)({
27
- showHiddenFields,
28
- data,
29
- field,
30
- depth,
31
- currentDepth,
32
- req,
33
- overrideAccess,
34
- payload,
35
- }));
36
- }
37
- };
38
- exports.default = accessPromise;
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzUHJvbWlzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvYWNjZXNzUHJvbWlzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLG9HQUE0RTtBQXFCNUUsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUFFLEVBQzNCLElBQUksRUFDSixRQUFRLEVBQ1IsS0FBSyxFQUNMLFNBQVMsRUFDVCxjQUFjLEVBQ2QsR0FBRyxFQUNILEVBQUUsRUFDRix1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLFlBQVksRUFDWixJQUFJLEVBQ0osT0FBTyxFQUNQLGdCQUFnQixFQUNoQixXQUFXLEdBQ0QsRUFBaUIsRUFBRTtJQUM3QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFFM0IsSUFBSSxlQUFlLENBQUM7SUFFcEIsSUFBSSxJQUFJLEtBQUssV0FBVyxFQUFFO1FBQ3hCLGVBQWUsR0FBRyxNQUFNLENBQUM7S0FDMUI7U0FBTSxJQUFJLElBQUksS0FBSyxnQkFBZ0IsRUFBRTtRQUNwQyxJQUFJLFNBQVMsS0FBSyxRQUFRO1lBQUUsZUFBZSxHQUFHLFFBQVEsQ0FBQztRQUN2RCxJQUFJLFNBQVMsS0FBSyxRQUFRO1lBQUUsZUFBZSxHQUFHLFFBQVEsQ0FBQztLQUN4RDtJQUVELElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ2pELE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUU3SSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2xDO0tBQ0Y7SUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxjQUFjLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsSUFBSSxJQUFJLEtBQUssV0FBVyxFQUFFO1FBQ3RGLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFBLHVDQUE2QixFQUFDO1lBQ3pELGdCQUFnQjtZQUNoQixJQUFJO1lBQ0osS0FBSztZQUNMLEtBQUs7WUFDTCxZQUFZO1lBQ1osR0FBRztZQUNILGNBQWM7WUFDZCxPQUFPO1NBQ1IsQ0FBQyxDQUFDLENBQUM7S0FDTDtBQUNILENBQUMsQ0FBQztBQUVGLGtCQUFlLGFBQWEsQ0FBQyJ9
@@ -1,16 +0,0 @@
1
- import { PayloadRequest } from '../express/types';
2
- import { Operation } from '../types';
3
- import { HookName, FieldAffectingData } from './config/types';
4
- declare type Arguments = {
5
- data: Record<string, unknown>;
6
- field: FieldAffectingData;
7
- hook: HookName;
8
- req: PayloadRequest;
9
- operation: Operation;
10
- fullOriginalDoc: Record<string, unknown>;
11
- fullData: Record<string, unknown>;
12
- flattenLocales: boolean;
13
- isVersion: boolean;
14
- };
15
- declare const hookPromise: (args: Arguments) => Promise<void>;
16
- export default hookPromise;
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const executeHook = async ({ currentHook, fullOriginalDoc, fullData, data, operation, req, value, }) => {
4
- let hookedValue = await currentHook({
5
- value,
6
- originalDoc: fullOriginalDoc,
7
- data: fullData,
8
- siblingData: data,
9
- operation,
10
- req,
11
- });
12
- if (typeof hookedValue === 'undefined') {
13
- hookedValue = value;
14
- }
15
- return hookedValue;
16
- };
17
- const hookPromise = async (args) => {
18
- const { field, hook, req, flattenLocales, data, } = args;
19
- if (field.hooks && field.hooks[hook]) {
20
- await field.hooks[hook].reduce(async (priorHook, currentHook) => {
21
- await priorHook;
22
- const shouldRunHookOnAllLocales = hook === 'afterRead'
23
- && field.localized
24
- && (req.locale === 'all' || !flattenLocales)
25
- && typeof data[field.name] === 'object';
26
- if (shouldRunHookOnAllLocales) {
27
- const hookPromises = Object.entries(data[field.name]).map(([locale, value]) => (async () => {
28
- const hookedValue = await executeHook({
29
- ...args,
30
- currentHook,
31
- value,
32
- });
33
- if (hookedValue !== undefined) {
34
- data[field.name][locale] = hookedValue;
35
- }
36
- })());
37
- await Promise.all(hookPromises);
38
- }
39
- else {
40
- const hookedValue = await executeHook({
41
- ...args,
42
- value: data[field.name],
43
- currentHook,
44
- });
45
- if (hookedValue !== undefined) {
46
- data[field.name] = hookedValue;
47
- }
48
- }
49
- }, Promise.resolve());
50
- }
51
- };
52
- exports.default = hookPromise;
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9va1Byb21pc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmllbGRzL2hvb2tQcm9taXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBcUJBLE1BQU0sV0FBVyxHQUFHLEtBQUssRUFBRSxFQUN6QixXQUFXLEVBQ1gsZUFBZSxFQUNmLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxFQUNULEdBQUcsRUFDSCxLQUFLLEdBQ2dCLEVBQUUsRUFBRTtJQUN6QixJQUFJLFdBQVcsR0FBRyxNQUFNLFdBQVcsQ0FBQztRQUNsQyxLQUFLO1FBQ0wsV0FBVyxFQUFFLGVBQWU7UUFDNUIsSUFBSSxFQUFFLFFBQVE7UUFDZCxXQUFXLEVBQUUsSUFBSTtRQUNqQixTQUFTO1FBQ1QsR0FBRztLQUNKLENBQUMsQ0FBQztJQUVILElBQUksT0FBTyxXQUFXLEtBQUssV0FBVyxFQUFFO1FBQ3RDLFdBQVcsR0FBRyxLQUFLLENBQUM7S0FDckI7SUFFRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBZSxFQUFpQixFQUFFO0lBQzNELE1BQU0sRUFDSixLQUFLLEVBQ0wsSUFBSSxFQUNKLEdBQUcsRUFDSCxjQUFjLEVBQ2QsSUFBSSxHQUNMLEdBQUcsSUFBSSxDQUFDO0lBRVQsSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDcEMsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxFQUFFO1lBQzlELE1BQU0sU0FBUyxDQUFDO1lBRWhCLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxLQUFLLFdBQVc7bUJBQ2pELEtBQUssQ0FBQyxTQUFTO21CQUNmLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUM7bUJBQ3pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxRQUFRLENBQUM7WUFFMUMsSUFBSSx5QkFBeUIsRUFBRTtnQkFDN0IsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7b0JBQ3pGLE1BQU0sV0FBVyxHQUFHLE1BQU0sV0FBVyxDQUFDO3dCQUNwQyxHQUFHLElBQUk7d0JBQ1AsV0FBVzt3QkFDWCxLQUFLO3FCQUNOLENBQUMsQ0FBQztvQkFFSCxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUU7d0JBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsV0FBVyxDQUFDO3FCQUN4QztnQkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBRU4sTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pDO2lCQUFNO2dCQUNMLE1BQU0sV0FBVyxHQUFHLE1BQU0sV0FBVyxDQUFDO29CQUNwQyxHQUFHLElBQUk7b0JBQ1AsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO29CQUN2QixXQUFXO2lCQUNaLENBQUMsQ0FBQztnQkFFSCxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUU7b0JBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDO2lCQUNoQzthQUNGO1FBQ0gsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0tBQ3ZCO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsV0FBVyxDQUFDIn0=
@@ -1,25 +0,0 @@
1
- import { Payload } from '..';
2
- import { SanitizedCollectionConfig } from '../collections/config/types';
3
- import { SanitizedGlobalConfig } from '../globals/config/types';
4
- import { Operation } from '../types';
5
- import { PayloadRequest } from '../express/types';
6
- import { HookName } from './config/types';
7
- declare type Arguments = {
8
- data: Record<string, unknown>;
9
- operation: Operation;
10
- hook?: HookName;
11
- req: PayloadRequest;
12
- overrideAccess: boolean;
13
- flattenLocales?: boolean;
14
- unflattenLocales?: boolean;
15
- originalDoc?: Record<string, unknown>;
16
- docWithLocales?: Record<string, unknown>;
17
- id?: string | number;
18
- showHiddenFields?: boolean;
19
- depth?: number;
20
- currentDepth?: number;
21
- isVersion?: boolean;
22
- skipValidation?: boolean;
23
- };
24
- export default function performFieldOperations(this: Payload, entityConfig: SanitizedCollectionConfig | SanitizedGlobalConfig, args: Arguments): Promise<any>;
25
- export {};
@@ -1,86 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const errors_1 = require("../errors");
7
- const sanitizeFallbackLocale_1 = __importDefault(require("../localization/sanitizeFallbackLocale"));
8
- const traverseFields_1 = __importDefault(require("./traverseFields"));
9
- const deepCopyObject_1 = __importDefault(require("../utilities/deepCopyObject"));
10
- async function performFieldOperations(entityConfig, args) {
11
- const { data, originalDoc: fullOriginalDoc, docWithLocales, operation, hook, req, id, req: { payloadAPI, locale, }, overrideAccess, flattenLocales, unflattenLocales = false, showHiddenFields = false, isVersion = false, skipValidation = false, } = args;
12
- const fullData = (0, deepCopyObject_1.default)(data);
13
- const fallbackLocale = (0, sanitizeFallbackLocale_1.default)(req.fallbackLocale);
14
- let depth = 0;
15
- if (payloadAPI === 'REST' || payloadAPI === 'local') {
16
- depth = (args.depth || args.depth === 0) ? parseInt(String(args.depth), 10) : this.config.defaultDepth;
17
- if (depth > this.config.maxDepth)
18
- depth = this.config.maxDepth;
19
- }
20
- const currentDepth = args.currentDepth || 1;
21
- // Maintain a top-level list of promises
22
- // so that all async field access / validations / hooks
23
- // can run in parallel
24
- const validationPromises = [];
25
- const accessPromises = [];
26
- const relationshipPopulations = [];
27
- const hookPromises = [];
28
- const unflattenLocaleActions = [];
29
- const transformActions = [];
30
- const errors = [];
31
- // //////////////////////////////////////////
32
- // Entry point for field validation
33
- // //////////////////////////////////////////
34
- (0, traverseFields_1.default)({
35
- fields: entityConfig.fields,
36
- data: fullData,
37
- originalDoc: fullOriginalDoc,
38
- path: '',
39
- flattenLocales,
40
- locale,
41
- fallbackLocale,
42
- accessPromises,
43
- operation,
44
- overrideAccess,
45
- req,
46
- id,
47
- relationshipPopulations,
48
- depth,
49
- currentDepth,
50
- hook,
51
- hookPromises,
52
- fullOriginalDoc,
53
- fullData,
54
- validationPromises,
55
- errors,
56
- payload: this,
57
- showHiddenFields,
58
- unflattenLocales,
59
- unflattenLocaleActions,
60
- transformActions,
61
- docWithLocales,
62
- isVersion,
63
- skipValidation,
64
- });
65
- if (hook === 'afterRead') {
66
- transformActions.forEach((action) => action());
67
- }
68
- const hookResults = hookPromises.map((promise) => promise());
69
- await Promise.all(hookResults);
70
- const validationResults = validationPromises.map((promise) => promise());
71
- await Promise.all(validationResults);
72
- if (errors.length > 0) {
73
- throw new errors_1.ValidationError(errors);
74
- }
75
- if (hook === 'beforeChange') {
76
- transformActions.forEach((action) => action());
77
- }
78
- unflattenLocaleActions.forEach((action) => action());
79
- const accessResults = accessPromises.map((promise) => promise());
80
- await Promise.all(accessResults);
81
- const relationshipPopulationResults = relationshipPopulations.map((population) => population());
82
- await Promise.all(relationshipPopulationResults);
83
- return fullData;
84
- }
85
- exports.default = performFieldOperations;
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybUZpZWxkT3BlcmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvcGVyZm9ybUZpZWxkT3BlcmF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHNDQUE0QztBQUM1QyxvR0FBNEU7QUFDNUUsc0VBQThDO0FBTTlDLGlGQUF5RDtBQW9CMUMsS0FBSyxVQUFVLHNCQUFzQixDQUFnQixZQUErRCxFQUFFLElBQWU7SUFDbEosTUFBTSxFQUNKLElBQUksRUFDSixXQUFXLEVBQUUsZUFBZSxFQUM1QixjQUFjLEVBQ2QsU0FBUyxFQUNULElBQUksRUFDSixHQUFHLEVBQ0gsRUFBRSxFQUNGLEdBQUcsRUFBRSxFQUNILFVBQVUsRUFDVixNQUFNLEdBQ1AsRUFDRCxjQUFjLEVBQ2QsY0FBYyxFQUNkLGdCQUFnQixHQUFHLEtBQUssRUFDeEIsZ0JBQWdCLEdBQUcsS0FBSyxFQUN4QixTQUFTLEdBQUcsS0FBSyxFQUNqQixjQUFjLEdBQUcsS0FBSyxHQUN2QixHQUFHLElBQUksQ0FBQztJQUVULE1BQU0sUUFBUSxHQUFHLElBQUEsd0JBQWMsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUV0QyxNQUFNLGNBQWMsR0FBRyxJQUFBLGdDQUFzQixFQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVsRSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7SUFFZCxJQUFJLFVBQVUsS0FBSyxNQUFNLElBQUksVUFBVSxLQUFLLE9BQU8sRUFBRTtRQUNuRCxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUV2RyxJQUFJLEtB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
@@ -1,15 +0,0 @@
1
- import { PayloadRequest } from '../express/types';
2
- import { RelationshipField, UploadField } from './config/types';
3
- import { Payload } from '..';
4
- declare type PromiseArgs = {
5
- data: Record<string, any>;
6
- field: RelationshipField | UploadField;
7
- depth: number;
8
- currentDepth: number;
9
- req: PayloadRequest;
10
- overrideAccess: boolean;
11
- payload: Payload;
12
- showHiddenFields: boolean;
13
- };
14
- declare const relationshipPopulationPromise: ({ data, field, depth, currentDepth, req, overrideAccess, payload, showHiddenFields, }: PromiseArgs) => () => Promise<void>;
15
- export default relationshipPopulationPromise;
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const types_1 = require("./config/types");
4
- const populate = async ({ depth, currentDepth, req, overrideAccess, dataReference, data, field, index, payload, showHiddenFields, }) => {
5
- const dataToUpdate = dataReference;
6
- const relation = Array.isArray(field.relationTo) ? data.relationTo : field.relationTo;
7
- const relatedCollection = payload.collections[relation];
8
- if (relatedCollection) {
9
- let idString = Array.isArray(field.relationTo) ? data.value : data;
10
- if (typeof idString !== 'string' && typeof (idString === null || idString === void 0 ? void 0 : idString.toString) === 'function') {
11
- idString = idString.toString();
12
- }
13
- let populatedRelationship;
14
- if (depth && currentDepth <= depth) {
15
- populatedRelationship = await payload.findByID({
16
- req,
17
- collection: relatedCollection.config.slug,
18
- id: idString,
19
- currentDepth: currentDepth + 1,
20
- overrideAccess: typeof overrideAccess === 'undefined' ? false : overrideAccess,
21
- disableErrors: true,
22
- depth,
23
- showHiddenFields,
24
- });
25
- }
26
- // If populatedRelationship comes back, update value
27
- if (populatedRelationship || populatedRelationship === null) {
28
- if (typeof index === 'number') {
29
- if (Array.isArray(field.relationTo)) {
30
- dataToUpdate[field.name][index].value = populatedRelationship;
31
- }
32
- else {
33
- dataToUpdate[field.name][index] = populatedRelationship;
34
- }
35
- }
36
- else if (Array.isArray(field.relationTo)) {
37
- dataToUpdate[field.name].value = populatedRelationship;
38
- }
39
- else {
40
- dataToUpdate[field.name] = populatedRelationship;
41
- }
42
- }
43
- }
44
- };
45
- const relationshipPopulationPromise = ({ data, field, depth, currentDepth, req, overrideAccess, payload, showHiddenFields, }) => async () => {
46
- const resultingData = data;
47
- const populateDepth = (0, types_1.fieldHasMaxDepth)(field) && field.maxDepth < depth ? field.maxDepth : depth;
48
- if ((0, types_1.fieldSupportsMany)(field) && field.hasMany && Array.isArray(data[field.name])) {
49
- const rowPromises = [];
50
- data[field.name].forEach((relatedDoc, index) => {
51
- const rowPromise = async () => {
52
- if (relatedDoc) {
53
- await populate({
54
- depth: populateDepth,
55
- currentDepth,
56
- req,
57
- overrideAccess,
58
- data: relatedDoc,
59
- dataReference: resultingData,
60
- field,
61
- index,
62
- payload,
63
- showHiddenFields,
64
- });
65
- }
66
- };
67
- rowPromises.push(rowPromise());
68
- });
69
- await Promise.all(rowPromises);
70
- }
71
- else if (data[field.name]) {
72
- await populate({
73
- depth: populateDepth,
74
- currentDepth,
75
- req,
76
- overrideAccess,
77
- dataReference: resultingData,
78
- data: data[field.name],
79
- field,
80
- payload,
81
- showHiddenFields,
82
- });
83
- }
84
- };
85
- exports.default = relationshipPopulationPromise;
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb25zaGlwUG9wdWxhdGlvblByb21pc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmllbGRzL3JlbGF0aW9uc2hpcFBvcHVsYXRpb25Qcm9taXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsMENBQXFHO0FBZ0JyRyxNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQUUsRUFDdEIsS0FBSyxFQUNMLFlBQVksRUFDWixHQUFHLEVBQ0gsY0FBYyxFQUNkLGFBQWEsRUFDYixJQUFJLEVBQ0osS0FBSyxFQUNMLEtBQUssRUFDTCxPQUFPLEVBQ1AsZ0JBQWdCLEdBQ0gsRUFBRSxFQUFFO0lBQ2pCLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQztJQUVuQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFVBQXFCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7SUFDbEcsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXhELElBQUksaUJBQWlCLEVBQUU7UUFDckIsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUVuRSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFFBQVEsQ0FBQSxLQUFLLFVBQVUsRUFBRTtZQUM1RSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2hDO1FBRUQsSUFBSSxxQkFBcUIsQ0FBQztRQUUxQixJQUFJLEtBQUssSUFBSSxZQUFZLElBQUksS0FBSyxFQUFFO1lBQ2xDLHFCQUFx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
@@ -1,40 +0,0 @@
1
- import { Field, HookName } from './config/types';
2
- import { Operation } from '../types';
3
- import { PayloadRequest } from '../express/types';
4
- import { Payload } from '..';
5
- declare type Arguments = {
6
- fields: Field[];
7
- data: Record<string, any>;
8
- originalDoc: Record<string, any>;
9
- path: string;
10
- flattenLocales: boolean;
11
- locale: string;
12
- fallbackLocale: string;
13
- accessPromises: (() => Promise<void>)[];
14
- operation: Operation;
15
- overrideAccess: boolean;
16
- req: PayloadRequest;
17
- id?: string | number;
18
- relationshipPopulations: (() => Promise<void>)[];
19
- depth: number;
20
- currentDepth: number;
21
- hook: HookName;
22
- hookPromises: (() => Promise<void>)[];
23
- fullOriginalDoc: Record<string, any>;
24
- fullData: Record<string, any>;
25
- validationPromises: (() => Promise<string | boolean>)[];
26
- errors: {
27
- message: string;
28
- field: string;
29
- }[];
30
- payload: Payload;
31
- showHiddenFields: boolean;
32
- unflattenLocales: boolean;
33
- unflattenLocaleActions: (() => void)[];
34
- transformActions: (() => void)[];
35
- docWithLocales?: Record<string, any>;
36
- skipValidation?: boolean;
37
- isVersion: boolean;
38
- };
39
- declare const traverseFields: (args: Arguments) => void;
40
- export default traverseFields;