@explorins/pers-shared 2.1.9 → 2.1.11

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 (230) hide show
  1. package/README.md +62 -13
  2. package/dist/cjs/dto/auth.dto.d.ts +2 -6
  3. package/dist/cjs/dto/auth.dto.d.ts.map +1 -1
  4. package/dist/cjs/dto/auth.dto.js +17 -23
  5. package/dist/cjs/dto/auth.dto.js.map +1 -1
  6. package/dist/cjs/index.d.ts +1 -3
  7. package/dist/cjs/index.d.ts.map +1 -1
  8. package/dist/cjs/index.js +0 -4
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/interfaces/token-transaction-input-data.interface.d.ts +12 -3
  11. package/dist/cjs/interfaces/token-transaction-input-data.interface.d.ts.map +1 -1
  12. package/dist/cjs/internal/database/index.d.ts +6 -0
  13. package/dist/cjs/internal/database/index.d.ts.map +1 -0
  14. package/dist/cjs/internal/database/index.js +24 -0
  15. package/dist/cjs/internal/database/index.js.map +1 -0
  16. package/dist/cjs/internal/database/models/base.model.d.ts +7 -0
  17. package/dist/cjs/internal/database/models/base.model.d.ts.map +1 -0
  18. package/dist/cjs/internal/database/models/base.model.js +11 -0
  19. package/dist/cjs/internal/database/models/base.model.js.map +1 -0
  20. package/dist/cjs/internal/database/models/fixture.model.d.ts +4 -0
  21. package/dist/cjs/internal/database/models/fixture.model.d.ts.map +1 -0
  22. package/dist/cjs/internal/database/models/fixture.model.js +8 -0
  23. package/dist/cjs/internal/database/models/fixture.model.js.map +1 -0
  24. package/dist/cjs/internal/database/schemas/fixture-fields.schema.d.ts +5 -0
  25. package/dist/cjs/internal/database/schemas/fixture-fields.schema.d.ts.map +1 -0
  26. package/dist/cjs/internal/database/schemas/fixture-fields.schema.js +11 -0
  27. package/dist/cjs/internal/database/schemas/fixture-fields.schema.js.map +1 -0
  28. package/dist/cjs/internal/database/schemas/shared-fields.schema.d.ts +44 -0
  29. package/dist/cjs/internal/database/schemas/shared-fields.schema.d.ts.map +1 -0
  30. package/dist/cjs/internal/database/schemas/shared-fields.schema.js +64 -0
  31. package/dist/cjs/internal/database/schemas/shared-fields.schema.js.map +1 -0
  32. package/dist/cjs/internal/database/schemas/tenant-fields.schema.d.ts +51 -0
  33. package/dist/cjs/internal/database/schemas/tenant-fields.schema.d.ts.map +1 -0
  34. package/dist/cjs/internal/database/schemas/tenant-fields.schema.js +57 -0
  35. package/dist/cjs/internal/database/schemas/tenant-fields.schema.js.map +1 -0
  36. package/dist/cjs/internal/enums/lambda.enum.d.ts +28 -0
  37. package/dist/cjs/internal/enums/lambda.enum.d.ts.map +1 -0
  38. package/dist/cjs/internal/enums/lambda.enum.js +34 -0
  39. package/dist/cjs/internal/enums/lambda.enum.js.map +1 -0
  40. package/dist/cjs/internal/exceptions/base/error-classification-enums.d.ts +118 -0
  41. package/dist/cjs/internal/exceptions/base/error-classification-enums.d.ts.map +1 -0
  42. package/dist/cjs/internal/exceptions/base/error-classification-enums.js +111 -0
  43. package/dist/cjs/internal/exceptions/base/error-classification-enums.js.map +1 -0
  44. package/dist/cjs/internal/exceptions/base/error-classification.interface.d.ts +48 -0
  45. package/dist/cjs/internal/exceptions/base/error-classification.interface.d.ts.map +1 -0
  46. package/dist/cjs/internal/exceptions/base/error-classification.interface.js +6 -0
  47. package/dist/cjs/internal/exceptions/base/error-classification.interface.js.map +1 -0
  48. package/dist/cjs/internal/exceptions/base/error-classifier.d.ts +23 -0
  49. package/dist/cjs/internal/exceptions/base/error-classifier.d.ts.map +1 -0
  50. package/dist/cjs/internal/exceptions/base/error-classifier.js +149 -0
  51. package/dist/cjs/internal/exceptions/base/error-classifier.js.map +1 -0
  52. package/dist/cjs/internal/exceptions/index.d.ts +3 -0
  53. package/dist/cjs/internal/exceptions/index.d.ts.map +1 -0
  54. package/dist/cjs/internal/exceptions/index.js +24 -0
  55. package/dist/cjs/internal/exceptions/index.js.map +1 -0
  56. package/dist/cjs/internal/functions/crypto.functions.d.ts +16 -0
  57. package/dist/cjs/internal/functions/crypto.functions.d.ts.map +1 -0
  58. package/dist/cjs/internal/functions/crypto.functions.js +110 -0
  59. package/dist/cjs/internal/functions/crypto.functions.js.map +1 -0
  60. package/dist/cjs/internal/functions/helper.functions.d.ts +10 -0
  61. package/dist/cjs/internal/functions/helper.functions.d.ts.map +1 -0
  62. package/dist/cjs/internal/functions/helper.functions.js +38 -0
  63. package/dist/cjs/internal/functions/helper.functions.js.map +1 -0
  64. package/dist/cjs/internal/functions/index.d.ts +4 -0
  65. package/dist/cjs/internal/functions/index.d.ts.map +1 -0
  66. package/dist/cjs/internal/functions/index.js +21 -0
  67. package/dist/cjs/internal/functions/index.js.map +1 -0
  68. package/dist/cjs/internal/functions/request.functions.d.ts +14 -0
  69. package/dist/cjs/internal/functions/request.functions.d.ts.map +1 -0
  70. package/dist/cjs/internal/functions/request.functions.js +69 -0
  71. package/dist/cjs/internal/functions/request.functions.js.map +1 -0
  72. package/dist/cjs/internal/index.d.ts +14 -0
  73. package/dist/cjs/internal/index.d.ts.map +1 -0
  74. package/dist/cjs/internal/index.js +42 -0
  75. package/dist/cjs/internal/index.js.map +1 -0
  76. package/dist/cjs/internal/interfaces/index.d.ts +3 -0
  77. package/dist/cjs/internal/interfaces/index.d.ts.map +1 -0
  78. package/dist/cjs/internal/interfaces/index.js +19 -0
  79. package/dist/cjs/internal/interfaces/index.js.map +1 -0
  80. package/dist/cjs/internal/interfaces/request.interface.d.ts +21 -0
  81. package/dist/cjs/internal/interfaces/request.interface.d.ts.map +1 -0
  82. package/dist/cjs/internal/interfaces/request.interface.js +15 -0
  83. package/dist/cjs/internal/interfaces/request.interface.js.map +1 -0
  84. package/dist/cjs/internal/interfaces/stripe-payment-intent-metadata.interface.d.ts +9 -0
  85. package/dist/cjs/internal/interfaces/stripe-payment-intent-metadata.interface.d.ts.map +1 -0
  86. package/dist/cjs/internal/interfaces/stripe-payment-intent-metadata.interface.js +3 -0
  87. package/dist/cjs/internal/interfaces/stripe-payment-intent-metadata.interface.js.map +1 -0
  88. package/dist/cjs/internal/internal-index.d.ts +8 -0
  89. package/dist/cjs/internal/internal-index.d.ts.map +1 -0
  90. package/dist/cjs/internal/internal-index.js +33 -0
  91. package/dist/cjs/internal/internal-index.js.map +1 -0
  92. package/dist/cjs/internal/orchestrators/base-orchestrator.d.ts +90 -0
  93. package/dist/cjs/internal/orchestrators/base-orchestrator.d.ts.map +1 -0
  94. package/dist/cjs/internal/orchestrators/base-orchestrator.js +124 -0
  95. package/dist/cjs/internal/orchestrators/base-orchestrator.js.map +1 -0
  96. package/dist/cjs/internal/orchestrators/base-workflow.d.ts +50 -0
  97. package/dist/cjs/internal/orchestrators/base-workflow.d.ts.map +1 -0
  98. package/dist/cjs/internal/orchestrators/base-workflow.js +68 -0
  99. package/dist/cjs/internal/orchestrators/base-workflow.js.map +1 -0
  100. package/dist/cjs/internal/orchestrators/index.d.ts +26 -0
  101. package/dist/cjs/internal/orchestrators/index.d.ts.map +1 -0
  102. package/dist/cjs/internal/orchestrators/index.js +46 -0
  103. package/dist/cjs/internal/orchestrators/index.js.map +1 -0
  104. package/dist/cjs/internal/utils/index.d.ts +2 -0
  105. package/dist/cjs/internal/utils/index.d.ts.map +1 -0
  106. package/dist/cjs/internal/utils/index.js +19 -0
  107. package/dist/cjs/internal/utils/index.js.map +1 -0
  108. package/dist/cjs/internal/utils/validation.utils.d.ts +49 -0
  109. package/dist/cjs/internal/utils/validation.utils.d.ts.map +1 -0
  110. package/dist/cjs/internal/utils/validation.utils.js +76 -0
  111. package/dist/cjs/internal/utils/validation.utils.js.map +1 -0
  112. package/dist/cjs/value-objects/token-transaction-input.vo.d.ts +2 -3
  113. package/dist/cjs/value-objects/token-transaction-input.vo.d.ts.map +1 -1
  114. package/dist/cjs/value-objects/token-transaction-input.vo.js +12 -20
  115. package/dist/cjs/value-objects/token-transaction-input.vo.js.map +1 -1
  116. package/dist/esm/dto/auth.dto.d.ts +2 -6
  117. package/dist/esm/dto/auth.dto.d.ts.map +1 -1
  118. package/dist/esm/dto/auth.dto.js +14 -18
  119. package/dist/esm/dto/auth.dto.js.map +1 -1
  120. package/dist/esm/index.d.ts +1 -3
  121. package/dist/esm/index.d.ts.map +1 -1
  122. package/dist/esm/index.js +0 -4
  123. package/dist/esm/index.js.map +1 -1
  124. package/dist/esm/interfaces/token-transaction-input-data.interface.d.ts +12 -3
  125. package/dist/esm/interfaces/token-transaction-input-data.interface.d.ts.map +1 -1
  126. package/dist/esm/internal/database/index.d.ts +6 -0
  127. package/dist/esm/internal/database/index.d.ts.map +1 -0
  128. package/dist/esm/internal/database/index.js +8 -0
  129. package/dist/esm/internal/database/index.js.map +1 -0
  130. package/dist/esm/internal/database/models/base.model.d.ts +7 -0
  131. package/dist/esm/internal/database/models/base.model.d.ts.map +1 -0
  132. package/dist/esm/internal/database/models/base.model.js +7 -0
  133. package/dist/esm/internal/database/models/base.model.js.map +1 -0
  134. package/dist/esm/internal/database/models/fixture.model.d.ts +4 -0
  135. package/dist/esm/internal/database/models/fixture.model.d.ts.map +1 -0
  136. package/dist/esm/internal/database/models/fixture.model.js +4 -0
  137. package/dist/esm/internal/database/models/fixture.model.js.map +1 -0
  138. package/dist/esm/internal/database/schemas/fixture-fields.schema.d.ts +5 -0
  139. package/dist/esm/internal/database/schemas/fixture-fields.schema.d.ts.map +1 -0
  140. package/dist/esm/internal/database/schemas/fixture-fields.schema.js +8 -0
  141. package/dist/esm/internal/database/schemas/fixture-fields.schema.js.map +1 -0
  142. package/dist/esm/internal/database/schemas/shared-fields.schema.d.ts +44 -0
  143. package/dist/esm/internal/database/schemas/shared-fields.schema.d.ts.map +1 -0
  144. package/dist/esm/internal/database/schemas/shared-fields.schema.js +61 -0
  145. package/dist/esm/internal/database/schemas/shared-fields.schema.js.map +1 -0
  146. package/dist/esm/internal/database/schemas/tenant-fields.schema.d.ts +51 -0
  147. package/dist/esm/internal/database/schemas/tenant-fields.schema.d.ts.map +1 -0
  148. package/dist/esm/internal/database/schemas/tenant-fields.schema.js +54 -0
  149. package/dist/esm/internal/database/schemas/tenant-fields.schema.js.map +1 -0
  150. package/dist/esm/internal/enums/lambda.enum.d.ts +28 -0
  151. package/dist/esm/internal/enums/lambda.enum.d.ts.map +1 -0
  152. package/dist/esm/internal/enums/lambda.enum.js +31 -0
  153. package/dist/esm/internal/enums/lambda.enum.js.map +1 -0
  154. package/dist/esm/internal/exceptions/base/error-classification-enums.d.ts +118 -0
  155. package/dist/esm/internal/exceptions/base/error-classification-enums.d.ts.map +1 -0
  156. package/dist/esm/internal/exceptions/base/error-classification-enums.js +108 -0
  157. package/dist/esm/internal/exceptions/base/error-classification-enums.js.map +1 -0
  158. package/dist/esm/internal/exceptions/base/error-classification.interface.d.ts +48 -0
  159. package/dist/esm/internal/exceptions/base/error-classification.interface.d.ts.map +1 -0
  160. package/dist/esm/internal/exceptions/base/error-classification.interface.js +5 -0
  161. package/dist/esm/internal/exceptions/base/error-classification.interface.js.map +1 -0
  162. package/dist/esm/internal/exceptions/base/error-classifier.d.ts +23 -0
  163. package/dist/esm/internal/exceptions/base/error-classifier.d.ts.map +1 -0
  164. package/dist/esm/internal/exceptions/base/error-classifier.js +145 -0
  165. package/dist/esm/internal/exceptions/base/error-classifier.js.map +1 -0
  166. package/dist/esm/internal/exceptions/index.d.ts +3 -0
  167. package/dist/esm/internal/exceptions/index.d.ts.map +1 -0
  168. package/dist/esm/internal/exceptions/index.js +6 -0
  169. package/dist/esm/internal/exceptions/index.js.map +1 -0
  170. package/dist/esm/internal/functions/crypto.functions.d.ts +16 -0
  171. package/dist/esm/internal/functions/crypto.functions.d.ts.map +1 -0
  172. package/dist/esm/internal/functions/crypto.functions.js +67 -0
  173. package/dist/esm/internal/functions/crypto.functions.js.map +1 -0
  174. package/dist/esm/internal/functions/helper.functions.d.ts +10 -0
  175. package/dist/esm/internal/functions/helper.functions.d.ts.map +1 -0
  176. package/dist/esm/internal/functions/helper.functions.js +32 -0
  177. package/dist/esm/internal/functions/helper.functions.js.map +1 -0
  178. package/dist/esm/internal/functions/index.d.ts +4 -0
  179. package/dist/esm/internal/functions/index.d.ts.map +1 -0
  180. package/dist/esm/internal/functions/index.js +5 -0
  181. package/dist/esm/internal/functions/index.js.map +1 -0
  182. package/dist/esm/internal/functions/request.functions.d.ts +14 -0
  183. package/dist/esm/internal/functions/request.functions.d.ts.map +1 -0
  184. package/dist/esm/internal/functions/request.functions.js +61 -0
  185. package/dist/esm/internal/functions/request.functions.js.map +1 -0
  186. package/dist/esm/internal/index.d.ts +14 -0
  187. package/dist/esm/internal/index.d.ts.map +1 -0
  188. package/dist/esm/internal/index.js +26 -0
  189. package/dist/esm/internal/index.js.map +1 -0
  190. package/dist/esm/internal/interfaces/index.d.ts +3 -0
  191. package/dist/esm/internal/interfaces/index.d.ts.map +1 -0
  192. package/dist/esm/internal/interfaces/index.js +3 -0
  193. package/dist/esm/internal/interfaces/index.js.map +1 -0
  194. package/dist/esm/internal/interfaces/request.interface.d.ts +21 -0
  195. package/dist/esm/internal/interfaces/request.interface.d.ts.map +1 -0
  196. package/dist/esm/internal/interfaces/request.interface.js +11 -0
  197. package/dist/esm/internal/interfaces/request.interface.js.map +1 -0
  198. package/dist/esm/internal/interfaces/stripe-payment-intent-metadata.interface.d.ts +9 -0
  199. package/dist/esm/internal/interfaces/stripe-payment-intent-metadata.interface.d.ts.map +1 -0
  200. package/dist/esm/internal/interfaces/stripe-payment-intent-metadata.interface.js +2 -0
  201. package/dist/esm/internal/interfaces/stripe-payment-intent-metadata.interface.js.map +1 -0
  202. package/dist/esm/internal/internal-index.d.ts +8 -0
  203. package/dist/esm/internal/internal-index.d.ts.map +1 -0
  204. package/dist/esm/internal/internal-index.js +17 -0
  205. package/dist/esm/internal/internal-index.js.map +1 -0
  206. package/dist/esm/internal/orchestrators/base-orchestrator.d.ts +90 -0
  207. package/dist/esm/internal/orchestrators/base-orchestrator.d.ts.map +1 -0
  208. package/dist/esm/internal/orchestrators/base-orchestrator.js +116 -0
  209. package/dist/esm/internal/orchestrators/base-orchestrator.js.map +1 -0
  210. package/dist/esm/internal/orchestrators/base-workflow.d.ts +50 -0
  211. package/dist/esm/internal/orchestrators/base-workflow.d.ts.map +1 -0
  212. package/dist/esm/internal/orchestrators/base-workflow.js +64 -0
  213. package/dist/esm/internal/orchestrators/base-workflow.js.map +1 -0
  214. package/dist/esm/internal/orchestrators/index.d.ts +26 -0
  215. package/dist/esm/internal/orchestrators/index.d.ts.map +1 -0
  216. package/dist/esm/internal/orchestrators/index.js +30 -0
  217. package/dist/esm/internal/orchestrators/index.js.map +1 -0
  218. package/dist/esm/internal/utils/index.d.ts +2 -0
  219. package/dist/esm/internal/utils/index.d.ts.map +1 -0
  220. package/dist/esm/internal/utils/index.js +3 -0
  221. package/dist/esm/internal/utils/index.js.map +1 -0
  222. package/dist/esm/internal/utils/validation.utils.d.ts +49 -0
  223. package/dist/esm/internal/utils/validation.utils.d.ts.map +1 -0
  224. package/dist/esm/internal/utils/validation.utils.js +70 -0
  225. package/dist/esm/internal/utils/validation.utils.js.map +1 -0
  226. package/dist/esm/value-objects/token-transaction-input.vo.d.ts +2 -3
  227. package/dist/esm/value-objects/token-transaction-input.vo.d.ts.map +1 -1
  228. package/dist/esm/value-objects/token-transaction-input.vo.js +10 -18
  229. package/dist/esm/value-objects/token-transaction-input.vo.js.map +1 -1
  230. package/package.json +7 -1
package/README.md CHANGED
@@ -4,11 +4,19 @@
4
4
 
5
5
  Pure data contracts for frontends, third-party integrations, and API consumers.
6
6
 
7
- ## **Contents**
8
- - **DTOs** - API data transfer objects
9
- - **Interfaces** - TypeScript type contracts
10
- - **Types & Enums** - Type definitions
11
- - **Value Objects** - Immutable data structures
7
+ ## 📊 **Bundle Size**
8
+ - **Browser Bundle**: **0.44 KB** (0.30 KB gzipped)
9
+ - **Full Bundle**: **0.67 KB** (0.38 KB gzipped)
10
+ - **CommonJS**: **1.53 KB** (0.72 KB gzipped)
11
+ - **Package Size**: 1.2 MB (includes all TypeScript definitions)
12
+ - **Runtime Impact**: < 1 KB with tree shaking
13
+
14
+ ## 📋 **Contents**
15
+ - **DTOs** - Complete API data transfer objects with validation
16
+ - **Interfaces** - TypeScript contracts for authentication, users, campaigns, transactions
17
+ - **Types & Enums** - Authentication types, error codes, transaction statuses
18
+ - **Value Objects** - Immutable data structures (`Address`, `StructuredError`)
19
+ - **Error Classes** - Structured domain errors (`AuthenticationRequiredError`, etc.)
12
20
 
13
21
  ## 🚨 **Critical Build Configuration**
14
22
 
@@ -36,16 +44,57 @@ Pure data contracts for frontends, third-party integrations, and API consumers.
36
44
  npm install @explorins/pers-shared
37
45
  ```
38
46
 
47
+ ### **Backend/Node.js**
39
48
  ```typescript
40
- // Backend/Node.js
41
- import { UserDTO, TransactionStatus } from '@explorins/pers-shared';
49
+ import {
50
+ UserDTO,
51
+ TransactionStatus,
52
+ AuthenticationRequiredError,
53
+ PasskeysAuthRequestDTO
54
+ } from '@explorins/pers-shared';
55
+
56
+ // Type-safe API requests
57
+ const authRequest: PasskeysAuthRequestDTO = {
58
+ authToken: "external_provider_jwt_token"
59
+ };
42
60
 
43
- // Browser/Frontend (ESM optimized)
44
- import { UserDTO } from '@explorins/pers-shared/browser';
61
+ // Structured error handling
62
+ try {
63
+ const user = await authenticate(authRequest);
64
+ } catch (error) {
65
+ if (error instanceof AuthenticationRequiredError) {
66
+ console.error('Authentication failed:', error.code);
67
+ }
68
+ }
45
69
  ```
46
70
 
47
- ## 🔧 **Build System**
71
+ ### **Frontend/Browser (Ultra-Light)**
72
+ ```typescript
73
+ // Browser-optimized import - Tree-shaken to 0.44 KB!
74
+ import { UserDTO, CampaignDTO, Address } from '@explorins/pers-shared/browser';
75
+
76
+ // React example with full type safety
77
+ interface UserBalanceProps {
78
+ user: UserTokenBalancesDTO;
79
+ }
80
+
81
+ const UserBalance: React.FC<UserBalanceProps> = ({ user }) => (
82
+ <div>
83
+ <h2>{user.email}</h2>
84
+ <p>Wallet: {user.walletAddress?.getValue()}</p>
85
+ </div>
86
+ );
87
+ ```
88
+
89
+ ## 🔧 **Build System & Performance**
90
+
91
+ - **Dual Builds**: CommonJS (Node.js) + ESM (browsers) with automatic selection
92
+ - **Exceptional Tree Shaking**: 99.9%+ elimination (1.2 MB package → 0.44 KB runtime)
93
+ - **Zero Runtime**: Pure type definitions with no execution overhead
94
+ - **Framework Agnostic**: React, Vue, Angular, vanilla JS, Node.js
48
95
 
49
- - **CommonJS**: Backend compatibility & Swagger support
50
- - **ESM**: Browser optimization & tree-shaking
51
- - **Dual builds**: Automatic via `npm run build`
96
+ ## 🎯 **Key Benefits**
97
+ - **Type Safety**: Catch API integration errors at compile time
98
+ - **Developer Experience**: Full IntelliSense and auto-completion
99
+ - **Performance**: Exceptional tree-shaking (1.2 MB → 0.44 KB runtime)
100
+ - **Reliability**: Contracts match exact PERS API specifications
@@ -6,14 +6,10 @@ export declare class PasskeysAuthRequestDTO {
6
6
  export declare class RefreshTokenRequestDTO {
7
7
  refreshToken: string;
8
8
  }
9
- export declare class AuthResponseDTO {
9
+ export declare class SessionAuthResponseDTO {
10
10
  accessToken: string;
11
11
  refreshToken: string;
12
- }
13
- export declare class UserAuthResponseDTO extends AuthResponseDTO {
14
- user: UserDTO;
15
- }
16
- export declare class AdminLoginResponseDTO extends AuthResponseDTO {
17
12
  admin?: AdminDTO;
13
+ user?: UserDTO;
18
14
  }
19
15
  //# sourceMappingURL=auth.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.dto.d.ts","sourceRoot":"","sources":["../../../src/dto/auth.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,sBAAsB;IAQ/B,SAAS,EAAE,MAAM,CAAM;CAC1B;AAkBD,qBAAa,sBAAsB;IAK/B,YAAY,EAAE,MAAM,CAAM;CAC7B;AAED,qBAAa,eAAe;IAMxB,WAAW,EAAE,MAAM,CAAM;IAMzB,YAAY,EAAE,MAAM,CAAM;CAC7B;AAED,qBAAa,mBAAoB,SAAQ,eAAe;IAKpD,IAAI,EAAG,OAAO,CAAC;CAClB;AAGD,qBAAa,qBAAsB,SAAQ,eAAe;IAKtD,KAAK,CAAC,EAAE,QAAQ,CAAC;CACpB"}
1
+ {"version":3,"file":"auth.dto.d.ts","sourceRoot":"","sources":["../../../src/dto/auth.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,sBAAsB;IAQ/B,SAAS,EAAE,MAAM,CAAM;CAC1B;AAkBD,qBAAa,sBAAsB;IAK/B,YAAY,EAAE,MAAM,CAAM;CAC7B;AAED,qBAAa,sBAAsB;IAM/B,WAAW,EAAE,MAAM,CAAM;IAMzB,YAAY,EAAE,MAAM,CAAM;IAM1B,KAAK,CAAC,EAAE,QAAQ,CAAC;IAMjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB"}
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.AdminLoginResponseDTO = exports.UserAuthResponseDTO = exports.AuthResponseDTO = exports.RefreshTokenRequestDTO = exports.PasskeysAuthRequestDTO = void 0;
12
+ exports.SessionAuthResponseDTO = exports.RefreshTokenRequestDTO = exports.PasskeysAuthRequestDTO = void 0;
13
13
  const swagger_1 = require("@nestjs/swagger");
14
14
  const class_validator_1 = require("class-validator");
15
15
  const user_dto_1 = require("./user.dto");
@@ -54,43 +54,37 @@ __decorate([
54
54
  }),
55
55
  __metadata("design:type", String)
56
56
  ], RefreshTokenRequestDTO.prototype, "refreshToken", void 0);
57
- class AuthResponseDTO {
57
+ class SessionAuthResponseDTO {
58
58
  accessToken = '';
59
59
  refreshToken = '';
60
+ admin;
61
+ user;
60
62
  }
61
- exports.AuthResponseDTO = AuthResponseDTO;
63
+ exports.SessionAuthResponseDTO = SessionAuthResponseDTO;
62
64
  __decorate([
63
65
  (0, swagger_1.ApiProperty)({
64
66
  description: 'JWT access token this token is used to authenticate the user, by default it expires in 15 minutes, and it should be sent in the Authorization header as Bearer token.',
65
67
  }),
66
68
  __metadata("design:type", String)
67
- ], AuthResponseDTO.prototype, "accessToken", void 0);
69
+ ], SessionAuthResponseDTO.prototype, "accessToken", void 0);
68
70
  __decorate([
69
71
  (0, swagger_1.ApiProperty)({
70
72
  description: 'JWT refresh token this token is used to get a new access token when the current one expires. It is valid for 1 day.',
71
73
  }),
72
74
  __metadata("design:type", String)
73
- ], AuthResponseDTO.prototype, "refreshToken", void 0);
74
- class UserAuthResponseDTO extends AuthResponseDTO {
75
- user;
76
- }
77
- exports.UserAuthResponseDTO = UserAuthResponseDTO;
78
- __decorate([
79
- (0, swagger_1.ApiProperty)({
80
- description: 'User',
81
- type: () => user_dto_1.UserDTO
82
- }),
83
- __metadata("design:type", user_dto_1.UserDTO)
84
- ], UserAuthResponseDTO.prototype, "user", void 0);
85
- class AdminLoginResponseDTO extends AuthResponseDTO {
86
- admin;
87
- }
88
- exports.AdminLoginResponseDTO = AdminLoginResponseDTO;
75
+ ], SessionAuthResponseDTO.prototype, "refreshToken", void 0);
89
76
  __decorate([
90
- (0, swagger_1.ApiProperty)({
91
- description: 'Admin',
77
+ (0, swagger_1.ApiPropertyOptional)({
78
+ description: 'Admin (present if admin authentication)',
92
79
  type: () => admin_dto_1.AdminDTO
93
80
  }),
94
81
  __metadata("design:type", admin_dto_1.AdminDTO)
95
- ], AdminLoginResponseDTO.prototype, "admin", void 0);
82
+ ], SessionAuthResponseDTO.prototype, "admin", void 0);
83
+ __decorate([
84
+ (0, swagger_1.ApiPropertyOptional)({
85
+ description: 'User (present if user authentication)',
86
+ type: () => user_dto_1.UserDTO
87
+ }),
88
+ __metadata("design:type", user_dto_1.UserDTO)
89
+ ], SessionAuthResponseDTO.prototype, "user", void 0);
96
90
  //# sourceMappingURL=auth.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.dto.js","sourceRoot":"","sources":["../../../src/dto/auth.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAAuD;AACvD,yCAAqC;AACrC,2CAAuC;AAEvC,MAAa,sBAAsB;IAQ/B,SAAS,GAAW,EAAE,CAAC;CAC1B;AATD,wDASC;AADG;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,qEAAqE;QAClF,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;yDACY;AAG3B;;;;;;;;;;;;;;IAcI;AAEJ,MAAa,sBAAsB;IAK/B,YAAY,GAAW,EAAE,CAAC;CAC7B;AAND,wDAMC;AADG;IAJC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,sJAAsJ;KAClK,CAAC;;4DACwB;AAG9B,MAAa,eAAe;IAMxB,WAAW,GAAW,EAAE,CAAC;IAMzB,YAAY,GAAW,EAAE,CAAC;CAC7B;AAbD,0CAaC;AAPG;IALC,IAAA,qBAAW,EACR;QACI,WAAW,EAAE,uKAAuK;KACvL,CACJ;;oDACwB;AAMzB;IAJC,IAAA,qBAAW,EACR;QACI,WAAW,EAAE,qHAAqH;KACrI,CAAC;;qDACoB;AAG9B,MAAa,mBAAoB,SAAQ,eAAe;IAKpD,IAAI,CAAW;CAClB;AAND,kDAMC;AADG;IAJC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,GAAG,EAAE,CAAC,kBAAO;KACtB,CAAC;8BACK,kBAAO;iDAAC;AAInB,MAAa,qBAAsB,SAAQ,eAAe;IAKtD,KAAK,CAAY;CACpB;AAND,sDAMC;AADG;IAJC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,GAAG,EAAE,CAAC,oBAAQ;KACvB,CAAC;8BACM,oBAAQ;oDAAC"}
1
+ {"version":3,"file":"auth.dto.js","sourceRoot":"","sources":["../../../src/dto/auth.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,qDAAuD;AACvD,yCAAqC;AACrC,2CAAuC;AAEvC,MAAa,sBAAsB;IAQ/B,SAAS,GAAW,EAAE,CAAC;CAC1B;AATD,wDASC;AADG;IAPC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,qEAAqE;QAClF,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,MAAM;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;yDACY;AAG3B;;;;;;;;;;;;;;IAcI;AAEJ,MAAa,sBAAsB;IAK/B,YAAY,GAAW,EAAE,CAAC;CAC7B;AAND,wDAMC;AADG;IAJC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,sJAAsJ;KAClK,CAAC;;4DACwB;AAG9B,MAAa,sBAAsB;IAM/B,WAAW,GAAW,EAAE,CAAC;IAMzB,YAAY,GAAW,EAAE,CAAC;IAM1B,KAAK,CAAY;IAMjB,IAAI,CAAW;CAClB;AAzBD,wDAyBC;AAnBG;IALC,IAAA,qBAAW,EACR;QACI,WAAW,EAAE,uKAAuK;KACvL,CACJ;;2DACwB;AAMzB;IAJC,IAAA,qBAAW,EACR;QACI,WAAW,EAAE,qHAAqH;KACrI,CAAC;;4DACoB;AAM1B;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,yCAAyC;QACtD,IAAI,EAAE,GAAG,EAAE,CAAC,oBAAQ;KACvB,CAAC;8BACM,oBAAQ;qDAAC;AAMjB;IAJC,IAAA,6BAAmB,EAAC;QACjB,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,GAAG,EAAE,CAAC,kBAAO;KACtB,CAAC;8BACK,kBAAO;oDAAC"}
@@ -1,8 +1,6 @@
1
1
  export * from './enum';
2
- export * from './value-objects';
3
2
  export * from './interfaces';
4
3
  export * from './types';
5
- export * from './dto';
4
+ export type * from './dto';
6
5
  export * from './errors';
7
- export * from './types/backend';
8
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AAGtB,cAAc,UAAU,CAAC;AAGzB,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,mBAAmB,OAAO,CAAC;AAG3B,cAAc,UAAU,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -18,14 +18,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
19
  // Core domain contracts
20
20
  __exportStar(require("./enum"), exports);
21
- __exportStar(require("./value-objects"), exports);
22
21
  __exportStar(require("./interfaces"), exports);
23
22
  __exportStar(require("./types"), exports);
24
- __exportStar(require("./dto"), exports);
25
23
  // Error handling system
26
24
  __exportStar(require("./errors"), exports);
27
- // Backend-only exports (Node.js environment)
28
- __exportStar(require("./types/backend"), exports);
29
25
  // Note: Architecture patterns (orchestrators, database schemas) moved to @explorins/pers-shared-patterns
30
26
  // This library now contains only pure data contracts safe for external consumption
31
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,8FAA8F;;;;;;;;;;;;;;;;AAE9F,wBAAwB;AACxB,yCAAuB;AACvB,kDAAgC;AAChC,+CAA6B;AAC7B,0CAAwB;AACxB,wCAAsB;AAEtB,wBAAwB;AACxB,2CAAyB;AAEzB,6CAA6C;AAC7C,kDAAgC;AAEhC,yGAAyG;AACzG,mFAAmF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,8FAA8F;;;;;;;;;;;;;;;;AAE9F,wBAAwB;AACxB,yCAAuB;AACvB,+CAA6B;AAC7B,0CAAwB;AAGxB,wBAAwB;AACxB,2CAAyB;AAEzB,yGAAyG;AACzG,mFAAmF"}
@@ -1,14 +1,23 @@
1
1
  import type { ContractAbi } from "web3";
2
2
  import { Web3TransactionType } from "../enum/transaction-type.enum";
3
- import { Address, NativeTokenType } from "..";
3
+ import { Address } from "../value-objects";
4
+ import { NativeTokenType } from "..";
5
+ import { AccountOwnerType } from "../enum/owner-type.enum";
6
+ export interface TxParticipants {
7
+ senderAddress: Address;
8
+ senderOwnerType: AccountOwnerType | null;
9
+ senderId: string | null;
10
+ recipientAddress: Address | null;
11
+ recipientOwnerType: AccountOwnerType | null;
12
+ recipientId: string | null;
13
+ }
4
14
  export interface ITokenTransactionInputData {
5
15
  transactionId: string | null;
6
16
  chainId: number;
7
17
  smartContractAddress: Address;
8
18
  contractAbi: ContractAbi;
9
19
  contractTokenId: string | null;
10
- senderAddress: Address;
11
- recipientAddress: Address | null;
20
+ txParticipants: TxParticipants;
12
21
  amount: number;
13
22
  type: Web3TransactionType;
14
23
  tokenType: NativeTokenType;
@@ -1 +1 @@
1
- {"version":3,"file":"token-transaction-input-data.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/token-transaction-input-data.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAG9C,MAAM,WAAW,0BAA0B;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,eAAe,CAAA;IAG1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1C"}
1
+ {"version":3,"file":"token-transaction-input-data.interface.d.ts","sourceRoot":"","sources":["../../../src/interfaces/token-transaction-input-data.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,MAAM,WAAW,cAAc;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACzC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,kBAAkB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,0BAA0B;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,eAAe,CAAC;IAG3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1C"}
@@ -0,0 +1,6 @@
1
+ export * from './models/base.model';
2
+ export * from './models/fixture.model';
3
+ export * from './schemas/fixture-fields.schema';
4
+ export * from './schemas/tenant-fields.schema';
5
+ export * from './schemas/shared-fields.schema';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/database/index.ts"],"names":[],"mappings":"AAEA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AAIvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // Exporting models
18
+ __exportStar(require("./models/base.model"), exports);
19
+ __exportStar(require("./models/fixture.model"), exports);
20
+ // Exporting schemas for shared fields
21
+ __exportStar(require("./schemas/fixture-fields.schema"), exports);
22
+ __exportStar(require("./schemas/tenant-fields.schema"), exports);
23
+ __exportStar(require("./schemas/shared-fields.schema"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/database/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,mBAAmB;AACnB,sDAAoC;AACpC,yDAAuC;AAGvC,sCAAsC;AACtC,kEAAgD;AAChD,iEAA+C;AAC/C,iEAA+C"}
@@ -0,0 +1,7 @@
1
+ export declare abstract class BaseModel {
2
+ id?: string;
3
+ createdAt?: Date;
4
+ updatedAt?: Date;
5
+ deletedAt?: Date;
6
+ }
7
+ //# sourceMappingURL=base.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.model.d.ts","sourceRoot":"","sources":["../../../../../src/internal/database/models/base.model.ts"],"names":[],"mappings":"AAAA,8BAAsB,SAAS;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseModel = void 0;
4
+ class BaseModel {
5
+ id;
6
+ createdAt;
7
+ updatedAt;
8
+ deletedAt;
9
+ }
10
+ exports.BaseModel = BaseModel;
11
+ //# sourceMappingURL=base.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.model.js","sourceRoot":"","sources":["../../../../../src/internal/database/models/base.model.ts"],"names":[],"mappings":";;;AAAA,MAAsB,SAAS;IAC7B,EAAE,CAAU;IACZ,SAAS,CAAQ;IACjB,SAAS,CAAQ;IACjB,SAAS,CAAQ;CAClB;AALD,8BAKC"}
@@ -0,0 +1,4 @@
1
+ export declare abstract class FixtureModel {
2
+ id?: number;
3
+ }
4
+ //# sourceMappingURL=fixture.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixture.model.d.ts","sourceRoot":"","sources":["../../../../../src/internal/database/models/fixture.model.ts"],"names":[],"mappings":"AAAA,8BAAsB,YAAY;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FixtureModel = void 0;
4
+ class FixtureModel {
5
+ id;
6
+ }
7
+ exports.FixtureModel = FixtureModel;
8
+ //# sourceMappingURL=fixture.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixture.model.js","sourceRoot":"","sources":["../../../../../src/internal/database/models/fixture.model.ts"],"names":[],"mappings":";;;AAAA,MAAsB,YAAY;IAChC,EAAE,CAAU;CACb;AAFD,oCAEC"}
@@ -0,0 +1,5 @@
1
+ import { EntitySchemaColumnOptions } from "typeorm";
2
+ export declare const fixtureFields: {
3
+ [key: string]: EntitySchemaColumnOptions;
4
+ };
5
+ //# sourceMappingURL=fixture-fields.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixture-fields.schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/database/schemas/fixture-fields.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEnD,eAAO,MAAM,aAAa,EAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAI,yBAAyB,CAAA;CAMvE,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fixtureFields = void 0;
4
+ exports.fixtureFields = {
5
+ id: {
6
+ type: Number,
7
+ primary: true,
8
+ generated: 'increment',
9
+ },
10
+ };
11
+ //# sourceMappingURL=fixture-fields.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixture-fields.schema.js","sourceRoot":"","sources":["../../../../../src/internal/database/schemas/fixture-fields.schema.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAmD;IAC3E,EAAE,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,WAAW;KACvB;CACF,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { EntitySchemaColumnOptions } from "typeorm";
2
+ /**
3
+ * Shared TypeORM Entity Fields
4
+ *
5
+ * MANDATORY for ALL TypeORM schemas in PERS Loyalty Backend
6
+ *
7
+ * Usage Pattern:
8
+ * ```typescript
9
+ * import { sharedFields } from '../../../base/infrastructure/typeorm/shared-fields.schema';
10
+ *
11
+ * // For non-tenant entities (system-wide data)
12
+ * export const SystemSchema = new EntitySchema<SystemModel>({
13
+ * columns: {
14
+ * ...sharedFields, // ALWAYS include first
15
+ * // entity-specific fields below
16
+ * }
17
+ * });
18
+ *
19
+ * // For tenant-specific entities (most common case)
20
+ * import { tenantFields } from '../../../base/infrastructure/typeorm/multi-tenant-fields.schema';
21
+ *
22
+ * export const TenantSchema = new EntitySchema<TenantModel>({
23
+ * columns: {
24
+ * ...sharedFields, // ALWAYS include first
25
+ * ...tenantFields, // Include for tenant isolation
26
+ * // entity-specific fields below
27
+ * },
28
+ * indices: [
29
+ * {
30
+ * name: 'IDX_tenant_entities_tenant_id',
31
+ * columns: ['tenantId'], // REQUIRED for tenant schemas
32
+ * },
33
+ * ],
34
+ * });
35
+ * ```
36
+ *
37
+ * Provides: id (UUID), createdAt, updatedAt, deletedAt (soft delete)
38
+ * Combines with: tenantFields for multi-tenant support
39
+ * See: /documentation/domain-model-best-practices.md
40
+ */
41
+ export declare const sharedFields: {
42
+ [key: string]: EntitySchemaColumnOptions;
43
+ };
44
+ //# sourceMappingURL=shared-fields.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-fields.schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/database/schemas/shared-fields.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,YAAY,EAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAI,yBAAyB,CAAA;CAoBtE,CAAC"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sharedFields = void 0;
4
+ /**
5
+ * Shared TypeORM Entity Fields
6
+ *
7
+ * MANDATORY for ALL TypeORM schemas in PERS Loyalty Backend
8
+ *
9
+ * Usage Pattern:
10
+ * ```typescript
11
+ * import { sharedFields } from '../../../base/infrastructure/typeorm/shared-fields.schema';
12
+ *
13
+ * // For non-tenant entities (system-wide data)
14
+ * export const SystemSchema = new EntitySchema<SystemModel>({
15
+ * columns: {
16
+ * ...sharedFields, // ALWAYS include first
17
+ * // entity-specific fields below
18
+ * }
19
+ * });
20
+ *
21
+ * // For tenant-specific entities (most common case)
22
+ * import { tenantFields } from '../../../base/infrastructure/typeorm/multi-tenant-fields.schema';
23
+ *
24
+ * export const TenantSchema = new EntitySchema<TenantModel>({
25
+ * columns: {
26
+ * ...sharedFields, // ALWAYS include first
27
+ * ...tenantFields, // Include for tenant isolation
28
+ * // entity-specific fields below
29
+ * },
30
+ * indices: [
31
+ * {
32
+ * name: 'IDX_tenant_entities_tenant_id',
33
+ * columns: ['tenantId'], // REQUIRED for tenant schemas
34
+ * },
35
+ * ],
36
+ * });
37
+ * ```
38
+ *
39
+ * Provides: id (UUID), createdAt, updatedAt, deletedAt (soft delete)
40
+ * Combines with: tenantFields for multi-tenant support
41
+ * See: /documentation/domain-model-best-practices.md
42
+ */
43
+ exports.sharedFields = {
44
+ id: {
45
+ type: 'uuid',
46
+ primary: true,
47
+ generated: 'uuid',
48
+ },
49
+ createdAt: {
50
+ type: Date,
51
+ createDate: true,
52
+ },
53
+ updatedAt: {
54
+ type: Date,
55
+ nullable: true,
56
+ updateDate: true,
57
+ },
58
+ deletedAt: {
59
+ type: Date,
60
+ nullable: true,
61
+ deleteDate: true,
62
+ },
63
+ };
64
+ //# sourceMappingURL=shared-fields.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-fields.schema.js","sourceRoot":"","sources":["../../../../../src/internal/database/schemas/shared-fields.schema.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACU,QAAA,YAAY,GAAmD;IAC1E,EAAE,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,MAAM;KAClB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,IAAI;KACjB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;KACjB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;KACjB;CACF,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { EntitySchemaColumnOptions } from "typeorm";
2
+ /**
3
+ * Multi-Tenant TypeORM Entity Fields
4
+ *
5
+ * MANDATORY for tenant-specific data in PERS Loyalty Backend
6
+ *
7
+ * ✅ ALWAYS INCLUDE tenantFields for:
8
+ * - User-specific data: SigningAccount, UserWallet, UserProfile, UserPreferences
9
+ * - Business domain data: Campaign, Redemption, Transaction, TokenBalance
10
+ * - API keys and authentication: ApiKey, RefreshToken, UserSession
11
+ * - Tenant-specific configuration: BusinessSettings, CampaignTemplates
12
+ * - Any data that varies by tenant/client
13
+ *
14
+ * ❌ EXCLUDE tenantFields for:
15
+ * - System-wide shared data: TokenContract, GeolocationData, SystemSettings
16
+ * - Static reference data: Country codes, currency rates, blockchain configs
17
+ * - Cross-tenant shared resources (explicitly designed to be shared)
18
+ *
19
+ * Usage Pattern:
20
+ * ```typescript
21
+ * export const MySchema = new EntitySchema<MyModel>({
22
+ * columns: {
23
+ * ...sharedFields, // Base fields (id, timestamps, soft delete)
24
+ * ...tenantFields, // Multi-tenant support (tenantId with RLS)
25
+ * // entity-specific fields below
26
+ * }
27
+ * });
28
+ * ```
29
+ *
30
+ * CRITICAL: When using tenantFields, MUST include RLS module:
31
+ * ```typescript
32
+ * @Module({
33
+ * imports: [
34
+ * TypeOrmModule.forFeature([MySchema]),
35
+ * RLSModule.forFeature([MySchema]), // REQUIRED for Row Level Security
36
+ * ],
37
+ * })
38
+ * ```
39
+ *
40
+ * Technical Details:
41
+ * - Provides: tenantId with RLS (Row Level Security) automatic population
42
+ * - RLS Function: Uses current_setting('rls.tenant_id') for automatic tenant isolation
43
+ * - Database-level security: Prevents cross-tenant data leaks automatically
44
+ * - Transparent filtering: All queries automatically filter by current tenant
45
+ *
46
+ * See: /documentation/domain-model-best-practices.md for complete patterns
47
+ */
48
+ export declare const tenantFields: {
49
+ [key: string]: EntitySchemaColumnOptions;
50
+ };
51
+ //# sourceMappingURL=tenant-fields.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-fields.schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/database/schemas/tenant-fields.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,YAAY,EAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAI,yBAAyB,CAAA;CAMtE,CAAC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tenantFields = void 0;
4
+ /**
5
+ * Multi-Tenant TypeORM Entity Fields
6
+ *
7
+ * MANDATORY for tenant-specific data in PERS Loyalty Backend
8
+ *
9
+ * ✅ ALWAYS INCLUDE tenantFields for:
10
+ * - User-specific data: SigningAccount, UserWallet, UserProfile, UserPreferences
11
+ * - Business domain data: Campaign, Redemption, Transaction, TokenBalance
12
+ * - API keys and authentication: ApiKey, RefreshToken, UserSession
13
+ * - Tenant-specific configuration: BusinessSettings, CampaignTemplates
14
+ * - Any data that varies by tenant/client
15
+ *
16
+ * ❌ EXCLUDE tenantFields for:
17
+ * - System-wide shared data: TokenContract, GeolocationData, SystemSettings
18
+ * - Static reference data: Country codes, currency rates, blockchain configs
19
+ * - Cross-tenant shared resources (explicitly designed to be shared)
20
+ *
21
+ * Usage Pattern:
22
+ * ```typescript
23
+ * export const MySchema = new EntitySchema<MyModel>({
24
+ * columns: {
25
+ * ...sharedFields, // Base fields (id, timestamps, soft delete)
26
+ * ...tenantFields, // Multi-tenant support (tenantId with RLS)
27
+ * // entity-specific fields below
28
+ * }
29
+ * });
30
+ * ```
31
+ *
32
+ * CRITICAL: When using tenantFields, MUST include RLS module:
33
+ * ```typescript
34
+ * @Module({
35
+ * imports: [
36
+ * TypeOrmModule.forFeature([MySchema]),
37
+ * RLSModule.forFeature([MySchema]), // REQUIRED for Row Level Security
38
+ * ],
39
+ * })
40
+ * ```
41
+ *
42
+ * Technical Details:
43
+ * - Provides: tenantId with RLS (Row Level Security) automatic population
44
+ * - RLS Function: Uses current_setting('rls.tenant_id') for automatic tenant isolation
45
+ * - Database-level security: Prevents cross-tenant data leaks automatically
46
+ * - Transparent filtering: All queries automatically filter by current tenant
47
+ *
48
+ * See: /documentation/domain-model-best-practices.md for complete patterns
49
+ */
50
+ exports.tenantFields = {
51
+ tenantId: {
52
+ type: String,
53
+ nullable: true,
54
+ default: () => "current_setting('rls.tenant_id')",
55
+ },
56
+ };
57
+ //# sourceMappingURL=tenant-fields.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-fields.schema.js","sourceRoot":"","sources":["../../../../../src/internal/database/schemas/tenant-fields.schema.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACU,QAAA,YAAY,GAAmD;IAC1E,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,GAAG,EAAE,CAAC,kCAAkC;KAClD;CACF,CAAC"}