@connexia/infrastructure 1.0.1

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 (318) hide show
  1. package/LICENSE +190 -0
  2. package/dist/config/config-manager.d.ts +29 -0
  3. package/dist/config/config-manager.d.ts.map +1 -0
  4. package/dist/config/config-manager.js +120 -0
  5. package/dist/config/config-manager.js.map +1 -0
  6. package/dist/config/index.d.ts +3 -0
  7. package/dist/config/index.d.ts.map +1 -0
  8. package/dist/config/index.js +2 -0
  9. package/dist/config/index.js.map +1 -0
  10. package/dist/config/schemas.d.ts +557 -0
  11. package/dist/config/schemas.d.ts.map +1 -0
  12. package/dist/config/schemas.js +79 -0
  13. package/dist/config/schemas.js.map +1 -0
  14. package/dist/database/database-config.d.ts +123 -0
  15. package/dist/database/database-config.d.ts.map +1 -0
  16. package/dist/database/database-config.js +42 -0
  17. package/dist/database/database-config.js.map +1 -0
  18. package/dist/database/database-connection.d.ts +29 -0
  19. package/dist/database/database-connection.d.ts.map +1 -0
  20. package/dist/database/database-connection.js +149 -0
  21. package/dist/database/database-connection.js.map +1 -0
  22. package/dist/database/drizzle/drizzle-manager.d.ts +12 -0
  23. package/dist/database/drizzle/drizzle-manager.d.ts.map +1 -0
  24. package/dist/database/drizzle/drizzle-manager.js +26 -0
  25. package/dist/database/drizzle/drizzle-manager.js.map +1 -0
  26. package/dist/database/drizzle/migrate.d.ts +30 -0
  27. package/dist/database/drizzle/migrate.d.ts.map +1 -0
  28. package/dist/database/drizzle/migrate.js +148 -0
  29. package/dist/database/drizzle/migrate.js.map +1 -0
  30. package/dist/database/drizzle/schema/domain.d.ts +2217 -0
  31. package/dist/database/drizzle/schema/domain.d.ts.map +1 -0
  32. package/dist/database/drizzle/schema/domain.js +163 -0
  33. package/dist/database/drizzle/schema/domain.js.map +1 -0
  34. package/dist/database/drizzle/schema/index.d.ts +8 -0
  35. package/dist/database/drizzle/schema/index.d.ts.map +1 -0
  36. package/dist/database/drizzle/schema/index.js +8 -0
  37. package/dist/database/drizzle/schema/index.js.map +1 -0
  38. package/dist/database/drizzle/schema/migrations.d.ts +104 -0
  39. package/dist/database/drizzle/schema/migrations.d.ts.map +1 -0
  40. package/dist/database/drizzle/schema/migrations.js +10 -0
  41. package/dist/database/drizzle/schema/migrations.js.map +1 -0
  42. package/dist/database/drizzle/schema/providers.d.ts +248 -0
  43. package/dist/database/drizzle/schema/providers.d.ts.map +1 -0
  44. package/dist/database/drizzle/schema/providers.js +19 -0
  45. package/dist/database/drizzle/schema/providers.js.map +1 -0
  46. package/dist/database/index.d.ts +5 -0
  47. package/dist/database/index.d.ts.map +1 -0
  48. package/dist/database/index.js +5 -0
  49. package/dist/database/index.js.map +1 -0
  50. package/dist/diagnostics/index.d.ts +3 -0
  51. package/dist/diagnostics/index.d.ts.map +1 -0
  52. package/dist/diagnostics/index.js +2 -0
  53. package/dist/diagnostics/index.js.map +1 -0
  54. package/dist/diagnostics/infrastructure-doctor.d.ts +33 -0
  55. package/dist/diagnostics/infrastructure-doctor.d.ts.map +1 -0
  56. package/dist/diagnostics/infrastructure-doctor.js +57 -0
  57. package/dist/diagnostics/infrastructure-doctor.js.map +1 -0
  58. package/dist/health/health-manager.d.ts +29 -0
  59. package/dist/health/health-manager.d.ts.map +1 -0
  60. package/dist/health/health-manager.js +74 -0
  61. package/dist/health/health-manager.js.map +1 -0
  62. package/dist/health/index.d.ts +3 -0
  63. package/dist/health/index.d.ts.map +1 -0
  64. package/dist/health/index.js +2 -0
  65. package/dist/health/index.js.map +1 -0
  66. package/dist/index.d.ts +30 -0
  67. package/dist/index.d.ts.map +1 -0
  68. package/dist/index.js +28 -0
  69. package/dist/index.js.map +1 -0
  70. package/dist/metrics/index.d.ts +3 -0
  71. package/dist/metrics/index.d.ts.map +1 -0
  72. package/dist/metrics/index.js +2 -0
  73. package/dist/metrics/index.js.map +1 -0
  74. package/dist/metrics/metrics-collector.d.ts +105 -0
  75. package/dist/metrics/metrics-collector.d.ts.map +1 -0
  76. package/dist/metrics/metrics-collector.js +320 -0
  77. package/dist/metrics/metrics-collector.js.map +1 -0
  78. package/dist/providers/bullmq/index.d.ts +8 -0
  79. package/dist/providers/bullmq/index.d.ts.map +1 -0
  80. package/dist/providers/bullmq/index.js +5 -0
  81. package/dist/providers/bullmq/index.js.map +1 -0
  82. package/dist/providers/bullmq/job-runner.d.ts +16 -0
  83. package/dist/providers/bullmq/job-runner.d.ts.map +1 -0
  84. package/dist/providers/bullmq/job-runner.js +17 -0
  85. package/dist/providers/bullmq/job-runner.js.map +1 -0
  86. package/dist/providers/bullmq/queue-provider-bullmq.d.ts +38 -0
  87. package/dist/providers/bullmq/queue-provider-bullmq.d.ts.map +1 -0
  88. package/dist/providers/bullmq/queue-provider-bullmq.js +248 -0
  89. package/dist/providers/bullmq/queue-provider-bullmq.js.map +1 -0
  90. package/dist/providers/bullmq/queue-provider.d.ts +74 -0
  91. package/dist/providers/bullmq/queue-provider.d.ts.map +1 -0
  92. package/dist/providers/bullmq/queue-provider.js +101 -0
  93. package/dist/providers/bullmq/queue-provider.js.map +1 -0
  94. package/dist/providers/bullmq/worker-runtime.d.ts +41 -0
  95. package/dist/providers/bullmq/worker-runtime.d.ts.map +1 -0
  96. package/dist/providers/bullmq/worker-runtime.js +49 -0
  97. package/dist/providers/bullmq/worker-runtime.js.map +1 -0
  98. package/dist/providers/filesystem/artifact-store-filesystem.d.ts +30 -0
  99. package/dist/providers/filesystem/artifact-store-filesystem.d.ts.map +1 -0
  100. package/dist/providers/filesystem/artifact-store-filesystem.js +178 -0
  101. package/dist/providers/filesystem/artifact-store-filesystem.js.map +1 -0
  102. package/dist/providers/filesystem/artifact-store.d.ts +43 -0
  103. package/dist/providers/filesystem/artifact-store.d.ts.map +1 -0
  104. package/dist/providers/filesystem/artifact-store.js +55 -0
  105. package/dist/providers/filesystem/artifact-store.js.map +1 -0
  106. package/dist/providers/filesystem/index.d.ts +4 -0
  107. package/dist/providers/filesystem/index.d.ts.map +1 -0
  108. package/dist/providers/filesystem/index.js +3 -0
  109. package/dist/providers/filesystem/index.js.map +1 -0
  110. package/dist/providers/search/index.d.ts +3 -0
  111. package/dist/providers/search/index.d.ts.map +1 -0
  112. package/dist/providers/search/index.js +2 -0
  113. package/dist/providers/search/index.js.map +1 -0
  114. package/dist/providers/search/search-provider.d.ts +46 -0
  115. package/dist/providers/search/search-provider.d.ts.map +1 -0
  116. package/dist/providers/search/search-provider.js +59 -0
  117. package/dist/providers/search/search-provider.js.map +1 -0
  118. package/dist/providers/valkey/cache-provider-valkey.d.ts +34 -0
  119. package/dist/providers/valkey/cache-provider-valkey.d.ts.map +1 -0
  120. package/dist/providers/valkey/cache-provider-valkey.js +136 -0
  121. package/dist/providers/valkey/cache-provider-valkey.js.map +1 -0
  122. package/dist/providers/valkey/cache-provider.d.ts +40 -0
  123. package/dist/providers/valkey/cache-provider.d.ts.map +1 -0
  124. package/dist/providers/valkey/cache-provider.js +57 -0
  125. package/dist/providers/valkey/cache-provider.js.map +1 -0
  126. package/dist/providers/valkey/index.d.ts +13 -0
  127. package/dist/providers/valkey/index.d.ts.map +1 -0
  128. package/dist/providers/valkey/index.js +9 -0
  129. package/dist/providers/valkey/index.js.map +1 -0
  130. package/dist/providers/valkey/lock-provider-valkey.d.ts +24 -0
  131. package/dist/providers/valkey/lock-provider-valkey.d.ts.map +1 -0
  132. package/dist/providers/valkey/lock-provider-valkey.js +133 -0
  133. package/dist/providers/valkey/lock-provider-valkey.js.map +1 -0
  134. package/dist/providers/valkey/lock-provider.d.ts +29 -0
  135. package/dist/providers/valkey/lock-provider.d.ts.map +1 -0
  136. package/dist/providers/valkey/lock-provider.js +48 -0
  137. package/dist/providers/valkey/lock-provider.js.map +1 -0
  138. package/dist/providers/valkey/pubsub-provider-valkey.d.ts +24 -0
  139. package/dist/providers/valkey/pubsub-provider-valkey.d.ts.map +1 -0
  140. package/dist/providers/valkey/pubsub-provider-valkey.js +139 -0
  141. package/dist/providers/valkey/pubsub-provider-valkey.js.map +1 -0
  142. package/dist/providers/valkey/pubsub-provider.d.ts +21 -0
  143. package/dist/providers/valkey/pubsub-provider.d.ts.map +1 -0
  144. package/dist/providers/valkey/pubsub-provider.js +30 -0
  145. package/dist/providers/valkey/pubsub-provider.js.map +1 -0
  146. package/dist/providers/valkey/session-provider-valkey.d.ts +27 -0
  147. package/dist/providers/valkey/session-provider-valkey.d.ts.map +1 -0
  148. package/dist/providers/valkey/session-provider-valkey.js +148 -0
  149. package/dist/providers/valkey/session-provider-valkey.js.map +1 -0
  150. package/dist/providers/valkey/session-provider.d.ts +34 -0
  151. package/dist/providers/valkey/session-provider.d.ts.map +1 -0
  152. package/dist/providers/valkey/session-provider.js +45 -0
  153. package/dist/providers/valkey/session-provider.js.map +1 -0
  154. package/dist/recovery/circuit-breaker.d.ts +27 -0
  155. package/dist/recovery/circuit-breaker.d.ts.map +1 -0
  156. package/dist/recovery/circuit-breaker.js +78 -0
  157. package/dist/recovery/circuit-breaker.js.map +1 -0
  158. package/dist/recovery/index.d.ts +5 -0
  159. package/dist/recovery/index.d.ts.map +1 -0
  160. package/dist/recovery/index.js +3 -0
  161. package/dist/recovery/index.js.map +1 -0
  162. package/dist/recovery/reconnect-handler.d.ts +23 -0
  163. package/dist/recovery/reconnect-handler.d.ts.map +1 -0
  164. package/dist/recovery/reconnect-handler.js +53 -0
  165. package/dist/recovery/reconnect-handler.js.map +1 -0
  166. package/dist/repositories/drizzle-audit-event-repository.d.ts +22 -0
  167. package/dist/repositories/drizzle-audit-event-repository.d.ts.map +1 -0
  168. package/dist/repositories/drizzle-audit-event-repository.js +172 -0
  169. package/dist/repositories/drizzle-audit-event-repository.js.map +1 -0
  170. package/dist/repositories/drizzle-build-repository.d.ts +21 -0
  171. package/dist/repositories/drizzle-build-repository.d.ts.map +1 -0
  172. package/dist/repositories/drizzle-build-repository.js +167 -0
  173. package/dist/repositories/drizzle-build-repository.js.map +1 -0
  174. package/dist/repositories/drizzle-deployment-repository.d.ts +22 -0
  175. package/dist/repositories/drizzle-deployment-repository.d.ts.map +1 -0
  176. package/dist/repositories/drizzle-deployment-repository.js +175 -0
  177. package/dist/repositories/drizzle-deployment-repository.js.map +1 -0
  178. package/dist/repositories/drizzle-environment-repository.d.ts +19 -0
  179. package/dist/repositories/drizzle-environment-repository.d.ts.map +1 -0
  180. package/dist/repositories/drizzle-environment-repository.js +115 -0
  181. package/dist/repositories/drizzle-environment-repository.js.map +1 -0
  182. package/dist/repositories/drizzle-organization-repository.d.ts +20 -0
  183. package/dist/repositories/drizzle-organization-repository.d.ts.map +1 -0
  184. package/dist/repositories/drizzle-organization-repository.js +139 -0
  185. package/dist/repositories/drizzle-organization-repository.js.map +1 -0
  186. package/dist/repositories/drizzle-project-repository.d.ts +20 -0
  187. package/dist/repositories/drizzle-project-repository.d.ts.map +1 -0
  188. package/dist/repositories/drizzle-project-repository.js +149 -0
  189. package/dist/repositories/drizzle-project-repository.js.map +1 -0
  190. package/dist/repositories/drizzle-secret-repository.d.ts +20 -0
  191. package/dist/repositories/drizzle-secret-repository.d.ts.map +1 -0
  192. package/dist/repositories/drizzle-secret-repository.js +139 -0
  193. package/dist/repositories/drizzle-secret-repository.js.map +1 -0
  194. package/dist/repositories/drizzle-user-repository.d.ts +21 -0
  195. package/dist/repositories/drizzle-user-repository.d.ts.map +1 -0
  196. package/dist/repositories/drizzle-user-repository.js +153 -0
  197. package/dist/repositories/drizzle-user-repository.js.map +1 -0
  198. package/dist/repositories/in-memory-audit-event-repository.d.ts +19 -0
  199. package/dist/repositories/in-memory-audit-event-repository.d.ts.map +1 -0
  200. package/dist/repositories/in-memory-audit-event-repository.js +54 -0
  201. package/dist/repositories/in-memory-audit-event-repository.js.map +1 -0
  202. package/dist/repositories/in-memory-build-repository.d.ts +18 -0
  203. package/dist/repositories/in-memory-build-repository.d.ts.map +1 -0
  204. package/dist/repositories/in-memory-build-repository.js +44 -0
  205. package/dist/repositories/in-memory-build-repository.js.map +1 -0
  206. package/dist/repositories/in-memory-deployment-repository.d.ts +19 -0
  207. package/dist/repositories/in-memory-deployment-repository.d.ts.map +1 -0
  208. package/dist/repositories/in-memory-deployment-repository.js +48 -0
  209. package/dist/repositories/in-memory-deployment-repository.js.map +1 -0
  210. package/dist/repositories/in-memory-organization-repository.d.ts +17 -0
  211. package/dist/repositories/in-memory-organization-repository.d.ts.map +1 -0
  212. package/dist/repositories/in-memory-organization-repository.js +34 -0
  213. package/dist/repositories/in-memory-organization-repository.js.map +1 -0
  214. package/dist/repositories/in-memory-plugin-repository.d.ts +20 -0
  215. package/dist/repositories/in-memory-plugin-repository.d.ts.map +1 -0
  216. package/dist/repositories/in-memory-plugin-repository.js +37 -0
  217. package/dist/repositories/in-memory-plugin-repository.js.map +1 -0
  218. package/dist/repositories/in-memory-project-repository.d.ts +17 -0
  219. package/dist/repositories/in-memory-project-repository.d.ts.map +1 -0
  220. package/dist/repositories/in-memory-project-repository.js +38 -0
  221. package/dist/repositories/in-memory-project-repository.js.map +1 -0
  222. package/dist/repositories/in-memory-recommendation-repository.d.ts +22 -0
  223. package/dist/repositories/in-memory-recommendation-repository.d.ts.map +1 -0
  224. package/dist/repositories/in-memory-recommendation-repository.js +57 -0
  225. package/dist/repositories/in-memory-recommendation-repository.js.map +1 -0
  226. package/dist/repositories/in-memory-user-repository.d.ts +18 -0
  227. package/dist/repositories/in-memory-user-repository.d.ts.map +1 -0
  228. package/dist/repositories/in-memory-user-repository.js +42 -0
  229. package/dist/repositories/in-memory-user-repository.js.map +1 -0
  230. package/dist/repositories/in-memory-workspace-repository.d.ts +20 -0
  231. package/dist/repositories/in-memory-workspace-repository.d.ts.map +1 -0
  232. package/dist/repositories/in-memory-workspace-repository.js +37 -0
  233. package/dist/repositories/in-memory-workspace-repository.js.map +1 -0
  234. package/dist/repositories/index.d.ts +18 -0
  235. package/dist/repositories/index.d.ts.map +1 -0
  236. package/dist/repositories/index.js +18 -0
  237. package/dist/repositories/index.js.map +1 -0
  238. package/dist/runtime/health-runtime.d.ts +65 -0
  239. package/dist/runtime/health-runtime.d.ts.map +1 -0
  240. package/dist/runtime/health-runtime.js +227 -0
  241. package/dist/runtime/health-runtime.js.map +1 -0
  242. package/dist/runtime/index.d.ts +9 -0
  243. package/dist/runtime/index.d.ts.map +1 -0
  244. package/dist/runtime/index.js +9 -0
  245. package/dist/runtime/index.js.map +1 -0
  246. package/dist/runtime/infrastructure-runtime.d.ts +45 -0
  247. package/dist/runtime/infrastructure-runtime.d.ts.map +1 -0
  248. package/dist/runtime/infrastructure-runtime.js +133 -0
  249. package/dist/runtime/infrastructure-runtime.js.map +1 -0
  250. package/dist/runtime/provider-factory.d.ts +42 -0
  251. package/dist/runtime/provider-factory.d.ts.map +1 -0
  252. package/dist/runtime/provider-factory.js +111 -0
  253. package/dist/runtime/provider-factory.js.map +1 -0
  254. package/dist/runtime/provider-lifecycle.d.ts +30 -0
  255. package/dist/runtime/provider-lifecycle.d.ts.map +1 -0
  256. package/dist/runtime/provider-lifecycle.js +149 -0
  257. package/dist/runtime/provider-lifecycle.js.map +1 -0
  258. package/dist/runtime/provider-registry.d.ts +25 -0
  259. package/dist/runtime/provider-registry.d.ts.map +1 -0
  260. package/dist/runtime/provider-registry.js +52 -0
  261. package/dist/runtime/provider-registry.js.map +1 -0
  262. package/dist/runtime/recovery-runtime.d.ts +66 -0
  263. package/dist/runtime/recovery-runtime.d.ts.map +1 -0
  264. package/dist/runtime/recovery-runtime.js +177 -0
  265. package/dist/runtime/recovery-runtime.js.map +1 -0
  266. package/dist/runtime/resource-manager.d.ts +51 -0
  267. package/dist/runtime/resource-manager.d.ts.map +1 -0
  268. package/dist/runtime/resource-manager.js +156 -0
  269. package/dist/runtime/resource-manager.js.map +1 -0
  270. package/dist/runtime/runtime-lifecycle.d.ts +77 -0
  271. package/dist/runtime/runtime-lifecycle.d.ts.map +1 -0
  272. package/dist/runtime/runtime-lifecycle.js +260 -0
  273. package/dist/runtime/runtime-lifecycle.js.map +1 -0
  274. package/dist/security/connection-validator.d.ts +21 -0
  275. package/dist/security/connection-validator.d.ts.map +1 -0
  276. package/dist/security/connection-validator.js +30 -0
  277. package/dist/security/connection-validator.js.map +1 -0
  278. package/dist/security/index.d.ts +3 -0
  279. package/dist/security/index.d.ts.map +1 -0
  280. package/dist/security/index.js +3 -0
  281. package/dist/security/index.js.map +1 -0
  282. package/dist/security/secret-masking.d.ts +4 -0
  283. package/dist/security/secret-masking.d.ts.map +1 -0
  284. package/dist/security/secret-masking.js +39 -0
  285. package/dist/security/secret-masking.js.map +1 -0
  286. package/dist/shared/branding.d.ts +10 -0
  287. package/dist/shared/branding.d.ts.map +1 -0
  288. package/dist/shared/branding.js +11 -0
  289. package/dist/shared/branding.js.map +1 -0
  290. package/dist/shared/constants.d.ts +29 -0
  291. package/dist/shared/constants.d.ts.map +1 -0
  292. package/dist/shared/constants.js +45 -0
  293. package/dist/shared/constants.js.map +1 -0
  294. package/dist/shared/equality.d.ts +6 -0
  295. package/dist/shared/equality.d.ts.map +1 -0
  296. package/dist/shared/equality.js +63 -0
  297. package/dist/shared/equality.js.map +1 -0
  298. package/dist/shared/errors.d.ts +74 -0
  299. package/dist/shared/errors.d.ts.map +1 -0
  300. package/dist/shared/errors.js +110 -0
  301. package/dist/shared/errors.js.map +1 -0
  302. package/dist/shared/hashing.d.ts +8 -0
  303. package/dist/shared/hashing.d.ts.map +1 -0
  304. package/dist/shared/hashing.js +28 -0
  305. package/dist/shared/hashing.js.map +1 -0
  306. package/dist/shared/index.d.ts +11 -0
  307. package/dist/shared/index.d.ts.map +1 -0
  308. package/dist/shared/index.js +10 -0
  309. package/dist/shared/index.js.map +1 -0
  310. package/dist/shared/timing.d.ts +19 -0
  311. package/dist/shared/timing.d.ts.map +1 -0
  312. package/dist/shared/timing.js +45 -0
  313. package/dist/shared/timing.js.map +1 -0
  314. package/dist/shared/types.d.ts +62 -0
  315. package/dist/shared/types.d.ts.map +1 -0
  316. package/dist/shared/types.js +5 -0
  317. package/dist/shared/types.js.map +1 -0
  318. package/package.json +75 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle-secret-repository.js","sourceRoot":"","sources":["../../src/repositories/drizzle-secret-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { Result } from "@connexia/domain";
2
+ import type { PaginatedResult } from "@connexia/domain";
3
+ import type { RepositoryOptions, FindOptions } from "@connexia/domain";
4
+ import type { UserId, OrganizationId } from "@connexia/domain";
5
+ import type { UserRepository } from "@connexia/domain";
6
+ import { User, type UserStatus } from "@connexia/domain";
7
+ import type { DrizzleManager } from "../database/drizzle/drizzle-manager.js";
8
+ export declare class DrizzleUserRepository implements UserRepository {
9
+ private readonly drizzle;
10
+ constructor(drizzle: DrizzleManager);
11
+ findById(id: UserId, _options?: RepositoryOptions): Promise<Result<User | null>>;
12
+ findByEmail(email: string, organizationId: OrganizationId, _options?: RepositoryOptions): Promise<Result<User | null>>;
13
+ findByOrganization(organizationId: OrganizationId, options?: FindOptions): Promise<Result<PaginatedResult<User>>>;
14
+ findByStatus(status: UserStatus, organizationId: OrganizationId, options?: FindOptions): Promise<Result<PaginatedResult<User>>>;
15
+ save(user: User, _options?: RepositoryOptions): Promise<Result<User>>;
16
+ delete(id: UserId, _options?: RepositoryOptions): Promise<Result<void>>;
17
+ exists(id: UserId, _options?: RepositoryOptions): Promise<Result<boolean>>;
18
+ count(_options?: RepositoryOptions): Promise<Result<number>>;
19
+ private toDomain;
20
+ }
21
+ //# sourceMappingURL=drizzle-user-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle-user-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/drizzle-user-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAc,MAAM,kBAAkB,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAG7E,qBAAa,qBAAsB,YAAW,cAAc;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,cAAc;IAE9C,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAYhF,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IActH,kBAAkB,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAiBjH,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAiB/H,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IA8BrE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAWvE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAY1E,KAAK,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAYlE,OAAO,CAAC,QAAQ;CAcjB"}
@@ -0,0 +1,153 @@
1
+ import { ok, err } from "@connexia/domain";
2
+ import { User } from "@connexia/domain";
3
+ import { eq, and, count as drizzleCount, desc } from "drizzle-orm";
4
+ export class DrizzleUserRepository {
5
+ drizzle;
6
+ constructor(drizzle) {
7
+ this.drizzle = drizzle;
8
+ }
9
+ async findById(id, _options) {
10
+ try {
11
+ const db = this.drizzle.getDb();
12
+ const schema = this.drizzle.getSchema();
13
+ const result = await db.select().from(schema.users).where(eq(schema.users.id, id)).limit(1);
14
+ if (result.length === 0 || !result[0])
15
+ return ok(null);
16
+ return ok(this.toDomain(result[0]));
17
+ }
18
+ catch (e) {
19
+ return err({ code: "INTERNAL_ERROR", message: e.message });
20
+ }
21
+ }
22
+ async findByEmail(email, organizationId, _options) {
23
+ try {
24
+ const db = this.drizzle.getDb();
25
+ const schema = this.drizzle.getSchema();
26
+ const result = await db.select().from(schema.users)
27
+ .where(and(eq(schema.users.email, email), eq(schema.users.organizationId, organizationId)))
28
+ .limit(1);
29
+ if (result.length === 0 || !result[0])
30
+ return ok(null);
31
+ return ok(this.toDomain(result[0]));
32
+ }
33
+ catch (e) {
34
+ return err({ code: "INTERNAL_ERROR", message: e.message });
35
+ }
36
+ }
37
+ async findByOrganization(organizationId, options) {
38
+ try {
39
+ const db = this.drizzle.getDb();
40
+ const schema = this.drizzle.getSchema();
41
+ const results = await db.select().from(schema.users)
42
+ .where(eq(schema.users.organizationId, organizationId))
43
+ .orderBy(desc(schema.users.createdAt));
44
+ return ok({
45
+ items: results.map(r => this.toDomain(r)),
46
+ totalCount: results.length,
47
+ hasMore: false,
48
+ });
49
+ }
50
+ catch (e) {
51
+ return err({ code: "INTERNAL_ERROR", message: e.message });
52
+ }
53
+ }
54
+ async findByStatus(status, organizationId, options) {
55
+ try {
56
+ const db = this.drizzle.getDb();
57
+ const schema = this.drizzle.getSchema();
58
+ const results = await db.select().from(schema.users)
59
+ .where(and(eq(schema.users.status, status), eq(schema.users.organizationId, organizationId)))
60
+ .orderBy(desc(schema.users.createdAt));
61
+ return ok({
62
+ items: results.map(r => this.toDomain(r)),
63
+ totalCount: results.length,
64
+ hasMore: false,
65
+ });
66
+ }
67
+ catch (e) {
68
+ return err({ code: "INTERNAL_ERROR", message: e.message });
69
+ }
70
+ }
71
+ async save(user, _options) {
72
+ try {
73
+ const db = this.drizzle.getDb();
74
+ const schema = this.drizzle.getSchema();
75
+ const snapshot = user.toSnapshot();
76
+ await db.insert(schema.users).values({
77
+ id: snapshot.id,
78
+ organizationId: snapshot.organizationId,
79
+ email: snapshot.profile.email,
80
+ displayName: snapshot.profile.displayName,
81
+ status: snapshot.status,
82
+ roles: snapshot.roles,
83
+ lastLoginAt: snapshot.lastLoginAt ? new Date(snapshot.lastLoginAt) : null,
84
+ createdAt: new Date(snapshot.createdAt),
85
+ updatedAt: new Date(snapshot.updatedAt),
86
+ }).onConflictDoUpdate({
87
+ target: schema.users.id,
88
+ set: {
89
+ status: snapshot.status,
90
+ roles: snapshot.roles,
91
+ lastLoginAt: snapshot.lastLoginAt ? new Date(snapshot.lastLoginAt) : null,
92
+ updatedAt: new Date(snapshot.updatedAt),
93
+ },
94
+ });
95
+ return ok(user);
96
+ }
97
+ catch (e) {
98
+ return err({ code: "INTERNAL_ERROR", message: e.message });
99
+ }
100
+ }
101
+ async delete(id, _options) {
102
+ try {
103
+ const db = this.drizzle.getDb();
104
+ const schema = this.drizzle.getSchema();
105
+ await db.delete(schema.users).where(eq(schema.users.id, id));
106
+ return ok(undefined);
107
+ }
108
+ catch (e) {
109
+ return err({ code: "INTERNAL_ERROR", message: e.message });
110
+ }
111
+ }
112
+ async exists(id, _options) {
113
+ try {
114
+ const db = this.drizzle.getDb();
115
+ const schema = this.drizzle.getSchema();
116
+ const result = await db.select({ count: drizzleCount() }).from(schema.users).where(eq(schema.users.id, id));
117
+ if (!result[0])
118
+ return ok(false);
119
+ return ok(result[0].count > 0);
120
+ }
121
+ catch (e) {
122
+ return err({ code: "INTERNAL_ERROR", message: e.message });
123
+ }
124
+ }
125
+ async count(_options) {
126
+ try {
127
+ const db = this.drizzle.getDb();
128
+ const schema = this.drizzle.getSchema();
129
+ const result = await db.select({ count: drizzleCount() }).from(schema.users);
130
+ if (!result[0])
131
+ return ok(0);
132
+ return ok(result[0].count);
133
+ }
134
+ catch (e) {
135
+ return err({ code: "INTERNAL_ERROR", message: e.message });
136
+ }
137
+ }
138
+ toDomain(row) {
139
+ return User.reconstitute({
140
+ id: row.id,
141
+ organizationId: row.organizationId,
142
+ profile: { email: row.email, displayName: row.displayName },
143
+ status: row.status,
144
+ roles: row.roles,
145
+ lastLoginAt: row.lastLoginAt ? row.lastLoginAt.toISOString() : null,
146
+ createdAt: row.createdAt.toISOString(),
147
+ updatedAt: row.updatedAt.toISOString(),
148
+ version: "1.0.0",
149
+ deletedAt: row.deletedAt ? row.deletedAt.toISOString() : null,
150
+ });
151
+ }
152
+ }
153
+ //# sourceMappingURL=drizzle-user-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle-user-repository.js","sourceRoot":"","sources":["../../src/repositories/drizzle-user-repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAK3C,OAAO,EAAE,IAAI,EAAmB,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,IAAI,YAAY,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,OAAO,qBAAqB;IACH;IAA7B,YAA6B,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAExD,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,QAA4B;QACrD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,cAA8B,EAAE,QAA4B;QAC3F,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;iBAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,cAAwB,CAAC,CAAC,CAAC;iBACpG,KAAK,CAAC,CAAC,CAAC,CAAC;YACZ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,cAA8B,EAAE,OAAqB;QAC5E,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;iBACjD,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,cAAwB,CAAC,CAAC;iBAChE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC;gBACR,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzC,UAAU,EAAE,OAAO,CAAC,MAAoB;gBACxC,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAkB,EAAE,cAA8B,EAAE,OAAqB;QAC1F,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;iBACjD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,cAAwB,CAAC,CAAC,CAAC;iBACtG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC;gBACR,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzC,UAAU,EAAE,OAAO,CAAC,MAAoB;gBACxC,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAU,EAAE,QAA4B;QACjD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;gBACnC,EAAE,EAAE,QAAQ,CAAC,EAAY;gBACzB,cAAc,EAAE,QAAQ,CAAC,cAAwB;gBACjD,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK;gBAC7B,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW;gBACzC,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,KAAK,EAAE,QAAQ,CAAC,KAAiB;gBACjC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;gBACzE,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACvC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;aACxC,CAAC,CAAC,kBAAkB,CAAC;gBACpB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBACvB,GAAG,EAAE;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,KAAK,EAAE,QAAQ,CAAC,KAAiB;oBACjC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;oBACzE,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;iBACxC;aACF,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAA4B;QACnD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAY,CAAC,CAAC,CAAC;YACvE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAA4B;QACnD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAY,CAAC,CAAC,CAAC;YACtH,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAA4B;QACtC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7E,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,GAA4B;QAC3C,OAAO,IAAI,CAAC,YAAY,CAAC;YACvB,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,cAAc,EAAE,GAAG,CAAC,cAAwB;YAC5C,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAe,EAAE,WAAW,EAAE,GAAG,CAAC,WAAqB,EAAE;YAC/E,MAAM,EAAE,GAAG,CAAC,MAAoB;YAChC,KAAK,EAAE,GAAG,CAAC,KAAiB;YAC5B,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAE,GAAG,CAAC,WAAoB,CAAC,WAAW,EAAsB,CAAC,CAAC,CAAC,IAAI;YACjG,SAAS,EAAG,GAAG,CAAC,SAAkB,CAAC,WAAW,EAAsB;YACpE,SAAS,EAAG,GAAG,CAAC,SAAkB,CAAC,WAAW,EAAsB;YACpE,OAAO,EAAE,OAA0B;YACnC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAE,GAAG,CAAC,SAAkB,CAAC,WAAW,EAAsB,CAAC,CAAC,CAAC,IAAI;SAC5F,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,19 @@
1
+ import type { Result } from "@connexia/domain";
2
+ import type { PaginatedResult } from "@connexia/domain";
3
+ import type { RepositoryOptions } from "@connexia/domain";
4
+ import type { AuditEventId, UserId, TenantId } from "@connexia/domain";
5
+ import type { AuditEventRepository } from "@connexia/domain";
6
+ import { type AuditEvent, type AuditAction } from "@connexia/domain";
7
+ export declare class InMemoryAuditEventRepository implements AuditEventRepository {
8
+ private readonly store;
9
+ findById(id: AuditEventId, _options?: RepositoryOptions): Promise<Result<AuditEvent | null>>;
10
+ findByTenant(tenantId: TenantId, _options?: RepositoryOptions): Promise<Result<PaginatedResult<AuditEvent>>>;
11
+ findByUser(userId: UserId, _options?: RepositoryOptions): Promise<Result<PaginatedResult<AuditEvent>>>;
12
+ findByAction(action: AuditAction, tenantId: TenantId, _options?: RepositoryOptions): Promise<Result<PaginatedResult<AuditEvent>>>;
13
+ findByResourceType(resourceType: string, tenantId: TenantId, _options?: RepositoryOptions): Promise<Result<PaginatedResult<AuditEvent>>>;
14
+ save(event: AuditEvent, _options?: RepositoryOptions): Promise<Result<AuditEvent>>;
15
+ delete(id: AuditEventId, _options?: RepositoryOptions): Promise<Result<void>>;
16
+ exists(id: AuditEventId, _options?: RepositoryOptions): Promise<Result<boolean>>;
17
+ count(_options?: RepositoryOptions): Promise<Result<number>>;
18
+ }
19
+ //# sourceMappingURL=in-memory-audit-event-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-audit-event-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/in-memory-audit-event-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAErE,qBAAa,4BAA6B,YAAW,oBAAoB;IACvE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEjD,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAI5F,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAS5G,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAStG,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IASjI,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IASxI,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAKlF,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAK7E,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAIhF,KAAK,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAGnE"}
@@ -0,0 +1,54 @@
1
+ import { ok } from "@connexia/domain";
2
+ export class InMemoryAuditEventRepository {
3
+ store = new Map();
4
+ async findById(id, _options) {
5
+ return ok(this.store.get(id) ?? null);
6
+ }
7
+ async findByTenant(tenantId, _options) {
8
+ const items = Array.from(this.store.values()).filter(e => e.tenantId === tenantId);
9
+ return ok({
10
+ items,
11
+ totalCount: items.length,
12
+ hasMore: false,
13
+ });
14
+ }
15
+ async findByUser(userId, _options) {
16
+ const items = Array.from(this.store.values()).filter(e => e.userId === userId);
17
+ return ok({
18
+ items,
19
+ totalCount: items.length,
20
+ hasMore: false,
21
+ });
22
+ }
23
+ async findByAction(action, tenantId, _options) {
24
+ const items = Array.from(this.store.values()).filter(e => e.action === action && e.tenantId === tenantId);
25
+ return ok({
26
+ items,
27
+ totalCount: items.length,
28
+ hasMore: false,
29
+ });
30
+ }
31
+ async findByResourceType(resourceType, tenantId, _options) {
32
+ const items = Array.from(this.store.values()).filter(e => e.resourceType === resourceType && e.tenantId === tenantId);
33
+ return ok({
34
+ items,
35
+ totalCount: items.length,
36
+ hasMore: false,
37
+ });
38
+ }
39
+ async save(event, _options) {
40
+ this.store.set(event.id, event);
41
+ return ok(event);
42
+ }
43
+ async delete(id, _options) {
44
+ this.store.delete(id);
45
+ return ok(undefined);
46
+ }
47
+ async exists(id, _options) {
48
+ return ok(this.store.has(id));
49
+ }
50
+ async count(_options) {
51
+ return ok(this.store.size);
52
+ }
53
+ }
54
+ //# sourceMappingURL=in-memory-audit-event-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-audit-event-repository.js","sourceRoot":"","sources":["../../src/repositories/in-memory-audit-event-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { Result } from "@connexia/domain";
2
+ import type { PaginatedResult } from "@connexia/domain";
3
+ import type { RepositoryOptions } from "@connexia/domain";
4
+ import type { BuildId, ProjectId } from "@connexia/domain";
5
+ import type { BuildRepository } from "@connexia/domain";
6
+ import { type Build, type BuildStatus } from "@connexia/domain";
7
+ export declare class InMemoryBuildRepository implements BuildRepository {
8
+ private readonly store;
9
+ findById(id: BuildId, _options?: RepositoryOptions): Promise<Result<Build | null>>;
10
+ findByProject(projectId: ProjectId, _options?: RepositoryOptions): Promise<Result<PaginatedResult<Build>>>;
11
+ findByStatus(status: BuildStatus, _options?: RepositoryOptions): Promise<Result<PaginatedResult<Build>>>;
12
+ findLatestByProject(projectId: ProjectId, _options?: RepositoryOptions): Promise<Result<Build | null>>;
13
+ save(build: Build, _options?: RepositoryOptions): Promise<Result<Build>>;
14
+ delete(id: BuildId, _options?: RepositoryOptions): Promise<Result<void>>;
15
+ exists(id: BuildId, _options?: RepositoryOptions): Promise<Result<boolean>>;
16
+ count(_options?: RepositoryOptions): Promise<Result<number>>;
17
+ }
18
+ //# sourceMappingURL=in-memory-build-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-build-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/in-memory-build-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEhE,qBAAa,uBAAwB,YAAW,eAAe;IAC7D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4B;IAE5C,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAIlF,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAS1G,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IASxG,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAOtG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAKxE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAKxE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAI3E,KAAK,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAGnE"}
@@ -0,0 +1,44 @@
1
+ import { ok } from "@connexia/domain";
2
+ export class InMemoryBuildRepository {
3
+ store = new Map();
4
+ async findById(id, _options) {
5
+ return ok(this.store.get(id) ?? null);
6
+ }
7
+ async findByProject(projectId, _options) {
8
+ const items = Array.from(this.store.values()).filter(b => b.projectId === projectId);
9
+ return ok({
10
+ items,
11
+ totalCount: items.length,
12
+ hasMore: false,
13
+ });
14
+ }
15
+ async findByStatus(status, _options) {
16
+ const items = Array.from(this.store.values()).filter(b => b.status === status);
17
+ return ok({
18
+ items,
19
+ totalCount: items.length,
20
+ hasMore: false,
21
+ });
22
+ }
23
+ async findLatestByProject(projectId, _options) {
24
+ const builds = Array.from(this.store.values())
25
+ .filter(b => b.projectId === projectId)
26
+ .sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
27
+ return ok(builds[0] ?? null);
28
+ }
29
+ async save(build, _options) {
30
+ this.store.set(build.id, build);
31
+ return ok(build);
32
+ }
33
+ async delete(id, _options) {
34
+ this.store.delete(id);
35
+ return ok(undefined);
36
+ }
37
+ async exists(id, _options) {
38
+ return ok(this.store.has(id));
39
+ }
40
+ async count(_options) {
41
+ return ok(this.store.size);
42
+ }
43
+ }
44
+ //# sourceMappingURL=in-memory-build-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-build-repository.js","sourceRoot":"","sources":["../../src/repositories/in-memory-build-repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAQtC,MAAM,OAAO,uBAAuB;IACjB,KAAK,GAAG,IAAI,GAAG,EAAiB,CAAC;IAElD,KAAK,CAAC,QAAQ,CAAC,EAAW,EAAE,QAA4B;QACtD,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAY,CAAC,IAAI,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAoB,EAAE,QAA4B;QACpE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QACrF,OAAO,EAAE,CAAC;YACR,KAAK;YACL,UAAU,EAAE,KAAK,CAAC,MAAoB;YACtC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAmB,EAAE,QAA4B;QAClE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAC/E,OAAO,EAAE,CAAC;YACR,KAAK;YACL,UAAU,EAAE,KAAK,CAAC,MAAoB;YACtC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,SAAoB,EAAE,QAA4B;QAC1E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC;aACtC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACrF,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAY,EAAE,QAA4B;QACnD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAY,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAW,EAAE,QAA4B;QACpD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAY,CAAC,CAAC;QAChC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAW,EAAE,QAA4B;QACpD,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAY,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAA4B;QACtC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,19 @@
1
+ import type { Result } from "@connexia/domain";
2
+ import type { PaginatedResult } from "@connexia/domain";
3
+ import type { RepositoryOptions } from "@connexia/domain";
4
+ import type { DeploymentId, ProjectId, EnvironmentId } from "@connexia/domain";
5
+ import type { DeploymentRepository } from "@connexia/domain";
6
+ import { type Deployment, type DeploymentStatus } from "@connexia/domain";
7
+ export declare class InMemoryDeploymentRepository implements DeploymentRepository {
8
+ private readonly store;
9
+ findById(id: DeploymentId, _options?: RepositoryOptions): Promise<Result<Deployment | null>>;
10
+ findByProject(projectId: ProjectId, _options?: RepositoryOptions): Promise<Result<PaginatedResult<Deployment>>>;
11
+ findByStatus(status: DeploymentStatus, _options?: RepositoryOptions): Promise<Result<PaginatedResult<Deployment>>>;
12
+ findActiveByEnvironment(environmentId: EnvironmentId, _options?: RepositoryOptions): Promise<Result<Deployment | null>>;
13
+ findLatestByProject(projectId: ProjectId, _options?: RepositoryOptions): Promise<Result<Deployment | null>>;
14
+ save(deployment: Deployment, _options?: RepositoryOptions): Promise<Result<Deployment>>;
15
+ delete(id: DeploymentId, _options?: RepositoryOptions): Promise<Result<void>>;
16
+ exists(id: DeploymentId, _options?: RepositoryOptions): Promise<Result<boolean>>;
17
+ count(_options?: RepositoryOptions): Promise<Result<number>>;
18
+ }
19
+ //# sourceMappingURL=in-memory-deployment-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-deployment-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/in-memory-deployment-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,qBAAa,4BAA6B,YAAW,oBAAoB;IACvE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEjD,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAI5F,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAS/G,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IASlH,uBAAuB,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAKvH,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAO3G,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAKvF,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAK7E,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAIhF,KAAK,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAGnE"}
@@ -0,0 +1,48 @@
1
+ import { ok } from "@connexia/domain";
2
+ export class InMemoryDeploymentRepository {
3
+ store = new Map();
4
+ async findById(id, _options) {
5
+ return ok(this.store.get(id) ?? null);
6
+ }
7
+ async findByProject(projectId, _options) {
8
+ const items = Array.from(this.store.values()).filter(d => d.projectId === projectId);
9
+ return ok({
10
+ items,
11
+ totalCount: items.length,
12
+ hasMore: false,
13
+ });
14
+ }
15
+ async findByStatus(status, _options) {
16
+ const items = Array.from(this.store.values()).filter(d => d.status === status);
17
+ return ok({
18
+ items,
19
+ totalCount: items.length,
20
+ hasMore: false,
21
+ });
22
+ }
23
+ async findActiveByEnvironment(environmentId, _options) {
24
+ const deployment = Array.from(this.store.values()).find(d => d.environmentId === environmentId && d.status === "active");
25
+ return ok(deployment ?? null);
26
+ }
27
+ async findLatestByProject(projectId, _options) {
28
+ const deployments = Array.from(this.store.values())
29
+ .filter(d => d.projectId === projectId)
30
+ .sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
31
+ return ok(deployments[0] ?? null);
32
+ }
33
+ async save(deployment, _options) {
34
+ this.store.set(deployment.id, deployment);
35
+ return ok(deployment);
36
+ }
37
+ async delete(id, _options) {
38
+ this.store.delete(id);
39
+ return ok(undefined);
40
+ }
41
+ async exists(id, _options) {
42
+ return ok(this.store.has(id));
43
+ }
44
+ async count(_options) {
45
+ return ok(this.store.size);
46
+ }
47
+ }
48
+ //# sourceMappingURL=in-memory-deployment-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-deployment-repository.js","sourceRoot":"","sources":["../../src/repositories/in-memory-deployment-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { Result } from "@connexia/domain";
2
+ import type { PaginatedResult } from "@connexia/domain";
3
+ import type { RepositoryOptions } from "@connexia/domain";
4
+ import type { OrganizationId } from "@connexia/domain";
5
+ import type { OrganizationRepository } from "@connexia/domain";
6
+ import { type Organization, type OrganizationStatus } from "@connexia/domain";
7
+ export declare class InMemoryOrganizationRepository implements OrganizationRepository {
8
+ private readonly store;
9
+ findById(id: OrganizationId, _options?: RepositoryOptions): Promise<Result<Organization | null>>;
10
+ findBySlug(slug: string, _options?: RepositoryOptions): Promise<Result<Organization | null>>;
11
+ findByStatus(status: OrganizationStatus, _options?: RepositoryOptions): Promise<Result<PaginatedResult<Organization>>>;
12
+ save(organization: Organization, _options?: RepositoryOptions): Promise<Result<Organization>>;
13
+ delete(id: OrganizationId, _options?: RepositoryOptions): Promise<Result<void>>;
14
+ exists(id: OrganizationId, _options?: RepositoryOptions): Promise<Result<boolean>>;
15
+ count(_options?: RepositoryOptions): Promise<Result<number>>;
16
+ }
17
+ //# sourceMappingURL=in-memory-organization-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-organization-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/in-memory-organization-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,qBAAa,8BAA+B,YAAW,sBAAsB;IAC3E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;IAEnD,QAAQ,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAIhG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAK5F,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;IAStH,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAK7F,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAK/E,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAIlF,KAAK,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAGnE"}
@@ -0,0 +1,34 @@
1
+ import { ok } from "@connexia/domain";
2
+ export class InMemoryOrganizationRepository {
3
+ store = new Map();
4
+ async findById(id, _options) {
5
+ return ok(this.store.get(id) ?? null);
6
+ }
7
+ async findBySlug(slug, _options) {
8
+ const org = Array.from(this.store.values()).find(o => o.slug === slug);
9
+ return ok(org ?? null);
10
+ }
11
+ async findByStatus(status, _options) {
12
+ const items = Array.from(this.store.values()).filter(o => o.status === status);
13
+ return ok({
14
+ items,
15
+ totalCount: items.length,
16
+ hasMore: false,
17
+ });
18
+ }
19
+ async save(organization, _options) {
20
+ this.store.set(organization.id, organization);
21
+ return ok(organization);
22
+ }
23
+ async delete(id, _options) {
24
+ this.store.delete(id);
25
+ return ok(undefined);
26
+ }
27
+ async exists(id, _options) {
28
+ return ok(this.store.has(id));
29
+ }
30
+ async count(_options) {
31
+ return ok(this.store.size);
32
+ }
33
+ }
34
+ //# sourceMappingURL=in-memory-organization-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-organization-repository.js","sourceRoot":"","sources":["../../src/repositories/in-memory-organization-repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAQtC,MAAM,OAAO,8BAA8B;IACxB,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEzD,KAAK,CAAC,QAAQ,CAAC,EAAkB,EAAE,QAA4B;QAC7D,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAY,CAAC,IAAI,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,QAA4B;QACzD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACvE,OAAO,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAA0B,EAAE,QAA4B;QACzE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAC/E,OAAO,EAAE,CAAC;YACR,KAAK;YACL,UAAU,EAAE,KAAK,CAAC,MAAoB;YACtC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAA0B,EAAE,QAA4B;QACjE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAY,EAAE,YAAY,CAAC,CAAC;QACxD,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAkB,EAAE,QAA4B;QAC3D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAY,CAAC,CAAC;QAChC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAkB,EAAE,QAA4B;QAC3D,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAY,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAA4B;QACtC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * In-Memory Plugin Repository Implementation
3
+ */
4
+ import type { Result } from "@connexia/domain";
5
+ import type { PaginatedResult } from "@connexia/domain";
6
+ import type { RepositoryOptions, FindOptions } from "@connexia/domain";
7
+ import type { PluginId } from "@connexia/domain";
8
+ import type { PluginRepository } from "@connexia/domain";
9
+ import { Plugin, type PluginStatus } from "@connexia/domain";
10
+ export declare class InMemoryPluginRepository implements PluginRepository {
11
+ private readonly store;
12
+ findById(id: PluginId, _options?: RepositoryOptions): Promise<Result<Plugin | null>>;
13
+ findByName(name: string, _options?: RepositoryOptions): Promise<Result<Plugin | null>>;
14
+ findByStatus(status: PluginStatus, options?: FindOptions): Promise<Result<PaginatedResult<Plugin>>>;
15
+ save(plugin: Plugin, _options?: RepositoryOptions): Promise<Result<Plugin>>;
16
+ delete(id: PluginId, _options?: RepositoryOptions): Promise<Result<void>>;
17
+ exists(id: PluginId, _options?: RepositoryOptions): Promise<Result<boolean>>;
18
+ count(_options?: RepositoryOptions): Promise<Result<number>>;
19
+ }
20
+ //# sourceMappingURL=in-memory-plugin-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-plugin-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/in-memory-plugin-repository.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE7D,qBAAa,wBAAyB,YAAW,gBAAgB;IAC/D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAE7C,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAIpF,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAKtF,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IASnG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAK3E,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAKzE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAI5E,KAAK,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAGnE"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * In-Memory Plugin Repository Implementation
3
+ */
4
+ import { ok } from "@connexia/domain";
5
+ export class InMemoryPluginRepository {
6
+ store = new Map();
7
+ async findById(id, _options) {
8
+ return ok(this.store.get(id) ?? null);
9
+ }
10
+ async findByName(name, _options) {
11
+ const plugin = Array.from(this.store.values()).find(p => p.manifest.name === name);
12
+ return ok(plugin ?? null);
13
+ }
14
+ async findByStatus(status, options) {
15
+ const items = Array.from(this.store.values()).filter(p => p.status === status);
16
+ return ok({
17
+ items,
18
+ totalCount: items.length,
19
+ hasMore: false,
20
+ });
21
+ }
22
+ async save(plugin, _options) {
23
+ this.store.set(plugin.id, plugin);
24
+ return ok(plugin);
25
+ }
26
+ async delete(id, _options) {
27
+ this.store.delete(id);
28
+ return ok(undefined);
29
+ }
30
+ async exists(id, _options) {
31
+ return ok(this.store.has(id));
32
+ }
33
+ async count(_options) {
34
+ return ok(this.store.size);
35
+ }
36
+ }
37
+ //# sourceMappingURL=in-memory-plugin-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-plugin-repository.js","sourceRoot":"","sources":["../../src/repositories/in-memory-plugin-repository.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,EAAE,EAAO,MAAM,kBAAkB,CAAC;AAQ3C,MAAM,OAAO,wBAAwB;IAClB,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEnD,KAAK,CAAC,QAAQ,CAAC,EAAY,EAAE,QAA4B;QACvD,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAY,CAAC,IAAI,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,QAA4B;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACnF,OAAO,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAoB,EAAE,OAAqB;QAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAC/E,OAAO,EAAE,CAAC;YACR,KAAK;YACL,UAAU,EAAE,KAAK,CAAC,MAAoB;YACtC,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,QAA4B;QACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAY,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAY,EAAE,QAA4B;QACrD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAY,CAAC,CAAC;QAChC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAY,EAAE,QAA4B;QACrD,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAY,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAA4B;QACtC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import type { Result } from "@connexia/domain";
2
+ import type { PaginatedResult } from "@connexia/domain";
3
+ import type { RepositoryOptions } from "@connexia/domain";
4
+ import type { ProjectId } from "@connexia/domain";
5
+ import type { ProjectRepository } from "@connexia/domain";
6
+ import { type Project, type ProjectStatus } from "@connexia/domain";
7
+ export declare class InMemoryProjectRepository implements ProjectRepository {
8
+ private readonly store;
9
+ findById(id: ProjectId, _options?: RepositoryOptions): Promise<Result<Project | null>>;
10
+ findByOrganization(organizationId: string, _options?: RepositoryOptions): Promise<Result<PaginatedResult<Project>>>;
11
+ findByStatus(status: ProjectStatus, _options?: RepositoryOptions): Promise<Result<PaginatedResult<Project>>>;
12
+ save(project: Project, _options?: RepositoryOptions): Promise<Result<Project>>;
13
+ delete(id: ProjectId, _options?: RepositoryOptions): Promise<Result<void>>;
14
+ exists(id: ProjectId, _options?: RepositoryOptions): Promise<Result<boolean>>;
15
+ count(_options?: RepositoryOptions): Promise<Result<number>>;
16
+ }
17
+ //# sourceMappingURL=in-memory-project-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-project-repository.d.ts","sourceRoot":"","sources":["../../src/repositories/in-memory-project-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEpE,qBAAa,yBAA0B,YAAW,iBAAiB;IACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IAE9C,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAItF,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IASnH,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAS5G,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAK9E,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAK1E,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAI7E,KAAK,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAGnE"}