@baasix/baasix 0.1.34 → 0.1.35

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 (110) hide show
  1. package/dist/app/404/index.html +1 -1
  2. package/dist/app/404.html +1 -1
  3. package/dist/app/_next/static/chunks/app/(authenticated)/settings/schema/page-9895483765b6dfd7.js +1 -0
  4. package/dist/app/_next/static/css/{d08072df3a043c8d.css → 8572ff91c3639efa.css} +1 -1
  5. package/dist/app/activity-log/all-activity/index.html +1 -1
  6. package/dist/app/activity-log/all-activity/index.txt +1 -1
  7. package/dist/app/activity-log/email-log/index.html +1 -1
  8. package/dist/app/activity-log/email-log/index.txt +1 -1
  9. package/dist/app/activity-log/index.html +1 -1
  10. package/dist/app/activity-log/index.txt +1 -1
  11. package/dist/app/activity-log/notifications/index.html +1 -1
  12. package/dist/app/activity-log/notifications/index.txt +1 -1
  13. package/dist/app/activity-log/sessions/index.html +1 -1
  14. package/dist/app/activity-log/sessions/index.txt +1 -1
  15. package/dist/app/activity-log/workflow-executions/index.html +1 -1
  16. package/dist/app/activity-log/workflow-executions/index.txt +1 -1
  17. package/dist/app/activity-log/workflow-logs/index.html +1 -1
  18. package/dist/app/activity-log/workflow-logs/index.txt +1 -1
  19. package/dist/app/change-password/index.html +1 -1
  20. package/dist/app/change-password/index.txt +1 -1
  21. package/dist/app/dashboard/index.html +1 -1
  22. package/dist/app/dashboard/index.txt +1 -1
  23. package/dist/app/data-browser/index.html +1 -1
  24. package/dist/app/data-browser/index.txt +1 -1
  25. package/dist/app/file-manager/index.html +1 -1
  26. package/dist/app/file-manager/index.txt +1 -1
  27. package/dist/app/forgot-password/index.html +1 -1
  28. package/dist/app/forgot-password/index.txt +1 -1
  29. package/dist/app/index.html +1 -1
  30. package/dist/app/index.txt +1 -1
  31. package/dist/app/login/index.html +1 -1
  32. package/dist/app/login/index.txt +1 -1
  33. package/dist/app/register/index.html +1 -1
  34. package/dist/app/register/index.txt +1 -1
  35. package/dist/app/settings/migrations/index.html +1 -1
  36. package/dist/app/settings/migrations/index.txt +1 -1
  37. package/dist/app/settings/permissions/index.html +1 -1
  38. package/dist/app/settings/permissions/index.txt +1 -1
  39. package/dist/app/settings/project/index.html +1 -1
  40. package/dist/app/settings/project/index.txt +1 -1
  41. package/dist/app/settings/roles/index.html +1 -1
  42. package/dist/app/settings/roles/index.txt +1 -1
  43. package/dist/app/settings/schema/index.html +1 -1
  44. package/dist/app/settings/schema/index.txt +2 -2
  45. package/dist/app/settings/tasks/index.html +1 -1
  46. package/dist/app/settings/tasks/index.txt +1 -1
  47. package/dist/app/settings/templates/edit/index.html +1 -1
  48. package/dist/app/settings/templates/edit/index.txt +1 -1
  49. package/dist/app/settings/templates/index.html +1 -1
  50. package/dist/app/settings/templates/index.txt +1 -1
  51. package/dist/app/settings/tenants/index.html +1 -1
  52. package/dist/app/settings/tenants/index.txt +1 -1
  53. package/dist/app/users/index.html +1 -1
  54. package/dist/app/users/index.txt +1 -1
  55. package/dist/app/users/invites/index.html +1 -1
  56. package/dist/app/users/invites/index.txt +1 -1
  57. package/dist/app/users/list/index.html +1 -1
  58. package/dist/app/users/list/index.txt +1 -1
  59. package/dist/app/users/preferences/index.html +1 -1
  60. package/dist/app/users/preferences/index.txt +1 -1
  61. package/dist/app/users/user-roles/index.html +1 -1
  62. package/dist/app/users/user-roles/index.txt +1 -1
  63. package/dist/app/workflows/detail/index.html +1 -1
  64. package/dist/app/workflows/detail/index.txt +1 -1
  65. package/dist/app/workflows/edit/index.html +1 -1
  66. package/dist/app/workflows/edit/index.txt +1 -1
  67. package/dist/app/workflows/execution/index.html +1 -1
  68. package/dist/app/workflows/execution/index.txt +1 -1
  69. package/dist/app/workflows/index.html +1 -1
  70. package/dist/app/workflows/index.txt +1 -1
  71. package/dist/app.d.ts.map +1 -1
  72. package/dist/app.js +10 -13
  73. package/dist/app.js.map +1 -1
  74. package/dist/auth/services/session.d.ts.map +1 -1
  75. package/dist/auth/services/session.js +7 -0
  76. package/dist/auth/services/session.js.map +1 -1
  77. package/dist/routes/permission.route.d.ts.map +1 -1
  78. package/dist/routes/permission.route.js +15 -22
  79. package/dist/routes/permission.route.js.map +1 -1
  80. package/dist/services/ItemsService.d.ts +4 -0
  81. package/dist/services/ItemsService.d.ts.map +1 -1
  82. package/dist/services/ItemsService.js +79 -126
  83. package/dist/services/ItemsService.js.map +1 -1
  84. package/dist/services/PermissionService.d.ts +9 -0
  85. package/dist/services/PermissionService.d.ts.map +1 -1
  86. package/dist/services/PermissionService.js +33 -0
  87. package/dist/services/PermissionService.js.map +1 -1
  88. package/dist/utils/auth.d.ts.map +1 -1
  89. package/dist/utils/auth.js +71 -53
  90. package/dist/utils/auth.js.map +1 -1
  91. package/dist/utils/cache.d.ts.map +1 -1
  92. package/dist/utils/cache.js +15 -1
  93. package/dist/utils/cache.js.map +1 -1
  94. package/dist/utils/common.d.ts.map +1 -1
  95. package/dist/utils/common.js +1 -0
  96. package/dist/utils/common.js.map +1 -1
  97. package/dist/utils/relationUtils.d.ts +17 -2
  98. package/dist/utils/relationUtils.d.ts.map +1 -1
  99. package/dist/utils/relationUtils.js +58 -103
  100. package/dist/utils/relationUtils.js.map +1 -1
  101. package/dist/utils/schemaManager.d.ts.map +1 -1
  102. package/dist/utils/schemaManager.js +11 -19
  103. package/dist/utils/schemaManager.js.map +1 -1
  104. package/dist/utils/tenantUtils.d.ts.map +1 -1
  105. package/dist/utils/tenantUtils.js +9 -9
  106. package/dist/utils/tenantUtils.js.map +1 -1
  107. package/package.json +1 -1
  108. package/dist/app/_next/static/chunks/app/(authenticated)/settings/schema/page-b1a7b169b91a3795.js +0 -1
  109. /package/dist/app/_next/static/{ZXCWkgHobz-KLrAXDB5-p → VKxfWxC1_CBTppJYBGEwt}/_buildManifest.js +0 -0
  110. /package/dist/app/_next/static/{ZXCWkgHobz-KLrAXDB5-p → VKxfWxC1_CBTppJYBGEwt}/_ssgManifest.js +0 -0
@@ -46,8 +46,19 @@ export async function getRolesAndPermissions(roleId) {
46
46
  if (cachedRole) {
47
47
  return cachedRole;
48
48
  }
49
- // Get role from PermissionService (hybrid cache)
50
- const role = await permissionService.getRoleByIdAsync(roleId);
49
+ // Get role from PermissionService (hybrid cache), fall back to DB if not cached
50
+ let role = await permissionService.getRoleByIdAsync(roleId);
51
+ if (!role) {
52
+ // Role not in hybrid cache (e.g., freshly created) — query DB directly
53
+ const sqlClient = getSqlClient();
54
+ const roles = await sqlClient `
55
+ SELECT id, name, description, "isTenantSpecific"
56
+ FROM "baasix_Role"
57
+ WHERE id = ${roleId}
58
+ LIMIT 1
59
+ `;
60
+ role = roles[0] || null;
61
+ }
51
62
  if (!role) {
52
63
  throw new Error(`Role with id ${roleId} not found`);
53
64
  }
@@ -299,61 +310,50 @@ export const authMiddleware = async (req, res, next) => {
299
310
  return next();
300
311
  }
301
312
  const { user } = sessionResult;
302
- // Get dynamically created tables from schema manager
303
- const userRoleTable = schemaManager.getTable("baasix_UserRole");
304
- const permissionTable = schemaManager.getTable("baasix_Permission");
305
- // Get user's role assignment
306
- let userRoles;
307
- if (payload.tenant_Id !== undefined && payload.tenant_Id !== null) {
308
- userRoles = await db
309
- .select({
310
- role_Id: userRoleTable.role_Id,
311
- tenant_Id: userRoleTable.tenant_Id,
312
- })
313
- .from(userRoleTable)
314
- .where(and(eq(userRoleTable.user_Id, user.id), eq(userRoleTable.tenant_Id, payload.tenant_Id)))
315
- .limit(1);
316
- }
317
- else {
318
- userRoles = await db
319
- .select({
320
- role_Id: userRoleTable.role_Id,
321
- tenant_Id: userRoleTable.tenant_Id,
322
- })
323
- .from(userRoleTable)
324
- .where(eq(userRoleTable.user_Id, user.id))
325
- .limit(1);
313
+ // Get user's role assignment cached with short TTL to avoid DB hit on every request
314
+ const cache = getCache();
315
+ const tenantKey = payload.tenant_Id ?? 'global';
316
+ const userRoleCacheKey = `auth:userrole:${user.id}:${tenantKey}`;
317
+ let userRole = await cache.get(userRoleCacheKey);
318
+ if (!userRole) {
319
+ const userRoleTable = schemaManager.getTable("baasix_UserRole");
320
+ let userRoles;
321
+ if (payload.tenant_Id !== undefined && payload.tenant_Id !== null) {
322
+ userRoles = await db
323
+ .select({
324
+ role_Id: userRoleTable.role_Id,
325
+ tenant_Id: userRoleTable.tenant_Id,
326
+ })
327
+ .from(userRoleTable)
328
+ .where(and(eq(userRoleTable.user_Id, user.id), eq(userRoleTable.tenant_Id, payload.tenant_Id)))
329
+ .limit(1);
330
+ }
331
+ else {
332
+ userRoles = await db
333
+ .select({
334
+ role_Id: userRoleTable.role_Id,
335
+ tenant_Id: userRoleTable.tenant_Id,
336
+ })
337
+ .from(userRoleTable)
338
+ .where(eq(userRoleTable.user_Id, user.id))
339
+ .limit(1);
340
+ }
341
+ userRole = userRoles?.[0] || null;
342
+ if (userRole) {
343
+ await cache.set(userRoleCacheKey, userRole, 60000); // 60s TTL
344
+ }
326
345
  }
327
- const userRole = userRoles?.[0];
328
346
  // Get role and permissions from cache or database
329
347
  let role = { id: null, name: "user", isTenantSpecific: false };
330
348
  let permissions = [];
331
349
  if (userRole?.role_Id) {
332
- try {
333
- const roleData = await getRolesAndPermissions(userRole.role_Id);
334
- role = {
335
- id: roleData.id,
336
- name: roleData.name,
337
- isTenantSpecific: roleData.isTenantSpecific,
338
- };
339
- permissions = Object.values(roleData.permissions);
340
- }
341
- catch {
342
- // Fallback: use PermissionService hybrid cache for role
343
- const cachedRole = await permissionService.getRoleByIdAsync(userRole.role_Id);
344
- if (cachedRole) {
345
- role = {
346
- id: cachedRole.id,
347
- name: cachedRole.name,
348
- isTenantSpecific: cachedRole.isTenantSpecific,
349
- };
350
- }
351
- // Still need to fetch permissions from DB as fallback
352
- permissions = await db
353
- .select()
354
- .from(permissionTable)
355
- .where(eq(permissionTable.role_Id, userRole.role_Id));
356
- }
350
+ const roleData = await getRolesAndPermissions(userRole.role_Id);
351
+ role = {
352
+ id: roleData.id,
353
+ name: roleData.name,
354
+ isTenantSpecific: roleData.isTenantSpecific,
355
+ };
356
+ permissions = Object.values(roleData.permissions);
357
357
  }
358
358
  // Calculate isAdmin based on role name
359
359
  const isAdmin = role.name === 'administrator';
@@ -432,6 +432,21 @@ export async function createSession(user, expiresInSeconds, sessionType = "defau
432
432
  * Validate a session token
433
433
  */
434
434
  export async function validateSession(token, expectedTenantId = null) {
435
+ // Check short-TTL session cache to avoid DB query on every request
436
+ const cache = getCache();
437
+ const sessionCacheKey = `auth:session:${token}`;
438
+ const cached = await cache.get(sessionCacheKey);
439
+ if (cached) {
440
+ // Re-check expiry even from cache
441
+ if (new Date() > new Date(cached.session.expiresAt)) {
442
+ await cache.delete(sessionCacheKey);
443
+ const ItemsService = await getItemsService();
444
+ const sessionService = new ItemsService('baasix_Sessions');
445
+ await sessionService.deleteOne(cached.session.id);
446
+ return null;
447
+ }
448
+ return cached;
449
+ }
435
450
  const ItemsService = await getItemsService();
436
451
  const sessionService = new ItemsService('baasix_Sessions');
437
452
  // Fetch session with user relation to get all user fields in one query
@@ -463,7 +478,10 @@ export async function validateSession(token, expectedTenantId = null) {
463
478
  if (!user) {
464
479
  return null;
465
480
  }
466
- return { session, user };
481
+ const result = { session, user };
482
+ // Cache for 30 seconds — balances performance with session revocation latency
483
+ await cache.set(sessionCacheKey, result, 30000);
484
+ return result;
467
485
  }
468
486
  /**
469
487
  * Validate session limits for a user
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../baasix/utils/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../baasix/utils/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../baasix/utils/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,SAAS,CAAC;AAG5B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IACtC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9E,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,cAAc,IAAI,OAAO,CAAC;CAC3B;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1C,IAAI,oBAAoB,EAAE,KAAK,GAAG,IAAI,CAAC;IACvC,IAAI,qBAAqB,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACjD,IAAI,uBAAuB,EAAE,OAAO,CAAC;IACrC,IAAI,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,IAAI,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAsMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAkRnF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,cAAc,CAMzC;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAYhD"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../baasix/utils/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,SAAS,CAAC;AAG5B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IACtC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9E,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,cAAc,IAAI,OAAO,CAAC;CAC3B;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1C,IAAI,oBAAoB,EAAE,KAAK,GAAG,IAAI,CAAC;IACvC,IAAI,qBAAqB,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACjD,IAAI,uBAAuB,EAAE,OAAO,CAAC;IACrC,IAAI,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,IAAI,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAsND;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAkRnF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,cAAc,CAMzC;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAYhD"}
@@ -95,12 +95,26 @@ async function syncFromRedis() {
95
95
  }
96
96
  }
97
97
  /**
98
- * Increment the cache version in Redis to signal changes to other instances
98
+ * Debounce tracking for cache version increments.
99
+ * During bulk operations (e.g. permission invalidation), many hybrid-key writes
100
+ * happen in quick succession. Since the periodic sync already runs every 5s,
101
+ * we coalesce rapid increments by skipping if one happened within the last 100ms.
102
+ */
103
+ let lastVersionIncrementTime = 0;
104
+ const VERSION_DEBOUNCE_MS = 100;
105
+ /**
106
+ * Increment the cache version in Redis to signal changes to other instances.
107
+ * Debounced: skips if already incremented within VERSION_DEBOUNCE_MS.
99
108
  */
100
109
  async function incrementCacheVersion() {
101
110
  const redisClient = getRedisClient();
102
111
  if (!redisClient)
103
112
  return;
113
+ const now = Date.now();
114
+ if (now - lastVersionIncrementTime < VERSION_DEBOUNCE_MS) {
115
+ return; // Already incremented recently, skip
116
+ }
117
+ lastVersionIncrementTime = now;
104
118
  try {
105
119
  await redisClient.incr("cache:version");
106
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../baasix/utils/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../baasix/utils/cache.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../baasix/utils/common.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,QAMlE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAI1C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAQpE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYxE;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASjF;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,GAAG,EACT,eAAe,CAAC,EAAE,MAAM,IAAI,GAC3B,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED;;;GAGG;AACH,wBAAsB,kCAAkC,IAAI,OAAO,CAAC,IAAI,CAAC,CAIxE"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../baasix/utils/common.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,QAMlE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAI1C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAQpE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAaxE;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASjF;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,GAAG,EACT,eAAe,CAAC,EAAE,MAAM,IAAI,GAC3B,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED;;;GAGG;AACH,wBAAsB,kCAAkC,IAAI,OAAO,CAAC,IAAI,CAAC,CAIxE"}
@@ -52,6 +52,7 @@ export async function invalidateAuthCache(roleId) {
52
52
  await cache.delete(cacheKey);
53
53
  }
54
54
  else {
55
+ // Invalidate all auth-related caches including userrole lookups
55
56
  await cache.invalidateModel("auth");
56
57
  }
57
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../baasix/utils/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../baasix/utils/common.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ import type ItemsService from '../services/ItemsService.js';
5
5
  */
6
6
  export declare class RelationBuilder {
7
7
  private relationsMap;
8
+ /** Reverse index: target collection → M2A junction info for O(1) delete lookups */
9
+ private m2aTargetIndex;
8
10
  /**
9
11
  * Store association definitions for a table
10
12
  * Relations will be resolved at query time using Drizzle's query API
@@ -35,6 +37,13 @@ export declare class RelationBuilder {
35
37
  * Check if an association is a many-to-many type
36
38
  */
37
39
  isManyToMany(assoc: AssociationDefinition): boolean;
40
+ /**
41
+ * Get M2A junction models that reference a given target collection.
42
+ * Uses a lazily-built reverse index for O(1) lookups instead of scanning all associations.
43
+ */
44
+ getM2AJunctionsForTarget(collection: string): Array<{
45
+ model: string;
46
+ }>;
38
47
  }
39
48
  /**
40
49
  * Singleton instance
@@ -109,8 +118,14 @@ export declare function handleM2MRelationship(item: any, association: string, as
109
118
  */
110
119
  export declare function handleM2ARelationship(item: any, association: string, associationInfo: any, value: any[], service: any, ItemsServiceClass: typeof ItemsService, transaction?: any): Promise<void>;
111
120
  /**
112
- * Handle related records before delete (CASCADE, SET NULL, etc.)
113
- * Processes HasMany, HasOne, and BelongsToMany relationships based on onDelete settings
121
+ * Handle related records before delete.
122
+ *
123
+ * Regular relations (HasMany, HasOne, M2M) rely on DB FK constraints for cascade.
124
+ * M2A targets need app-level cleanup because the polymorphic `item_id` column
125
+ * in the junction table has no real DB FK (it references multiple tables).
126
+ *
127
+ * Scans all associations to find M2A sources whose `tables` array includes
128
+ * the collection being deleted, then removes the corresponding junction rows.
114
129
  */
115
130
  export declare function handleRelatedRecordsBeforeDelete(item: any, service: any, transaction?: any): Promise<void>;
116
131
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"relationUtils.d.ts","sourceRoot":"","sources":["../../baasix/utils/relationUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relationUtils.d.ts","sourceRoot":"","sources":["../../baasix/utils/relationUtils.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
- import { sql } from 'drizzle-orm';
1
+ import { sql, eq, and } from 'drizzle-orm';
2
2
  import { getDatabase } from './db.js';
3
3
  /**
4
4
  * Relation builder for dynamic schemas
5
5
  */
6
6
  export class RelationBuilder {
7
7
  relationsMap = new Map();
8
+ /** Reverse index: target collection → M2A junction info for O(1) delete lookups */
9
+ m2aTargetIndex = null;
8
10
  /**
9
11
  * Store association definitions for a table
10
12
  * Relations will be resolved at query time using Drizzle's query API
@@ -18,6 +20,8 @@ export class RelationBuilder {
18
20
  const merged = { ...existing, ...associations };
19
21
  console.log(`[RelationBuilder] After merge, ${tableName} has:`, Object.keys(merged));
20
22
  this.relationsMap.set(tableName, merged);
23
+ // Invalidate reverse index so it rebuilds on next lookup
24
+ this.m2aTargetIndex = null;
21
25
  }
22
26
  /**
23
27
  * Get associations for a table
@@ -57,6 +61,35 @@ export class RelationBuilder {
57
61
  isManyToMany(assoc) {
58
62
  return assoc.type === 'BelongsToMany';
59
63
  }
64
+ /**
65
+ * Get M2A junction models that reference a given target collection.
66
+ * Uses a lazily-built reverse index for O(1) lookups instead of scanning all associations.
67
+ */
68
+ getM2AJunctionsForTarget(collection) {
69
+ if (!this.m2aTargetIndex) {
70
+ // Build the reverse index once
71
+ this.m2aTargetIndex = new Map();
72
+ for (const [, associations] of this.relationsMap) {
73
+ for (const [, assoc] of Object.entries(associations)) {
74
+ const { type, model, polymorphic, tables } = assoc;
75
+ if (type !== 'HasMany' || !polymorphic || !tables)
76
+ continue;
77
+ for (const target of tables) {
78
+ let entries = this.m2aTargetIndex.get(target);
79
+ if (!entries) {
80
+ entries = [];
81
+ this.m2aTargetIndex.set(target, entries);
82
+ }
83
+ // Avoid duplicates
84
+ if (!entries.some(e => e.model === model)) {
85
+ entries.push({ model });
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
91
+ return this.m2aTargetIndex.get(collection) || [];
92
+ }
60
93
  }
61
94
  /**
62
95
  * Singleton instance
@@ -456,114 +489,36 @@ export async function handleM2ARelationship(item, association, associationInfo,
456
489
  console.log(`[RelationUtils] Completed M2A relationship: ${association}`);
457
490
  }
458
491
  /**
459
- * Handle related records before delete (CASCADE, SET NULL, etc.)
460
- * Processes HasMany, HasOne, and BelongsToMany relationships based on onDelete settings
492
+ * Handle related records before delete.
493
+ *
494
+ * Regular relations (HasMany, HasOne, M2M) rely on DB FK constraints for cascade.
495
+ * M2A targets need app-level cleanup because the polymorphic `item_id` column
496
+ * in the junction table has no real DB FK (it references multiple tables).
497
+ *
498
+ * Scans all associations to find M2A sources whose `tables` array includes
499
+ * the collection being deleted, then removes the corresponding junction rows.
461
500
  */
462
501
  export async function handleRelatedRecordsBeforeDelete(item, service, transaction) {
463
- console.log(`[RelationUtils] Handling related records before delete for ${service.collection}`);
464
- const associations = relationBuilder.getAssociations(service.collection);
465
- if (!associations) {
466
- return;
467
- }
468
- const db = getDatabase();
469
- const dbOrTx = transaction || db;
470
- for (const [associationName, association] of Object.entries(associations)) {
471
- // Only handle M2A target → junction cleanup at app level.
472
- // M2A target fields have constraints: false (no DB FK on polymorphic item_id),
473
- // so orphaned junction rows would remain without app-level cleanup.
474
- // All other relation types (HasMany, HasOne, M2M) have DB FK constraints
475
- // on the BelongsTo side that handle cascade/set-null automatically.
476
- if (association.type === 'HasMany' && association.constraints === false) {
477
- const onDelete = association.onDelete || 'CASCADE';
478
- await handleHasManyDelete(item, association, associationName, service, dbOrTx, onDelete);
479
- }
480
- }
481
- }
482
- /**
483
- * Handle HasMany delete - CASCADE or SET NULL related records
484
- */
485
- async function handleHasManyDelete(item, association, associationName, service, dbOrTx, onDelete) {
486
- const { schemaManager } = await import('./schemaManager.js');
487
- const targetTable = schemaManager.getTable(association.model);
488
- if (!targetTable) {
489
- console.warn(`[RelationUtils] Target table ${association.model} not found for HasMany delete`);
490
- return;
491
- }
492
- const foreignKey = association.foreignKey || `${service.collection.toLowerCase()}_Id`;
493
- const parentId = item[service.primaryKey];
494
- if (parentId === undefined || parentId === null) {
495
- console.warn(`[RelationUtils] Cannot delete HasMany records - parentId is ${parentId}`);
496
- return;
497
- }
498
- console.log(`[RelationUtils] HandleHasManyDelete: ${associationName}, onDelete=${onDelete}`);
499
- if (onDelete === 'CASCADE') {
500
- // Delete all related records
501
- const fkColumn = targetTable[foreignKey];
502
- if (fkColumn) {
503
- const { eq } = await import('drizzle-orm');
504
- await dbOrTx.delete(targetTable).where(eq(fkColumn, parentId));
505
- console.log(`[RelationUtils] Cascaded delete for ${associationName}`);
506
- }
507
- }
508
- else if (onDelete === 'SET NULL') {
509
- // Set foreign key to null on related records
510
- const fkColumn = targetTable[foreignKey];
511
- if (fkColumn) {
512
- const { eq } = await import('drizzle-orm');
513
- await dbOrTx.update(targetTable).set({ [foreignKey]: null }).where(eq(fkColumn, parentId));
514
- console.log(`[RelationUtils] Set null for ${associationName}`);
515
- }
516
- }
517
- // RESTRICT and NO ACTION are handled by database constraints
518
- }
519
- /**
520
- * Handle HasOne delete - CASCADE or SET NULL the related record
521
- */
522
- async function handleHasOneDelete(item, association, associationName, service, dbOrTx, onDelete) {
523
- // HasOne delete works the same as HasMany, just for a single record
524
- await handleHasManyDelete(item, association, associationName, service, dbOrTx, onDelete);
525
- }
526
- /**
527
- * Handle BelongsToMany delete - Remove junction table records
528
- */
529
- async function handleBelongsToManyDelete(item, association, associationName, service, dbOrTx) {
530
- const junctionTable = association.through;
531
- if (!junctionTable) {
532
- console.warn(`[RelationUtils] No junction table defined for ${associationName}`);
533
- return;
534
- }
535
- const sourceKey = association.foreignKey || `${service.collection}_id`;
502
+ const collection = service.collection;
536
503
  const parentId = item[service.primaryKey];
537
- if (parentId === undefined || parentId === null) {
538
- console.warn(`[RelationUtils] Cannot delete M2M junction records - parentId is ${parentId}`);
504
+ if (parentId == null)
539
505
  return;
540
- }
541
- console.log(`[RelationUtils] Removing M2M junction records from ${junctionTable} for ${associationName}`);
542
- await dbOrTx.execute(sql `
543
- DELETE FROM "${sql.raw(junctionTable)}"
544
- WHERE "${sql.raw(sourceKey)}" = ${parentId}
545
- `);
546
- }
547
- /**
548
- * Handle M2A (polymorphic) delete - Remove polymorphic junction table records
549
- */
550
- async function handleM2ADelete(item, association, associationName, service, dbOrTx) {
551
- const junctionTable = association.through;
552
- if (!junctionTable) {
553
- console.warn(`[RelationUtils] No junction table defined for M2A ${associationName}`);
554
- return;
555
- }
556
- const sourceKey = `${service.collection}_id`;
557
- const parentId = item[service.primaryKey];
558
- if (parentId === undefined || parentId === null) {
559
- console.warn(`[RelationUtils] Cannot delete M2A junction records - parentId is ${parentId}`);
506
+ // O(1) lookup via reverse index — skips collections with no M2A references
507
+ const junctions = relationBuilder.getM2AJunctionsForTarget(collection);
508
+ if (junctions.length === 0)
560
509
  return;
510
+ const { schemaManager } = await import('./schemaManager.js');
511
+ const dbOrTx = transaction || getDatabase();
512
+ for (const { model } of junctions) {
513
+ const junctionTable = schemaManager.getTable(model);
514
+ if (!junctionTable)
515
+ continue;
516
+ const itemIdCol = junctionTable['item_id'];
517
+ const collectionCol = junctionTable['collection'];
518
+ if (!itemIdCol || !collectionCol)
519
+ continue;
520
+ await dbOrTx.delete(junctionTable).where(and(eq(itemIdCol, parentId), eq(collectionCol, collection)));
561
521
  }
562
- console.log(`[RelationUtils] Removing M2A junction records from ${junctionTable} for ${associationName}`);
563
- await dbOrTx.execute(sql `
564
- DELETE FROM "${sql.raw(junctionTable)}"
565
- WHERE "${sql.raw(sourceKey)}" = ${parentId}
566
- `);
567
522
  }
568
523
  /**
569
524
  * Validate relational data - ensures referenced records exist