@opensaas/stack-core 0.18.0 → 0.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensaas/stack-core",
3
- "version": "0.18.0",
3
+ "version": "0.18.2",
4
4
  "description": "Core stack for OpenSaas - schema definition, access control, and runtime utilities",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -5,6 +5,7 @@ import type { OpenSaasConfig, ListConfig, FieldConfig } from '../config/types.js
5
5
  /**
6
6
  * Runtime type for resolveOutput hooks
7
7
  * Used when we need to call hooks generically without knowing the specific field type
8
+ * Supports both sync and async implementations
8
9
  */
9
10
  type ResolveOutputHookRuntime = (args: {
10
11
  operation: 'query'
@@ -13,7 +14,7 @@ type ResolveOutputHookRuntime = (args: {
13
14
  listKey: string
14
15
  fieldName: string
15
16
  context: AccessContext
16
- }) => unknown
17
+ }) => unknown | Promise<unknown>
17
18
 
18
19
  /**
19
20
  * Check if access control result is a boolean
@@ -203,6 +204,14 @@ export async function buildIncludeWithAccessControl(
203
204
  return undefined
204
205
  }
205
206
 
207
+ // Skip auto-including relationships when inside a resolveOutput hook
208
+ // This prevents infinite loops when hooks make DB queries that include
209
+ // relationships back to the same entity (e.g., User virtual field queries Posts
210
+ // which includes author back to User, triggering the virtual field again)
211
+ if (args.context._resolveOutputCounter.depth > 0) {
212
+ return undefined
213
+ }
214
+
206
215
  type IncludeEntry = boolean | { where?: PrismaFilter; include?: Record<string, IncludeEntry> }
207
216
 
208
217
  const include: Record<string, IncludeEntry> = {}
@@ -346,14 +355,24 @@ export async function filterReadableFields<T extends Record<string, unknown>>(
346
355
  // Cast to runtime type for generic execution
347
356
  // At runtime, the hook will receive the correct value type for the field
348
357
  const hook = fieldConfig.hooks.resolveOutput as unknown as ResolveOutputHookRuntime
349
- filtered[fieldName] = hook({
350
- value,
351
- operation: 'query',
352
- fieldName,
353
- listKey,
354
- item,
355
- context: args.context,
356
- })
358
+ // Increment depth counter to prevent infinite loops from hooks making DB queries
359
+ // that include relationships back to the same entity
360
+ args.context._resolveOutputCounter.depth++
361
+ try {
362
+ // Use Promise.resolve() to handle both sync and async hooks
363
+ filtered[fieldName] = await Promise.resolve(
364
+ hook({
365
+ value,
366
+ operation: 'query',
367
+ fieldName,
368
+ listKey,
369
+ item,
370
+ context: args.context,
371
+ }),
372
+ )
373
+ } finally {
374
+ args.context._resolveOutputCounter.depth--
375
+ }
357
376
  } else {
358
377
  filtered[fieldName] = value
359
378
  }
@@ -386,14 +405,24 @@ export async function filterReadableFields<T extends Record<string, unknown>>(
386
405
  // Virtual fields must have resolveOutput hook to compute their value
387
406
  if (fieldConfig.hooks?.resolveOutput && listKey) {
388
407
  const hook = fieldConfig.hooks.resolveOutput as unknown as ResolveOutputHookRuntime
389
- filtered[fieldName] = hook({
390
- value: undefined, // Virtual fields don't have a database value
391
- operation: 'query',
392
- fieldName,
393
- listKey,
394
- item: filtered, // Pass filtered item so virtual field can access other fields
395
- context: args.context,
396
- })
408
+ // Increment depth counter to prevent infinite loops from hooks making DB queries
409
+ // that include relationships back to the same entity
410
+ args.context._resolveOutputCounter.depth++
411
+ try {
412
+ // Use Promise.resolve() to handle both sync and async hooks
413
+ filtered[fieldName] = await Promise.resolve(
414
+ hook({
415
+ value: undefined, // Virtual fields don't have a database value
416
+ operation: 'query',
417
+ fieldName,
418
+ listKey,
419
+ item: filtered, // Pass filtered item so virtual field can access other fields
420
+ context: args.context,
421
+ }),
422
+ )
423
+ } finally {
424
+ args.context._resolveOutputCounter.depth--
425
+ }
397
426
  }
398
427
  }
399
428
 
@@ -163,6 +163,13 @@ export interface AccessContext<TPrisma extends PrismaClientLike = PrismaClientLi
163
163
  storage: StorageUtils
164
164
  plugins: Record<string, unknown>
165
165
  _isSudo: boolean
166
+ /**
167
+ * Internal mutable counter to track resolveOutput hook depth.
168
+ * When depth > 0, we skip auto-including relationships to prevent infinite loops
169
+ * when hooks make database queries that include relationships back to the original entity.
170
+ * We use a mutable object so that spreading the context preserves the reference.
171
+ */
172
+ _resolveOutputCounter: { depth: number }
166
173
  }
167
174
 
168
175
  /**
@@ -283,19 +283,32 @@ export type FieldHooks<
283
283
  * Called when returning results from query operations
284
284
  * This is where you should transform output data (e.g., wrap passwords, format values)
285
285
  *
286
+ * Supports both sync and async implementations. When async, the hook will be
287
+ * properly awaited before returning results.
288
+ *
286
289
  * @example
287
290
  * ```typescript
291
+ * // Sync example
288
292
  * resolveOutput: ({ value }) => {
289
293
  * if (typeof value === 'string' && value.length > 0) {
290
294
  * return new HashedPassword(value)
291
295
  * }
292
296
  * return value
293
297
  * }
298
+ *
299
+ * // Async example (e.g., for virtual fields that query the database)
300
+ * resolveOutput: async ({ item, context }) => {
301
+ * const related = await context.db.otherList.findUnique({ where: { id: item.relatedId } })
302
+ * return related?.name
303
+ * }
294
304
  * ```
295
305
  */
296
306
  resolveOutput?: (
297
307
  args: FieldResolveOutputHookArgs<TTypeInfo, TFieldKey>,
298
- ) => GetFieldValueType<TTypeInfo['fields'], TFieldKey> | undefined
308
+ ) =>
309
+ | GetFieldValueType<TTypeInfo['fields'], TFieldKey>
310
+ | undefined
311
+ | Promise<GetFieldValueType<TTypeInfo['fields'], TFieldKey> | undefined>
299
312
  }
300
313
 
301
314
  /**
@@ -38,6 +38,16 @@ async function executeFieldResolveInputHooks(
38
38
  item?: any,
39
39
  ): Promise<Record<string, unknown>> {
40
40
  let result = { ...resolvedData }
41
+ console.log(
42
+ 'Executing field resolveInput hooks for list:',
43
+ listKey,
44
+ 'operation:',
45
+ operation,
46
+ 'inputData:',
47
+ inputData,
48
+ 'resolvedData before field hooks:',
49
+ resolvedData,
50
+ )
41
51
 
42
52
  for (const [fieldKey, fieldConfig] of Object.entries(fields)) {
43
53
  // Skip if field not in data
@@ -430,6 +440,7 @@ export function getContext<
430
440
  },
431
441
  plugins: {}, // Will be populated with plugin runtime services
432
442
  _isSudo,
443
+ _resolveOutputCounter: { depth: 0 },
433
444
  }
434
445
 
435
446
  // Create access-controlled operations for each list
@@ -623,8 +623,10 @@ export function password<TTypeInfo extends import('../config/types.js').TypeInfo
623
623
  hooks: {
624
624
  // Hash password before writing to database
625
625
  // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Field builder hooks must be generic
626
- resolveInput: async ({ inputValue }: { inputValue: any }) => {
626
+ resolveInput: async ({ inputData, fieldKey }: { inputData: any; fieldKey: string }) => {
627
627
  // Skip if undefined or null (allows partial updates)
628
+ const inputValue = inputData[fieldKey]
629
+ console.log('Password resolveInput called with value:', inputValue)
628
630
  if (inputValue === undefined || inputValue === null) {
629
631
  return inputValue
630
632
  }
@@ -640,7 +642,7 @@ export function password<TTypeInfo extends import('../config/types.js').TypeInfo
640
642
  }
641
643
 
642
644
  // Hash the password
643
- return await hashPassword(inputValue)
645
+ return (await hashPassword(inputValue)).toString()
644
646
  },
645
647
  // Wrap password with HashedPassword class after reading from database
646
648
  // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Field builder hooks must be generic
@@ -7,6 +7,23 @@ describe('Relationship Access Control', () => {
7
7
  session: null,
8
8
  prisma: {},
9
9
  db: {},
10
+ storage: {
11
+ uploadFile: async () => {
12
+ throw new Error('Not implemented')
13
+ },
14
+ uploadImage: async () => {
15
+ throw new Error('Not implemented')
16
+ },
17
+ deleteFile: async () => {
18
+ throw new Error('Not implemented')
19
+ },
20
+ deleteImage: async () => {
21
+ throw new Error('Not implemented')
22
+ },
23
+ },
24
+ plugins: {},
25
+ _isSudo: false,
26
+ _resolveOutputCounter: { depth: 0 },
10
27
  }
11
28
 
12
29
  describe('getRelatedListConfig', () => {
@@ -905,4 +905,187 @@ describe('Nested Operations - Access Control and Hooks', () => {
905
905
  ).rejects.toThrow('Access denied: Cannot update related item')
906
906
  })
907
907
  })
908
+
909
+ describe('Async resolveOutput Hooks', () => {
910
+ it('should await async resolveOutput hooks for regular fields', async () => {
911
+ const asyncResolveOutputHook = vi.fn(async ({ value }) => {
912
+ // Simulate async operation (e.g., external API call, database lookup)
913
+ await new Promise((resolve) => setTimeout(resolve, 10))
914
+ return `async:${value}`
915
+ })
916
+
917
+ const testConfig = config({
918
+ db: {
919
+ provider: 'postgresql',
920
+ url: 'postgresql://localhost:5432/test',
921
+ },
922
+ lists: {
923
+ Post: list({
924
+ fields: {
925
+ title: text({
926
+ hooks: {
927
+ resolveOutput: asyncResolveOutputHook,
928
+ },
929
+ }),
930
+ },
931
+ access: {
932
+ operation: {
933
+ query: () => true,
934
+ },
935
+ },
936
+ }),
937
+ },
938
+ })
939
+
940
+ mockPrisma.post.findMany.mockResolvedValue([
941
+ { id: '1', title: 'Hello World', createdAt: new Date(), updatedAt: new Date() },
942
+ ])
943
+
944
+ const context = getContext(testConfig, mockPrisma, null)
945
+ const results = await context.db.post.findMany()
946
+
947
+ // The resolved value should be the async result, not a Promise object
948
+ expect(results[0].title).toBe('async:Hello World')
949
+ expect(results[0].title).not.toBeInstanceOf(Promise)
950
+ expect(asyncResolveOutputHook).toHaveBeenCalled()
951
+ })
952
+
953
+ it('should await async resolveOutput hooks for virtual fields', async () => {
954
+ const asyncVirtualHook = vi.fn(async ({ item }) => {
955
+ // Simulate async operation (e.g., compute from related data)
956
+ await new Promise((resolve) => setTimeout(resolve, 10))
957
+ return `computed:${item.firstName}-${item.lastName}`
958
+ })
959
+
960
+ const testConfig = config({
961
+ db: {
962
+ provider: 'postgresql',
963
+ url: 'postgresql://localhost:5432/test',
964
+ },
965
+ lists: {
966
+ User: list({
967
+ fields: {
968
+ firstName: text(),
969
+ lastName: text(),
970
+ fullName: {
971
+ type: 'virtual',
972
+ virtual: true,
973
+ outputType: 'string',
974
+ hooks: {
975
+ resolveOutput: asyncVirtualHook,
976
+ },
977
+ },
978
+ },
979
+ access: {
980
+ operation: {
981
+ query: () => true,
982
+ },
983
+ },
984
+ }),
985
+ },
986
+ })
987
+
988
+ mockPrisma.user.findMany.mockResolvedValue([
989
+ {
990
+ id: '1',
991
+ firstName: 'John',
992
+ lastName: 'Doe',
993
+ createdAt: new Date(),
994
+ updatedAt: new Date(),
995
+ },
996
+ ])
997
+
998
+ const context = getContext(testConfig, mockPrisma, null)
999
+ const results = await context.db.user.findMany()
1000
+
1001
+ // The resolved value should be the async result, not a Promise object
1002
+ expect(results[0].fullName).toBe('computed:John-Doe')
1003
+ expect(results[0].fullName).not.toBeInstanceOf(Promise)
1004
+ expect(asyncVirtualHook).toHaveBeenCalled()
1005
+ })
1006
+
1007
+ it('should still work with sync resolveOutput hooks (backwards compatibility)', async () => {
1008
+ const syncResolveOutputHook = vi.fn(({ value }) => {
1009
+ // Synchronous transformation
1010
+ return value.toUpperCase()
1011
+ })
1012
+
1013
+ const testConfig = config({
1014
+ db: {
1015
+ provider: 'postgresql',
1016
+ url: 'postgresql://localhost:5432/test',
1017
+ },
1018
+ lists: {
1019
+ Post: list({
1020
+ fields: {
1021
+ title: text({
1022
+ hooks: {
1023
+ resolveOutput: syncResolveOutputHook,
1024
+ },
1025
+ }),
1026
+ },
1027
+ access: {
1028
+ operation: {
1029
+ query: () => true,
1030
+ },
1031
+ },
1032
+ }),
1033
+ },
1034
+ })
1035
+
1036
+ mockPrisma.post.findMany.mockResolvedValue([
1037
+ { id: '1', title: 'hello world', createdAt: new Date(), updatedAt: new Date() },
1038
+ ])
1039
+
1040
+ const context = getContext(testConfig, mockPrisma, null)
1041
+ const results = await context.db.post.findMany()
1042
+
1043
+ // Sync hooks should still work as before
1044
+ expect(results[0].title).toBe('HELLO WORLD')
1045
+ expect(syncResolveOutputHook).toHaveBeenCalled()
1046
+ })
1047
+
1048
+ it('should pass context to async resolveOutput hooks', async () => {
1049
+ const asyncHookWithContext = vi.fn(async ({ value, context }) => {
1050
+ // Verify context is passed correctly
1051
+ expect(context).toBeDefined()
1052
+ expect(context.session).toEqual({ userId: 'user-123' })
1053
+ await new Promise((resolve) => setTimeout(resolve, 5))
1054
+ return `${value}:${context.session?.userId}`
1055
+ })
1056
+
1057
+ const testConfig = config({
1058
+ db: {
1059
+ provider: 'postgresql',
1060
+ url: 'postgresql://localhost:5432/test',
1061
+ },
1062
+ lists: {
1063
+ Post: list({
1064
+ fields: {
1065
+ title: text({
1066
+ hooks: {
1067
+ resolveOutput: asyncHookWithContext,
1068
+ },
1069
+ }),
1070
+ },
1071
+ access: {
1072
+ operation: {
1073
+ query: () => true,
1074
+ },
1075
+ },
1076
+ }),
1077
+ },
1078
+ })
1079
+
1080
+ mockPrisma.post.findMany.mockResolvedValue([
1081
+ { id: '1', title: 'Test', createdAt: new Date(), updatedAt: new Date() },
1082
+ ])
1083
+
1084
+ const context = getContext(testConfig, mockPrisma, { userId: 'user-123' })
1085
+ const results = await context.db.post.findMany()
1086
+
1087
+ expect(results[0].title).toBe('Test:user-123')
1088
+ expect(asyncHookWithContext).toHaveBeenCalled()
1089
+ })
1090
+ })
908
1091
  })