@opensaas/stack-core 0.1.7 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +352 -0
- package/CLAUDE.md +46 -1
- package/dist/access/engine.d.ts +7 -6
- package/dist/access/engine.d.ts.map +1 -1
- package/dist/access/engine.js +55 -0
- package/dist/access/engine.js.map +1 -1
- package/dist/access/engine.test.d.ts +2 -0
- package/dist/access/engine.test.d.ts.map +1 -0
- package/dist/access/engine.test.js +125 -0
- package/dist/access/engine.test.js.map +1 -0
- package/dist/access/types.d.ts +39 -9
- package/dist/access/types.d.ts.map +1 -1
- package/dist/config/index.d.ts +40 -20
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +34 -15
- package/dist/config/index.js.map +1 -1
- package/dist/config/plugin-engine.d.ts.map +1 -1
- package/dist/config/plugin-engine.js +9 -0
- package/dist/config/plugin-engine.js.map +1 -1
- package/dist/config/types.d.ts +277 -84
- package/dist/config/types.d.ts.map +1 -1
- package/dist/context/index.d.ts +5 -3
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +146 -20
- package/dist/context/index.js.map +1 -1
- package/dist/context/nested-operations.d.ts.map +1 -1
- package/dist/context/nested-operations.js +88 -72
- package/dist/context/nested-operations.js.map +1 -1
- package/dist/fields/index.d.ts +65 -9
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +98 -16
- package/dist/fields/index.js.map +1 -1
- package/dist/hooks/index.d.ts +28 -12
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +16 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/handler.js +1 -0
- package/dist/mcp/handler.js.map +1 -1
- package/dist/validation/schema.d.ts.map +1 -1
- package/dist/validation/schema.js +4 -2
- package/dist/validation/schema.js.map +1 -1
- package/package.json +8 -9
- package/src/access/engine.test.ts +145 -0
- package/src/access/engine.ts +73 -9
- package/src/access/types.ts +38 -8
- package/src/config/index.ts +45 -23
- package/src/config/plugin-engine.ts +13 -3
- package/src/config/types.ts +347 -117
- package/src/context/index.ts +176 -23
- package/src/context/nested-operations.ts +83 -71
- package/src/fields/index.ts +132 -27
- package/src/hooks/index.ts +63 -20
- package/src/index.ts +9 -0
- package/src/mcp/handler.ts +2 -1
- package/src/validation/schema.ts +4 -2
- package/tests/context.test.ts +38 -6
- package/tests/field-types.test.ts +729 -0
- package/tests/password-type-distribution.test.ts +0 -1
- package/tests/password-types.test.ts +0 -1
- package/tests/plugin-engine.test.ts +1102 -0
- package/tests/sudo.test.ts +230 -2
- package/tsconfig.tsbuildinfo +1 -1
package/dist/context/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { checkAccess, mergeFilters, filterReadableFields, filterWritableFields, buildIncludeWithAccessControl, } from '../access/index.js';
|
|
2
|
-
import { executeResolveInput, executeValidateInput, executeBeforeOperation, executeAfterOperation, validateFieldRules, ValidationError, } from '../hooks/index.js';
|
|
2
|
+
import { executeResolveInput, executeValidateInput, executeBeforeOperation, executeAfterOperation, validateFieldRules, ValidationError, DatabaseError, } from '../hooks/index.js';
|
|
3
3
|
import { processNestedOperations } from './nested-operations.js';
|
|
4
4
|
import { getDbKey } from '../lib/case-utils.js';
|
|
5
5
|
/**
|
|
@@ -85,6 +85,51 @@ item, data, fields, operation, context, listKey) {
|
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Parse Prisma error and convert to user-friendly DatabaseError
|
|
90
|
+
*/
|
|
91
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
|
|
92
|
+
function parsePrismaError(error, listConfig) {
|
|
93
|
+
// Check if it's a Prisma error
|
|
94
|
+
if (error &&
|
|
95
|
+
typeof error === 'object' &&
|
|
96
|
+
'code' in error &&
|
|
97
|
+
'meta' in error &&
|
|
98
|
+
typeof error.code === 'string') {
|
|
99
|
+
const prismaError = error;
|
|
100
|
+
// Handle unique constraint violation
|
|
101
|
+
if (prismaError.code === 'P2002') {
|
|
102
|
+
const target = prismaError.meta?.target;
|
|
103
|
+
const fieldErrors = {};
|
|
104
|
+
if (target && Array.isArray(target)) {
|
|
105
|
+
// Get field names from the constraint target
|
|
106
|
+
for (const fieldName of target) {
|
|
107
|
+
// Get the field config to get a better label
|
|
108
|
+
const fieldConfig = listConfig.fields[fieldName];
|
|
109
|
+
const label = fieldName.charAt(0).toUpperCase() + fieldName.slice(1);
|
|
110
|
+
if (fieldConfig) {
|
|
111
|
+
fieldErrors[fieldName] = `This ${label.toLowerCase()} is already in use`;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
fieldErrors[fieldName] = `This value is already in use`;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
// Create a user-friendly general message
|
|
118
|
+
const fieldLabels = target.map((f) => f.charAt(0).toUpperCase() + f.slice(1)).join(', ');
|
|
119
|
+
return new DatabaseError(`${fieldLabels} must be unique. The value you entered is already in use.`, fieldErrors, prismaError.code);
|
|
120
|
+
}
|
|
121
|
+
return new DatabaseError('A record with this value already exists', {}, prismaError.code);
|
|
122
|
+
}
|
|
123
|
+
// Handle other Prisma errors - return generic message
|
|
124
|
+
return new DatabaseError(prismaError.message || 'A database error occurred', {}, prismaError.code);
|
|
125
|
+
}
|
|
126
|
+
// Not a Prisma error, return as-is if it's already an Error
|
|
127
|
+
if (error instanceof Error) {
|
|
128
|
+
return error;
|
|
129
|
+
}
|
|
130
|
+
// Unknown error type
|
|
131
|
+
return new Error('An unknown error occurred');
|
|
132
|
+
}
|
|
88
133
|
/**
|
|
89
134
|
* Create an access-controlled context
|
|
90
135
|
*
|
|
@@ -117,6 +162,7 @@ export function getContext(config, prisma, session, storage, _isSudo = false) {
|
|
|
117
162
|
throw new Error('No storage providers configured. Add storage providers to your opensaas.config.ts');
|
|
118
163
|
},
|
|
119
164
|
},
|
|
165
|
+
plugins: {}, // Will be populated with plugin runtime services
|
|
120
166
|
_isSudo,
|
|
121
167
|
};
|
|
122
168
|
// Create access-controlled operations for each list
|
|
@@ -131,25 +177,92 @@ export function getContext(config, prisma, session, storage, _isSudo = false) {
|
|
|
131
177
|
count: createCount(listName, listConfig, prisma, context),
|
|
132
178
|
};
|
|
133
179
|
}
|
|
180
|
+
// Execute plugin runtime functions and populate context.plugins
|
|
181
|
+
// Use _plugins (sorted by dependencies) if available, otherwise fall back to plugins array
|
|
182
|
+
const pluginsToExecute = config._plugins || config.plugins || [];
|
|
183
|
+
for (const plugin of pluginsToExecute) {
|
|
184
|
+
if (plugin.runtime) {
|
|
185
|
+
try {
|
|
186
|
+
context.plugins[plugin.name] = plugin.runtime(context);
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
console.error(`Error executing runtime for plugin "${plugin.name}":`, error);
|
|
190
|
+
// Continue with other plugins even if one fails
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
134
194
|
// Generic server action handler with discriminated union for type safety
|
|
195
|
+
// Returns a result object instead of throwing to work properly in Next.js production
|
|
135
196
|
async function serverAction(props) {
|
|
136
197
|
const dbKey = getDbKey(props.listKey);
|
|
137
|
-
const
|
|
138
|
-
if (
|
|
139
|
-
return
|
|
198
|
+
const listConfig = config.lists[props.listKey];
|
|
199
|
+
if (!listConfig) {
|
|
200
|
+
return {
|
|
201
|
+
success: false,
|
|
202
|
+
error: `List "${props.listKey}" not found in configuration`,
|
|
203
|
+
};
|
|
140
204
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
205
|
+
const model = db[dbKey];
|
|
206
|
+
try {
|
|
207
|
+
let result = null;
|
|
208
|
+
if (props.action === 'create') {
|
|
209
|
+
result = await model.create({ data: props.data });
|
|
210
|
+
}
|
|
211
|
+
else if (props.action === 'update') {
|
|
212
|
+
result = await model.update({
|
|
213
|
+
where: { id: props.id },
|
|
214
|
+
data: props.data,
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
else if (props.action === 'delete') {
|
|
218
|
+
result = await model.delete({
|
|
219
|
+
where: { id: props.id },
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
// Check for access denial (null return from access-controlled operations)
|
|
223
|
+
if (result === null) {
|
|
224
|
+
return {
|
|
225
|
+
success: false,
|
|
226
|
+
error: 'Access denied or operation failed',
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
return {
|
|
230
|
+
success: true,
|
|
231
|
+
data: result,
|
|
232
|
+
};
|
|
146
233
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
234
|
+
catch (error) {
|
|
235
|
+
// Handle ValidationError (has fieldErrors)
|
|
236
|
+
if (error instanceof ValidationError) {
|
|
237
|
+
return {
|
|
238
|
+
success: false,
|
|
239
|
+
error: error.message,
|
|
240
|
+
fieldErrors: error.fieldErrors,
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
// Handle DatabaseError (has fieldErrors)
|
|
244
|
+
if (error instanceof DatabaseError) {
|
|
245
|
+
return {
|
|
246
|
+
success: false,
|
|
247
|
+
error: error.message,
|
|
248
|
+
fieldErrors: error.fieldErrors,
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
// Parse and convert Prisma errors to user-friendly DatabaseError
|
|
252
|
+
const dbError = parsePrismaError(error, listConfig);
|
|
253
|
+
if (dbError instanceof DatabaseError) {
|
|
254
|
+
return {
|
|
255
|
+
success: false,
|
|
256
|
+
error: dbError.message,
|
|
257
|
+
fieldErrors: dbError.fieldErrors,
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
// Generic error fallback
|
|
261
|
+
return {
|
|
262
|
+
success: false,
|
|
263
|
+
error: dbError.message,
|
|
264
|
+
};
|
|
151
265
|
}
|
|
152
|
-
return null;
|
|
153
266
|
}
|
|
154
267
|
// Sudo function - creates a new context that bypasses access control
|
|
155
268
|
// but still executes all hooks and validation
|
|
@@ -161,6 +274,7 @@ export function getContext(config, prisma, session, storage, _isSudo = false) {
|
|
|
161
274
|
session,
|
|
162
275
|
prisma,
|
|
163
276
|
storage: context.storage,
|
|
277
|
+
plugins: context.plugins,
|
|
164
278
|
serverAction,
|
|
165
279
|
sudo,
|
|
166
280
|
_isSudo,
|
|
@@ -169,7 +283,9 @@ export function getContext(config, prisma, session, storage, _isSudo = false) {
|
|
|
169
283
|
/**
|
|
170
284
|
* Create findUnique operation with access control
|
|
171
285
|
*/
|
|
172
|
-
function createFindUnique(listName,
|
|
286
|
+
function createFindUnique(listName,
|
|
287
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
|
|
288
|
+
listConfig, prisma, context, config) {
|
|
173
289
|
return async (args) => {
|
|
174
290
|
// Check query access (skip if sudo mode)
|
|
175
291
|
let where = args.where;
|
|
@@ -221,7 +337,9 @@ function createFindUnique(listName, listConfig, prisma, context, config) {
|
|
|
221
337
|
/**
|
|
222
338
|
* Create findMany operation with access control
|
|
223
339
|
*/
|
|
224
|
-
function createFindMany(listName,
|
|
340
|
+
function createFindMany(listName,
|
|
341
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
|
|
342
|
+
listConfig, prisma, context, config) {
|
|
225
343
|
return async (args) => {
|
|
226
344
|
// Check query access (skip if sudo mode)
|
|
227
345
|
let where = args?.where;
|
|
@@ -272,7 +390,9 @@ function createFindMany(listName, listConfig, prisma, context, config) {
|
|
|
272
390
|
/**
|
|
273
391
|
* Create create operation with access control and hooks
|
|
274
392
|
*/
|
|
275
|
-
function createCreate(listName,
|
|
393
|
+
function createCreate(listName,
|
|
394
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
|
|
395
|
+
listConfig, prisma, context, config) {
|
|
276
396
|
return async (args) => {
|
|
277
397
|
// 1. Check create access (skip if sudo mode)
|
|
278
398
|
if (!context._isSudo) {
|
|
@@ -345,7 +465,9 @@ function createCreate(listName, listConfig, prisma, context, config) {
|
|
|
345
465
|
/**
|
|
346
466
|
* Create update operation with access control and hooks
|
|
347
467
|
*/
|
|
348
|
-
function createUpdate(listName,
|
|
468
|
+
function createUpdate(listName,
|
|
469
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
|
|
470
|
+
listConfig, prisma, context, config) {
|
|
349
471
|
return async (args) => {
|
|
350
472
|
// 1. Fetch the item to pass to access control and hooks
|
|
351
473
|
// Access Prisma model dynamically - required because model names are generated at runtime
|
|
@@ -440,7 +562,9 @@ function createUpdate(listName, listConfig, prisma, context, config) {
|
|
|
440
562
|
/**
|
|
441
563
|
* Create delete operation with access control and hooks
|
|
442
564
|
*/
|
|
443
|
-
function createDelete(listName,
|
|
565
|
+
function createDelete(listName,
|
|
566
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
|
|
567
|
+
listConfig, prisma, context) {
|
|
444
568
|
return async (args) => {
|
|
445
569
|
// 1. Fetch the item to pass to access control and hooks
|
|
446
570
|
// Access Prisma model dynamically - required because model names are generated at runtime
|
|
@@ -499,7 +623,9 @@ function createDelete(listName, listConfig, prisma, context) {
|
|
|
499
623
|
/**
|
|
500
624
|
* Create count operation with access control
|
|
501
625
|
*/
|
|
502
|
-
function createCount(listName,
|
|
626
|
+
function createCount(listName,
|
|
627
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
|
|
628
|
+
listConfig, prisma, context) {
|
|
503
629
|
return async (args) => {
|
|
504
630
|
// Check query access (skip if sudo mode)
|
|
505
631
|
let where = args?.where;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAI/C;;;GAGG;AACH,KAAK,UAAU,6BAA6B;AAC1C,8DAA8D;AAC9D,IAAyB,EACzB,MAAmC,EACnC,SAA8B,EAC9B,OAAsB,EACtB,OAAe;AACf,8DAA8D;AAC9D,IAAU;IAEV,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;IAE1B,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9D,4BAA4B;QAC5B,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC;YAAE,SAAQ;QAEpC,2BAA2B;QAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY;YAAE,SAAQ;QAE9C,qBAAqB;QACrB,qFAAqF;QACrF,+DAA+D;QAE/D,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC;YAC5D,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;YAC7B,SAAS;YACT,SAAS;YACT,OAAO;YACP,IAAI;YACJ,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAA;IACtC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,gCAAgC;AAC7C,8DAA8D;AAC9D,IAAyB,EACzB,MAAmC,EACnC,SAAyC,EACzC,OAAsB,EACtB,OAAe;AACf,8DAA8D;AAC9D,IAAU;IAEV,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9D,uEAAuE;QACvE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,eAAe;YAAE,SAAQ;QACjD,IAAI,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;YAAE,SAAQ;QAE5D,+DAA+D;QAC/D,qFAAqF;QACrF,MAAM,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC;YACtC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC;YAC9B,SAAS;YACT,SAAS;YACT,OAAO;YACP,IAAI;YACJ,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,+BAA+B;AAC5C,8DAA8D;AAC9D,IAAS,EACT,IAAyC,EACzC,MAAmC,EACnC,SAAmD,EACnD,OAAsB,EACtB,OAAe;IAEf,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9D,2BAA2B;QAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc;YAAE,SAAQ;QAEhD,+CAA+C;QAC/C,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,CAAA;QAE/B,+DAA+D;QAC/D,MAAM,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC;YACrC,KAAK;YACL,SAAS;YACT,SAAS;YACT,OAAO;YACP,IAAI;YACJ,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAMD;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAIxB,MAAe,EACf,MAAe,EACf,OAAgB,EAChB,OAAsB,EACtB,UAAmB,KAAK;IAkBxB,6EAA6E;IAC7E,4DAA4D;IAC5D,MAAM,EAAE,GAA4B,EAAE,CAAA;IAEtC,6DAA6D;IAC7D,uEAAuE;IACvE,MAAM,OAAO,GAA2B;QACtC,OAAO;QACP,MAAM,EAAE,MAAiB;QACzB,EAAE,EAAE,EAAiC;QACrC,OAAO,EAAE,OAAO,IAAI;YAClB,UAAU,EAAE,KAAK,IAAI,EAAE;gBACrB,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAA;YACH,CAAC;YACD,WAAW,EAAE,KAAK,IAAI,EAAE;gBACtB,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAA;YACH,CAAC;YACD,UAAU,EAAE,KAAK,IAAI,EAAE;gBACrB,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAA;YACH,CAAC;YACD,WAAW,EAAE,KAAK,IAAI,EAAE;gBACtB,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAA;YACH,CAAC;SACF;QACD,OAAO;KACR,CAAA;IAED,oDAAoD;IACpD,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAEhC,EAAE,CAAC,KAAK,CAAC,GAAG;YACV,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;YAC3E,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;YACvE,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;YACnE,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;YACnE,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC;YAC3D,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC;SAC1D,CAAA;IACH,CAAC;IAED,yEAAyE;IACzE,KAAK,UAAU,YAAY,CAAC,KAAwB;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACrC,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAIrB,CAAA;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QACjD,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC;gBACxB,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;gBACvB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC;gBACxB,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;aACxB,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qEAAqE;IACrE,8CAA8C;IAC9C,SAAS,IAAI;QACX,OAAO,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACnE,CAAC;IAED,OAAO;QACL,EAAE,EAAE,EAAiC;QACrC,OAAO;QACP,MAAM;QACN,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY;QACZ,IAAI;QACJ,OAAO;KACR,CAAA;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,QAAgB,EAChB,UAAsB,EACtB,MAAe,EACf,OAA+B,EAC/B,MAAsB;IAEtB,OAAO,KAAK,EAAE,IAAkE,EAAE,EAAE;QAClF,yCAAyC;QACzC,IAAI,KAAK,GAA4B,IAAI,CAAC,KAAK,CAAA;QAC/C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAA;YACvD,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE;gBAClD,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO;aACR,CAAC,CAAA;YAEF,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAA;YACb,CAAC;YAED,wCAAwC;YACxC,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;YAC1D,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,KAAK,GAAG,WAAW,CAAA;QACrB,CAAC;QAED,4CAA4C;QAC5C,MAAM,uBAAuB,GAAG,MAAM,6BAA6B,CACjE,UAAU,CAAC,MAAM,EACjB;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO;SACR,EACD,MAAM,CACP,CAAA;QAED,6DAA6D;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,uBAAuB,CAAA;QAEvD,wCAAwC;QACxC,0FAA0F;QAC1F,8DAA8D;QAC9D,MAAM,KAAK,GAAI,MAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC;YACjC,KAAK;YACL,OAAO;SACR,CAAC,CAAA;QAEF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAA;QACb,CAAC;QAED,wFAAwF;QACxF,mEAAmE;QACnE,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,IAAI,EACJ,UAAU,CAAC,MAAM,EACjB;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;SAClD,EACD,MAAM,EACN,CAAC,EACD,QAAQ,CACT,CAAA;QAED,yDAAyD;QACzD,MAAM,+BAA+B,CACnC,QAAQ,EACR,SAAS,EACT,UAAU,CAAC,MAAM,EACjB,OAAO,EACP,OAAO,EACP,QAAQ,CACT,CAAA;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,QAAgB,EAChB,UAAsB,EACtB,MAAe,EACf,OAA+B,EAC/B,MAAsB;IAEtB,OAAO,KAAK,EAAE,IAKb,EAAE,EAAE;QACH,yCAAyC;QACzC,IAAI,KAAK,GAAwC,IAAI,EAAE,KAAK,CAAA;QAC5D,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAA;YACvD,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE;gBAClD,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO;aACR,CAAC,CAAA;YAEF,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAA;YACX,CAAC;YAED,wCAAwC;YACxC,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;YAC3D,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,OAAO,EAAE,CAAA;YACX,CAAC;YACD,KAAK,GAAG,WAAW,CAAA;QACrB,CAAC;QAED,4CAA4C;QAC5C,MAAM,uBAAuB,GAAG,MAAM,6BAA6B,CACjE,UAAU,CAAC,MAAM,EACjB;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO;SACR,EACD,MAAM,CACP,CAAA;QAED,6DAA6D;QAC7D,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,uBAAuB,CAAA;QAExD,wCAAwC;QACxC,0FAA0F;QAC1F,8DAA8D;QAC9D,MAAM,KAAK,GAAI,MAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC;YACjC,KAAK;YACL,IAAI,EAAE,IAAI,EAAE,IAAI;YAChB,IAAI,EAAE,IAAI,EAAE,IAAI;YAChB,OAAO;SACR,CAAC,CAAA;QAEF,sGAAsG;QACtG,mEAAmE;QACnE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,KAAK,CAAC,GAAG,CAAC,CAAC,IAA6B,EAAE,EAAE,CAC1C,oBAAoB,CAClB,IAAI,EACJ,UAAU,CAAC,MAAM,EACjB;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;SAClD,EACD,MAAM,EACN,CAAC,EACD,QAAQ,CACT,CACF,CACF,CAAA;QAED,uEAAuE;QACvE,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACpB,+BAA+B,CAC7B,IAAI,EACJ,SAAS,EACT,UAAU,CAAC,MAAM,EACjB,OAAO,EACP,OAAO,EACP,QAAQ,CACT,CACF,CACF,CAAA;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CACnB,QAAgB,EAChB,UAAsB,EACtB,MAAe,EACf,OAA+B,EAC/B,MAAsB;IAEtB,OAAO,KAAK,EAAE,IAAuC,EAAE,EAAE;QACvD,6CAA6C;QAC7C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAA;YACzD,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE;gBACnD,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO;aACR,CAAC,CAAA;YAEF,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,YAAY,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE;YAC7D,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,OAAO;SACR,CAAC,CAAA;QAEF,qEAAqE;QACrE,YAAY,GAAG,MAAM,6BAA6B,CAChD,YAAY,EACZ,UAAU,CAAC,MAAM,EACjB,QAAQ,EACR,OAAO,EACP,QAAQ,CACT,CAAA;QAED,gCAAgC;QAChC,MAAM,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE;YAC3C,SAAS,EAAE,QAAQ;YACnB,YAAY;YACZ,OAAO;SACR,CAAC,CAAA;QAEF,iDAAiD;QACjD,MAAM,UAAU,GAAG,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAChF,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;QACtE,CAAC;QAED,4EAA4E;QAC5E,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE;YACzF,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;SAClD,CAAC,CAAA;QAEF,8CAA8C;QAC9C,MAAM,IAAI,GAAG,MAAM,uBAAuB,CACxC,YAAY,EACZ,UAAU,CAAC,MAAM,EACjB,MAAM,EACN,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,EACtB,QAAQ,CACT,CAAA;QAED,mEAAmE;QACnE,MAAM,gCAAgC,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAE5F,6CAA6C;QAC7C,MAAM,sBAAsB,CAAC,UAAU,CAAC,KAAK,EAAE;YAC7C,SAAS,EAAE,QAAQ;YACnB,OAAO;SACR,CAAC,CAAA;QAEF,6BAA6B;QAC7B,0FAA0F;QAC1F,8DAA8D;QAC9D,MAAM,KAAK,GAAI,MAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YAC9B,IAAI;SACL,CAAC,CAAA;QAEF,4CAA4C;QAC5C,MAAM,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE;YAC5C,SAAS,EAAE,QAAQ;YACnB,IAAI;YACJ,OAAO;SACR,CAAC,CAAA;QAEF,mEAAmE;QACnE,MAAM,+BAA+B,CACnC,IAAI,EACJ,IAAI,EACJ,UAAU,CAAC,MAAM,EACjB,QAAQ,EACR,OAAO,EACP,QAAQ,CACT,CAAA;QAED,4FAA4F;QAC5F,mEAAmE;QACnE,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,IAAI,EACJ,UAAU,CAAC,MAAM,EACjB;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;SAClD,EACD,MAAM,EACN,CAAC,EACD,QAAQ,CACT,CAAA;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CACnB,QAAgB,EAChB,UAAsB,EACtB,MAAe,EACf,OAA+B,EAC/B,MAAsB;IAEtB,OAAO,KAAK,EAAE,IAA8D,EAAE,EAAE;QAC9E,wDAAwD;QACxD,0FAA0F;QAC1F,8DAA8D;QAC9D,MAAM,KAAK,GAAI,MAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC;YAClC,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAA;QAEF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAA;QACb,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAA;YACzD,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE;gBACnD,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI;gBACJ,OAAO;aACR,CAAC,CAAA;YAEF,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAA;YACb,CAAC;YAED,oDAAoD;YACpD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC;oBAC1C,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC;iBAC9C,CAAC,CAAA;gBAEF,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,YAAY,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE;YAC7D,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,IAAI;YACJ,OAAO;SACR,CAAC,CAAA;QAEF,qEAAqE;QACrE,YAAY,GAAG,MAAM,6BAA6B,CAChD,YAAY,EACZ,UAAU,CAAC,MAAM,EACjB,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,IAAI,CACL,CAAA;QAED,gCAAgC;QAChC,MAAM,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE;YAC3C,SAAS,EAAE,QAAQ;YACnB,YAAY;YACZ,IAAI;YACJ,OAAO;SACR,CAAC,CAAA;QAEF,iDAAiD;QACjD,MAAM,UAAU,GAAG,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAChF,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;QACtE,CAAC;QAED,4EAA4E;QAC5E,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE;YACzF,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI;YACJ,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;SAClD,CAAC,CAAA;QAEF,8CAA8C;QAC9C,MAAM,IAAI,GAAG,MAAM,uBAAuB,CACxC,YAAY,EACZ,UAAU,CAAC,MAAM,EACjB,MAAM,EACN,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,EACtB,QAAQ,CACT,CAAA;QAED,mEAAmE;QACnE,MAAM,gCAAgC,CACpC,IAAI,EACJ,UAAU,CAAC,MAAM,EACjB,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,IAAI,CACL,CAAA;QAED,6CAA6C;QAC7C,MAAM,sBAAsB,CAAC,UAAU,CAAC,KAAK,EAAE;YAC7C,SAAS,EAAE,QAAQ;YACnB,IAAI;YACJ,OAAO;SACR,CAAC,CAAA;QAEF,6BAA6B;QAC7B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI;SACL,CAAC,CAAA;QAEF,6CAA6C;QAC7C,MAAM,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE;YAC5C,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,OAAO;YACb,OAAO;SACR,CAAC,CAAA;QAEF,mEAAmE;QACnE,MAAM,+BAA+B,CACnC,OAAO,EACP,IAAI,EACJ,UAAU,CAAC,MAAM,EACjB,QAAQ,EACR,OAAO,EACP,QAAQ,CACT,CAAA;QAED,4FAA4F;QAC5F,mEAAmE;QACnE,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,OAAO,EACP,UAAU,CAAC,MAAM,EACjB;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;SAClD,EACD,MAAM,EACN,CAAC,EACD,QAAQ,CACT,CAAA;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CACnB,QAAgB,EAChB,UAAsB,EACtB,MAAe,EACf,OAA+B;IAE/B,OAAO,KAAK,EAAE,IAA+B,EAAE,EAAE;QAC/C,wDAAwD;QACxD,0FAA0F;QAC1F,8DAA8D;QAC9D,MAAM,KAAK,GAAI,MAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC;YAClC,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAA;QAEF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAA;QACb,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAA;YACzD,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE;gBACnD,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI;gBACJ,OAAO;aACR,CAAC,CAAA;YAEF,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAA;YACb,CAAC;YAED,oDAAoD;YACpD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC;oBAC1C,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC;iBAC9C,CAAC,CAAA;gBAEF,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,MAAM,gCAAgC,CAAC,EAAE,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QAEhG,6CAA6C;QAC7C,MAAM,sBAAsB,CAAC,UAAU,CAAC,KAAK,EAAE;YAC7C,SAAS,EAAE,QAAQ;YACnB,IAAI;YACJ,OAAO;SACR,CAAC,CAAA;QAEF,6BAA6B;QAC7B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAA;QAEF,4CAA4C;QAC5C,MAAM,qBAAqB,CAAC,UAAU,CAAC,KAAK,EAAE;YAC5C,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,OAAO;YACb,OAAO;SACR,CAAC,CAAA;QAEF,kEAAkE;QAClE,MAAM,+BAA+B,CACnC,OAAO,EACP,SAAS,EACT,UAAU,CAAC,MAAM,EACjB,QAAQ,EACR,OAAO,EACP,QAAQ,CACT,CAAA;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAClB,QAAgB,EAChB,UAAsB,EACtB,MAAe,EACf,OAA+B;IAE/B,OAAO,KAAK,EAAE,IAA0C,EAAE,EAAE;QAC1D,yCAAyC;QACzC,IAAI,KAAK,GAAwC,IAAI,EAAE,KAAK,CAAA;QAC5D,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAA;YACvD,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE;gBAClD,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO;aACR,CAAC,CAAA;YAEF,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBAC3B,OAAO,CAAC,CAAA;YACV,CAAC;YAED,wCAAwC;YACxC,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;YAC3D,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,OAAO,CAAC,CAAA;YACV,CAAC;YACD,KAAK,GAAG,WAAW,CAAA;QACrB,CAAC;QAED,gBAAgB;QAChB,0FAA0F;QAC1F,8DAA8D;QAC9D,MAAM,KAAK,GAAI,MAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC;YAC9B,KAAK;SACN,CAAC,CAAA;QAEF,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nested-operations.d.ts","sourceRoot":"","sources":["../../src/context/nested-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAc,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"nested-operations.d.ts","sourceRoot":"","sources":["../../src/context/nested-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAc,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AA4XvD;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,aAAa,GAAG;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,EAC5C,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAC9B,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAmGlC"}
|
|
@@ -41,17 +41,21 @@ function isRelationshipField(fieldConfig) {
|
|
|
41
41
|
* Process nested create operations
|
|
42
42
|
* Applies hooks and access control to each item being created
|
|
43
43
|
*/
|
|
44
|
-
async function processNestedCreate(items,
|
|
44
|
+
async function processNestedCreate(items,
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
|
|
46
|
+
relatedListConfig, context, config) {
|
|
45
47
|
const itemsArray = Array.isArray(items) ? items : [items];
|
|
46
48
|
const processedItems = await Promise.all(itemsArray.map(async (item) => {
|
|
47
|
-
// 1. Check create access
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
// 1. Check create access (skip if sudo mode)
|
|
50
|
+
if (!context._isSudo) {
|
|
51
|
+
const createAccess = relatedListConfig.access?.operation?.create;
|
|
52
|
+
const accessResult = await checkAccess(createAccess, {
|
|
53
|
+
session: context.session,
|
|
54
|
+
context,
|
|
55
|
+
});
|
|
56
|
+
if (accessResult === false) {
|
|
57
|
+
throw new Error('Access denied: Cannot create related item');
|
|
58
|
+
}
|
|
55
59
|
}
|
|
56
60
|
// 2. Execute list-level resolveInput hook
|
|
57
61
|
let resolvedData = await executeResolveInput(relatedListConfig.hooks, {
|
|
@@ -95,42 +99,46 @@ async function processNestedCreate(items, relatedListConfig, context, config) {
|
|
|
95
99
|
* Process nested connect operations
|
|
96
100
|
* Verifies update access to the items being connected
|
|
97
101
|
*/
|
|
98
|
-
async function processNestedConnect(connections, relatedListName,
|
|
102
|
+
async function processNestedConnect(connections, relatedListName,
|
|
103
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
|
|
104
|
+
relatedListConfig, context, prisma) {
|
|
99
105
|
const connectionsArray = Array.isArray(connections) ? connections : [connections];
|
|
100
|
-
// Check update access for each item being connected
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
if (
|
|
106
|
+
// Check update access for each item being connected (skip if sudo mode)
|
|
107
|
+
if (!context._isSudo) {
|
|
108
|
+
for (const connection of connectionsArray) {
|
|
109
|
+
// Access Prisma model dynamically - required because model names are generated at runtime
|
|
110
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
111
|
+
const model = prisma[getDbKey(relatedListName)];
|
|
112
|
+
// Fetch the item to check access
|
|
113
|
+
const item = await model.findUnique({
|
|
114
|
+
where: connection,
|
|
115
|
+
});
|
|
116
|
+
if (!item) {
|
|
117
|
+
throw new Error(`Cannot connect: Item not found`);
|
|
118
|
+
}
|
|
119
|
+
// Check update access (connecting modifies the relationship)
|
|
120
|
+
const updateAccess = relatedListConfig.access?.operation?.update;
|
|
121
|
+
const accessResult = await checkAccess(updateAccess, {
|
|
122
|
+
session: context.session,
|
|
123
|
+
item,
|
|
124
|
+
context,
|
|
125
|
+
});
|
|
126
|
+
if (accessResult === false) {
|
|
127
|
+
throw new Error('Access denied: Cannot connect to this item');
|
|
128
|
+
}
|
|
129
|
+
// If access returns a filter, check if item matches
|
|
130
|
+
if (typeof accessResult === 'object') {
|
|
131
|
+
// Simple field matching
|
|
132
|
+
for (const [key, value] of Object.entries(accessResult)) {
|
|
133
|
+
if (typeof value === 'object' && value !== null && 'equals' in value) {
|
|
134
|
+
if (item[key] !== value.equals) {
|
|
135
|
+
throw new Error('Access denied: Cannot connect to this item');
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else if (item[key] !== value) {
|
|
128
139
|
throw new Error('Access denied: Cannot connect to this item');
|
|
129
140
|
}
|
|
130
141
|
}
|
|
131
|
-
else if (item[key] !== value) {
|
|
132
|
-
throw new Error('Access denied: Cannot connect to this item');
|
|
133
|
-
}
|
|
134
142
|
}
|
|
135
143
|
}
|
|
136
144
|
}
|
|
@@ -140,7 +148,9 @@ async function processNestedConnect(connections, relatedListName, relatedListCon
|
|
|
140
148
|
* Process nested update operations
|
|
141
149
|
* Applies hooks and access control to updates
|
|
142
150
|
*/
|
|
143
|
-
async function processNestedUpdate(updates, relatedListName,
|
|
151
|
+
async function processNestedUpdate(updates, relatedListName,
|
|
152
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
|
|
153
|
+
relatedListConfig, context, config, prisma) {
|
|
144
154
|
const updatesArray = Array.isArray(updates) ? updates : [updates];
|
|
145
155
|
const processedUpdates = await Promise.all(updatesArray.map(async (update) => {
|
|
146
156
|
// Access Prisma model dynamically - required because model names are generated at runtime
|
|
@@ -153,15 +163,17 @@ async function processNestedUpdate(updates, relatedListName, relatedListConfig,
|
|
|
153
163
|
if (!item) {
|
|
154
164
|
throw new Error('Cannot update: Item not found');
|
|
155
165
|
}
|
|
156
|
-
// Check update access
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
166
|
+
// Check update access (skip if sudo mode)
|
|
167
|
+
if (!context._isSudo) {
|
|
168
|
+
const updateAccess = relatedListConfig.access?.operation?.update;
|
|
169
|
+
const accessResult = await checkAccess(updateAccess, {
|
|
170
|
+
session: context.session,
|
|
171
|
+
item,
|
|
172
|
+
context,
|
|
173
|
+
});
|
|
174
|
+
if (accessResult === false) {
|
|
175
|
+
throw new Error('Access denied: Cannot update related item');
|
|
176
|
+
}
|
|
165
177
|
}
|
|
166
178
|
// Execute list-level resolveInput hook
|
|
167
179
|
const updateData = update.data;
|
|
@@ -203,35 +215,39 @@ async function processNestedUpdate(updates, relatedListName, relatedListConfig,
|
|
|
203
215
|
/**
|
|
204
216
|
* Process nested connectOrCreate operations
|
|
205
217
|
*/
|
|
206
|
-
async function processNestedConnectOrCreate(operations, relatedListName,
|
|
218
|
+
async function processNestedConnectOrCreate(operations, relatedListName,
|
|
219
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ListConfig must accept any TypeInfo
|
|
220
|
+
relatedListConfig, context, config, prisma) {
|
|
207
221
|
const operationsArray = Array.isArray(operations) ? operations : [operations];
|
|
208
222
|
const processedOps = await Promise.all(operationsArray.map(async (op) => {
|
|
209
223
|
// Process the create portion through create hooks
|
|
210
224
|
const opRecord = op;
|
|
211
225
|
const processedCreate = await processNestedCreate(opRecord.create, relatedListConfig, context, config);
|
|
212
|
-
// Check access for the connect portion (try to find existing item)
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
if (existingItem) {
|
|
221
|
-
// Check update access for connection
|
|
222
|
-
const updateAccess = relatedListConfig.access?.operation?.update;
|
|
223
|
-
const accessResult = await checkAccess(updateAccess, {
|
|
224
|
-
session: context.session,
|
|
225
|
-
item: existingItem,
|
|
226
|
-
context,
|
|
226
|
+
// Check access for the connect portion (try to find existing item) (skip if sudo mode)
|
|
227
|
+
if (!context._isSudo) {
|
|
228
|
+
try {
|
|
229
|
+
// Access Prisma model dynamically - required because model names are generated at runtime
|
|
230
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
231
|
+
const model = prisma[getDbKey(relatedListName)];
|
|
232
|
+
const existingItem = await model.findUnique({
|
|
233
|
+
where: opRecord.where,
|
|
227
234
|
});
|
|
228
|
-
if (
|
|
229
|
-
|
|
235
|
+
if (existingItem) {
|
|
236
|
+
// Check update access for connection
|
|
237
|
+
const updateAccess = relatedListConfig.access?.operation?.update;
|
|
238
|
+
const accessResult = await checkAccess(updateAccess, {
|
|
239
|
+
session: context.session,
|
|
240
|
+
item: existingItem,
|
|
241
|
+
context,
|
|
242
|
+
});
|
|
243
|
+
if (accessResult === false) {
|
|
244
|
+
throw new Error('Access denied: Cannot connect to existing item');
|
|
245
|
+
}
|
|
230
246
|
}
|
|
231
247
|
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
248
|
+
catch {
|
|
249
|
+
// Item doesn't exist, will use create (already processed)
|
|
250
|
+
}
|
|
235
251
|
}
|
|
236
252
|
return {
|
|
237
253
|
where: op.where,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nested-operations.js","sourceRoot":"","sources":["../../src/context/nested-operations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC5F,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C;;;GAGG;AACH,KAAK,UAAU,6BAA6B;AAC1C,8DAA8D;AAC9D,IAAyB,EACzB,MAAmC,EACnC,SAA8B,EAC9B,OAAsB,EACtB,OAAe;AACf,8DAA8D;AAC9D,IAAU;IAEV,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;IAE1B,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9D,4BAA4B;QAC5B,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC;YAAE,SAAQ;QAEpC,2BAA2B;QAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY;YAAE,SAAQ;QAE9C,qBAAqB;QACrB,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC;YAC5D,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;YAC7B,SAAS;YACT,SAAS;YACT,OAAO;YACP,IAAI;YACJ,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAA;IACtC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,WAAoC;IAC/D,OAAO,WAAW,EAAE,IAAI,KAAK,cAAc,CAAA;AAC7C,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,mBAAmB,CAChC,KAA+D
|
|
1
|
+
{"version":3,"file":"nested-operations.js","sourceRoot":"","sources":["../../src/context/nested-operations.ts"],"names":[],"mappings":"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"}
|