@opensaas/stack-core 0.1.6 → 0.3.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 (50) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +208 -0
  3. package/CLAUDE.md +46 -1
  4. package/dist/access/engine.d.ts +15 -8
  5. package/dist/access/engine.d.ts.map +1 -1
  6. package/dist/access/engine.js +23 -2
  7. package/dist/access/engine.js.map +1 -1
  8. package/dist/access/engine.test.d.ts +2 -0
  9. package/dist/access/engine.test.d.ts.map +1 -0
  10. package/dist/access/engine.test.js +125 -0
  11. package/dist/access/engine.test.js.map +1 -0
  12. package/dist/access/types.d.ts +40 -9
  13. package/dist/access/types.d.ts.map +1 -1
  14. package/dist/config/index.d.ts +38 -18
  15. package/dist/config/index.d.ts.map +1 -1
  16. package/dist/config/index.js +34 -14
  17. package/dist/config/index.js.map +1 -1
  18. package/dist/config/plugin-engine.d.ts.map +1 -1
  19. package/dist/config/plugin-engine.js +6 -0
  20. package/dist/config/plugin-engine.js.map +1 -1
  21. package/dist/config/types.d.ts +128 -21
  22. package/dist/config/types.d.ts.map +1 -1
  23. package/dist/context/index.d.ts +14 -2
  24. package/dist/context/index.d.ts.map +1 -1
  25. package/dist/context/index.js +243 -100
  26. package/dist/context/index.js.map +1 -1
  27. package/dist/fields/index.d.ts.map +1 -1
  28. package/dist/fields/index.js +9 -8
  29. package/dist/fields/index.js.map +1 -1
  30. package/dist/hooks/index.d.ts +28 -12
  31. package/dist/hooks/index.d.ts.map +1 -1
  32. package/dist/hooks/index.js +16 -0
  33. package/dist/hooks/index.js.map +1 -1
  34. package/package.json +3 -4
  35. package/src/access/engine.test.ts +145 -0
  36. package/src/access/engine.ts +35 -11
  37. package/src/access/types.ts +39 -8
  38. package/src/config/index.ts +46 -19
  39. package/src/config/plugin-engine.ts +7 -0
  40. package/src/config/types.ts +149 -18
  41. package/src/context/index.ts +298 -110
  42. package/src/fields/index.ts +8 -7
  43. package/src/hooks/index.ts +63 -20
  44. package/tests/context.test.ts +38 -6
  45. package/tests/field-types.test.ts +728 -0
  46. package/tests/password-type-distribution.test.ts +0 -1
  47. package/tests/password-types.test.ts +0 -1
  48. package/tests/plugin-engine.test.ts +1102 -0
  49. package/tests/sudo.test.ts +405 -0
  50. package/tsconfig.tsbuildinfo +1 -1
@@ -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,50 @@ 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
+ function parsePrismaError(error, listConfig) {
92
+ // Check if it's a Prisma error
93
+ if (error &&
94
+ typeof error === 'object' &&
95
+ 'code' in error &&
96
+ 'meta' in error &&
97
+ typeof error.code === 'string') {
98
+ const prismaError = error;
99
+ // Handle unique constraint violation
100
+ if (prismaError.code === 'P2002') {
101
+ const target = prismaError.meta?.target;
102
+ const fieldErrors = {};
103
+ if (target && Array.isArray(target)) {
104
+ // Get field names from the constraint target
105
+ for (const fieldName of target) {
106
+ // Get the field config to get a better label
107
+ const fieldConfig = listConfig.fields[fieldName];
108
+ const label = fieldName.charAt(0).toUpperCase() + fieldName.slice(1);
109
+ if (fieldConfig) {
110
+ fieldErrors[fieldName] = `This ${label.toLowerCase()} is already in use`;
111
+ }
112
+ else {
113
+ fieldErrors[fieldName] = `This value is already in use`;
114
+ }
115
+ }
116
+ // Create a user-friendly general message
117
+ const fieldLabels = target.map((f) => f.charAt(0).toUpperCase() + f.slice(1)).join(', ');
118
+ return new DatabaseError(`${fieldLabels} must be unique. The value you entered is already in use.`, fieldErrors, prismaError.code);
119
+ }
120
+ return new DatabaseError('A record with this value already exists', {}, prismaError.code);
121
+ }
122
+ // Handle other Prisma errors - return generic message
123
+ return new DatabaseError(prismaError.message || 'A database error occurred', {}, prismaError.code);
124
+ }
125
+ // Not a Prisma error, return as-is if it's already an Error
126
+ if (error instanceof Error) {
127
+ return error;
128
+ }
129
+ // Unknown error type
130
+ return new Error('An unknown error occurred');
131
+ }
88
132
  /**
89
133
  * Create an access-controlled context
90
134
  *
@@ -93,7 +137,7 @@ item, data, fields, operation, context, listKey) {
93
137
  * @param session - Current session object (or null if not authenticated)
94
138
  * @param storage - Optional storage utilities (uploadFile, uploadImage, deleteFile, deleteImage)
95
139
  */
96
- export function getContext(config, prisma, session, storage) {
140
+ export function getContext(config, prisma, session, storage, _isSudo = false) {
97
141
  // Initialize db object - will be populated with access-controlled operations
98
142
  // Type is intentionally broad to allow dynamic model access
99
143
  const db = {};
@@ -117,6 +161,8 @@ export function getContext(config, prisma, session, storage) {
117
161
  throw new Error('No storage providers configured. Add storage providers to your opensaas.config.ts');
118
162
  },
119
163
  },
164
+ plugins: {}, // Will be populated with plugin runtime services
165
+ _isSudo,
120
166
  };
121
167
  // Create access-controlled operations for each list
122
168
  for (const [listName, listConfig] of Object.entries(config.lists)) {
@@ -130,32 +176,107 @@ export function getContext(config, prisma, session, storage) {
130
176
  count: createCount(listName, listConfig, prisma, context),
131
177
  };
132
178
  }
179
+ // Execute plugin runtime functions and populate context.plugins
180
+ // Use _plugins (sorted by dependencies) if available, otherwise fall back to plugins array
181
+ const pluginsToExecute = config._plugins || config.plugins || [];
182
+ for (const plugin of pluginsToExecute) {
183
+ if (plugin.runtime) {
184
+ try {
185
+ context.plugins[plugin.name] = plugin.runtime(context);
186
+ }
187
+ catch (error) {
188
+ console.error(`Error executing runtime for plugin "${plugin.name}":`, error);
189
+ // Continue with other plugins even if one fails
190
+ }
191
+ }
192
+ }
133
193
  // Generic server action handler with discriminated union for type safety
194
+ // Returns a result object instead of throwing to work properly in Next.js production
134
195
  async function serverAction(props) {
135
196
  const dbKey = getDbKey(props.listKey);
136
- const model = db[dbKey];
137
- if (props.action === 'create') {
138
- return await model.create({ data: props.data });
197
+ const listConfig = config.lists[props.listKey];
198
+ if (!listConfig) {
199
+ return {
200
+ success: false,
201
+ error: `List "${props.listKey}" not found in configuration`,
202
+ };
139
203
  }
140
- else if (props.action === 'update') {
141
- return await model.update({
142
- where: { id: props.id },
143
- data: props.data,
144
- });
204
+ const model = db[dbKey];
205
+ try {
206
+ let result = null;
207
+ if (props.action === 'create') {
208
+ result = await model.create({ data: props.data });
209
+ }
210
+ else if (props.action === 'update') {
211
+ result = await model.update({
212
+ where: { id: props.id },
213
+ data: props.data,
214
+ });
215
+ }
216
+ else if (props.action === 'delete') {
217
+ result = await model.delete({
218
+ where: { id: props.id },
219
+ });
220
+ }
221
+ // Check for access denial (null return from access-controlled operations)
222
+ if (result === null) {
223
+ return {
224
+ success: false,
225
+ error: 'Access denied or operation failed',
226
+ };
227
+ }
228
+ return {
229
+ success: true,
230
+ data: result,
231
+ };
145
232
  }
146
- else if (props.action === 'delete') {
147
- return await model.delete({
148
- where: { id: props.id },
149
- });
233
+ catch (error) {
234
+ // Handle ValidationError (has fieldErrors)
235
+ if (error instanceof ValidationError) {
236
+ return {
237
+ success: false,
238
+ error: error.message,
239
+ fieldErrors: error.fieldErrors,
240
+ };
241
+ }
242
+ // Handle DatabaseError (has fieldErrors)
243
+ if (error instanceof DatabaseError) {
244
+ return {
245
+ success: false,
246
+ error: error.message,
247
+ fieldErrors: error.fieldErrors,
248
+ };
249
+ }
250
+ // Parse and convert Prisma errors to user-friendly DatabaseError
251
+ const dbError = parsePrismaError(error, listConfig);
252
+ if (dbError instanceof DatabaseError) {
253
+ return {
254
+ success: false,
255
+ error: dbError.message,
256
+ fieldErrors: dbError.fieldErrors,
257
+ };
258
+ }
259
+ // Generic error fallback
260
+ return {
261
+ success: false,
262
+ error: dbError.message,
263
+ };
150
264
  }
151
- return null;
265
+ }
266
+ // Sudo function - creates a new context that bypasses access control
267
+ // but still executes all hooks and validation
268
+ function sudo() {
269
+ return getContext(config, prisma, session, context.storage, true);
152
270
  }
153
271
  return {
154
272
  db: db,
155
273
  session,
156
274
  prisma,
157
275
  storage: context.storage,
276
+ plugins: context.plugins,
158
277
  serverAction,
278
+ sudo,
279
+ _isSudo,
159
280
  };
160
281
  }
161
282
  /**
@@ -163,19 +284,23 @@ export function getContext(config, prisma, session, storage) {
163
284
  */
164
285
  function createFindUnique(listName, listConfig, prisma, context, config) {
165
286
  return async (args) => {
166
- // Check query access
167
- const queryAccess = listConfig.access?.operation?.query;
168
- const accessResult = await checkAccess(queryAccess, {
169
- session: context.session,
170
- context,
171
- });
172
- if (accessResult === false) {
173
- return null;
174
- }
175
- // Merge access filter with where clause
176
- const where = mergeFilters(args.where, accessResult);
177
- if (where === null) {
178
- return null;
287
+ // Check query access (skip if sudo mode)
288
+ let where = args.where;
289
+ if (!context._isSudo) {
290
+ const queryAccess = listConfig.access?.operation?.query;
291
+ const accessResult = await checkAccess(queryAccess, {
292
+ session: context.session,
293
+ context,
294
+ });
295
+ if (accessResult === false) {
296
+ return null;
297
+ }
298
+ // Merge access filter with where clause
299
+ const mergedWhere = mergeFilters(args.where, accessResult);
300
+ if (mergedWhere === null) {
301
+ return null;
302
+ }
303
+ where = mergedWhere;
179
304
  }
180
305
  // Build include with access control filters
181
306
  const accessControlledInclude = await buildIncludeWithAccessControl(listConfig.fields, {
@@ -196,9 +321,10 @@ function createFindUnique(listName, listConfig, prisma, context, config) {
196
321
  return null;
197
322
  }
198
323
  // Filter readable fields and apply resolveOutput hooks (including nested relationships)
324
+ // Pass sudo flag through context to skip field-level access checks
199
325
  const filtered = await filterReadableFields(item, listConfig.fields, {
200
326
  session: context.session,
201
- context,
327
+ context: { ...context, _isSudo: context._isSudo },
202
328
  }, config, 0, listName);
203
329
  // Execute field afterOperation hooks (side effects only)
204
330
  await executeFieldAfterOperationHooks(filtered, undefined, listConfig.fields, 'query', context, listName);
@@ -210,19 +336,23 @@ function createFindUnique(listName, listConfig, prisma, context, config) {
210
336
  */
211
337
  function createFindMany(listName, listConfig, prisma, context, config) {
212
338
  return async (args) => {
213
- // Check query access
214
- const queryAccess = listConfig.access?.operation?.query;
215
- const accessResult = await checkAccess(queryAccess, {
216
- session: context.session,
217
- context,
218
- });
219
- if (accessResult === false) {
220
- return [];
221
- }
222
- // Merge access filter with where clause
223
- const where = mergeFilters(args?.where, accessResult);
224
- if (where === null) {
225
- return [];
339
+ // Check query access (skip if sudo mode)
340
+ let where = args?.where;
341
+ if (!context._isSudo) {
342
+ const queryAccess = listConfig.access?.operation?.query;
343
+ const accessResult = await checkAccess(queryAccess, {
344
+ session: context.session,
345
+ context,
346
+ });
347
+ if (accessResult === false) {
348
+ return [];
349
+ }
350
+ // Merge access filter with where clause
351
+ const mergedWhere = mergeFilters(args?.where, accessResult);
352
+ if (mergedWhere === null) {
353
+ return [];
354
+ }
355
+ where = mergedWhere;
226
356
  }
227
357
  // Build include with access control filters
228
358
  const accessControlledInclude = await buildIncludeWithAccessControl(listConfig.fields, {
@@ -242,9 +372,10 @@ function createFindMany(listName, listConfig, prisma, context, config) {
242
372
  include,
243
373
  });
244
374
  // Filter readable fields for each item and apply resolveOutput hooks (including nested relationships)
375
+ // Pass sudo flag through context to skip field-level access checks
245
376
  const filtered = await Promise.all(items.map((item) => filterReadableFields(item, listConfig.fields, {
246
377
  session: context.session,
247
- context,
378
+ context: { ...context, _isSudo: context._isSudo },
248
379
  }, config, 0, listName)));
249
380
  // Execute field afterOperation hooks for each item (side effects only)
250
381
  await Promise.all(filtered.map((item) => executeFieldAfterOperationHooks(item, undefined, listConfig.fields, 'query', context, listName)));
@@ -256,14 +387,16 @@ function createFindMany(listName, listConfig, prisma, context, config) {
256
387
  */
257
388
  function createCreate(listName, listConfig, prisma, context, config) {
258
389
  return async (args) => {
259
- // 1. Check create access
260
- const createAccess = listConfig.access?.operation?.create;
261
- const accessResult = await checkAccess(createAccess, {
262
- session: context.session,
263
- context,
264
- });
265
- if (accessResult === false) {
266
- return null;
390
+ // 1. Check create access (skip if sudo mode)
391
+ if (!context._isSudo) {
392
+ const createAccess = listConfig.access?.operation?.create;
393
+ const accessResult = await checkAccess(createAccess, {
394
+ session: context.session,
395
+ context,
396
+ });
397
+ if (accessResult === false) {
398
+ return null;
399
+ }
267
400
  }
268
401
  // 2. Execute list-level resolveInput hook
269
402
  let resolvedData = await executeResolveInput(listConfig.hooks, {
@@ -284,10 +417,10 @@ function createCreate(listName, listConfig, prisma, context, config) {
284
417
  if (validation.errors.length > 0) {
285
418
  throw new ValidationError(validation.errors, validation.fieldErrors);
286
419
  }
287
- // 5. Filter writable fields (field-level access control)
420
+ // 5. Filter writable fields (field-level access control, skip if sudo mode)
288
421
  const filteredData = await filterWritableFields(resolvedData, listConfig.fields, 'create', {
289
422
  session: context.session,
290
- context,
423
+ context: { ...context, _isSudo: context._isSudo },
291
424
  });
292
425
  // 5.5. Process nested relationship operations
293
426
  const data = await processNestedOperations(filteredData, listConfig.fields, config, { ...context, prisma }, 'create');
@@ -314,9 +447,10 @@ function createCreate(listName, listConfig, prisma, context, config) {
314
447
  // 10. Execute field-level afterOperation hooks (side effects only)
315
448
  await executeFieldAfterOperationHooks(item, data, listConfig.fields, 'create', context, listName);
316
449
  // 11. Filter readable fields and apply resolveOutput hooks (including nested relationships)
450
+ // Pass sudo flag through context to skip field-level access checks
317
451
  const filtered = await filterReadableFields(item, listConfig.fields, {
318
452
  session: context.session,
319
- context,
453
+ context: { ...context, _isSudo: context._isSudo },
320
454
  }, config, 0, listName);
321
455
  return filtered;
322
456
  };
@@ -336,24 +470,26 @@ function createUpdate(listName, listConfig, prisma, context, config) {
336
470
  if (!item) {
337
471
  return null;
338
472
  }
339
- // 2. Check update access
340
- const updateAccess = listConfig.access?.operation?.update;
341
- const accessResult = await checkAccess(updateAccess, {
342
- session: context.session,
343
- item,
344
- context,
345
- });
346
- if (accessResult === false) {
347
- return null;
348
- }
349
- // If access returns a filter, check if item matches
350
- if (typeof accessResult === 'object') {
351
- const matchesFilter = await model.findFirst({
352
- where: mergeFilters(args.where, accessResult),
473
+ // 2. Check update access (skip if sudo mode)
474
+ if (!context._isSudo) {
475
+ const updateAccess = listConfig.access?.operation?.update;
476
+ const accessResult = await checkAccess(updateAccess, {
477
+ session: context.session,
478
+ item,
479
+ context,
353
480
  });
354
- if (!matchesFilter) {
481
+ if (accessResult === false) {
355
482
  return null;
356
483
  }
484
+ // If access returns a filter, check if item matches
485
+ if (typeof accessResult === 'object') {
486
+ const matchesFilter = await model.findFirst({
487
+ where: mergeFilters(args.where, accessResult),
488
+ });
489
+ if (!matchesFilter) {
490
+ return null;
491
+ }
492
+ }
357
493
  }
358
494
  // 3. Execute list-level resolveInput hook
359
495
  let resolvedData = await executeResolveInput(listConfig.hooks, {
@@ -376,11 +512,11 @@ function createUpdate(listName, listConfig, prisma, context, config) {
376
512
  if (validation.errors.length > 0) {
377
513
  throw new ValidationError(validation.errors, validation.fieldErrors);
378
514
  }
379
- // 6. Filter writable fields (field-level access control)
515
+ // 6. Filter writable fields (field-level access control, skip if sudo mode)
380
516
  const filteredData = await filterWritableFields(resolvedData, listConfig.fields, 'update', {
381
517
  session: context.session,
382
518
  item,
383
- context,
519
+ context: { ...context, _isSudo: context._isSudo },
384
520
  });
385
521
  // 6.5. Process nested relationship operations
386
522
  const data = await processNestedOperations(filteredData, listConfig.fields, config, { ...context, prisma }, 'update');
@@ -406,9 +542,10 @@ function createUpdate(listName, listConfig, prisma, context, config) {
406
542
  // 11. Execute field-level afterOperation hooks (side effects only)
407
543
  await executeFieldAfterOperationHooks(updated, data, listConfig.fields, 'update', context, listName);
408
544
  // 12. Filter readable fields and apply resolveOutput hooks (including nested relationships)
545
+ // Pass sudo flag through context to skip field-level access checks
409
546
  const filtered = await filterReadableFields(updated, listConfig.fields, {
410
547
  session: context.session,
411
- context,
548
+ context: { ...context, _isSudo: context._isSudo },
412
549
  }, config, 0, listName);
413
550
  return filtered;
414
551
  };
@@ -428,24 +565,26 @@ function createDelete(listName, listConfig, prisma, context) {
428
565
  if (!item) {
429
566
  return null;
430
567
  }
431
- // 2. Check delete access
432
- const deleteAccess = listConfig.access?.operation?.delete;
433
- const accessResult = await checkAccess(deleteAccess, {
434
- session: context.session,
435
- item,
436
- context,
437
- });
438
- if (accessResult === false) {
439
- return null;
440
- }
441
- // If access returns a filter, check if item matches
442
- if (typeof accessResult === 'object') {
443
- const matchesFilter = await model.findFirst({
444
- where: mergeFilters(args.where, accessResult),
568
+ // 2. Check delete access (skip if sudo mode)
569
+ if (!context._isSudo) {
570
+ const deleteAccess = listConfig.access?.operation?.delete;
571
+ const accessResult = await checkAccess(deleteAccess, {
572
+ session: context.session,
573
+ item,
574
+ context,
445
575
  });
446
- if (!matchesFilter) {
576
+ if (accessResult === false) {
447
577
  return null;
448
578
  }
579
+ // If access returns a filter, check if item matches
580
+ if (typeof accessResult === 'object') {
581
+ const matchesFilter = await model.findFirst({
582
+ where: mergeFilters(args.where, accessResult),
583
+ });
584
+ if (!matchesFilter) {
585
+ return null;
586
+ }
587
+ }
449
588
  }
450
589
  // 3. Execute field-level beforeOperation hooks (side effects only)
451
590
  await executeFieldBeforeOperationHooks({}, listConfig.fields, 'delete', context, listName, item);
@@ -475,19 +614,23 @@ function createDelete(listName, listConfig, prisma, context) {
475
614
  */
476
615
  function createCount(listName, listConfig, prisma, context) {
477
616
  return async (args) => {
478
- // Check query access
479
- const queryAccess = listConfig.access?.operation?.query;
480
- const accessResult = await checkAccess(queryAccess, {
481
- session: context.session,
482
- context,
483
- });
484
- if (accessResult === false) {
485
- return 0;
486
- }
487
- // Merge access filter with where clause
488
- const where = mergeFilters(args?.where, accessResult);
489
- if (where === null) {
490
- return 0;
617
+ // Check query access (skip if sudo mode)
618
+ let where = args?.where;
619
+ if (!context._isSudo) {
620
+ const queryAccess = listConfig.access?.operation?.query;
621
+ const accessResult = await checkAccess(queryAccess, {
622
+ session: context.session,
623
+ context,
624
+ });
625
+ if (accessResult === false) {
626
+ return 0;
627
+ }
628
+ // Merge access filter with where clause
629
+ const mergedWhere = mergeFilters(args?.where, accessResult);
630
+ if (mergedWhere === null) {
631
+ return 0;
632
+ }
633
+ where = mergedWhere;
491
634
  }
492
635
  // Execute count
493
636
  // Access Prisma model dynamically - required because model names are generated at runtime
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,SAAS,EACV,MAAM,oBAAoB,CAAA;AAa3B;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,SAAS,CAqEjE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,YAAY,CA4C1E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,aAAa,CA2B7E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,cAAc,CAsChF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,aAAa,CAgG7E;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,WAAW,CA2CtE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAiBxF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,SAAS,CAuCjE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,SAAS,EACV,MAAM,oBAAoB,CAAA;AAa3B;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,SAAS,CAqEjE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,YAAY,CA4C1E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,aAAa,CA2B7E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,cAAc,CAsChF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,aAAa,CAiG7E;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,WAAW,CA2CtE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAiBxF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,SAAS,CAuCjE"}
@@ -39,7 +39,7 @@ export function text(options) {
39
39
  if (isRequired && operation === 'update') {
40
40
  return z.union([withMax, z.undefined()]);
41
41
  }
42
- return !isRequired ? withMax.optional() : withMax;
42
+ return !isRequired ? withMax.optional().nullable() : withMax;
43
43
  },
44
44
  getPrismaType: () => {
45
45
  const validation = options?.validation;
@@ -93,7 +93,7 @@ export function integer(options) {
93
93
  })
94
94
  : withMin;
95
95
  return !options?.validation?.isRequired || operation === 'update'
96
- ? withMax.optional()
96
+ ? withMax.optional().nullable()
97
97
  : withMax;
98
98
  },
99
99
  getPrismaType: () => {
@@ -120,7 +120,7 @@ export function checkbox(options) {
120
120
  type: 'checkbox',
121
121
  ...options,
122
122
  getZodSchema: () => {
123
- return z.boolean().optional();
123
+ return z.boolean().optional().nullable();
124
124
  },
125
125
  getPrismaType: () => {
126
126
  const hasDefault = options?.defaultValue !== undefined;
@@ -149,7 +149,7 @@ export function timestamp(options) {
149
149
  type: 'timestamp',
150
150
  ...options,
151
151
  getZodSchema: () => {
152
- return z.union([z.date(), z.iso.datetime()]).optional();
152
+ return z.union([z.date(), z.iso.datetime()]).optional().nullable();
153
153
  },
154
154
  getPrismaType: () => {
155
155
  let modifiers = '?';
@@ -301,7 +301,8 @@ export function password(options) {
301
301
  .string({
302
302
  message: `${formatFieldName(fieldName)} must be text`,
303
303
  })
304
- .optional();
304
+ .optional()
305
+ .nullable();
305
306
  }
306
307
  },
307
308
  getPrismaType: () => {
@@ -336,7 +337,7 @@ export function select(options) {
336
337
  message: `${formatFieldName(fieldName)} must be one of: ${values.join(', ')}`,
337
338
  });
338
339
  if (!options.validation?.isRequired || operation === 'update') {
339
- schema = schema.optional();
340
+ schema = schema.optional().nullable();
340
341
  }
341
342
  return schema;
342
343
  },
@@ -439,8 +440,8 @@ export function json(options) {
439
440
  return z.union([baseSchema, z.undefined()]);
440
441
  }
441
442
  else {
442
- // Not required: can be undefined
443
- return baseSchema.optional();
443
+ // Not required: can be undefined or null
444
+ return baseSchema.optional().nullable();
444
445
  }
445
446
  },
446
447
  getPrismaType: () => {