@adaptic/backend-legacy 0.0.903 → 0.0.905

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 (229) hide show
  1. package/ABTest.cjs +291 -63
  2. package/Account.cjs +291 -63
  3. package/AccountLinkingRequest.cjs +291 -63
  4. package/Action.cjs +291 -63
  5. package/Alert.cjs +291 -63
  6. package/Allocation.cjs +291 -63
  7. package/AlpacaAccount.cjs +291 -63
  8. package/AnalyticsConfiguration.cjs +291 -63
  9. package/AnalyticsSnapshot.cjs +291 -63
  10. package/Asset.cjs +291 -63
  11. package/AuditLog.cjs +291 -63
  12. package/Authenticator.cjs +291 -63
  13. package/Configuration.cjs +291 -63
  14. package/ConflictEvent.cjs +291 -63
  15. package/ConnectionHealthSnapshot.cjs +291 -63
  16. package/Customer.cjs +291 -63
  17. package/DeadLetterMessage.cjs +291 -63
  18. package/EconomicEvent.cjs +291 -63
  19. package/Event.cjs +291 -63
  20. package/EventSnapshot.cjs +291 -63
  21. package/FeatureImportanceAnalysis.cjs +291 -63
  22. package/InstitutionalFlowSignal.cjs +291 -63
  23. package/InstitutionalHolding.cjs +291 -63
  24. package/InstitutionalSentimentAlerts.cjs +291 -63
  25. package/InstitutionalSentimentErrors.cjs +291 -63
  26. package/InstitutionalSentimentHistory.cjs +291 -63
  27. package/InstitutionalSentimentMetrics.cjs +291 -63
  28. package/InviteToken.cjs +291 -63
  29. package/LinkedProvider.cjs +291 -63
  30. package/MLTrainingData.cjs +291 -63
  31. package/MarketSentiment.cjs +291 -63
  32. package/ModelArtifact.cjs +291 -63
  33. package/ModelVersion.cjs +291 -63
  34. package/ModelVersionArtifact.cjs +291 -63
  35. package/NewsArticle.cjs +291 -63
  36. package/NewsArticleAssetSentiment.cjs +291 -63
  37. package/OptionsContract.cjs +291 -63
  38. package/OptionsGreeksHistory.cjs +291 -63
  39. package/OptionsPosition.cjs +291 -63
  40. package/OptionsTradeExecution.cjs +291 -63
  41. package/PortfolioGreeksHistory.cjs +291 -63
  42. package/ScheduledOptionOrder.cjs +291 -63
  43. package/Session.cjs +291 -63
  44. package/SignalGeneratorMetrics.cjs +291 -63
  45. package/SignalLineage.cjs +291 -63
  46. package/SignalOutcome.cjs +291 -63
  47. package/SignalPriorityQueue.cjs +291 -63
  48. package/SyncEvent.cjs +291 -63
  49. package/SystemAlert.cjs +291 -63
  50. package/Trade.cjs +291 -63
  51. package/TradeAuditEvent.cjs +291 -63
  52. package/TradeExecutionHistory.cjs +291 -63
  53. package/User.cjs +291 -63
  54. package/VerificationToken.cjs +291 -63
  55. package/WaitlistEntry.cjs +291 -63
  56. package/esm/ABTest.d.ts.map +1 -1
  57. package/esm/ABTest.js.map +1 -1
  58. package/esm/ABTest.mjs +255 -27
  59. package/esm/Account.d.ts.map +1 -1
  60. package/esm/Account.js.map +1 -1
  61. package/esm/Account.mjs +255 -27
  62. package/esm/AccountLinkingRequest.d.ts.map +1 -1
  63. package/esm/AccountLinkingRequest.js.map +1 -1
  64. package/esm/AccountLinkingRequest.mjs +255 -27
  65. package/esm/Action.d.ts.map +1 -1
  66. package/esm/Action.js.map +1 -1
  67. package/esm/Action.mjs +255 -27
  68. package/esm/Alert.d.ts.map +1 -1
  69. package/esm/Alert.js.map +1 -1
  70. package/esm/Alert.mjs +255 -27
  71. package/esm/Allocation.d.ts.map +1 -1
  72. package/esm/Allocation.js.map +1 -1
  73. package/esm/Allocation.mjs +255 -27
  74. package/esm/AlpacaAccount.d.ts.map +1 -1
  75. package/esm/AlpacaAccount.js.map +1 -1
  76. package/esm/AlpacaAccount.mjs +255 -27
  77. package/esm/AnalyticsConfiguration.d.ts.map +1 -1
  78. package/esm/AnalyticsConfiguration.js.map +1 -1
  79. package/esm/AnalyticsConfiguration.mjs +255 -27
  80. package/esm/AnalyticsSnapshot.d.ts.map +1 -1
  81. package/esm/AnalyticsSnapshot.js.map +1 -1
  82. package/esm/AnalyticsSnapshot.mjs +255 -27
  83. package/esm/Asset.d.ts.map +1 -1
  84. package/esm/Asset.js.map +1 -1
  85. package/esm/Asset.mjs +255 -27
  86. package/esm/AuditLog.d.ts.map +1 -1
  87. package/esm/AuditLog.js.map +1 -1
  88. package/esm/AuditLog.mjs +255 -27
  89. package/esm/Authenticator.d.ts.map +1 -1
  90. package/esm/Authenticator.js.map +1 -1
  91. package/esm/Authenticator.mjs +255 -27
  92. package/esm/Configuration.d.ts.map +1 -1
  93. package/esm/Configuration.js.map +1 -1
  94. package/esm/Configuration.mjs +255 -27
  95. package/esm/ConflictEvent.d.ts.map +1 -1
  96. package/esm/ConflictEvent.js.map +1 -1
  97. package/esm/ConflictEvent.mjs +255 -27
  98. package/esm/ConnectionHealthSnapshot.d.ts.map +1 -1
  99. package/esm/ConnectionHealthSnapshot.js.map +1 -1
  100. package/esm/ConnectionHealthSnapshot.mjs +255 -27
  101. package/esm/Customer.d.ts.map +1 -1
  102. package/esm/Customer.js.map +1 -1
  103. package/esm/Customer.mjs +255 -27
  104. package/esm/DeadLetterMessage.d.ts.map +1 -1
  105. package/esm/DeadLetterMessage.js.map +1 -1
  106. package/esm/DeadLetterMessage.mjs +255 -27
  107. package/esm/EconomicEvent.d.ts.map +1 -1
  108. package/esm/EconomicEvent.js.map +1 -1
  109. package/esm/EconomicEvent.mjs +255 -27
  110. package/esm/Event.d.ts.map +1 -1
  111. package/esm/Event.js.map +1 -1
  112. package/esm/Event.mjs +255 -27
  113. package/esm/EventSnapshot.d.ts.map +1 -1
  114. package/esm/EventSnapshot.js.map +1 -1
  115. package/esm/EventSnapshot.mjs +255 -27
  116. package/esm/FeatureImportanceAnalysis.d.ts.map +1 -1
  117. package/esm/FeatureImportanceAnalysis.js.map +1 -1
  118. package/esm/FeatureImportanceAnalysis.mjs +255 -27
  119. package/esm/InstitutionalFlowSignal.d.ts.map +1 -1
  120. package/esm/InstitutionalFlowSignal.js.map +1 -1
  121. package/esm/InstitutionalFlowSignal.mjs +255 -27
  122. package/esm/InstitutionalHolding.d.ts.map +1 -1
  123. package/esm/InstitutionalHolding.js.map +1 -1
  124. package/esm/InstitutionalHolding.mjs +255 -27
  125. package/esm/InstitutionalSentimentAlerts.d.ts.map +1 -1
  126. package/esm/InstitutionalSentimentAlerts.js.map +1 -1
  127. package/esm/InstitutionalSentimentAlerts.mjs +255 -27
  128. package/esm/InstitutionalSentimentErrors.d.ts.map +1 -1
  129. package/esm/InstitutionalSentimentErrors.js.map +1 -1
  130. package/esm/InstitutionalSentimentErrors.mjs +255 -27
  131. package/esm/InstitutionalSentimentHistory.d.ts.map +1 -1
  132. package/esm/InstitutionalSentimentHistory.js.map +1 -1
  133. package/esm/InstitutionalSentimentHistory.mjs +255 -27
  134. package/esm/InstitutionalSentimentMetrics.d.ts.map +1 -1
  135. package/esm/InstitutionalSentimentMetrics.js.map +1 -1
  136. package/esm/InstitutionalSentimentMetrics.mjs +255 -27
  137. package/esm/InviteToken.d.ts.map +1 -1
  138. package/esm/InviteToken.js.map +1 -1
  139. package/esm/InviteToken.mjs +255 -27
  140. package/esm/LinkedProvider.d.ts.map +1 -1
  141. package/esm/LinkedProvider.js.map +1 -1
  142. package/esm/LinkedProvider.mjs +255 -27
  143. package/esm/MLTrainingData.d.ts.map +1 -1
  144. package/esm/MLTrainingData.js.map +1 -1
  145. package/esm/MLTrainingData.mjs +255 -27
  146. package/esm/MarketSentiment.d.ts.map +1 -1
  147. package/esm/MarketSentiment.js.map +1 -1
  148. package/esm/MarketSentiment.mjs +255 -27
  149. package/esm/ModelArtifact.d.ts.map +1 -1
  150. package/esm/ModelArtifact.js.map +1 -1
  151. package/esm/ModelArtifact.mjs +255 -27
  152. package/esm/ModelVersion.d.ts.map +1 -1
  153. package/esm/ModelVersion.js.map +1 -1
  154. package/esm/ModelVersion.mjs +255 -27
  155. package/esm/ModelVersionArtifact.d.ts.map +1 -1
  156. package/esm/ModelVersionArtifact.js.map +1 -1
  157. package/esm/ModelVersionArtifact.mjs +255 -27
  158. package/esm/NewsArticle.d.ts.map +1 -1
  159. package/esm/NewsArticle.js.map +1 -1
  160. package/esm/NewsArticle.mjs +255 -27
  161. package/esm/NewsArticleAssetSentiment.d.ts.map +1 -1
  162. package/esm/NewsArticleAssetSentiment.js.map +1 -1
  163. package/esm/NewsArticleAssetSentiment.mjs +255 -27
  164. package/esm/OptionsContract.d.ts.map +1 -1
  165. package/esm/OptionsContract.js.map +1 -1
  166. package/esm/OptionsContract.mjs +255 -27
  167. package/esm/OptionsGreeksHistory.d.ts.map +1 -1
  168. package/esm/OptionsGreeksHistory.js.map +1 -1
  169. package/esm/OptionsGreeksHistory.mjs +255 -27
  170. package/esm/OptionsPosition.d.ts.map +1 -1
  171. package/esm/OptionsPosition.js.map +1 -1
  172. package/esm/OptionsPosition.mjs +255 -27
  173. package/esm/OptionsTradeExecution.d.ts.map +1 -1
  174. package/esm/OptionsTradeExecution.js.map +1 -1
  175. package/esm/OptionsTradeExecution.mjs +255 -27
  176. package/esm/PortfolioGreeksHistory.d.ts.map +1 -1
  177. package/esm/PortfolioGreeksHistory.js.map +1 -1
  178. package/esm/PortfolioGreeksHistory.mjs +255 -27
  179. package/esm/ScheduledOptionOrder.d.ts.map +1 -1
  180. package/esm/ScheduledOptionOrder.js.map +1 -1
  181. package/esm/ScheduledOptionOrder.mjs +255 -27
  182. package/esm/Session.d.ts.map +1 -1
  183. package/esm/Session.js.map +1 -1
  184. package/esm/Session.mjs +255 -27
  185. package/esm/SignalGeneratorMetrics.d.ts.map +1 -1
  186. package/esm/SignalGeneratorMetrics.js.map +1 -1
  187. package/esm/SignalGeneratorMetrics.mjs +255 -27
  188. package/esm/SignalLineage.d.ts.map +1 -1
  189. package/esm/SignalLineage.js.map +1 -1
  190. package/esm/SignalLineage.mjs +255 -27
  191. package/esm/SignalOutcome.d.ts.map +1 -1
  192. package/esm/SignalOutcome.js.map +1 -1
  193. package/esm/SignalOutcome.mjs +255 -27
  194. package/esm/SignalPriorityQueue.d.ts.map +1 -1
  195. package/esm/SignalPriorityQueue.js.map +1 -1
  196. package/esm/SignalPriorityQueue.mjs +255 -27
  197. package/esm/SyncEvent.d.ts.map +1 -1
  198. package/esm/SyncEvent.js.map +1 -1
  199. package/esm/SyncEvent.mjs +255 -27
  200. package/esm/SystemAlert.d.ts.map +1 -1
  201. package/esm/SystemAlert.js.map +1 -1
  202. package/esm/SystemAlert.mjs +255 -27
  203. package/esm/Trade.d.ts.map +1 -1
  204. package/esm/Trade.js.map +1 -1
  205. package/esm/Trade.mjs +255 -27
  206. package/esm/TradeAuditEvent.d.ts.map +1 -1
  207. package/esm/TradeAuditEvent.js.map +1 -1
  208. package/esm/TradeAuditEvent.mjs +255 -27
  209. package/esm/TradeExecutionHistory.d.ts.map +1 -1
  210. package/esm/TradeExecutionHistory.js.map +1 -1
  211. package/esm/TradeExecutionHistory.mjs +255 -27
  212. package/esm/User.d.ts.map +1 -1
  213. package/esm/User.js.map +1 -1
  214. package/esm/User.mjs +255 -27
  215. package/esm/VerificationToken.d.ts.map +1 -1
  216. package/esm/VerificationToken.js.map +1 -1
  217. package/esm/VerificationToken.mjs +255 -27
  218. package/esm/WaitlistEntry.d.ts.map +1 -1
  219. package/esm/WaitlistEntry.js.map +1 -1
  220. package/esm/WaitlistEntry.mjs +255 -27
  221. package/esm/middleware/audit-logger.d.ts +0 -7
  222. package/esm/middleware/audit-logger.d.ts.map +1 -1
  223. package/esm/middleware/audit-logger.js.map +1 -1
  224. package/esm/middleware/audit-logger.mjs +5 -3
  225. package/esm/prismaClient.d.ts.map +1 -1
  226. package/esm/prismaClient.js.map +1 -1
  227. package/esm/prismaClient.mjs +38 -9
  228. package/package.json +1 -1
  229. package/prismaClient.cjs +38 -9
package/InviteToken.cjs CHANGED
@@ -179,7 +179,7 @@ exports.InviteToken = {
179
179
  * @returns The created InviteToken or null.
180
180
  */
181
181
  async create(props, globalClient) {
182
- var _a, _b, _c, _d, _e;
182
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
183
183
  // Maximum number of retries for database connection issues
184
184
  const MAX_RETRIES = 3;
185
185
  let retryCount = 0;
@@ -488,21 +488,52 @@ exports.InviteToken = {
488
488
  }
489
489
  catch (error) {
490
490
  lastError = error;
491
+ // Check for constraint violations FIRST - these are NEVER retryable
492
+ const isConstraintViolation = ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('violates check constraint')) ||
493
+ ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('violates unique constraint')) ||
494
+ ((_c = error.message) === null || _c === void 0 ? void 0 : _c.includes('violates foreign key constraint')) ||
495
+ ((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('unique constraint')) ||
496
+ ((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('23514')) ||
497
+ ((_f = error.message) === null || _f === void 0 ? void 0 : _f.includes('23505')) ||
498
+ ((_g = error.message) === null || _g === void 0 ? void 0 : _g.includes('P2002')) ||
499
+ ((_h = error.message) === null || _h === void 0 ? void 0 : _h.includes('P2003'));
500
+ if (isConstraintViolation) {
501
+ const constraintMatch = (_j = error.message) === null || _j === void 0 ? void 0 : _j.match(/constraint\s+"([^"]+)"/);
502
+ logger_1.logger.error("Non-retryable constraint violation in createOneInviteToken", {
503
+ operation: 'createOneInviteToken',
504
+ model: 'InviteToken',
505
+ error: String(error),
506
+ constraintName: constraintMatch ? constraintMatch[1] : undefined,
507
+ errorCategory: 'CONSTRAINT_VIOLATION',
508
+ isRetryable: false,
509
+ });
510
+ throw error;
511
+ }
491
512
  // Check if this is a database connection error that we should retry
492
- const isConnectionError = ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('Server has closed the connection')) ||
493
- ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('Cannot reach database server')) ||
494
- ((_c = error.message) === null || _c === void 0 ? void 0 : _c.includes('Connection timed out')) ||
495
- ((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('Accelerate')) || // Prisma Accelerate proxy errors
496
- (error.networkError && ((_e = error.networkError.message) === null || _e === void 0 ? void 0 : _e.includes('Failed to fetch')));
513
+ const isConnectionError = ((_k = error.message) === null || _k === void 0 ? void 0 : _k.includes('Server has closed the connection')) ||
514
+ ((_l = error.message) === null || _l === void 0 ? void 0 : _l.includes('Cannot reach database server')) ||
515
+ ((_m = error.message) === null || _m === void 0 ? void 0 : _m.includes('Connection timed out')) ||
516
+ ((_o = error.message) === null || _o === void 0 ? void 0 : _o.includes('Accelerate')) || // Prisma Accelerate proxy errors
517
+ (error.networkError && ((_p = error.networkError.message) === null || _p === void 0 ? void 0 : _p.includes('Failed to fetch')));
497
518
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
498
519
  retryCount++;
499
520
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
500
- logger_1.logger.warn("Database connection error, retrying...");
521
+ logger_1.logger.warn("Database connection error in createOneInviteToken, retrying...", {
522
+ operation: 'createOneInviteToken',
523
+ model: 'InviteToken',
524
+ attempt: retryCount,
525
+ maxRetries: MAX_RETRIES,
526
+ });
501
527
  await new Promise(resolve => setTimeout(resolve, delay));
502
528
  continue;
503
529
  }
504
- // Log the error and rethrow
505
- logger_1.logger.error("Database error occurred", { error: String(error) });
530
+ // Log structured error details and rethrow
531
+ logger_1.logger.error("Database create operation failed", {
532
+ operation: 'createOneInviteToken',
533
+ model: 'InviteToken',
534
+ error: String(error),
535
+ isRetryable: isConnectionError,
536
+ });
506
537
  throw error;
507
538
  }
508
539
  }
@@ -517,7 +548,7 @@ exports.InviteToken = {
517
548
  * @returns The count of created records or null.
518
549
  */
519
550
  async createMany(props, globalClient) {
520
- var _a, _b, _c, _d, _e;
551
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
521
552
  // Maximum number of retries for database connection issues
522
553
  const MAX_RETRIES = 3;
523
554
  let retryCount = 0;
@@ -566,21 +597,52 @@ exports.InviteToken = {
566
597
  }
567
598
  catch (error) {
568
599
  lastError = error;
600
+ // Check for constraint violations FIRST - these are NEVER retryable
601
+ const isConstraintViolation = ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('violates check constraint')) ||
602
+ ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('violates unique constraint')) ||
603
+ ((_c = error.message) === null || _c === void 0 ? void 0 : _c.includes('violates foreign key constraint')) ||
604
+ ((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('unique constraint')) ||
605
+ ((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('23514')) ||
606
+ ((_f = error.message) === null || _f === void 0 ? void 0 : _f.includes('23505')) ||
607
+ ((_g = error.message) === null || _g === void 0 ? void 0 : _g.includes('P2002')) ||
608
+ ((_h = error.message) === null || _h === void 0 ? void 0 : _h.includes('P2003'));
609
+ if (isConstraintViolation) {
610
+ const constraintMatch = (_j = error.message) === null || _j === void 0 ? void 0 : _j.match(/constraint\s+"([^"]+)"/);
611
+ logger_1.logger.error("Non-retryable constraint violation in createManyInviteToken", {
612
+ operation: 'createManyInviteToken',
613
+ model: 'InviteToken',
614
+ error: String(error),
615
+ constraintName: constraintMatch ? constraintMatch[1] : undefined,
616
+ errorCategory: 'CONSTRAINT_VIOLATION',
617
+ isRetryable: false,
618
+ });
619
+ throw error;
620
+ }
569
621
  // Check if this is a database connection error that we should retry
570
- const isConnectionError = ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('Server has closed the connection')) ||
571
- ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('Cannot reach database server')) ||
572
- ((_c = error.message) === null || _c === void 0 ? void 0 : _c.includes('Connection timed out')) ||
573
- ((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('Accelerate')) || // Prisma Accelerate proxy errors
574
- (error.networkError && ((_e = error.networkError.message) === null || _e === void 0 ? void 0 : _e.includes('Failed to fetch')));
622
+ const isConnectionError = ((_k = error.message) === null || _k === void 0 ? void 0 : _k.includes('Server has closed the connection')) ||
623
+ ((_l = error.message) === null || _l === void 0 ? void 0 : _l.includes('Cannot reach database server')) ||
624
+ ((_m = error.message) === null || _m === void 0 ? void 0 : _m.includes('Connection timed out')) ||
625
+ ((_o = error.message) === null || _o === void 0 ? void 0 : _o.includes('Accelerate')) || // Prisma Accelerate proxy errors
626
+ (error.networkError && ((_p = error.networkError.message) === null || _p === void 0 ? void 0 : _p.includes('Failed to fetch')));
575
627
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
576
628
  retryCount++;
577
629
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
578
- logger_1.logger.warn("Database connection error, retrying...");
630
+ logger_1.logger.warn("Database connection error in createManyInviteToken, retrying...", {
631
+ operation: 'createManyInviteToken',
632
+ model: 'InviteToken',
633
+ attempt: retryCount,
634
+ maxRetries: MAX_RETRIES,
635
+ });
579
636
  await new Promise(resolve => setTimeout(resolve, delay));
580
637
  continue;
581
638
  }
582
- // Log the error and rethrow
583
- logger_1.logger.error("Database error occurred", { error: String(error) });
639
+ // Log structured error details and rethrow
640
+ logger_1.logger.error("Database createMany operation failed", {
641
+ operation: 'createManyInviteToken',
642
+ model: 'InviteToken',
643
+ error: String(error),
644
+ isRetryable: isConnectionError,
645
+ });
584
646
  throw error;
585
647
  }
586
648
  }
@@ -595,7 +657,7 @@ exports.InviteToken = {
595
657
  * @returns The updated InviteToken or null.
596
658
  */
597
659
  async update(props, globalClient) {
598
- var _a, _b, _c, _d, _e;
660
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
599
661
  // Maximum number of retries for database connection issues
600
662
  const MAX_RETRIES = 3;
601
663
  let retryCount = 0;
@@ -1679,21 +1741,55 @@ exports.InviteToken = {
1679
1741
  }
1680
1742
  catch (error) {
1681
1743
  lastError = error;
1744
+ // Check for constraint violations FIRST - these are NEVER retryable
1745
+ const isConstraintViolation = ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('violates check constraint')) ||
1746
+ ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('violates unique constraint')) ||
1747
+ ((_c = error.message) === null || _c === void 0 ? void 0 : _c.includes('violates foreign key constraint')) ||
1748
+ ((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('unique constraint')) ||
1749
+ ((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('23514')) ||
1750
+ ((_f = error.message) === null || _f === void 0 ? void 0 : _f.includes('23505')) ||
1751
+ ((_g = error.message) === null || _g === void 0 ? void 0 : _g.includes('P2002')) ||
1752
+ ((_h = error.message) === null || _h === void 0 ? void 0 : _h.includes('P2003'));
1753
+ if (isConstraintViolation) {
1754
+ const constraintMatch = (_j = error.message) === null || _j === void 0 ? void 0 : _j.match(/constraint\s+"([^"]+)"/);
1755
+ logger_1.logger.error("Non-retryable constraint violation in updateOneInviteToken", {
1756
+ operation: 'updateOneInviteToken',
1757
+ model: 'InviteToken',
1758
+ error: String(error),
1759
+ recordId: props.id,
1760
+ constraintName: constraintMatch ? constraintMatch[1] : undefined,
1761
+ errorCategory: 'CONSTRAINT_VIOLATION',
1762
+ isRetryable: false,
1763
+ });
1764
+ throw error;
1765
+ }
1682
1766
  // Check if this is a database connection error that we should retry
1683
- const isConnectionError = ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('Server has closed the connection')) ||
1684
- ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('Cannot reach database server')) ||
1685
- ((_c = error.message) === null || _c === void 0 ? void 0 : _c.includes('Connection timed out')) ||
1686
- ((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('Accelerate')) || // Prisma Accelerate proxy errors
1687
- (error.networkError && ((_e = error.networkError.message) === null || _e === void 0 ? void 0 : _e.includes('Failed to fetch')));
1767
+ const isConnectionError = ((_k = error.message) === null || _k === void 0 ? void 0 : _k.includes('Server has closed the connection')) ||
1768
+ ((_l = error.message) === null || _l === void 0 ? void 0 : _l.includes('Cannot reach database server')) ||
1769
+ ((_m = error.message) === null || _m === void 0 ? void 0 : _m.includes('Connection timed out')) ||
1770
+ ((_o = error.message) === null || _o === void 0 ? void 0 : _o.includes('Accelerate')) || // Prisma Accelerate proxy errors
1771
+ (error.networkError && ((_p = error.networkError.message) === null || _p === void 0 ? void 0 : _p.includes('Failed to fetch')));
1688
1772
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
1689
1773
  retryCount++;
1690
1774
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
1691
- logger_1.logger.warn("Database connection error, retrying...");
1775
+ logger_1.logger.warn("Database connection error in updateOneInviteToken, retrying...", {
1776
+ operation: 'updateOneInviteToken',
1777
+ model: 'InviteToken',
1778
+ attempt: retryCount,
1779
+ maxRetries: MAX_RETRIES,
1780
+ recordId: props.id,
1781
+ });
1692
1782
  await new Promise(resolve => setTimeout(resolve, delay));
1693
1783
  continue;
1694
1784
  }
1695
- // Log the error and rethrow
1696
- logger_1.logger.error("Database error occurred", { error: String(error) });
1785
+ // Log structured error details and rethrow
1786
+ logger_1.logger.error("Database update operation failed", {
1787
+ operation: 'updateOneInviteToken',
1788
+ model: 'InviteToken',
1789
+ error: String(error),
1790
+ recordId: props.id,
1791
+ isRetryable: isConnectionError,
1792
+ });
1697
1793
  throw error;
1698
1794
  }
1699
1795
  }
@@ -1708,7 +1804,7 @@ exports.InviteToken = {
1708
1804
  * @returns The updated InviteToken or null.
1709
1805
  */
1710
1806
  async upsert(props, globalClient) {
1711
- var _a, _b, _c, _d, _e;
1807
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
1712
1808
  // Maximum number of retries for database connection issues
1713
1809
  const MAX_RETRIES = 3;
1714
1810
  let retryCount = 0;
@@ -3053,21 +3149,55 @@ exports.InviteToken = {
3053
3149
  }
3054
3150
  catch (error) {
3055
3151
  lastError = error;
3152
+ // Check for constraint violations FIRST - these are NEVER retryable
3153
+ const isConstraintViolation = ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('violates check constraint')) ||
3154
+ ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('violates unique constraint')) ||
3155
+ ((_c = error.message) === null || _c === void 0 ? void 0 : _c.includes('violates foreign key constraint')) ||
3156
+ ((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('unique constraint')) ||
3157
+ ((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('23514')) ||
3158
+ ((_f = error.message) === null || _f === void 0 ? void 0 : _f.includes('23505')) ||
3159
+ ((_g = error.message) === null || _g === void 0 ? void 0 : _g.includes('P2002')) ||
3160
+ ((_h = error.message) === null || _h === void 0 ? void 0 : _h.includes('P2003'));
3161
+ if (isConstraintViolation) {
3162
+ const constraintMatch = (_j = error.message) === null || _j === void 0 ? void 0 : _j.match(/constraint\s+"([^"]+)"/);
3163
+ logger_1.logger.error("Non-retryable constraint violation in upsertOneInviteToken", {
3164
+ operation: 'upsertOneInviteToken',
3165
+ model: 'InviteToken',
3166
+ error: String(error),
3167
+ recordId: props.id,
3168
+ constraintName: constraintMatch ? constraintMatch[1] : undefined,
3169
+ errorCategory: 'CONSTRAINT_VIOLATION',
3170
+ isRetryable: false,
3171
+ });
3172
+ throw error;
3173
+ }
3056
3174
  // Check if this is a database connection error that we should retry
3057
- const isConnectionError = ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('Server has closed the connection')) ||
3058
- ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('Cannot reach database server')) ||
3059
- ((_c = error.message) === null || _c === void 0 ? void 0 : _c.includes('Connection timed out')) ||
3060
- ((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('Accelerate')) || // Prisma Accelerate proxy errors
3061
- (error.networkError && ((_e = error.networkError.message) === null || _e === void 0 ? void 0 : _e.includes('Failed to fetch')));
3175
+ const isConnectionError = ((_k = error.message) === null || _k === void 0 ? void 0 : _k.includes('Server has closed the connection')) ||
3176
+ ((_l = error.message) === null || _l === void 0 ? void 0 : _l.includes('Cannot reach database server')) ||
3177
+ ((_m = error.message) === null || _m === void 0 ? void 0 : _m.includes('Connection timed out')) ||
3178
+ ((_o = error.message) === null || _o === void 0 ? void 0 : _o.includes('Accelerate')) || // Prisma Accelerate proxy errors
3179
+ (error.networkError && ((_p = error.networkError.message) === null || _p === void 0 ? void 0 : _p.includes('Failed to fetch')));
3062
3180
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
3063
3181
  retryCount++;
3064
3182
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
3065
- logger_1.logger.warn("Database connection error, retrying...");
3183
+ logger_1.logger.warn("Database connection error in upsertOneInviteToken, retrying...", {
3184
+ operation: 'upsertOneInviteToken',
3185
+ model: 'InviteToken',
3186
+ attempt: retryCount,
3187
+ maxRetries: MAX_RETRIES,
3188
+ recordId: props.id,
3189
+ });
3066
3190
  await new Promise(resolve => setTimeout(resolve, delay));
3067
3191
  continue;
3068
3192
  }
3069
- // Log the error and rethrow
3070
- logger_1.logger.error("Database error occurred", { error: String(error) });
3193
+ // Log structured error details and rethrow
3194
+ logger_1.logger.error("Database upsert operation failed", {
3195
+ operation: 'upsertOneInviteToken',
3196
+ model: 'InviteToken',
3197
+ error: String(error),
3198
+ recordId: props.id,
3199
+ isRetryable: isConnectionError,
3200
+ });
3071
3201
  throw error;
3072
3202
  }
3073
3203
  }
@@ -3082,7 +3212,7 @@ exports.InviteToken = {
3082
3212
  * @returns The count of created records or null.
3083
3213
  */
3084
3214
  async updateMany(props, globalClient) {
3085
- var _a, _b, _c, _d, _e;
3215
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
3086
3216
  // Maximum number of retries for database connection issues
3087
3217
  const MAX_RETRIES = 3;
3088
3218
  let retryCount = 0;
@@ -4166,21 +4296,52 @@ exports.InviteToken = {
4166
4296
  }
4167
4297
  catch (error) {
4168
4298
  lastError = error;
4299
+ // Check for constraint violations FIRST - these are NEVER retryable
4300
+ const isConstraintViolation = ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('violates check constraint')) ||
4301
+ ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('violates unique constraint')) ||
4302
+ ((_c = error.message) === null || _c === void 0 ? void 0 : _c.includes('violates foreign key constraint')) ||
4303
+ ((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('unique constraint')) ||
4304
+ ((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('23514')) ||
4305
+ ((_f = error.message) === null || _f === void 0 ? void 0 : _f.includes('23505')) ||
4306
+ ((_g = error.message) === null || _g === void 0 ? void 0 : _g.includes('P2002')) ||
4307
+ ((_h = error.message) === null || _h === void 0 ? void 0 : _h.includes('P2003'));
4308
+ if (isConstraintViolation) {
4309
+ const constraintMatch = (_j = error.message) === null || _j === void 0 ? void 0 : _j.match(/constraint\s+"([^"]+)"/);
4310
+ logger_1.logger.error("Non-retryable constraint violation in updateManyInviteToken", {
4311
+ operation: 'updateManyInviteToken',
4312
+ model: 'InviteToken',
4313
+ error: String(error),
4314
+ constraintName: constraintMatch ? constraintMatch[1] : undefined,
4315
+ errorCategory: 'CONSTRAINT_VIOLATION',
4316
+ isRetryable: false,
4317
+ });
4318
+ throw error;
4319
+ }
4169
4320
  // Check if this is a database connection error that we should retry
4170
- const isConnectionError = ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('Server has closed the connection')) ||
4171
- ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('Cannot reach database server')) ||
4172
- ((_c = error.message) === null || _c === void 0 ? void 0 : _c.includes('Connection timed out')) ||
4173
- ((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('Accelerate')) || // Prisma Accelerate proxy errors
4174
- (error.networkError && ((_e = error.networkError.message) === null || _e === void 0 ? void 0 : _e.includes('Failed to fetch')));
4321
+ const isConnectionError = ((_k = error.message) === null || _k === void 0 ? void 0 : _k.includes('Server has closed the connection')) ||
4322
+ ((_l = error.message) === null || _l === void 0 ? void 0 : _l.includes('Cannot reach database server')) ||
4323
+ ((_m = error.message) === null || _m === void 0 ? void 0 : _m.includes('Connection timed out')) ||
4324
+ ((_o = error.message) === null || _o === void 0 ? void 0 : _o.includes('Accelerate')) || // Prisma Accelerate proxy errors
4325
+ (error.networkError && ((_p = error.networkError.message) === null || _p === void 0 ? void 0 : _p.includes('Failed to fetch')));
4175
4326
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
4176
4327
  retryCount++;
4177
4328
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
4178
- logger_1.logger.warn("Database connection error, retrying...");
4329
+ logger_1.logger.warn("Database connection error in updateManyInviteToken, retrying...", {
4330
+ operation: 'updateManyInviteToken',
4331
+ model: 'InviteToken',
4332
+ attempt: retryCount,
4333
+ maxRetries: MAX_RETRIES,
4334
+ });
4179
4335
  await new Promise(resolve => setTimeout(resolve, delay));
4180
4336
  continue;
4181
4337
  }
4182
- // Log the error and rethrow
4183
- logger_1.logger.error("Database error occurred", { error: String(error) });
4338
+ // Log structured error details and rethrow
4339
+ logger_1.logger.error("Database updateMany operation failed", {
4340
+ operation: 'updateManyInviteToken',
4341
+ model: 'InviteToken',
4342
+ error: String(error),
4343
+ isRetryable: isConnectionError,
4344
+ });
4184
4345
  throw error;
4185
4346
  }
4186
4347
  }
@@ -4195,7 +4356,7 @@ exports.InviteToken = {
4195
4356
  * @returns The deleted InviteToken or null.
4196
4357
  */
4197
4358
  async delete(props, globalClient) {
4198
- var _a, _b, _c, _d, _e;
4359
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
4199
4360
  // Maximum number of retries for database connection issues
4200
4361
  const MAX_RETRIES = 3;
4201
4362
  let retryCount = 0;
@@ -4239,21 +4400,58 @@ exports.InviteToken = {
4239
4400
  }
4240
4401
  catch (error) {
4241
4402
  lastError = error;
4403
+ // Check for constraint violations FIRST - these are NEVER retryable
4404
+ // (e.g., foreign key constraints preventing deletion)
4405
+ const isConstraintViolation = ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('violates check constraint')) ||
4406
+ ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('violates unique constraint')) ||
4407
+ ((_c = error.message) === null || _c === void 0 ? void 0 : _c.includes('violates foreign key constraint')) ||
4408
+ ((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('unique constraint')) ||
4409
+ ((_e = error.message) === null || _e === void 0 ? void 0 : _e.includes('23514')) ||
4410
+ ((_f = error.message) === null || _f === void 0 ? void 0 : _f.includes('23505')) ||
4411
+ ((_g = error.message) === null || _g === void 0 ? void 0 : _g.includes('23503')) ||
4412
+ ((_h = error.message) === null || _h === void 0 ? void 0 : _h.includes('P2002')) ||
4413
+ ((_j = error.message) === null || _j === void 0 ? void 0 : _j.includes('P2003')) ||
4414
+ ((_k = error.message) === null || _k === void 0 ? void 0 : _k.includes('P2014'));
4415
+ if (isConstraintViolation) {
4416
+ const constraintMatch = (_l = error.message) === null || _l === void 0 ? void 0 : _l.match(/constraint\s+"([^"]+)"/);
4417
+ logger_1.logger.error("Non-retryable constraint violation in deleteOneInviteToken", {
4418
+ operation: 'deleteOneInviteToken',
4419
+ model: 'InviteToken',
4420
+ error: String(error),
4421
+ recordId: props.id,
4422
+ constraintName: constraintMatch ? constraintMatch[1] : undefined,
4423
+ errorCategory: 'CONSTRAINT_VIOLATION',
4424
+ isRetryable: false,
4425
+ });
4426
+ throw error;
4427
+ }
4242
4428
  // Check if this is a database connection error that we should retry
4243
- const isConnectionError = ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes('Server has closed the connection')) ||
4244
- ((_b = error.message) === null || _b === void 0 ? void 0 : _b.includes('Cannot reach database server')) ||
4245
- ((_c = error.message) === null || _c === void 0 ? void 0 : _c.includes('Connection timed out')) ||
4246
- ((_d = error.message) === null || _d === void 0 ? void 0 : _d.includes('Accelerate')) || // Prisma Accelerate proxy errors
4247
- (error.networkError && ((_e = error.networkError.message) === null || _e === void 0 ? void 0 : _e.includes('Failed to fetch')));
4429
+ const isConnectionError = ((_m = error.message) === null || _m === void 0 ? void 0 : _m.includes('Server has closed the connection')) ||
4430
+ ((_o = error.message) === null || _o === void 0 ? void 0 : _o.includes('Cannot reach database server')) ||
4431
+ ((_p = error.message) === null || _p === void 0 ? void 0 : _p.includes('Connection timed out')) ||
4432
+ ((_q = error.message) === null || _q === void 0 ? void 0 : _q.includes('Accelerate')) || // Prisma Accelerate proxy errors
4433
+ (error.networkError && ((_r = error.networkError.message) === null || _r === void 0 ? void 0 : _r.includes('Failed to fetch')));
4248
4434
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
4249
4435
  retryCount++;
4250
4436
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
4251
- logger_1.logger.warn("Database connection error, retrying...");
4437
+ logger_1.logger.warn("Database connection error in deleteOneInviteToken, retrying...", {
4438
+ operation: 'deleteOneInviteToken',
4439
+ model: 'InviteToken',
4440
+ attempt: retryCount,
4441
+ maxRetries: MAX_RETRIES,
4442
+ recordId: props.id,
4443
+ });
4252
4444
  await new Promise(resolve => setTimeout(resolve, delay));
4253
4445
  continue;
4254
4446
  }
4255
- // Log the error and rethrow
4256
- logger_1.logger.error("Database error occurred", { error: String(error) });
4447
+ // Log structured error details and rethrow
4448
+ logger_1.logger.error("Database delete operation failed", {
4449
+ operation: 'deleteOneInviteToken',
4450
+ model: 'InviteToken',
4451
+ error: String(error),
4452
+ recordId: props.id,
4453
+ isRetryable: isConnectionError,
4454
+ });
4257
4455
  throw error;
4258
4456
  }
4259
4457
  }
@@ -4324,12 +4522,22 @@ exports.InviteToken = {
4324
4522
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
4325
4523
  retryCount++;
4326
4524
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
4327
- logger_1.logger.warn("Database connection error, retrying...");
4525
+ logger_1.logger.warn("Database connection error in getInviteToken, retrying...", {
4526
+ operation: 'getInviteToken',
4527
+ model: 'InviteToken',
4528
+ attempt: retryCount,
4529
+ maxRetries: MAX_RETRIES,
4530
+ });
4328
4531
  await new Promise(resolve => setTimeout(resolve, delay));
4329
4532
  continue;
4330
4533
  }
4331
- // Log the error and rethrow
4332
- logger_1.logger.error("Database error occurred", { error: String(error) });
4534
+ // Log structured error details and rethrow
4535
+ logger_1.logger.error("Database get operation failed", {
4536
+ operation: 'getInviteToken',
4537
+ model: 'InviteToken',
4538
+ error: String(error),
4539
+ isRetryable: isConnectionError,
4540
+ });
4333
4541
  throw error;
4334
4542
  }
4335
4543
  }
@@ -4387,12 +4595,22 @@ exports.InviteToken = {
4387
4595
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
4388
4596
  retryCount++;
4389
4597
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
4390
- logger_1.logger.warn("Database connection error, retrying...");
4598
+ logger_1.logger.warn("Database connection error in getAllInviteToken, retrying...", {
4599
+ operation: 'getAllInviteToken',
4600
+ model: 'InviteToken',
4601
+ attempt: retryCount,
4602
+ maxRetries: MAX_RETRIES,
4603
+ });
4391
4604
  await new Promise(resolve => setTimeout(resolve, delay));
4392
4605
  continue;
4393
4606
  }
4394
- // Log the error and rethrow
4395
- logger_1.logger.error("Database error occurred", { error: String(error) });
4607
+ // Log structured error details and rethrow
4608
+ logger_1.logger.error("Database getAll operation failed", {
4609
+ operation: 'getAllInviteToken',
4610
+ model: 'InviteToken',
4611
+ error: String(error),
4612
+ isRetryable: isConnectionError,
4613
+ });
4396
4614
  throw error;
4397
4615
  }
4398
4616
  }
@@ -4469,12 +4687,22 @@ exports.InviteToken = {
4469
4687
  if (isConnectionError && retryCount < MAX_RETRIES - 1) {
4470
4688
  retryCount++;
4471
4689
  const delay = Math.pow(2, retryCount) * 100; // Exponential backoff: 200ms, 400ms, 800ms
4472
- logger_1.logger.warn("Database connection error, retrying...");
4690
+ logger_1.logger.warn("Database connection error in findManyInviteToken, retrying...", {
4691
+ operation: 'findManyInviteToken',
4692
+ model: 'InviteToken',
4693
+ attempt: retryCount,
4694
+ maxRetries: MAX_RETRIES,
4695
+ });
4473
4696
  await new Promise(resolve => setTimeout(resolve, delay));
4474
4697
  continue;
4475
4698
  }
4476
- // Log the error and rethrow
4477
- logger_1.logger.error("Database error occurred", { error: String(error) });
4699
+ // Log structured error details and rethrow
4700
+ logger_1.logger.error("Database findMany operation failed", {
4701
+ operation: 'findManyInviteToken',
4702
+ model: 'InviteToken',
4703
+ error: String(error),
4704
+ isRetryable: isConnectionError,
4705
+ });
4478
4706
  throw error;
4479
4707
  }
4480
4708
  }