@payloadcms/graphql 3.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/index.d.ts +8 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +162 -0
  4. package/dist/resolvers/auth/access.d.ts +5 -0
  5. package/dist/resolvers/auth/access.d.ts.map +1 -0
  6. package/dist/resolvers/auth/access.js +48 -0
  7. package/dist/resolvers/auth/forgotPassword.d.ts +4 -0
  8. package/dist/resolvers/auth/forgotPassword.d.ts.map +1 -0
  9. package/dist/resolvers/auth/forgotPassword.js +31 -0
  10. package/dist/resolvers/auth/init.d.ts +4 -0
  11. package/dist/resolvers/auth/init.d.ts.map +1 -0
  12. package/dist/resolvers/auth/init.js +25 -0
  13. package/dist/resolvers/auth/login.d.ts +7 -0
  14. package/dist/resolvers/auth/login.d.ts.map +1 -0
  15. package/dist/resolvers/auth/login.js +41 -0
  16. package/dist/resolvers/auth/logout.d.ts +4 -0
  17. package/dist/resolvers/auth/logout.d.ts.map +1 -0
  18. package/dist/resolvers/auth/logout.js +32 -0
  19. package/dist/resolvers/auth/me.d.ts +4 -0
  20. package/dist/resolvers/auth/me.d.ts.map +1 -0
  21. package/dist/resolvers/auth/me.js +30 -0
  22. package/dist/resolvers/auth/refresh.d.ts +5 -0
  23. package/dist/resolvers/auth/refresh.d.ts.map +1 -0
  24. package/dist/resolvers/auth/refresh.js +43 -0
  25. package/dist/resolvers/auth/resetPassword.d.ts +5 -0
  26. package/dist/resolvers/auth/resetPassword.d.ts.map +1 -0
  27. package/dist/resolvers/auth/resetPassword.js +41 -0
  28. package/dist/resolvers/auth/unlock.d.ts +5 -0
  29. package/dist/resolvers/auth/unlock.d.ts.map +1 -0
  30. package/dist/resolvers/auth/unlock.js +29 -0
  31. package/dist/resolvers/auth/verifyEmail.d.ts +5 -0
  32. package/dist/resolvers/auth/verifyEmail.d.ts.map +1 -0
  33. package/dist/resolvers/auth/verifyEmail.js +30 -0
  34. package/dist/resolvers/collections/create.d.ts +13 -0
  35. package/dist/resolvers/collections/create.d.ts.map +1 -0
  36. package/dist/resolvers/collections/create.js +30 -0
  37. package/dist/resolvers/collections/delete.d.ts +11 -0
  38. package/dist/resolvers/collections/delete.d.ts.map +1 -0
  39. package/dist/resolvers/collections/delete.js +34 -0
  40. package/dist/resolvers/collections/docAccess.d.ts +9 -0
  41. package/dist/resolvers/collections/docAccess.d.ts.map +1 -0
  42. package/dist/resolvers/collections/docAccess.js +24 -0
  43. package/dist/resolvers/collections/find.d.ts +17 -0
  44. package/dist/resolvers/collections/find.d.ts.map +1 -0
  45. package/dist/resolvers/collections/find.js +37 -0
  46. package/dist/resolvers/collections/findByID.d.ts +13 -0
  47. package/dist/resolvers/collections/findByID.d.ts.map +1 -0
  48. package/dist/resolvers/collections/findByID.js +34 -0
  49. package/dist/resolvers/collections/findVersionByID.d.ts +13 -0
  50. package/dist/resolvers/collections/findVersionByID.d.ts.map +1 -0
  51. package/dist/resolvers/collections/findVersionByID.js +34 -0
  52. package/dist/resolvers/collections/findVersions.d.ts +15 -0
  53. package/dist/resolvers/collections/findVersions.d.ts.map +1 -0
  54. package/dist/resolvers/collections/findVersions.js +37 -0
  55. package/dist/resolvers/collections/restoreVersion.d.ts +9 -0
  56. package/dist/resolvers/collections/restoreVersion.d.ts.map +1 -0
  57. package/dist/resolvers/collections/restoreVersion.js +27 -0
  58. package/dist/resolvers/collections/update.d.ts +14 -0
  59. package/dist/resolvers/collections/update.d.ts.map +1 -0
  60. package/dist/resolvers/collections/update.js +37 -0
  61. package/dist/resolvers/globals/docAccess.d.ts +7 -0
  62. package/dist/resolvers/globals/docAccess.d.ts.map +1 -0
  63. package/dist/resolvers/globals/docAccess.js +23 -0
  64. package/dist/resolvers/globals/findOne.d.ts +3 -0
  65. package/dist/resolvers/globals/findOne.d.ts.map +1 -0
  66. package/dist/resolvers/globals/findOne.js +30 -0
  67. package/dist/resolvers/globals/findVersionByID.d.ts +11 -0
  68. package/dist/resolvers/globals/findVersionByID.d.ts.map +1 -0
  69. package/dist/resolvers/globals/findVersionByID.js +29 -0
  70. package/dist/resolvers/globals/findVersions.d.ts +13 -0
  71. package/dist/resolvers/globals/findVersions.d.ts.map +1 -0
  72. package/dist/resolvers/globals/findVersions.js +29 -0
  73. package/dist/resolvers/globals/index.d.ts +7 -0
  74. package/dist/resolvers/globals/index.d.ts.map +1 -0
  75. package/dist/resolvers/globals/index.js +39 -0
  76. package/dist/resolvers/globals/restoreVersion.d.ts +9 -0
  77. package/dist/resolvers/globals/restoreVersion.d.ts.map +1 -0
  78. package/dist/resolvers/globals/restoreVersion.js +26 -0
  79. package/dist/resolvers/globals/update.d.ts +14 -0
  80. package/dist/resolvers/globals/update.d.ts.map +1 -0
  81. package/dist/resolvers/globals/update.js +31 -0
  82. package/dist/resolvers/types.d.ts +8 -0
  83. package/dist/resolvers/types.d.ts.map +1 -0
  84. package/dist/resolvers/types.js +6 -0
  85. package/dist/schema/buildFallbackLocaleInputType.d.ts +5 -0
  86. package/dist/schema/buildFallbackLocaleInputType.d.ts.map +1 -0
  87. package/dist/schema/buildFallbackLocaleInputType.js +34 -0
  88. package/dist/schema/buildLocaleInputType.d.ts +6 -0
  89. package/dist/schema/buildLocaleInputType.d.ts.map +1 -0
  90. package/dist/schema/buildLocaleInputType.js +31 -0
  91. package/dist/schema/buildMutationInputType.d.ts +23 -0
  92. package/dist/schema/buildMutationInputType.d.ts.map +1 -0
  93. package/dist/schema/buildMutationInputType.js +293 -0
  94. package/dist/schema/buildObjectType.d.ts +19 -0
  95. package/dist/schema/buildObjectType.d.ts.map +1 -0
  96. package/dist/schema/buildObjectType.js +508 -0
  97. package/dist/schema/buildPaginatedListType.d.ts +4 -0
  98. package/dist/schema/buildPaginatedListType.d.ts.map +1 -0
  99. package/dist/schema/buildPaginatedListType.js +52 -0
  100. package/dist/schema/buildPoliciesType.d.ts +29 -0
  101. package/dist/schema/buildPoliciesType.d.ts.map +1 -0
  102. package/dist/schema/buildPoliciesType.js +210 -0
  103. package/dist/schema/buildWhereInputType.d.ts +24 -0
  104. package/dist/schema/buildWhereInputType.d.ts.map +1 -0
  105. package/dist/schema/buildWhereInputType.js +102 -0
  106. package/dist/schema/fieldToWhereInputSchemaMap.d.ts +7 -0
  107. package/dist/schema/fieldToWhereInputSchemaMap.d.ts.map +1 -0
  108. package/dist/schema/fieldToWhereInputSchemaMap.js +118 -0
  109. package/dist/schema/initCollections.d.ts +9 -0
  110. package/dist/schema/initCollections.d.ts.map +1 -0
  111. package/dist/schema/initCollections.js +492 -0
  112. package/dist/schema/initGlobals.d.ts +9 -0
  113. package/dist/schema/initGlobals.d.ts.map +1 -0
  114. package/dist/schema/initGlobals.js +193 -0
  115. package/dist/schema/isFieldNullable.d.ts +4 -0
  116. package/dist/schema/isFieldNullable.d.ts.map +1 -0
  117. package/dist/schema/isFieldNullable.js +19 -0
  118. package/dist/schema/operators.d.ts +10 -0
  119. package/dist/schema/operators.d.ts.map +1 -0
  120. package/dist/schema/operators.js +41 -0
  121. package/dist/schema/recursivelyBuildNestedPaths.d.ts +9 -0
  122. package/dist/schema/recursivelyBuildNestedPaths.d.ts.map +1 -0
  123. package/dist/schema/recursivelyBuildNestedPaths.js +79 -0
  124. package/dist/schema/withNullableType.d.ts +5 -0
  125. package/dist/schema/withNullableType.d.ts.map +1 -0
  126. package/dist/schema/withNullableType.js +23 -0
  127. package/dist/schema/withOperators.d.ts +16 -0
  128. package/dist/schema/withOperators.d.ts.map +1 -0
  129. package/dist/schema/withOperators.js +296 -0
  130. package/dist/utilities/combineParentName.d.ts +3 -0
  131. package/dist/utilities/combineParentName.d.ts.map +1 -0
  132. package/dist/utilities/combineParentName.js +20 -0
  133. package/dist/utilities/formatName.d.ts +3 -0
  134. package/dist/utilities/formatName.d.ts.map +1 -0
  135. package/dist/utilities/formatName.js +35 -0
  136. package/dist/utilities/formatName.spec.js +26 -0
  137. package/dist/utilities/formatOptions.d.ts +4 -0
  138. package/dist/utilities/formatOptions.d.ts.map +1 -0
  139. package/dist/utilities/formatOptions.js +37 -0
  140. package/dist/utilities/getCheckIfLocaleObject.d.ts +5 -0
  141. package/dist/utilities/getCheckIfLocaleObject.d.ts.map +1 -0
  142. package/dist/utilities/getCheckIfLocaleObject.js +13 -0
  143. package/dist/utilities/groupOrTabHasRequiredSubfield.d.ts +3 -0
  144. package/dist/utilities/groupOrTabHasRequiredSubfield.d.ts.map +1 -0
  145. package/dist/utilities/groupOrTabHasRequiredSubfield.js +24 -0
  146. package/dist/utilities/isolateTransactionID.d.ts +2 -0
  147. package/dist/utilities/isolateTransactionID.d.ts.map +1 -0
  148. package/dist/utilities/isolateTransactionID.js +3 -0
  149. package/dist/utilities/uppercase.d.ts +3 -0
  150. package/dist/utilities/uppercase.d.ts.map +1 -0
  151. package/dist/utilities/uppercase.js +21 -0
  152. package/dist/utilities/wrapCustomResolver.d.ts +9 -0
  153. package/dist/utilities/wrapCustomResolver.d.ts.map +1 -0
  154. package/dist/utilities/wrapCustomResolver.js +29 -0
  155. package/package.json +42 -0
  156. package/src/index.ts +126 -0
@@ -0,0 +1,193 @@
1
+ /* eslint-disable no-param-reassign */ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _graphql = require("graphql");
12
+ const _pluralize = require("pluralize");
13
+ const _utilities = require("payload/utilities");
14
+ const _versions = require("payload/versions");
15
+ const _buildMutationInputType = require("./buildMutationInputType");
16
+ const _buildObjectType = /*#__PURE__*/ _interop_require_default(require("./buildObjectType"));
17
+ const _buildPaginatedListType = /*#__PURE__*/ _interop_require_default(require("./buildPaginatedListType"));
18
+ const _buildPoliciesType = require("./buildPoliciesType");
19
+ const _buildWhereInputType = /*#__PURE__*/ _interop_require_default(require("./buildWhereInputType"));
20
+ const _formatName = /*#__PURE__*/ _interop_require_default(require("../utilities/formatName"));
21
+ const _docAccess = require("../resolvers/globals/docAccess");
22
+ const _findOne = /*#__PURE__*/ _interop_require_default(require("../resolvers/globals/findOne"));
23
+ const _findVersionByID = /*#__PURE__*/ _interop_require_default(require("../resolvers/globals/findVersionByID"));
24
+ const _findVersions = /*#__PURE__*/ _interop_require_default(require("../resolvers/globals/findVersions"));
25
+ const _restoreVersion = /*#__PURE__*/ _interop_require_default(require("../resolvers/globals/restoreVersion"));
26
+ const _update = /*#__PURE__*/ _interop_require_default(require("../resolvers/globals/update"));
27
+ function _interop_require_default(obj) {
28
+ return obj && obj.__esModule ? obj : {
29
+ default: obj
30
+ };
31
+ }
32
+ function initGlobalsGraphQL({ config, graphqlResult }) {
33
+ Object.keys(graphqlResult.globals.config).forEach((slug)=>{
34
+ const global = graphqlResult.globals.config[slug];
35
+ const { fields, graphQL, versions } = global;
36
+ if (graphQL === false) {
37
+ return;
38
+ }
39
+ const formattedName = graphQL?.name ? graphQL.name : (0, _pluralize.singular)((0, _utilities.toWords)(global.slug, true));
40
+ const forceNullableObjectType = Boolean(versions?.drafts);
41
+ if (!graphqlResult.globals.graphQL) graphqlResult.globals.graphQL = {};
42
+ const updateMutationInputType = (0, _buildMutationInputType.buildMutationInputType)({
43
+ name: formattedName,
44
+ fields,
45
+ parentName: formattedName,
46
+ graphqlResult,
47
+ config
48
+ });
49
+ graphqlResult.globals.graphQL[slug] = {
50
+ mutationInputType: updateMutationInputType ? new _graphql.GraphQLNonNull(updateMutationInputType) : null,
51
+ type: (0, _buildObjectType.default)({
52
+ name: formattedName,
53
+ fields,
54
+ forceNullable: forceNullableObjectType,
55
+ parentName: formattedName,
56
+ graphqlResult,
57
+ config
58
+ })
59
+ };
60
+ graphqlResult.Query.fields[formattedName] = {
61
+ args: {
62
+ draft: {
63
+ type: _graphql.GraphQLBoolean
64
+ },
65
+ ...config.localization ? {
66
+ fallbackLocale: {
67
+ type: graphqlResult.types.fallbackLocaleInputType
68
+ },
69
+ locale: {
70
+ type: graphqlResult.types.localeInputType
71
+ }
72
+ } : {}
73
+ },
74
+ resolve: (0, _findOne.default)(global),
75
+ type: graphqlResult.globals.graphQL[slug].type
76
+ };
77
+ graphqlResult.Mutation.fields[`update${formattedName}`] = {
78
+ args: {
79
+ ...updateMutationInputType ? {
80
+ data: {
81
+ type: graphqlResult.globals.graphQL[slug].mutationInputType
82
+ }
83
+ } : {},
84
+ draft: {
85
+ type: _graphql.GraphQLBoolean
86
+ },
87
+ ...config.localization ? {
88
+ locale: {
89
+ type: graphqlResult.types.localeInputType
90
+ }
91
+ } : {}
92
+ },
93
+ resolve: (0, _update.default)(global),
94
+ type: graphqlResult.globals.graphQL[slug].type
95
+ };
96
+ graphqlResult.Query.fields[`docAccess${formattedName}`] = {
97
+ resolve: (0, _docAccess.docAccessResolver)(global),
98
+ type: (0, _buildPoliciesType.buildPolicyType)({
99
+ entity: global,
100
+ scope: 'docAccess',
101
+ type: 'global',
102
+ typeSuffix: 'DocAccess'
103
+ })
104
+ };
105
+ if (global.versions) {
106
+ const idType = config.db.defaultIDType === 'number' ? _graphql.GraphQLInt : _graphql.GraphQLString;
107
+ const versionGlobalFields = [
108
+ ...(0, _versions.buildVersionGlobalFields)(global),
109
+ {
110
+ name: 'id',
111
+ type: config.db.defaultIDType
112
+ },
113
+ {
114
+ name: 'createdAt',
115
+ label: 'Created At',
116
+ type: 'date'
117
+ },
118
+ {
119
+ name: 'updatedAt',
120
+ label: 'Updated At',
121
+ type: 'date'
122
+ }
123
+ ];
124
+ graphqlResult.globals.graphQL[slug].versionType = (0, _buildObjectType.default)({
125
+ name: `${formattedName}Version`,
126
+ fields: versionGlobalFields,
127
+ forceNullable: forceNullableObjectType,
128
+ parentName: `${formattedName}Version`,
129
+ graphqlResult,
130
+ config
131
+ });
132
+ graphqlResult.Query.fields[`version${(0, _formatName.default)(formattedName)}`] = {
133
+ args: {
134
+ id: {
135
+ type: idType
136
+ },
137
+ ...config.localization ? {
138
+ fallbackLocale: {
139
+ type: graphqlResult.types.fallbackLocaleInputType
140
+ },
141
+ locale: {
142
+ type: graphqlResult.types.localeInputType
143
+ }
144
+ } : {}
145
+ },
146
+ resolve: (0, _findVersionByID.default)(global),
147
+ type: graphqlResult.globals.graphQL[slug].versionType
148
+ };
149
+ graphqlResult.Query.fields[`versions${formattedName}`] = {
150
+ args: {
151
+ where: {
152
+ type: (0, _buildWhereInputType.default)({
153
+ name: `versions${formattedName}`,
154
+ fields: versionGlobalFields,
155
+ parentName: `versions${formattedName}`
156
+ })
157
+ },
158
+ ...config.localization ? {
159
+ fallbackLocale: {
160
+ type: graphqlResult.types.fallbackLocaleInputType
161
+ },
162
+ locale: {
163
+ type: graphqlResult.types.localeInputType
164
+ }
165
+ } : {},
166
+ limit: {
167
+ type: _graphql.GraphQLInt
168
+ },
169
+ page: {
170
+ type: _graphql.GraphQLInt
171
+ },
172
+ sort: {
173
+ type: _graphql.GraphQLString
174
+ }
175
+ },
176
+ resolve: (0, _findVersions.default)(global),
177
+ type: (0, _buildPaginatedListType.default)(`versions${(0, _formatName.default)(formattedName)}`, graphqlResult.globals.graphQL[slug].versionType)
178
+ };
179
+ graphqlResult.Mutation.fields[`restoreVersion${(0, _formatName.default)(formattedName)}`] = {
180
+ args: {
181
+ id: {
182
+ type: idType
183
+ }
184
+ },
185
+ resolve: (0, _restoreVersion.default)(global),
186
+ type: graphqlResult.globals.graphQL[slug].type
187
+ };
188
+ }
189
+ });
190
+ }
191
+ const _default = initGlobalsGraphQL;
192
+
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvaW5pdEdsb2JhbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB7IEdyYXBoUUxCb29sZWFuLCBHcmFwaFFMSW50LCBHcmFwaFFMTm9uTnVsbCwgR3JhcGhRTFN0cmluZyB9IGZyb20gJ2dyYXBocWwnXG5pbXBvcnQgeyBzaW5ndWxhciB9IGZyb20gJ3BsdXJhbGl6ZSdcbmltcG9ydCB7IHRvV29yZHMgfSBmcm9tICdwYXlsb2FkL3V0aWxpdGllcydcbmltcG9ydCB7IGJ1aWxkVmVyc2lvbkdsb2JhbEZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdmVyc2lvbnMnXG5cbmltcG9ydCB0eXBlIHsgR3JhcGhRTEluZm8gfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRmllbGQsIFNhbml0aXplZENvbmZpZywgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgYnVpbGRNdXRhdGlvbklucHV0VHlwZSB9IGZyb20gJy4vYnVpbGRNdXRhdGlvbklucHV0VHlwZSdcbmltcG9ydCBidWlsZE9iamVjdFR5cGUgZnJvbSAnLi9idWlsZE9iamVjdFR5cGUnXG5pbXBvcnQgYnVpbGRQYWdpbmF0ZWRMaXN0VHlwZSBmcm9tICcuL2J1aWxkUGFnaW5hdGVkTGlzdFR5cGUnXG5pbXBvcnQgeyBidWlsZFBvbGljeVR5cGUgfSBmcm9tICcuL2J1aWxkUG9saWNpZXNUeXBlJ1xuaW1wb3J0IGJ1aWxkV2hlcmVJbnB1dFR5cGUgZnJvbSAnLi9idWlsZFdoZXJlSW5wdXRUeXBlJ1xuaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5pbXBvcnQgeyBkb2NBY2Nlc3NSZXNvbHZlciB9IGZyb20gJy4uL3Jlc29sdmVycy9nbG9iYWxzL2RvY0FjY2VzcydcbmltcG9ydCBmaW5kT25lUmVzb2x2ZXIgZnJvbSAnLi4vcmVzb2x2ZXJzL2dsb2JhbHMvZmluZE9uZSdcbmltcG9ydCBmaW5kVmVyc2lvbkJ5SURSZXNvbHZlciBmcm9tICcuLi9yZXNvbHZlcnMvZ2xvYmFscy9maW5kVmVyc2lvbkJ5SUQnXG5pbXBvcnQgZmluZFZlcnNpb25zUmVzb2x2ZXIgZnJvbSAnLi4vcmVzb2x2ZXJzL2dsb2JhbHMvZmluZFZlcnNpb25zJ1xuaW1wb3J0IHJlc3RvcmVWZXJzaW9uUmVzb2x2ZXIgZnJvbSAnLi4vcmVzb2x2ZXJzL2dsb2JhbHMvcmVzdG9yZVZlcnNpb24nXG5pbXBvcnQgdXBkYXRlUmVzb2x2ZXIgZnJvbSAnLi4vcmVzb2x2ZXJzL2dsb2JhbHMvdXBkYXRlJ1xuXG50eXBlIEluaXRHbG9iYWxzR3JhcGhRTEFyZ3MgPSB7XG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIGdyYXBocWxSZXN1bHQ6IEdyYXBoUUxJbmZvXG59XG5mdW5jdGlvbiBpbml0R2xvYmFsc0dyYXBoUUwoeyBjb25maWcsIGdyYXBocWxSZXN1bHQgfTogSW5pdEdsb2JhbHNHcmFwaFFMQXJncyk6IHZvaWQge1xuICBPYmplY3Qua2V5cyhncmFwaHFsUmVzdWx0Lmdsb2JhbHMuY29uZmlnKS5mb3JFYWNoKChzbHVnKSA9PiB7XG4gICAgY29uc3QgZ2xvYmFsOiBTYW5pdGl6ZWRHbG9iYWxDb25maWcgPSBncmFwaHFsUmVzdWx0Lmdsb2JhbHMuY29uZmlnW3NsdWddXG4gICAgY29uc3QgeyBmaWVsZHMsIGdyYXBoUUwsIHZlcnNpb25zIH0gPSBnbG9iYWxcblxuICAgIGlmIChncmFwaFFMID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgZm9ybWF0dGVkTmFtZSA9IGdyYXBoUUw/Lm5hbWUgPyBncmFwaFFMLm5hbWUgOiBzaW5ndWxhcih0b1dvcmRzKGdsb2JhbC5zbHVnLCB0cnVlKSlcblxuICAgIGNvbnN0IGZvcmNlTnVsbGFibGVPYmplY3RUeXBlID0gQm9vbGVhbih2ZXJzaW9ucz8uZHJhZnRzKVxuXG4gICAgaWYgKCFncmFwaHFsUmVzdWx0Lmdsb2JhbHMuZ3JhcGhRTCkgZ3JhcGhxbFJlc3VsdC5nbG9iYWxzLmdyYXBoUUwgPSB7fVxuXG4gICAgY29uc3QgdXBkYXRlTXV0YXRpb25JbnB1dFR5cGUgPSBidWlsZE11dGF0aW9uSW5wdXRUeXBlKHtcbiAgICAgIG5hbWU6IGZvcm1hdHRlZE5hbWUsXG4gICAgICBmaWVsZHMsXG4gICAgICBwYXJlbnROYW1lOiBmb3JtYXR0ZWROYW1lLFxuICAgICAgZ3JhcGhxbFJlc3VsdCxcbiAgICAgIGNvbmZpZyxcbiAgICB9KVxuICAgIGdyYXBocWxSZXN1bHQuZ2xvYmFscy5ncmFwaFFMW3NsdWddID0ge1xuICAgICAgbXV0YXRpb25JbnB1dFR5cGU6IHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlXG4gICAgICAgID8gbmV3IEdyYXBoUUxOb25OdWxsKHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlKVxuICAgICAgICA6IG51bGwsXG4gICAgICB0eXBlOiBidWlsZE9iamVjdFR5cGUoe1xuICAgICAgICBuYW1lOiBmb3JtYXR0ZWROYW1lLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIGZvcmNlTnVsbGFibGU6IGZvcmNlTnVsbGFibGVPYmplY3RUeXBlLFxuICAgICAgICBwYXJlbnROYW1lOiBmb3JtYXR0ZWROYW1lLFxuICAgICAgICBncmFwaHFsUmVzdWx0LFxuICAgICAgICBjb25maWcsXG4gICAgICB9KSxcbiAgICB9XG5cbiAgICBncmFwaHFsUmVzdWx0LlF1ZXJ5LmZpZWxkc1tmb3JtYXR0ZWROYW1lXSA9IHtcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgZHJhZnQ6IHsgdHlwZTogR3JhcGhRTEJvb2xlYW4gfSxcbiAgICAgICAgLi4uKGNvbmZpZy5sb2NhbGl6YXRpb25cbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogZ3JhcGhxbFJlc3VsdC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICBsb2NhbGU6IHsgdHlwZTogZ3JhcGhxbFJlc3VsdC50eXBlcy5sb2NhbGVJbnB1dFR5cGUgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHt9KSxcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiBmaW5kT25lUmVzb2x2ZXIoZ2xvYmFsKSxcbiAgICAgIHR5cGU6IGdyYXBocWxSZXN1bHQuZ2xvYmFscy5ncmFwaFFMW3NsdWddLnR5cGUsXG4gICAgfVxuXG4gICAgZ3JhcGhxbFJlc3VsdC5NdXRhdGlvbi5maWVsZHNbYHVwZGF0ZSR7Zm9ybWF0dGVkTmFtZX1gXSA9IHtcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgLi4uKHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlXG4gICAgICAgICAgPyB7IGRhdGE6IHsgdHlwZTogZ3JhcGhxbFJlc3VsdC5nbG9iYWxzLmdyYXBoUUxbc2x1Z10ubXV0YXRpb25JbnB1dFR5cGUgfSB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIGRyYWZ0OiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgICAgIC4uLihjb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBncmFwaHFsUmVzdWx0LnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IHVwZGF0ZVJlc29sdmVyKGdsb2JhbCksXG4gICAgICB0eXBlOiBncmFwaHFsUmVzdWx0Lmdsb2JhbHMuZ3JhcGhRTFtzbHVnXS50eXBlLFxuICAgIH1cblxuICAgIGdyYXBocWxSZXN1bHQuUXVlcnkuZmllbGRzW2Bkb2NBY2Nlc3Mke2Zvcm1hdHRlZE5hbWV9YF0gPSB7XG4gICAgICByZXNvbHZlOiBkb2NBY2Nlc3NSZXNvbHZlcihnbG9iYWwpLFxuICAgICAgdHlwZTogYnVpbGRQb2xpY3lUeXBlKHtcbiAgICAgICAgZW50aXR5OiBnbG9iYWwsXG4gICAgICAgIHNjb3BlOiAnZG9jQWNjZXNzJyxcbiAgICAgICAgdHlwZTogJ2dsb2JhbCcsXG4gICAgICAgIHR5cGVTdWZmaXg6ICdEb2NBY2Nlc3MnLFxuICAgICAgfSksXG4gICAgfVxuXG4gICAgaWYgKGdsb2JhbC52ZXJzaW9ucykge1xuICAgICAgY29uc3QgaWRUeXBlID0gY29uZmlnLmRiLmRlZmF1bHRJRFR5cGUgPT09ICdudW1iZXInID8gR3JhcGhRTEludCA6IEdyYXBoUUxTdHJpbmdcblxuICAgICAgY29uc3QgdmVyc2lvbkdsb2JhbEZpZWxkczogRmllbGRbXSA9IFtcbiAgICAgICAgLi4uYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzKGdsb2JhbCksXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnaWQnLFxuICAgICAgICAgIHR5cGU6IGNvbmZpZy5kYi5kZWZhdWx0SURUeXBlIGFzICd0ZXh0JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdjcmVhdGVkQXQnLFxuICAgICAgICAgIGxhYmVsOiAnQ3JlYXRlZCBBdCcsXG4gICAgICAgICAgdHlwZTogJ2RhdGUnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3VwZGF0ZWRBdCcsXG4gICAgICAgICAgbGFiZWw6ICdVcGRhdGVkIEF0JyxcbiAgICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgIH0sXG4gICAgICBdXG5cbiAgICAgIGdyYXBocWxSZXN1bHQuZ2xvYmFscy5ncmFwaFFMW3NsdWddLnZlcnNpb25UeXBlID0gYnVpbGRPYmplY3RUeXBlKHtcbiAgICAgICAgbmFtZTogYCR7Zm9ybWF0dGVkTmFtZX1WZXJzaW9uYCxcbiAgICAgICAgZmllbGRzOiB2ZXJzaW9uR2xvYmFsRmllbGRzLFxuICAgICAgICBmb3JjZU51bGxhYmxlOiBmb3JjZU51bGxhYmxlT2JqZWN0VHlwZSxcbiAgICAgICAgcGFyZW50TmFtZTogYCR7Zm9ybWF0dGVkTmFtZX1WZXJzaW9uYCxcbiAgICAgICAgZ3JhcGhxbFJlc3VsdCxcbiAgICAgICAgY29uZmlnLFxuICAgICAgfSlcblxuICAgICAgZ3JhcGhxbFJlc3VsdC5RdWVyeS5maWVsZHNbYHZlcnNpb24ke2Zvcm1hdE5hbWUoZm9ybWF0dGVkTmFtZSl9YF0gPSB7XG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICBpZDogeyB0eXBlOiBpZFR5cGUgfSxcbiAgICAgICAgICAuLi4oY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogZ3JhcGhxbFJlc3VsdC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBncmFwaHFsUmVzdWx0LnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVzb2x2ZTogZmluZFZlcnNpb25CeUlEUmVzb2x2ZXIoZ2xvYmFsKSxcbiAgICAgICAgdHlwZTogZ3JhcGhxbFJlc3VsdC5nbG9iYWxzLmdyYXBoUUxbc2x1Z10udmVyc2lvblR5cGUsXG4gICAgICB9XG4gICAgICBncmFwaHFsUmVzdWx0LlF1ZXJ5LmZpZWxkc1tgdmVyc2lvbnMke2Zvcm1hdHRlZE5hbWV9YF0gPSB7XG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgdHlwZTogYnVpbGRXaGVyZUlucHV0VHlwZSh7XG4gICAgICAgICAgICAgIG5hbWU6IGB2ZXJzaW9ucyR7Zm9ybWF0dGVkTmFtZX1gLFxuICAgICAgICAgICAgICBmaWVsZHM6IHZlcnNpb25HbG9iYWxGaWVsZHMsXG4gICAgICAgICAgICAgIHBhcmVudE5hbWU6IGB2ZXJzaW9ucyR7Zm9ybWF0dGVkTmFtZX1gLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgICAuLi4oY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogZ3JhcGhxbFJlc3VsdC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBncmFwaHFsUmVzdWx0LnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICBsaW1pdDogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgcGFnZTogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgc29ydDogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlc29sdmU6IGZpbmRWZXJzaW9uc1Jlc29sdmVyKGdsb2JhbCksXG4gICAgICAgIHR5cGU6IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUoXG4gICAgICAgICAgYHZlcnNpb25zJHtmb3JtYXROYW1lKGZvcm1hdHRlZE5hbWUpfWAsXG4gICAgICAgICAgZ3JhcGhxbFJlc3VsdC5nbG9iYWxzLmdyYXBoUUxbc2x1Z10udmVyc2lvblR5cGUsXG4gICAgICAgICksXG4gICAgICB9XG4gICAgICBncmFwaHFsUmVzdWx0Lk11dGF0aW9uLmZpZWxkc1tgcmVzdG9yZVZlcnNpb24ke2Zvcm1hdE5hbWUoZm9ybWF0dGVkTmFtZSl9YF0gPSB7XG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICBpZDogeyB0eXBlOiBpZFR5cGUgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVzb2x2ZTogcmVzdG9yZVZlcnNpb25SZXNvbHZlcihnbG9iYWwpLFxuICAgICAgICB0eXBlOiBncmFwaHFsUmVzdWx0Lmdsb2JhbHMuZ3JhcGhRTFtzbHVnXS50eXBlLFxuICAgICAgfVxuICAgIH1cbiAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgaW5pdEdsb2JhbHNHcmFwaFFMXG4iXSwibmFtZXMiOlsiaW5pdEdsb2JhbHNHcmFwaFFMIiwiY29uZmlnIiwiZ3JhcGhxbFJlc3VsdCIsIk9iamVjdCIsImtleXMiLCJnbG9iYWxzIiwiZm9yRWFjaCIsInNsdWciLCJnbG9iYWwiLCJmaWVsZHMiLCJncmFwaFFMIiwidmVyc2lvbnMiLCJmb3JtYXR0ZWROYW1lIiwibmFtZSIsInNpbmd1bGFyIiwidG9Xb3JkcyIsImZvcmNlTnVsbGFibGVPYmplY3RUeXBlIiwiQm9vbGVhbiIsImRyYWZ0cyIsInVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlIiwiYnVpbGRNdXRhdGlvbklucHV0VHlwZSIsInBhcmVudE5hbWUiLCJtdXRhdGlvbklucHV0VHlwZSIsIkdyYXBoUUxOb25OdWxsIiwidHlwZSIsImJ1aWxkT2JqZWN0VHlwZSIsImZvcmNlTnVsbGFibGUiLCJRdWVyeSIsImFyZ3MiLCJkcmFmdCIsIkdyYXBoUUxCb29sZWFuIiwibG9jYWxpemF0aW9uIiwiZmFsbGJhY2tMb2NhbGUiLCJ0eXBlcyIsImZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlIiwibG9jYWxlIiwibG9jYWxlSW5wdXRUeXBlIiwicmVzb2x2ZSIsImZpbmRPbmVSZXNvbHZlciIsIk11dGF0aW9uIiwiZGF0YSIsInVwZGF0ZVJlc29sdmVyIiwiZG9jQWNjZXNzUmVzb2x2ZXIiLCJidWlsZFBvbGljeVR5cGUiLCJlbnRpdHkiLCJzY29wZSIsInR5cGVTdWZmaXgiLCJpZFR5cGUiLCJkYiIsImRlZmF1bHRJRFR5cGUiLCJHcmFwaFFMSW50IiwiR3JhcGhRTFN0cmluZyIsInZlcnNpb25HbG9iYWxGaWVsZHMiLCJidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMiLCJsYWJlbCIsInZlcnNpb25UeXBlIiwiZm9ybWF0TmFtZSIsImlkIiwiZmluZFZlcnNpb25CeUlEUmVzb2x2ZXIiLCJ3aGVyZSIsImJ1aWxkV2hlcmVJbnB1dFR5cGUiLCJsaW1pdCIsInBhZ2UiLCJzb3J0IiwiZmluZFZlcnNpb25zUmVzb2x2ZXIiLCJidWlsZFBhZ2luYXRlZExpc3RUeXBlIiwicmVzdG9yZVZlcnNpb25SZXNvbHZlciJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQXFMcEM7OztlQUFBOzs7eUJBcEwwRTsyQkFDakQ7MkJBQ0Q7MEJBQ2lCO3dDQUtGO3dFQUNYOytFQUNPO21DQUNIOzRFQUNBO21FQUNUOzJCQUNXO2dFQUNOO3dFQUNRO3FFQUNIO3VFQUNFOytEQUNSOzs7Ozs7QUFNM0IsU0FBU0EsbUJBQW1CLEVBQUVDLE1BQU0sRUFBRUMsYUFBYSxFQUEwQjtJQUMzRUMsT0FBT0MsSUFBSSxDQUFDRixjQUFjRyxPQUFPLENBQUNKLE1BQU0sRUFBRUssT0FBTyxDQUFDLENBQUNDO1FBQ2pELE1BQU1DLFNBQWdDTixjQUFjRyxPQUFPLENBQUNKLE1BQU0sQ0FBQ00sS0FBSztRQUN4RSxNQUFNLEVBQUVFLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUUsR0FBR0g7UUFFdEMsSUFBSUUsWUFBWSxPQUFPO1lBQ3JCO1FBQ0Y7UUFFQSxNQUFNRSxnQkFBZ0JGLFNBQVNHLE9BQU9ILFFBQVFHLElBQUksR0FBR0MsSUFBQUEsbUJBQVEsRUFBQ0MsSUFBQUEsa0JBQU8sRUFBQ1AsT0FBT0QsSUFBSSxFQUFFO1FBRW5GLE1BQU1TLDBCQUEwQkMsUUFBUU4sVUFBVU87UUFFbEQsSUFBSSxDQUFDaEIsY0FBY0csT0FBTyxDQUFDSyxPQUFPLEVBQUVSLGNBQWNHLE9BQU8sQ0FBQ0ssT0FBTyxHQUFHLENBQUM7UUFFckUsTUFBTVMsMEJBQTBCQyxJQUFBQSw4Q0FBc0IsRUFBQztZQUNyRFAsTUFBTUQ7WUFDTkg7WUFDQVksWUFBWVQ7WUFDWlY7WUFDQUQ7UUFDRjtRQUNBQyxjQUFjRyxPQUFPLENBQUNLLE9BQU8sQ0FBQ0gsS0FBSyxHQUFHO1lBQ3BDZSxtQkFBbUJILDBCQUNmLElBQUlJLHVCQUFjLENBQUNKLDJCQUNuQjtZQUNKSyxNQUFNQyxJQUFBQSx3QkFBZSxFQUFDO2dCQUNwQlosTUFBTUQ7Z0JBQ05IO2dCQUNBaUIsZUFBZVY7Z0JBQ2ZLLFlBQVlUO2dCQUNaVjtnQkFDQUQ7WUFDRjtRQUNGO1FBRUFDLGNBQWN5QixLQUFLLENBQUNsQixNQUFNLENBQUNHLGNBQWMsR0FBRztZQUMxQ2dCLE1BQU07Z0JBQ0pDLE9BQU87b0JBQUVMLE1BQU1NLHVCQUFjO2dCQUFDO2dCQUM5QixHQUFJN0IsT0FBTzhCLFlBQVksR0FDbkI7b0JBQ0VDLGdCQUFnQjt3QkFBRVIsTUFBTXRCLGNBQWMrQixLQUFLLENBQUNDLHVCQUF1QjtvQkFBQztvQkFDcEVDLFFBQVE7d0JBQUVYLE1BQU10QixjQUFjK0IsS0FBSyxDQUFDRyxlQUFlO29CQUFDO2dCQUN0RCxJQUNBLENBQUMsQ0FBQztZQUNSO1lBQ0FDLFNBQVNDLElBQUFBLGdCQUFlLEVBQUM5QjtZQUN6QmdCLE1BQU10QixjQUFjRyxPQUFPLENBQUNLLE9BQU8sQ0FBQ0gsS0FBSyxDQUFDaUIsSUFBSTtRQUNoRDtRQUVBdEIsY0FBY3FDLFFBQVEsQ0FBQzlCLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRUcsY0FBYyxDQUFDLENBQUMsR0FBRztZQUN4RGdCLE1BQU07Z0JBQ0osR0FBSVQsMEJBQ0E7b0JBQUVxQixNQUFNO3dCQUFFaEIsTUFBTXRCLGNBQWNHLE9BQU8sQ0FBQ0ssT0FBTyxDQUFDSCxLQUFLLENBQUNlLGlCQUFpQjtvQkFBQztnQkFBRSxJQUN4RSxDQUFDLENBQUM7Z0JBQ05PLE9BQU87b0JBQUVMLE1BQU1NLHVCQUFjO2dCQUFDO2dCQUM5QixHQUFJN0IsT0FBTzhCLFlBQVksR0FDbkI7b0JBQ0VJLFFBQVE7d0JBQUVYLE1BQU10QixjQUFjK0IsS0FBSyxDQUFDRyxlQUFlO29CQUFDO2dCQUN0RCxJQUNBLENBQUMsQ0FBQztZQUNSO1lBQ0FDLFNBQVNJLElBQUFBLGVBQWMsRUFBQ2pDO1lBQ3hCZ0IsTUFBTXRCLGNBQWNHLE9BQU8sQ0FBQ0ssT0FBTyxDQUFDSCxLQUFLLENBQUNpQixJQUFJO1FBQ2hEO1FBRUF0QixjQUFjeUIsS0FBSyxDQUFDbEIsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFRyxjQUFjLENBQUMsQ0FBQyxHQUFHO1lBQ3hEeUIsU0FBU0ssSUFBQUEsNEJBQWlCLEVBQUNsQztZQUMzQmdCLE1BQU1tQixJQUFBQSxrQ0FBZSxFQUFDO2dCQUNwQkMsUUFBUXBDO2dCQUNScUMsT0FBTztnQkFDUHJCLE1BQU07Z0JBQ05zQixZQUFZO1lBQ2Q7UUFDRjtRQUVBLElBQUl0QyxPQUFPRyxRQUFRLEVBQUU7WUFDbkIsTUFBTW9DLFNBQVM5QyxPQUFPK0MsRUFBRSxDQUFDQyxhQUFhLEtBQUssV0FBV0MsbUJBQVUsR0FBR0Msc0JBQWE7WUFFaEYsTUFBTUMsc0JBQStCO21CQUNoQ0MsSUFBQUEsa0NBQXdCLEVBQUM3QztnQkFDNUI7b0JBQ0VLLE1BQU07b0JBQ05XLE1BQU12QixPQUFPK0MsRUFBRSxDQUFDQyxhQUFhO2dCQUMvQjtnQkFDQTtvQkFDRXBDLE1BQU07b0JBQ055QyxPQUFPO29CQUNQOUIsTUFBTTtnQkFDUjtnQkFDQTtvQkFDRVgsTUFBTTtvQkFDTnlDLE9BQU87b0JBQ1A5QixNQUFNO2dCQUNSO2FBQ0Q7WUFFRHRCLGNBQWNHLE9BQU8sQ0FBQ0ssT0FBTyxDQUFDSCxLQUFLLENBQUNnRCxXQUFXLEdBQUc5QixJQUFBQSx3QkFBZSxFQUFDO2dCQUNoRVosTUFBTSxDQUFDLEVBQUVELGNBQWMsT0FBTyxDQUFDO2dCQUMvQkgsUUFBUTJDO2dCQUNSMUIsZUFBZVY7Z0JBQ2ZLLFlBQVksQ0FBQyxFQUFFVCxjQUFjLE9BQU8sQ0FBQztnQkFDckNWO2dCQUNBRDtZQUNGO1lBRUFDLGNBQWN5QixLQUFLLENBQUNsQixNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUrQyxJQUFBQSxtQkFBVSxFQUFDNUMsZUFBZSxDQUFDLENBQUMsR0FBRztnQkFDbEVnQixNQUFNO29CQUNKNkIsSUFBSTt3QkFBRWpDLE1BQU11QjtvQkFBTztvQkFDbkIsR0FBSTlDLE9BQU84QixZQUFZLEdBQ25CO3dCQUNFQyxnQkFBZ0I7NEJBQUVSLE1BQU10QixjQUFjK0IsS0FBSyxDQUFDQyx1QkFBdUI7d0JBQUM7d0JBQ3BFQyxRQUFROzRCQUFFWCxNQUFNdEIsY0FBYytCLEtBQUssQ0FBQ0csZUFBZTt3QkFBQztvQkFDdEQsSUFDQSxDQUFDLENBQUM7Z0JBQ1I7Z0JBQ0FDLFNBQVNxQixJQUFBQSx3QkFBdUIsRUFBQ2xEO2dCQUNqQ2dCLE1BQU10QixjQUFjRyxPQUFPLENBQUNLLE9BQU8sQ0FBQ0gsS0FBSyxDQUFDZ0QsV0FBVztZQUN2RDtZQUNBckQsY0FBY3lCLEtBQUssQ0FBQ2xCLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRUcsY0FBYyxDQUFDLENBQUMsR0FBRztnQkFDdkRnQixNQUFNO29CQUNKK0IsT0FBTzt3QkFDTG5DLE1BQU1vQyxJQUFBQSw0QkFBbUIsRUFBQzs0QkFDeEIvQyxNQUFNLENBQUMsUUFBUSxFQUFFRCxjQUFjLENBQUM7NEJBQ2hDSCxRQUFRMkM7NEJBQ1IvQixZQUFZLENBQUMsUUFBUSxFQUFFVCxjQUFjLENBQUM7d0JBQ3hDO29CQUNGO29CQUNBLEdBQUlYLE9BQU84QixZQUFZLEdBQ25CO3dCQUNFQyxnQkFBZ0I7NEJBQUVSLE1BQU10QixjQUFjK0IsS0FBSyxDQUFDQyx1QkFBdUI7d0JBQUM7d0JBQ3BFQyxRQUFROzRCQUFFWCxNQUFNdEIsY0FBYytCLEtBQUssQ0FBQ0csZUFBZTt3QkFBQztvQkFDdEQsSUFDQSxDQUFDLENBQUM7b0JBQ055QixPQUFPO3dCQUFFckMsTUFBTTBCLG1CQUFVO29CQUFDO29CQUMxQlksTUFBTTt3QkFBRXRDLE1BQU0wQixtQkFBVTtvQkFBQztvQkFDekJhLE1BQU07d0JBQUV2QyxNQUFNMkIsc0JBQWE7b0JBQUM7Z0JBQzlCO2dCQUNBZCxTQUFTMkIsSUFBQUEscUJBQW9CLEVBQUN4RDtnQkFDOUJnQixNQUFNeUMsSUFBQUEsK0JBQXNCLEVBQzFCLENBQUMsUUFBUSxFQUFFVCxJQUFBQSxtQkFBVSxFQUFDNUMsZUFBZSxDQUFDLEVBQ3RDVixjQUFjRyxPQUFPLENBQUNLLE9BQU8sQ0FBQ0gsS0FBSyxDQUFDZ0QsV0FBVztZQUVuRDtZQUNBckQsY0FBY3FDLFFBQVEsQ0FBQzlCLE1BQU0sQ0FBQyxDQUFDLGNBQWMsRUFBRStDLElBQUFBLG1CQUFVLEVBQUM1QyxlQUFlLENBQUMsQ0FBQyxHQUFHO2dCQUM1RWdCLE1BQU07b0JBQ0o2QixJQUFJO3dCQUFFakMsTUFBTXVCO29CQUFPO2dCQUNyQjtnQkFDQVYsU0FBUzZCLElBQUFBLHVCQUFzQixFQUFDMUQ7Z0JBQ2hDZ0IsTUFBTXRCLGNBQWNHLE9BQU8sQ0FBQ0ssT0FBTyxDQUFDSCxLQUFLLENBQUNpQixJQUFJO1lBQ2hEO1FBQ0Y7SUFDRjtBQUNGO01BRUEsV0FBZXhCIn0=
@@ -0,0 +1,4 @@
1
+ import type { FieldAffectingData } from 'payload/types';
2
+ declare const isFieldNullable: (field: FieldAffectingData, force: boolean) => boolean;
3
+ export default isFieldNullable;
4
+ //# sourceMappingURL=isFieldNullable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isFieldNullable.d.ts","sourceRoot":"","sources":["../../src/schema/isFieldNullable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAIvD,QAAA,MAAM,eAAe,UAAW,kBAAkB,SAAS,OAAO,KAAG,OAYpE,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _types = require("payload/types");
12
+ const isFieldNullable = (field, force)=>{
13
+ const hasReadAccessControl = field.access && field.access.read;
14
+ const condition = field.admin && field.admin.condition;
15
+ return !(force && (0, _types.fieldAffectsData)(field) && 'required' in field && field.required && !field.localized && !condition && !hasReadAccessControl);
16
+ };
17
+ const _default = isFieldNullable;
18
+
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvaXNGaWVsZE51bGxhYmxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGRBZmZlY3RpbmdEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmNvbnN0IGlzRmllbGROdWxsYWJsZSA9IChmaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhLCBmb3JjZTogYm9vbGVhbik6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBoYXNSZWFkQWNjZXNzQ29udHJvbCA9IGZpZWxkLmFjY2VzcyAmJiBmaWVsZC5hY2Nlc3MucmVhZFxuICBjb25zdCBjb25kaXRpb24gPSBmaWVsZC5hZG1pbiAmJiBmaWVsZC5hZG1pbi5jb25kaXRpb25cbiAgcmV0dXJuICEoXG4gICAgZm9yY2UgJiZcbiAgICBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJlxuICAgICdyZXF1aXJlZCcgaW4gZmllbGQgJiZcbiAgICBmaWVsZC5yZXF1aXJlZCAmJlxuICAgICFmaWVsZC5sb2NhbGl6ZWQgJiZcbiAgICAhY29uZGl0aW9uICYmXG4gICAgIWhhc1JlYWRBY2Nlc3NDb250cm9sXG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgaXNGaWVsZE51bGxhYmxlXG4iXSwibmFtZXMiOlsiaXNGaWVsZE51bGxhYmxlIiwiZmllbGQiLCJmb3JjZSIsImhhc1JlYWRBY2Nlc3NDb250cm9sIiwiYWNjZXNzIiwicmVhZCIsImNvbmRpdGlvbiIsImFkbWluIiwiZmllbGRBZmZlY3RzRGF0YSIsInJlcXVpcmVkIiwibG9jYWxpemVkIl0sIm1hcHBpbmdzIjoiOzs7OytCQWtCQTs7O2VBQUE7Ozt1QkFoQmlDO0FBRWpDLE1BQU1BLGtCQUFrQixDQUFDQyxPQUEyQkM7SUFDbEQsTUFBTUMsdUJBQXVCRixNQUFNRyxNQUFNLElBQUlILE1BQU1HLE1BQU0sQ0FBQ0MsSUFBSTtJQUM5RCxNQUFNQyxZQUFZTCxNQUFNTSxLQUFLLElBQUlOLE1BQU1NLEtBQUssQ0FBQ0QsU0FBUztJQUN0RCxPQUFPLENBQ0xKLENBQUFBLFNBQ0FNLElBQUFBLHVCQUFnQixFQUFDUCxVQUNqQixjQUFjQSxTQUNkQSxNQUFNUSxRQUFRLElBQ2QsQ0FBQ1IsTUFBTVMsU0FBUyxJQUNoQixDQUFDSixhQUNELENBQUNILG9CQUFtQjtBQUV4QjtNQUVBLFdBQWVIIn0=
@@ -0,0 +1,10 @@
1
+ declare const operators: {
2
+ comparison: string[];
3
+ contains: string[];
4
+ equality: string[];
5
+ geo: string[];
6
+ geojson: string[];
7
+ partial: string[];
8
+ };
9
+ export default operators;
10
+ //# sourceMappingURL=operators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../src/schema/operators.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,SAAS;;;;;;;CAOd,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const operators = {
12
+ comparison: [
13
+ 'greater_than_equal',
14
+ 'greater_than',
15
+ 'less_than_equal',
16
+ 'less_than'
17
+ ],
18
+ contains: [
19
+ 'in',
20
+ 'not_in',
21
+ 'all'
22
+ ],
23
+ equality: [
24
+ 'equals',
25
+ 'not_equals'
26
+ ],
27
+ geo: [
28
+ 'near'
29
+ ],
30
+ geojson: [
31
+ 'within',
32
+ 'intersects'
33
+ ],
34
+ partial: [
35
+ 'like',
36
+ 'contains'
37
+ ]
38
+ };
39
+ const _default = operators;
40
+
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvb3BlcmF0b3JzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IG9wZXJhdG9ycyA9IHtcbiAgY29tcGFyaXNvbjogWydncmVhdGVyX3RoYW5fZXF1YWwnLCAnZ3JlYXRlcl90aGFuJywgJ2xlc3NfdGhhbl9lcXVhbCcsICdsZXNzX3RoYW4nXSxcbiAgY29udGFpbnM6IFsnaW4nLCAnbm90X2luJywgJ2FsbCddLFxuICBlcXVhbGl0eTogWydlcXVhbHMnLCAnbm90X2VxdWFscyddLFxuICBnZW86IFsnbmVhciddLFxuICBnZW9qc29uOiBbJ3dpdGhpbicsICdpbnRlcnNlY3RzJ10sXG4gIHBhcnRpYWw6IFsnbGlrZScsICdjb250YWlucyddLFxufVxuXG5leHBvcnQgZGVmYXVsdCBvcGVyYXRvcnNcbiJdLCJuYW1lcyI6WyJvcGVyYXRvcnMiLCJjb21wYXJpc29uIiwiY29udGFpbnMiLCJlcXVhbGl0eSIsImdlbyIsImdlb2pzb24iLCJwYXJ0aWFsIl0sIm1hcHBpbmdzIjoiOzs7OytCQVNBOzs7ZUFBQTs7O0FBVEEsTUFBTUEsWUFBWTtJQUNoQkMsWUFBWTtRQUFDO1FBQXNCO1FBQWdCO1FBQW1CO0tBQVk7SUFDbEZDLFVBQVU7UUFBQztRQUFNO1FBQVU7S0FBTTtJQUNqQ0MsVUFBVTtRQUFDO1FBQVU7S0FBYTtJQUNsQ0MsS0FBSztRQUFDO0tBQU87SUFDYkMsU0FBUztRQUFDO1FBQVU7S0FBYTtJQUNqQ0MsU0FBUztRQUFDO1FBQVE7S0FBVztBQUMvQjtNQUVBLFdBQWVOIn0=
@@ -0,0 +1,9 @@
1
+ import type { FieldWithSubFields, TabsField } from 'payload/types';
2
+ type Args = {
3
+ field: FieldWithSubFields | TabsField;
4
+ nestedFieldName2: string;
5
+ parentName: string;
6
+ };
7
+ declare const recursivelyBuildNestedPaths: ({ field, nestedFieldName2, parentName }: Args) => any;
8
+ export default recursivelyBuildNestedPaths;
9
+ //# sourceMappingURL=recursivelyBuildNestedPaths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recursivelyBuildNestedPaths.d.ts","sourceRoot":"","sources":["../../src/schema/recursivelyBuildNestedPaths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAKlE,KAAK,IAAI,GAAG;IACV,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAA;IACrC,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,QAAA,MAAM,2BAA2B,4CAA6C,IAAI,QAmEjF,CAAA;AAED,eAAe,2BAA2B,CAAA"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _types = require("payload/types");
12
+ const _fieldToWhereInputSchemaMap = /*#__PURE__*/ _interop_require_default(require("./fieldToWhereInputSchemaMap"));
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ const recursivelyBuildNestedPaths = ({ field, nestedFieldName2, parentName })=>{
19
+ const fieldName = (0, _types.fieldAffectsData)(field) ? field.name : undefined;
20
+ const nestedFieldName = fieldName || nestedFieldName2;
21
+ if (field.type === 'tabs') {
22
+ // if the tab has a name, treat it as a group
23
+ // otherwise, treat it as a row
24
+ return field.tabs.reduce((tabSchema, tab)=>{
25
+ tabSchema.push(...recursivelyBuildNestedPaths({
26
+ field: {
27
+ ...tab,
28
+ type: 'name' in tab ? 'group' : 'row'
29
+ },
30
+ nestedFieldName2: nestedFieldName,
31
+ parentName
32
+ }));
33
+ return tabSchema;
34
+ }, []);
35
+ }
36
+ const nestedPaths = field.fields.reduce((nestedFields, nestedField)=>{
37
+ if (!(0, _types.fieldIsPresentationalOnly)(nestedField)) {
38
+ if (!(0, _types.fieldAffectsData)(nestedField)) {
39
+ return [
40
+ ...nestedFields,
41
+ ...recursivelyBuildNestedPaths({
42
+ field: nestedField,
43
+ nestedFieldName2: nestedFieldName,
44
+ parentName
45
+ })
46
+ ];
47
+ }
48
+ const nestedPathName = (0, _types.fieldAffectsData)(nestedField) ? `${nestedFieldName ? `${nestedFieldName}__` : ''}${nestedField.name}` : undefined;
49
+ const getFieldSchema = (0, _fieldToWhereInputSchemaMap.default)({
50
+ nestedFieldName,
51
+ parentName
52
+ })[nestedField.type];
53
+ if (getFieldSchema) {
54
+ const fieldSchema = getFieldSchema({
55
+ ...nestedField,
56
+ name: nestedPathName
57
+ });
58
+ if (Array.isArray(fieldSchema)) {
59
+ return [
60
+ ...nestedFields,
61
+ ...fieldSchema
62
+ ];
63
+ }
64
+ return [
65
+ ...nestedFields,
66
+ {
67
+ key: nestedPathName,
68
+ type: fieldSchema
69
+ }
70
+ ];
71
+ }
72
+ }
73
+ return nestedFields;
74
+ }, []);
75
+ return nestedPaths;
76
+ };
77
+ const _default = recursivelyBuildNestedPaths;
78
+
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvcmVjdXJzaXZlbHlCdWlsZE5lc3RlZFBhdGhzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGRXaXRoU3ViRmllbGRzLCBUYWJzRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCBmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5IH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCBmaWVsZFRvU2NoZW1hTWFwIGZyb20gJy4vZmllbGRUb1doZXJlSW5wdXRTY2hlbWFNYXAnXG5cbnR5cGUgQXJncyA9IHtcbiAgZmllbGQ6IEZpZWxkV2l0aFN1YkZpZWxkcyB8IFRhYnNGaWVsZFxuICBuZXN0ZWRGaWVsZE5hbWUyOiBzdHJpbmdcbiAgcGFyZW50TmFtZTogc3RyaW5nXG59XG5cbmNvbnN0IHJlY3Vyc2l2ZWx5QnVpbGROZXN0ZWRQYXRocyA9ICh7IGZpZWxkLCBuZXN0ZWRGaWVsZE5hbWUyLCBwYXJlbnROYW1lIH06IEFyZ3MpID0+IHtcbiAgY29uc3QgZmllbGROYW1lID0gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgPyBmaWVsZC5uYW1lIDogdW5kZWZpbmVkXG4gIGNvbnN0IG5lc3RlZEZpZWxkTmFtZSA9IGZpZWxkTmFtZSB8fCBuZXN0ZWRGaWVsZE5hbWUyXG5cbiAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgIC8vIGlmIHRoZSB0YWIgaGFzIGEgbmFtZSwgdHJlYXQgaXQgYXMgYSBncm91cFxuICAgIC8vIG90aGVyd2lzZSwgdHJlYXQgaXQgYXMgYSByb3dcbiAgICByZXR1cm4gZmllbGQudGFicy5yZWR1Y2UoKHRhYlNjaGVtYSwgdGFiOiBhbnkpID0+IHtcbiAgICAgIHRhYlNjaGVtYS5wdXNoKFxuICAgICAgICAuLi5yZWN1cnNpdmVseUJ1aWxkTmVzdGVkUGF0aHMoe1xuICAgICAgICAgIGZpZWxkOiB7XG4gICAgICAgICAgICAuLi50YWIsXG4gICAgICAgICAgICB0eXBlOiAnbmFtZScgaW4gdGFiID8gJ2dyb3VwJyA6ICdyb3cnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbmVzdGVkRmllbGROYW1lMjogbmVzdGVkRmllbGROYW1lLFxuICAgICAgICAgIHBhcmVudE5hbWUsXG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgcmV0dXJuIHRhYlNjaGVtYVxuICAgIH0sIFtdKVxuICB9XG5cbiAgY29uc3QgbmVzdGVkUGF0aHMgPSBmaWVsZC5maWVsZHMucmVkdWNlKChuZXN0ZWRGaWVsZHMsIG5lc3RlZEZpZWxkKSA9PiB7XG4gICAgaWYgKCFmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5KG5lc3RlZEZpZWxkKSkge1xuICAgICAgaWYgKCFmaWVsZEFmZmVjdHNEYXRhKG5lc3RlZEZpZWxkKSkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIC4uLm5lc3RlZEZpZWxkcyxcbiAgICAgICAgICAuLi5yZWN1cnNpdmVseUJ1aWxkTmVzdGVkUGF0aHMoe1xuICAgICAgICAgICAgZmllbGQ6IG5lc3RlZEZpZWxkLFxuICAgICAgICAgICAgbmVzdGVkRmllbGROYW1lMjogbmVzdGVkRmllbGROYW1lLFxuICAgICAgICAgICAgcGFyZW50TmFtZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXVxuICAgICAgfVxuXG4gICAgICBjb25zdCBuZXN0ZWRQYXRoTmFtZSA9IGZpZWxkQWZmZWN0c0RhdGEobmVzdGVkRmllbGQpXG4gICAgICAgID8gYCR7bmVzdGVkRmllbGROYW1lID8gYCR7bmVzdGVkRmllbGROYW1lfV9fYCA6ICcnfSR7bmVzdGVkRmllbGQubmFtZX1gXG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgICBjb25zdCBnZXRGaWVsZFNjaGVtYSA9IGZpZWxkVG9TY2hlbWFNYXAoe1xuICAgICAgICBuZXN0ZWRGaWVsZE5hbWUsXG4gICAgICAgIHBhcmVudE5hbWUsXG4gICAgICB9KVtuZXN0ZWRGaWVsZC50eXBlXVxuXG4gICAgICBpZiAoZ2V0RmllbGRTY2hlbWEpIHtcbiAgICAgICAgY29uc3QgZmllbGRTY2hlbWEgPSBnZXRGaWVsZFNjaGVtYSh7XG4gICAgICAgICAgLi4ubmVzdGVkRmllbGQsXG4gICAgICAgICAgbmFtZTogbmVzdGVkUGF0aE5hbWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGRTY2hlbWEpKSB7XG4gICAgICAgICAgcmV0dXJuIFsuLi5uZXN0ZWRGaWVsZHMsIC4uLmZpZWxkU2NoZW1hXVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAuLi5uZXN0ZWRGaWVsZHMsXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiBuZXN0ZWRQYXRoTmFtZSxcbiAgICAgICAgICAgIHR5cGU6IGZpZWxkU2NoZW1hLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmVzdGVkRmllbGRzXG4gIH0sIFtdKVxuXG4gIHJldHVybiBuZXN0ZWRQYXRoc1xufVxuXG5leHBvcnQgZGVmYXVsdCByZWN1cnNpdmVseUJ1aWxkTmVzdGVkUGF0aHNcbiJdLCJuYW1lcyI6WyJyZWN1cnNpdmVseUJ1aWxkTmVzdGVkUGF0aHMiLCJmaWVsZCIsIm5lc3RlZEZpZWxkTmFtZTIiLCJwYXJlbnROYW1lIiwiZmllbGROYW1lIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJ1bmRlZmluZWQiLCJuZXN0ZWRGaWVsZE5hbWUiLCJ0eXBlIiwidGFicyIsInJlZHVjZSIsInRhYlNjaGVtYSIsInRhYiIsInB1c2giLCJuZXN0ZWRQYXRocyIsImZpZWxkcyIsIm5lc3RlZEZpZWxkcyIsIm5lc3RlZEZpZWxkIiwiZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSIsIm5lc3RlZFBhdGhOYW1lIiwiZ2V0RmllbGRTY2hlbWEiLCJmaWVsZFRvU2NoZW1hTWFwIiwiZmllbGRTY2hlbWEiLCJBcnJheSIsImlzQXJyYXkiLCJrZXkiXSwibWFwcGluZ3MiOiI7Ozs7K0JBZ0ZBOzs7ZUFBQTs7O3VCQTlFNEQ7bUZBQy9COzs7Ozs7QUFRN0IsTUFBTUEsOEJBQThCLENBQUMsRUFBRUMsS0FBSyxFQUFFQyxnQkFBZ0IsRUFBRUMsVUFBVSxFQUFRO0lBQ2hGLE1BQU1DLFlBQVlDLElBQUFBLHVCQUFnQixFQUFDSixTQUFTQSxNQUFNSyxJQUFJLEdBQUdDO0lBQ3pELE1BQU1DLGtCQUFrQkosYUFBYUY7SUFFckMsSUFBSUQsTUFBTVEsSUFBSSxLQUFLLFFBQVE7UUFDekIsNkNBQTZDO1FBQzdDLCtCQUErQjtRQUMvQixPQUFPUixNQUFNUyxJQUFJLENBQUNDLE1BQU0sQ0FBQyxDQUFDQyxXQUFXQztZQUNuQ0QsVUFBVUUsSUFBSSxJQUNUZCw0QkFBNEI7Z0JBQzdCQyxPQUFPO29CQUNMLEdBQUdZLEdBQUc7b0JBQ05KLE1BQU0sVUFBVUksTUFBTSxVQUFVO2dCQUNsQztnQkFDQVgsa0JBQWtCTTtnQkFDbEJMO1lBQ0Y7WUFFRixPQUFPUztRQUNULEdBQUcsRUFBRTtJQUNQO0lBRUEsTUFBTUcsY0FBY2QsTUFBTWUsTUFBTSxDQUFDTCxNQUFNLENBQUMsQ0FBQ00sY0FBY0M7UUFDckQsSUFBSSxDQUFDQyxJQUFBQSxnQ0FBeUIsRUFBQ0QsY0FBYztZQUMzQyxJQUFJLENBQUNiLElBQUFBLHVCQUFnQixFQUFDYSxjQUFjO2dCQUNsQyxPQUFPO3VCQUNGRDt1QkFDQWpCLDRCQUE0Qjt3QkFDN0JDLE9BQU9pQjt3QkFDUGhCLGtCQUFrQk07d0JBQ2xCTDtvQkFDRjtpQkFDRDtZQUNIO1lBRUEsTUFBTWlCLGlCQUFpQmYsSUFBQUEsdUJBQWdCLEVBQUNhLGVBQ3BDLENBQUMsRUFBRVYsa0JBQWtCLENBQUMsRUFBRUEsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRVUsWUFBWVosSUFBSSxDQUFDLENBQUMsR0FDckVDO1lBQ0osTUFBTWMsaUJBQWlCQyxJQUFBQSxtQ0FBZ0IsRUFBQztnQkFDdENkO2dCQUNBTDtZQUNGLEVBQUUsQ0FBQ2UsWUFBWVQsSUFBSSxDQUFDO1lBRXBCLElBQUlZLGdCQUFnQjtnQkFDbEIsTUFBTUUsY0FBY0YsZUFBZTtvQkFDakMsR0FBR0gsV0FBVztvQkFDZFosTUFBTWM7Z0JBQ1I7Z0JBRUEsSUFBSUksTUFBTUMsT0FBTyxDQUFDRixjQUFjO29CQUM5QixPQUFPOzJCQUFJTjsyQkFBaUJNO3FCQUFZO2dCQUMxQztnQkFFQSxPQUFPO3VCQUNGTjtvQkFDSDt3QkFDRVMsS0FBS047d0JBQ0xYLE1BQU1jO29CQUNSO2lCQUNEO1lBQ0g7UUFDRjtRQUVBLE9BQU9OO0lBQ1QsR0FBRyxFQUFFO0lBRUwsT0FBT0Y7QUFDVDtNQUVBLFdBQWVmIn0=
@@ -0,0 +1,5 @@
1
+ import type { GraphQLType } from 'graphql';
2
+ import type { FieldAffectingData } from 'payload/types';
3
+ declare const withNullableType: (field: FieldAffectingData, type: GraphQLType, forceNullable?: boolean) => GraphQLType;
4
+ export default withNullableType;
5
+ //# sourceMappingURL=withNullableType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withNullableType.d.ts","sourceRoot":"","sources":["../../src/schema/withNullableType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD,QAAA,MAAM,gBAAgB,UACb,kBAAkB,QACnB,WAAW,8BAEhB,WAkBF,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _graphql = require("graphql");
12
+ const withNullableType = (field, type, forceNullable = false)=>{
13
+ const hasReadAccessControl = field.access && field.access.read;
14
+ const condition = field.admin && field.admin.condition;
15
+ const isTimestamp = field.name === 'createdAt' || field.name === 'updatedAt';
16
+ if (!forceNullable && 'required' in field && field.required && !field.localized && !condition && !hasReadAccessControl && !isTimestamp) {
17
+ return new _graphql.GraphQLNonNull(type);
18
+ }
19
+ return type;
20
+ };
21
+ const _default = withNullableType;
22
+
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvd2l0aE51bGxhYmxlVHlwZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEdyYXBoUUxUeXBlIH0gZnJvbSAnZ3JhcGhxbCdcblxuaW1wb3J0IHsgR3JhcGhRTE5vbk51bGwgfSBmcm9tICdncmFwaHFsJ1xuXG5pbXBvcnQgdHlwZSB7IEZpZWxkQWZmZWN0aW5nRGF0YSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmNvbnN0IHdpdGhOdWxsYWJsZVR5cGUgPSAoXG4gIGZpZWxkOiBGaWVsZEFmZmVjdGluZ0RhdGEsXG4gIHR5cGU6IEdyYXBoUUxUeXBlLFxuICBmb3JjZU51bGxhYmxlID0gZmFsc2UsXG4pOiBHcmFwaFFMVHlwZSA9PiB7XG4gIGNvbnN0IGhhc1JlYWRBY2Nlc3NDb250cm9sID0gZmllbGQuYWNjZXNzICYmIGZpZWxkLmFjY2Vzcy5yZWFkXG4gIGNvbnN0IGNvbmRpdGlvbiA9IGZpZWxkLmFkbWluICYmIGZpZWxkLmFkbWluLmNvbmRpdGlvblxuICBjb25zdCBpc1RpbWVzdGFtcCA9IGZpZWxkLm5hbWUgPT09ICdjcmVhdGVkQXQnIHx8IGZpZWxkLm5hbWUgPT09ICd1cGRhdGVkQXQnXG5cbiAgaWYgKFxuICAgICFmb3JjZU51bGxhYmxlICYmXG4gICAgJ3JlcXVpcmVkJyBpbiBmaWVsZCAmJlxuICAgIGZpZWxkLnJlcXVpcmVkICYmXG4gICAgIWZpZWxkLmxvY2FsaXplZCAmJlxuICAgICFjb25kaXRpb24gJiZcbiAgICAhaGFzUmVhZEFjY2Vzc0NvbnRyb2wgJiZcbiAgICAhaXNUaW1lc3RhbXBcbiAgKSB7XG4gICAgcmV0dXJuIG5ldyBHcmFwaFFMTm9uTnVsbCh0eXBlKVxuICB9XG5cbiAgcmV0dXJuIHR5cGVcbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aE51bGxhYmxlVHlwZVxuIl0sIm5hbWVzIjpbIndpdGhOdWxsYWJsZVR5cGUiLCJmaWVsZCIsInR5cGUiLCJmb3JjZU51bGxhYmxlIiwiaGFzUmVhZEFjY2Vzc0NvbnRyb2wiLCJhY2Nlc3MiLCJyZWFkIiwiY29uZGl0aW9uIiwiYWRtaW4iLCJpc1RpbWVzdGFtcCIsIm5hbWUiLCJyZXF1aXJlZCIsImxvY2FsaXplZCIsIkdyYXBoUUxOb25OdWxsIl0sIm1hcHBpbmdzIjoiOzs7OytCQThCQTs7O2VBQUE7Ozt5QkE1QitCO0FBSS9CLE1BQU1BLG1CQUFtQixDQUN2QkMsT0FDQUMsTUFDQUMsZ0JBQWdCLEtBQUs7SUFFckIsTUFBTUMsdUJBQXVCSCxNQUFNSSxNQUFNLElBQUlKLE1BQU1JLE1BQU0sQ0FBQ0MsSUFBSTtJQUM5RCxNQUFNQyxZQUFZTixNQUFNTyxLQUFLLElBQUlQLE1BQU1PLEtBQUssQ0FBQ0QsU0FBUztJQUN0RCxNQUFNRSxjQUFjUixNQUFNUyxJQUFJLEtBQUssZUFBZVQsTUFBTVMsSUFBSSxLQUFLO0lBRWpFLElBQ0UsQ0FBQ1AsaUJBQ0QsY0FBY0YsU0FDZEEsTUFBTVUsUUFBUSxJQUNkLENBQUNWLE1BQU1XLFNBQVMsSUFDaEIsQ0FBQ0wsYUFDRCxDQUFDSCx3QkFDRCxDQUFDSyxhQUNEO1FBQ0EsT0FBTyxJQUFJSSx1QkFBYyxDQUFDWDtJQUM1QjtJQUVBLE9BQU9BO0FBQ1Q7TUFFQSxXQUFlRiJ9
@@ -0,0 +1,16 @@
1
+ import { GraphQLInputObjectType } from 'graphql';
2
+ import type { FieldAffectingData } from 'payload/types';
3
+ /**
4
+ * In GraphQL, you can use "where" as an argument to filter a collection. Example:
5
+ * { Posts(where: { title: { equals: "Hello" } }) { text } }
6
+ * This function defines the operators for a field's condition in the "where" argument of the collection (it thus gets called for every field).
7
+ * For example, in the example above, it would control that
8
+ * - "equals" is a valid operator for the "title" field
9
+ * - the accepted type of the "equals" argument has to be a string.
10
+ *
11
+ * @param field the field for which their valid operators inside a "where" argument is being defined
12
+ * @param parentName the name of the parent field (if any)
13
+ * @returns all the operators (including their types) which can be used as a condition for a given field inside a where
14
+ */
15
+ export declare const withOperators: (field: FieldAffectingData, parentName: string) => GraphQLInputObjectType;
16
+ //# sourceMappingURL=withOperators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withOperators.d.ts","sourceRoot":"","sources":["../../src/schema/withOperators.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,sBAAsB,EAIvB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,EAAE,kBAAkB,EAAwC,MAAM,eAAe,CAAA;AA4O7F;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,UACjB,kBAAkB,cACb,MAAM,KACjB,sBA+CF,CAAA"}