@c15t/backend 1.8.0 → 2.0.0-rc.0

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 (1026) hide show
  1. package/.turbo/turbo-build.log +44 -78
  2. package/CHANGELOG.md +13 -0
  3. package/dist/cache/adapters/cloudflare-kv.d.ts +46 -0
  4. package/dist/cache/adapters/cloudflare-kv.d.ts.map +1 -0
  5. package/dist/cache/adapters/index.d.ts +11 -0
  6. package/dist/cache/adapters/index.d.ts.map +1 -0
  7. package/dist/cache/adapters/memory.d.ts +47 -0
  8. package/dist/cache/adapters/memory.d.ts.map +1 -0
  9. package/dist/cache/adapters/upstash-redis.d.ts +75 -0
  10. package/dist/cache/adapters/upstash-redis.d.ts.map +1 -0
  11. package/dist/cache/gvl-resolver.d.ts +86 -0
  12. package/dist/cache/gvl-resolver.d.ts.map +1 -0
  13. package/dist/cache/index.d.ts +13 -0
  14. package/dist/cache/index.d.ts.map +1 -0
  15. package/dist/cache/keys.d.ts +51 -0
  16. package/dist/cache/keys.d.ts.map +1 -0
  17. package/dist/cache/types.d.ts +61 -0
  18. package/dist/cache/types.d.ts.map +1 -0
  19. package/dist/cache.cjs +530 -0
  20. package/dist/cache.js +467 -0
  21. package/dist/core.cjs +2569 -3840
  22. package/dist/core.d.ts +19 -409
  23. package/dist/core.d.ts.map +1 -1
  24. package/dist/core.js +2378 -3680
  25. package/dist/db/adapters/drizzle.cjs +36 -0
  26. package/dist/db/adapters/drizzle.d.ts.map +1 -0
  27. package/dist/db/adapters/index.d.ts.map +1 -0
  28. package/dist/db/adapters/kysely.cjs +36 -0
  29. package/dist/db/adapters/kysely.d.ts.map +1 -0
  30. package/dist/db/adapters/mongo.cjs +36 -0
  31. package/dist/db/adapters/mongo.d.ts.map +1 -0
  32. package/dist/db/adapters/prisma.cjs +36 -0
  33. package/dist/db/adapters/prisma.d.ts.map +1 -0
  34. package/dist/db/adapters/typeorm.cjs +36 -0
  35. package/dist/db/adapters/typeorm.d.ts.map +1 -0
  36. package/dist/db/adapters.cjs +18 -0
  37. package/dist/db/migrator/index.d.ts.map +1 -0
  38. package/dist/db/migrator.cjs +61 -0
  39. package/dist/db/registry/consent-policy.d.ts +23 -0
  40. package/dist/db/registry/consent-policy.d.ts.map +1 -0
  41. package/dist/db/registry/consent-purpose.d.ts +11 -0
  42. package/dist/db/registry/consent-purpose.d.ts.map +1 -0
  43. package/dist/db/registry/domain.d.ts +18 -0
  44. package/dist/db/registry/domain.d.ts.map +1 -0
  45. package/dist/db/registry/index.d.ts +57 -0
  46. package/dist/db/registry/index.d.ts.map +1 -0
  47. package/dist/db/registry/subject.d.ts +32 -0
  48. package/dist/db/registry/subject.d.ts.map +1 -0
  49. package/dist/db/registry/types.d.ts +10 -0
  50. package/dist/db/registry/types.d.ts.map +1 -0
  51. package/dist/db/registry/utils/generate-id.d.ts +25 -0
  52. package/dist/db/registry/utils/generate-id.d.ts.map +1 -0
  53. package/dist/db/registry/utils.d.ts +25 -0
  54. package/dist/db/registry/utils.d.ts.map +1 -0
  55. package/dist/db/schema/1.0.0/audit-log.d.ts +14 -0
  56. package/dist/db/schema/1.0.0/audit-log.d.ts.map +1 -0
  57. package/dist/db/schema/1.0.0/consent-policy.d.ts +13 -0
  58. package/dist/db/schema/1.0.0/consent-policy.d.ts.map +1 -0
  59. package/dist/db/schema/1.0.0/consent-purpose.d.ts +13 -0
  60. package/dist/db/schema/1.0.0/consent-purpose.d.ts.map +1 -0
  61. package/dist/db/schema/1.0.0/consent-record.d.ts +9 -0
  62. package/dist/db/schema/1.0.0/consent-record.d.ts.map +1 -0
  63. package/dist/db/schema/1.0.0/consent.d.ts +18 -0
  64. package/dist/db/schema/1.0.0/consent.d.ts.map +1 -0
  65. package/dist/db/schema/1.0.0/domain.d.ts +11 -0
  66. package/dist/db/schema/1.0.0/domain.d.ts.map +1 -0
  67. package/dist/db/schema/1.0.0/index.d.ts +1506 -0
  68. package/dist/db/schema/1.0.0/index.d.ts.map +1 -0
  69. package/dist/db/schema/1.0.0/subject.d.ts +11 -0
  70. package/dist/db/schema/1.0.0/subject.d.ts.map +1 -0
  71. package/dist/db/schema/2.0.0/audit-log.d.ts +16 -0
  72. package/dist/db/schema/2.0.0/audit-log.d.ts.map +1 -0
  73. package/dist/db/schema/2.0.0/consent-policy.d.ts +13 -0
  74. package/dist/db/schema/2.0.0/consent-policy.d.ts.map +1 -0
  75. package/dist/db/schema/2.0.0/consent-purpose.d.ts +10 -0
  76. package/dist/db/schema/2.0.0/consent-purpose.d.ts.map +1 -0
  77. package/dist/db/schema/2.0.0/consent.d.ts +24 -0
  78. package/dist/db/schema/2.0.0/consent.d.ts.map +1 -0
  79. package/dist/db/schema/2.0.0/domain.d.ts +10 -0
  80. package/dist/db/schema/2.0.0/domain.d.ts.map +1 -0
  81. package/dist/db/schema/2.0.0/index.d.ts +586 -0
  82. package/dist/db/schema/2.0.0/index.d.ts.map +1 -0
  83. package/dist/db/schema/2.0.0/subject.d.ts +12 -0
  84. package/dist/db/schema/2.0.0/subject.d.ts.map +1 -0
  85. package/dist/db/schema/index.d.ts +2664 -0
  86. package/dist/db/schema/index.d.ts.map +1 -0
  87. package/dist/db/schema.cjs +359 -0
  88. package/dist/db/schema.js +261 -0
  89. package/dist/db/tenant-scope.d.ts +20 -0
  90. package/dist/db/tenant-scope.d.ts.map +1 -0
  91. package/dist/define-config.cjs +36 -0
  92. package/dist/define-config.d.ts.map +1 -0
  93. package/dist/handlers/consent/check.handler.d.ts +24 -0
  94. package/dist/handlers/consent/check.handler.d.ts.map +1 -0
  95. package/dist/handlers/consent/index.d.ts +11 -339
  96. package/dist/handlers/consent/index.d.ts.map +1 -1
  97. package/dist/handlers/init/geo.d.ts +34 -0
  98. package/dist/handlers/init/geo.d.ts.map +1 -0
  99. package/dist/handlers/init/index.d.ts +157 -0
  100. package/dist/handlers/init/index.d.ts.map +1 -0
  101. package/dist/handlers/init/translations.d.ts +28 -0
  102. package/dist/handlers/init/translations.d.ts.map +1 -0
  103. package/dist/handlers/status/index.d.ts +7 -0
  104. package/dist/handlers/status/index.d.ts.map +1 -0
  105. package/dist/handlers/status/status.handler.d.ts +26 -0
  106. package/dist/handlers/status/status.handler.d.ts.map +1 -0
  107. package/dist/handlers/subject/get.handler.d.ts +32 -0
  108. package/dist/handlers/subject/get.handler.d.ts.map +1 -0
  109. package/dist/handlers/subject/index.d.ts +10 -0
  110. package/dist/handlers/subject/index.d.ts.map +1 -0
  111. package/dist/handlers/subject/list.handler.d.ts +31 -0
  112. package/dist/handlers/subject/list.handler.d.ts.map +1 -0
  113. package/dist/handlers/subject/patch.handler.d.ts +22 -0
  114. package/dist/handlers/subject/patch.handler.d.ts.map +1 -0
  115. package/dist/handlers/subject/post.handler.d.ts +25 -0
  116. package/dist/handlers/subject/post.handler.d.ts.map +1 -0
  117. package/dist/handlers/utils/consent-enrichment.d.ts +52 -0
  118. package/dist/handlers/utils/consent-enrichment.d.ts.map +1 -0
  119. package/dist/init.d.ts +20 -26
  120. package/dist/init.d.ts.map +1 -1
  121. package/dist/middleware/auth/index.d.ts +7 -0
  122. package/dist/middleware/auth/index.d.ts.map +1 -0
  123. package/dist/middleware/auth/validate-api-key.d.ts +49 -0
  124. package/dist/middleware/auth/validate-api-key.d.ts.map +1 -0
  125. package/dist/middleware/cors/cors.d.ts +13 -17
  126. package/dist/middleware/cors/cors.d.ts.map +1 -1
  127. package/dist/middleware/cors/is-origin-trusted.d.ts.map +1 -1
  128. package/dist/middleware/cors/process-cors.d.ts +1 -1
  129. package/dist/middleware/cors/process-cors.d.ts.map +1 -1
  130. package/dist/middleware/openapi/config.d.ts +16 -2
  131. package/dist/middleware/openapi/config.d.ts.map +1 -1
  132. package/dist/middleware/openapi/handlers.d.ts +1 -24
  133. package/dist/middleware/openapi/handlers.d.ts.map +1 -1
  134. package/dist/middleware/openapi/index.d.ts +3 -2
  135. package/dist/middleware/openapi/index.d.ts.map +1 -1
  136. package/dist/middleware/process-ip/index.d.ts +12 -0
  137. package/dist/middleware/process-ip/index.d.ts.map +1 -0
  138. package/dist/router.cjs +1288 -1776
  139. package/dist/router.d.ts +9 -363
  140. package/dist/router.d.ts.map +1 -1
  141. package/dist/router.js +1277 -1658
  142. package/dist/routes/consent.d.ts +16 -0
  143. package/dist/routes/consent.d.ts.map +1 -0
  144. package/dist/routes/index.d.ts +10 -0
  145. package/dist/routes/index.d.ts.map +1 -0
  146. package/dist/routes/init.d.ts +16 -0
  147. package/dist/routes/init.d.ts.map +1 -0
  148. package/dist/routes/status.d.ts +16 -0
  149. package/dist/routes/status.d.ts.map +1 -0
  150. package/dist/routes/subject.d.ts +16 -0
  151. package/dist/routes/subject.d.ts.map +1 -0
  152. package/dist/types/api.d.ts +5 -1
  153. package/dist/types/api.d.ts.map +1 -1
  154. package/dist/types/index.d.ts +253 -14
  155. package/dist/types/index.d.ts.map +1 -1
  156. package/dist/types.cjs +37 -0
  157. package/dist/types.js +3 -0
  158. package/dist/utils/create-telemetry-options.d.ts +71 -0
  159. package/dist/utils/create-telemetry-options.d.ts.map +1 -0
  160. package/dist/utils/env.d.ts.map +1 -0
  161. package/dist/utils/extract-error-message.d.ts +9 -0
  162. package/dist/utils/extract-error-message.d.ts.map +1 -0
  163. package/dist/utils/index.d.ts +4 -0
  164. package/dist/utils/index.d.ts.map +1 -0
  165. package/dist/utils/instrumentation.d.ts +70 -0
  166. package/dist/utils/instrumentation.d.ts.map +1 -0
  167. package/dist/utils/logger.d.ts.map +1 -0
  168. package/dist/utils/metrics.d.ts +133 -0
  169. package/dist/utils/metrics.d.ts.map +1 -0
  170. package/dist/version.d.ts +1 -1
  171. package/dist/version.d.ts.map +1 -1
  172. package/package.json +143 -224
  173. package/rslib.config.ts +11 -34
  174. package/src/cache/adapters/cloudflare-kv.ts +71 -0
  175. package/src/cache/adapters/index.ts +22 -0
  176. package/src/cache/adapters/memory.ts +111 -0
  177. package/src/cache/adapters/upstash-redis.ts +113 -0
  178. package/src/cache/gvl-resolver.ts +289 -0
  179. package/src/cache/index.ts +34 -0
  180. package/src/cache/keys.ts +68 -0
  181. package/src/cache/types.ts +66 -0
  182. package/src/core.ts +254 -352
  183. package/src/db/migrator/index.ts +80 -0
  184. package/src/db/registry/consent-policy.test.ts +451 -0
  185. package/src/db/registry/consent-policy.ts +82 -0
  186. package/src/db/registry/consent-purpose.test.ts +428 -0
  187. package/src/db/registry/consent-purpose.ts +61 -0
  188. package/src/db/registry/domain.test.ts +445 -0
  189. package/src/db/registry/domain.ts +91 -0
  190. package/src/db/registry/index.ts +14 -0
  191. package/src/db/registry/subject.test.ts +388 -0
  192. package/src/db/registry/subject.ts +129 -0
  193. package/src/db/registry/types.ts +10 -0
  194. package/src/db/registry/utils/generate-id.test.ts +216 -0
  195. package/src/db/registry/utils/generate-id.ts +133 -0
  196. package/src/db/registry/utils.ts +133 -0
  197. package/src/db/schema/1.0.0/audit-log.ts +15 -0
  198. package/src/db/schema/1.0.0/consent-policy.ts +14 -0
  199. package/src/db/schema/1.0.0/consent-purpose.ts +14 -0
  200. package/src/db/schema/1.0.0/consent-record.ts +10 -0
  201. package/src/db/schema/1.0.0/consent.ts +20 -0
  202. package/src/db/schema/1.0.0/domain.ts +12 -0
  203. package/src/db/schema/1.0.0/index.ts +48 -0
  204. package/src/db/schema/1.0.0/subject.ts +12 -0
  205. package/src/db/schema/2.0.0/audit-log.ts +18 -0
  206. package/src/db/schema/2.0.0/consent-policy.ts +28 -0
  207. package/src/db/schema/2.0.0/consent-purpose.ts +12 -0
  208. package/src/db/schema/2.0.0/consent.ts +26 -0
  209. package/src/db/schema/2.0.0/domain.ts +12 -0
  210. package/src/db/schema/2.0.0/index.ts +47 -0
  211. package/src/db/schema/2.0.0/subject.ts +14 -0
  212. package/src/db/schema/index.ts +15 -0
  213. package/src/db/tenant-scope.test.ts +750 -0
  214. package/src/db/tenant-scope.ts +103 -0
  215. package/src/handlers/consent/check.handler.ts +126 -0
  216. package/src/handlers/consent/index.ts +11 -10
  217. package/src/handlers/init/geo.test.ts +317 -0
  218. package/src/handlers/init/geo.ts +195 -0
  219. package/src/handlers/init/index.test.ts +205 -0
  220. package/src/handlers/init/index.ts +114 -0
  221. package/src/handlers/init/translations.test.ts +121 -0
  222. package/src/handlers/init/translations.ts +72 -0
  223. package/src/handlers/status/index.ts +7 -0
  224. package/src/handlers/status/status.handler.test.ts +155 -0
  225. package/src/handlers/status/status.handler.ts +51 -0
  226. package/src/handlers/subject/get.handler.ts +93 -0
  227. package/src/handlers/subject/index.ts +10 -0
  228. package/src/handlers/subject/list.handler.ts +93 -0
  229. package/src/handlers/subject/patch.handler.ts +122 -0
  230. package/src/handlers/subject/post.handler.test.ts +294 -0
  231. package/src/handlers/subject/post.handler.ts +254 -0
  232. package/src/handlers/utils/consent-enrichment.test.ts +380 -0
  233. package/src/handlers/utils/consent-enrichment.ts +218 -0
  234. package/src/init.test.ts +126 -0
  235. package/src/init.ts +70 -297
  236. package/src/middleware/auth/index.ts +11 -0
  237. package/src/middleware/auth/validate-api-key.test.ts +86 -0
  238. package/src/middleware/auth/validate-api-key.ts +107 -0
  239. package/src/middleware/cors/cors.test.ts +96 -380
  240. package/src/middleware/cors/cors.ts +88 -97
  241. package/src/middleware/cors/is-origin-trusted.ts +2 -1
  242. package/src/middleware/cors/process-cors.ts +1 -1
  243. package/src/middleware/openapi/config.ts +8 -6
  244. package/src/middleware/openapi/handlers.ts +2 -100
  245. package/src/middleware/openapi/index.ts +3 -2
  246. package/src/middleware/process-ip/index.test.ts +195 -0
  247. package/src/middleware/process-ip/index.ts +199 -0
  248. package/src/router.ts +14 -7
  249. package/src/routes/consent.ts +52 -0
  250. package/src/routes/index.ts +10 -0
  251. package/src/routes/init.ts +102 -0
  252. package/src/routes/status.ts +46 -0
  253. package/src/routes/subject.ts +152 -0
  254. package/src/types/api.ts +17 -2
  255. package/src/types/index.ts +288 -23
  256. package/src/utils/create-telemetry-options.test.ts +302 -0
  257. package/src/utils/create-telemetry-options.ts +229 -0
  258. package/src/utils/extract-error-message.ts +21 -0
  259. package/src/utils/index.ts +3 -0
  260. package/src/utils/instrumentation.test.ts +185 -0
  261. package/src/utils/instrumentation.ts +196 -0
  262. package/src/utils/logger.ts +41 -0
  263. package/src/utils/metrics.test.ts +323 -0
  264. package/src/utils/metrics.ts +402 -0
  265. package/src/utils/telemetry-pii.test.ts +325 -0
  266. package/src/version.ts +1 -1
  267. package/tsconfig.json +2 -4
  268. package/LICENSE.md +0 -595
  269. package/dist/__tests__/server.test.d.ts +0 -2
  270. package/dist/__tests__/server.test.d.ts.map +0 -1
  271. package/dist/contracts/consent/identify.contract.d.ts +0 -24
  272. package/dist/contracts/consent/identify.contract.d.ts.map +0 -1
  273. package/dist/contracts/consent/index.d.ts +0 -340
  274. package/dist/contracts/consent/index.d.ts.map +0 -1
  275. package/dist/contracts/consent/index.test.d.ts +0 -2
  276. package/dist/contracts/consent/index.test.d.ts.map +0 -1
  277. package/dist/contracts/consent/post.contract.d.ts +0 -117
  278. package/dist/contracts/consent/post.contract.d.ts.map +0 -1
  279. package/dist/contracts/consent/post.contract.test.d.ts +0 -2
  280. package/dist/contracts/consent/post.contract.test.d.ts.map +0 -1
  281. package/dist/contracts/consent/show-banner.contract.d.ts +0 -123
  282. package/dist/contracts/consent/show-banner.contract.d.ts.map +0 -1
  283. package/dist/contracts/consent/show-banner.contract.test.d.ts +0 -2
  284. package/dist/contracts/consent/show-banner.contract.test.d.ts.map +0 -1
  285. package/dist/contracts/consent/verify.contract.d.ts +0 -81
  286. package/dist/contracts/consent/verify.contract.d.ts.map +0 -1
  287. package/dist/contracts/consent/verify.contract.test.d.ts +0 -2
  288. package/dist/contracts/consent/verify.contract.test.d.ts.map +0 -1
  289. package/dist/contracts/index.d.ts +0 -731
  290. package/dist/contracts/index.d.ts.map +0 -1
  291. package/dist/contracts/meta/index.d.ts +0 -23
  292. package/dist/contracts/meta/index.d.ts.map +0 -1
  293. package/dist/contracts/meta/index.test.d.ts +0 -2
  294. package/dist/contracts/meta/index.test.d.ts.map +0 -1
  295. package/dist/contracts/meta/status.contract.d.ts +0 -22
  296. package/dist/contracts/meta/status.contract.d.ts.map +0 -1
  297. package/dist/contracts/meta/status.contract.test.d.ts +0 -2
  298. package/dist/contracts/meta/status.contract.test.d.ts.map +0 -1
  299. package/dist/contracts/shared/jurisdiction.schema.d.ts +0 -36
  300. package/dist/contracts/shared/jurisdiction.schema.d.ts.map +0 -1
  301. package/dist/contracts.cjs +0 -799
  302. package/dist/contracts.js +0 -636
  303. package/dist/handlers/consent/identify.handler.d.ts +0 -23
  304. package/dist/handlers/consent/identify.handler.d.ts.map +0 -1
  305. package/dist/handlers/consent/identify.handler.test.d.ts +0 -2
  306. package/dist/handlers/consent/identify.handler.test.d.ts.map +0 -1
  307. package/dist/handlers/consent/post.handler.d.ts +0 -139
  308. package/dist/handlers/consent/post.handler.d.ts.map +0 -1
  309. package/dist/handlers/consent/show-banner/geo.d.ts +0 -10
  310. package/dist/handlers/consent/show-banner/geo.d.ts.map +0 -1
  311. package/dist/handlers/consent/show-banner/geo.test.d.ts +0 -2
  312. package/dist/handlers/consent/show-banner/geo.test.d.ts.map +0 -1
  313. package/dist/handlers/consent/show-banner/handler.d.ts +0 -126
  314. package/dist/handlers/consent/show-banner/handler.d.ts.map +0 -1
  315. package/dist/handlers/consent/show-banner/handler.test.d.ts +0 -2
  316. package/dist/handlers/consent/show-banner/handler.test.d.ts.map +0 -1
  317. package/dist/handlers/consent/show-banner/translations.d.ts +0 -13
  318. package/dist/handlers/consent/show-banner/translations.d.ts.map +0 -1
  319. package/dist/handlers/consent/show-banner/translations.test.d.ts +0 -2
  320. package/dist/handlers/consent/show-banner/translations.test.d.ts.map +0 -1
  321. package/dist/handlers/consent/verify.handler.d.ts +0 -103
  322. package/dist/handlers/consent/verify.handler.d.ts.map +0 -1
  323. package/dist/handlers/meta/index.d.ts +0 -23
  324. package/dist/handlers/meta/index.d.ts.map +0 -1
  325. package/dist/handlers/meta/status.handler.d.ts +0 -21
  326. package/dist/handlers/meta/status.handler.d.ts.map +0 -1
  327. package/dist/middleware/cors/cors.test.d.ts +0 -2
  328. package/dist/middleware/cors/cors.test.d.ts.map +0 -1
  329. package/dist/middleware/cors/is-origin-trusted.test.d.ts +0 -2
  330. package/dist/middleware/cors/is-origin-trusted.test.d.ts.map +0 -1
  331. package/dist/pkgs/api-router/hooks/__tests__/processor.test.d.ts +0 -2
  332. package/dist/pkgs/api-router/hooks/__tests__/processor.test.d.ts.map +0 -1
  333. package/dist/pkgs/api-router/hooks/processor.d.ts +0 -87
  334. package/dist/pkgs/api-router/hooks/processor.d.ts.map +0 -1
  335. package/dist/pkgs/api-router/telemetry.d.ts +0 -15
  336. package/dist/pkgs/api-router/telemetry.d.ts.map +0 -1
  337. package/dist/pkgs/api-router/types/router-props.d.ts +0 -32
  338. package/dist/pkgs/api-router/types/router-props.d.ts.map +0 -1
  339. package/dist/pkgs/api-router/utils/ip.d.ts +0 -44
  340. package/dist/pkgs/api-router/utils/ip.d.ts.map +0 -1
  341. package/dist/pkgs/data-model/fields/field-factory.d.ts +0 -151
  342. package/dist/pkgs/data-model/fields/field-factory.d.ts.map +0 -1
  343. package/dist/pkgs/data-model/fields/field-inference.d.ts +0 -76
  344. package/dist/pkgs/data-model/fields/field-inference.d.ts.map +0 -1
  345. package/dist/pkgs/data-model/fields/field-types.d.ts +0 -182
  346. package/dist/pkgs/data-model/fields/field-types.d.ts.map +0 -1
  347. package/dist/pkgs/data-model/fields/id-generator.d.ts +0 -19
  348. package/dist/pkgs/data-model/fields/id-generator.d.ts.map +0 -1
  349. package/dist/pkgs/data-model/fields/index.cjs +0 -159
  350. package/dist/pkgs/data-model/fields/index.d.ts +0 -13
  351. package/dist/pkgs/data-model/fields/index.d.ts.map +0 -1
  352. package/dist/pkgs/data-model/fields/index.js +0 -106
  353. package/dist/pkgs/data-model/fields/superjson-utils.d.ts +0 -12
  354. package/dist/pkgs/data-model/fields/superjson-utils.d.ts.map +0 -1
  355. package/dist/pkgs/data-model/fields/zod-fields.d.ts +0 -331
  356. package/dist/pkgs/data-model/fields/zod-fields.d.ts.map +0 -1
  357. package/dist/pkgs/data-model/hooks/create-hooks.d.ts +0 -32
  358. package/dist/pkgs/data-model/hooks/create-hooks.d.ts.map +0 -1
  359. package/dist/pkgs/data-model/hooks/index.d.ts +0 -40
  360. package/dist/pkgs/data-model/hooks/index.d.ts.map +0 -1
  361. package/dist/pkgs/data-model/hooks/types.d.ts +0 -134
  362. package/dist/pkgs/data-model/hooks/types.d.ts.map +0 -1
  363. package/dist/pkgs/data-model/hooks/update-hooks.d.ts +0 -33
  364. package/dist/pkgs/data-model/hooks/update-hooks.d.ts.map +0 -1
  365. package/dist/pkgs/data-model/hooks/update-many-hooks.d.ts +0 -55
  366. package/dist/pkgs/data-model/hooks/update-many-hooks.d.ts.map +0 -1
  367. package/dist/pkgs/data-model/hooks/utils.d.ts +0 -62
  368. package/dist/pkgs/data-model/hooks/utils.d.ts.map +0 -1
  369. package/dist/pkgs/data-model/hooks/with-hooks-factory.d.ts +0 -33
  370. package/dist/pkgs/data-model/hooks/with-hooks-factory.d.ts.map +0 -1
  371. package/dist/pkgs/data-model/index.cjs +0 -1603
  372. package/dist/pkgs/data-model/index.d.ts +0 -10
  373. package/dist/pkgs/data-model/index.d.ts.map +0 -1
  374. package/dist/pkgs/data-model/index.js +0 -1469
  375. package/dist/pkgs/data-model/schema/index.cjs +0 -1550
  376. package/dist/pkgs/data-model/schema/index.d.ts +0 -8
  377. package/dist/pkgs/data-model/schema/index.d.ts.map +0 -1
  378. package/dist/pkgs/data-model/schema/index.js +0 -1446
  379. package/dist/pkgs/data-model/schema/schemas.d.ts +0 -14
  380. package/dist/pkgs/data-model/schema/schemas.d.ts.map +0 -1
  381. package/dist/pkgs/data-model/schema/types.d.ts +0 -86
  382. package/dist/pkgs/data-model/schema/types.d.ts.map +0 -1
  383. package/dist/pkgs/db-adapters/adapter-factory.d.ts +0 -21
  384. package/dist/pkgs/db-adapters/adapter-factory.d.ts.map +0 -1
  385. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts +0 -122
  386. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts.map +0 -1
  387. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.cjs +0 -1183
  388. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.d.ts +0 -2
  389. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.d.ts.map +0 -1
  390. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.js +0 -1139
  391. package/dist/pkgs/db-adapters/adapters/index.d.ts +0 -10
  392. package/dist/pkgs/db-adapters/adapters/index.d.ts.map +0 -1
  393. package/dist/pkgs/db-adapters/adapters/kysely-adapter/dialect.d.ts +0 -70
  394. package/dist/pkgs/db-adapters/adapters/kysely-adapter/dialect.d.ts.map +0 -1
  395. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.cjs +0 -1296
  396. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.d.ts +0 -4
  397. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.d.ts.map +0 -1
  398. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.js +0 -1132
  399. package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts +0 -99
  400. package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts.map +0 -1
  401. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/postgres.test.d.ts +0 -2
  402. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/postgres.test.d.ts.map +0 -1
  403. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/sqlite.test.d.ts +0 -2
  404. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/sqlite.test.d.ts.map +0 -1
  405. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts +0 -49
  406. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts.map +0 -1
  407. package/dist/pkgs/db-adapters/adapters/kysely-adapter/types.d.ts +0 -278
  408. package/dist/pkgs/db-adapters/adapters/kysely-adapter/types.d.ts.map +0 -1
  409. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.cjs +0 -1076
  410. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.d.ts +0 -2
  411. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.d.ts.map +0 -1
  412. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.js +0 -916
  413. package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts +0 -58
  414. package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts.map +0 -1
  415. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.cjs +0 -1155
  416. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.d.ts +0 -2
  417. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.d.ts.map +0 -1
  418. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.js +0 -1111
  419. package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts +0 -145
  420. package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts.map +0 -1
  421. package/dist/pkgs/db-adapters/adapters/test.d.ts +0 -11
  422. package/dist/pkgs/db-adapters/adapters/test.d.ts.map +0 -1
  423. package/dist/pkgs/db-adapters/index.cjs +0 -2035
  424. package/dist/pkgs/db-adapters/index.d.ts +0 -16
  425. package/dist/pkgs/db-adapters/index.d.ts.map +0 -1
  426. package/dist/pkgs/db-adapters/index.js +0 -1972
  427. package/dist/pkgs/db-adapters/types.d.ts +0 -160
  428. package/dist/pkgs/db-adapters/types.d.ts.map +0 -1
  429. package/dist/pkgs/db-adapters/utils.d.ts +0 -36
  430. package/dist/pkgs/db-adapters/utils.d.ts.map +0 -1
  431. package/dist/pkgs/migrations/get-migration.d.ts +0 -4
  432. package/dist/pkgs/migrations/get-migration.d.ts.map +0 -1
  433. package/dist/pkgs/migrations/get-schema/get-schema.d.ts +0 -27
  434. package/dist/pkgs/migrations/get-schema/get-schema.d.ts.map +0 -1
  435. package/dist/pkgs/migrations/get-schema/index.d.ts +0 -21
  436. package/dist/pkgs/migrations/get-schema/index.d.ts.map +0 -1
  437. package/dist/pkgs/migrations/get-schema/process-fields.d.ts +0 -15
  438. package/dist/pkgs/migrations/get-schema/process-fields.d.ts.map +0 -1
  439. package/dist/pkgs/migrations/get-schema/process-tables.d.ts +0 -13
  440. package/dist/pkgs/migrations/get-schema/process-tables.d.ts.map +0 -1
  441. package/dist/pkgs/migrations/get-schema/types.d.ts +0 -17
  442. package/dist/pkgs/migrations/get-schema/types.d.ts.map +0 -1
  443. package/dist/pkgs/migrations/index.cjs +0 -1352
  444. package/dist/pkgs/migrations/index.d.ts +0 -18
  445. package/dist/pkgs/migrations/index.d.ts.map +0 -1
  446. package/dist/pkgs/migrations/index.js +0 -1171
  447. package/dist/pkgs/migrations/migration-builders.d.ts +0 -28
  448. package/dist/pkgs/migrations/migration-builders.d.ts.map +0 -1
  449. package/dist/pkgs/migrations/migration-execution.d.ts +0 -12
  450. package/dist/pkgs/migrations/migration-execution.d.ts.map +0 -1
  451. package/dist/pkgs/migrations/schema-comparison.d.ts +0 -35
  452. package/dist/pkgs/migrations/schema-comparison.d.ts.map +0 -1
  453. package/dist/pkgs/migrations/type-mapping.d.ts +0 -75
  454. package/dist/pkgs/migrations/type-mapping.d.ts.map +0 -1
  455. package/dist/pkgs/migrations/types.d.ts +0 -36
  456. package/dist/pkgs/migrations/types.d.ts.map +0 -1
  457. package/dist/pkgs/results/__tests__/error-class.test.d.ts +0 -2
  458. package/dist/pkgs/results/__tests__/error-class.test.d.ts.map +0 -1
  459. package/dist/pkgs/results/__tests__/error-codes.test.d.ts +0 -2
  460. package/dist/pkgs/results/__tests__/error-codes.test.d.ts.map +0 -1
  461. package/dist/pkgs/results/__tests__/neverthrow-integration.test.d.ts +0 -2
  462. package/dist/pkgs/results/__tests__/neverthrow-integration.test.d.ts.map +0 -1
  463. package/dist/pkgs/results/__tests__/recovery-utils.test.d.ts +0 -2
  464. package/dist/pkgs/results/__tests__/recovery-utils.test.d.ts.map +0 -1
  465. package/dist/pkgs/results/__tests__/result-helpers.test.d.ts +0 -2
  466. package/dist/pkgs/results/__tests__/result-helpers.test.d.ts.map +0 -1
  467. package/dist/pkgs/results/core/error-class.d.ts +0 -128
  468. package/dist/pkgs/results/core/error-class.d.ts.map +0 -1
  469. package/dist/pkgs/results/core/error-codes.d.ts +0 -178
  470. package/dist/pkgs/results/core/error-codes.d.ts.map +0 -1
  471. package/dist/pkgs/results/core/tracing.d.ts +0 -11
  472. package/dist/pkgs/results/core/tracing.d.ts.map +0 -1
  473. package/dist/pkgs/results/create-telemetry-options.d.ts +0 -31
  474. package/dist/pkgs/results/create-telemetry-options.d.ts.map +0 -1
  475. package/dist/pkgs/results/index.cjs +0 -462
  476. package/dist/pkgs/results/index.d.ts +0 -80
  477. package/dist/pkgs/results/index.d.ts.map +0 -1
  478. package/dist/pkgs/results/index.js +0 -377
  479. package/dist/pkgs/results/orpc-error-handler.d.ts +0 -65
  480. package/dist/pkgs/results/orpc-error-handler.d.ts.map +0 -1
  481. package/dist/pkgs/results/results/recovery-utils.d.ts +0 -115
  482. package/dist/pkgs/results/results/recovery-utils.d.ts.map +0 -1
  483. package/dist/pkgs/results/results/result-helpers.d.ts +0 -214
  484. package/dist/pkgs/results/results/result-helpers.d.ts.map +0 -1
  485. package/dist/pkgs/results/types.d.ts +0 -200
  486. package/dist/pkgs/results/types.d.ts.map +0 -1
  487. package/dist/pkgs/types/context.d.ts +0 -160
  488. package/dist/pkgs/types/context.d.ts.map +0 -1
  489. package/dist/pkgs/types/endpoints.d.ts +0 -30
  490. package/dist/pkgs/types/endpoints.d.ts.map +0 -1
  491. package/dist/pkgs/types/helper.d.ts +0 -55
  492. package/dist/pkgs/types/helper.d.ts.map +0 -1
  493. package/dist/pkgs/types/index.cjs +0 -18
  494. package/dist/pkgs/types/index.d.ts +0 -11
  495. package/dist/pkgs/types/index.d.ts.map +0 -1
  496. package/dist/pkgs/types/options.d.ts +0 -228
  497. package/dist/pkgs/types/options.d.ts.map +0 -1
  498. package/dist/pkgs/types/plugins.d.ts +0 -171
  499. package/dist/pkgs/types/plugins.d.ts.map +0 -1
  500. package/dist/pkgs/utils/env.d.ts.map +0 -1
  501. package/dist/pkgs/utils/index.d.ts +0 -4
  502. package/dist/pkgs/utils/index.d.ts.map +0 -1
  503. package/dist/pkgs/utils/logger.d.ts.map +0 -1
  504. package/dist/pkgs/utils/url.d.ts +0 -28
  505. package/dist/pkgs/utils/url.d.ts.map +0 -1
  506. package/dist/schema/audit-log/index.d.ts +0 -4
  507. package/dist/schema/audit-log/index.d.ts.map +0 -1
  508. package/dist/schema/audit-log/registry.d.ts +0 -96
  509. package/dist/schema/audit-log/registry.d.ts.map +0 -1
  510. package/dist/schema/audit-log/schema.d.ts +0 -45
  511. package/dist/schema/audit-log/schema.d.ts.map +0 -1
  512. package/dist/schema/audit-log/table.d.ts +0 -153
  513. package/dist/schema/audit-log/table.d.ts.map +0 -1
  514. package/dist/schema/audit-log/types.d.ts +0 -29
  515. package/dist/schema/audit-log/types.d.ts.map +0 -1
  516. package/dist/schema/consent/index.d.ts +0 -4
  517. package/dist/schema/consent/index.d.ts.map +0 -1
  518. package/dist/schema/consent/registry.d.ts +0 -150
  519. package/dist/schema/consent/registry.d.ts.map +0 -1
  520. package/dist/schema/consent/schema.d.ts +0 -53
  521. package/dist/schema/consent/schema.d.ts.map +0 -1
  522. package/dist/schema/consent/table.d.ts +0 -183
  523. package/dist/schema/consent/table.d.ts.map +0 -1
  524. package/dist/schema/consent/types.d.ts +0 -37
  525. package/dist/schema/consent/types.d.ts.map +0 -1
  526. package/dist/schema/consent-policy/index.d.ts +0 -4
  527. package/dist/schema/consent-policy/index.d.ts.map +0 -1
  528. package/dist/schema/consent-policy/registry.d.ts +0 -200
  529. package/dist/schema/consent-policy/registry.d.ts.map +0 -1
  530. package/dist/schema/consent-policy/schema.d.ts +0 -65
  531. package/dist/schema/consent-policy/schema.d.ts.map +0 -1
  532. package/dist/schema/consent-policy/table.d.ts +0 -142
  533. package/dist/schema/consent-policy/table.d.ts.map +0 -1
  534. package/dist/schema/consent-policy/types.d.ts +0 -29
  535. package/dist/schema/consent-policy/types.d.ts.map +0 -1
  536. package/dist/schema/consent-purpose/index.d.ts +0 -4
  537. package/dist/schema/consent-purpose/index.d.ts.map +0 -1
  538. package/dist/schema/consent-purpose/registry.d.ts +0 -138
  539. package/dist/schema/consent-purpose/registry.d.ts.map +0 -1
  540. package/dist/schema/consent-purpose/schema.d.ts +0 -57
  541. package/dist/schema/consent-purpose/schema.d.ts.map +0 -1
  542. package/dist/schema/consent-purpose/table.d.ts +0 -139
  543. package/dist/schema/consent-purpose/table.d.ts.map +0 -1
  544. package/dist/schema/consent-purpose/types.d.ts +0 -16
  545. package/dist/schema/consent-purpose/types.d.ts.map +0 -1
  546. package/dist/schema/consent-record/index.d.ts +0 -3
  547. package/dist/schema/consent-record/index.d.ts.map +0 -1
  548. package/dist/schema/consent-record/schema.d.ts +0 -41
  549. package/dist/schema/consent-record/schema.d.ts.map +0 -1
  550. package/dist/schema/consent-record/table.d.ts +0 -107
  551. package/dist/schema/consent-record/table.d.ts.map +0 -1
  552. package/dist/schema/consent-record/types.d.ts +0 -21
  553. package/dist/schema/consent-record/types.d.ts.map +0 -1
  554. package/dist/schema/create-registry.d.ts +0 -218
  555. package/dist/schema/create-registry.d.ts.map +0 -1
  556. package/dist/schema/definition.d.ts +0 -586
  557. package/dist/schema/definition.d.ts.map +0 -1
  558. package/dist/schema/domain/index.d.ts +0 -4
  559. package/dist/schema/domain/index.d.ts.map +0 -1
  560. package/dist/schema/domain/registry.d.ts +0 -222
  561. package/dist/schema/domain/registry.d.ts.map +0 -1
  562. package/dist/schema/domain/schema.d.ts +0 -42
  563. package/dist/schema/domain/schema.d.ts.map +0 -1
  564. package/dist/schema/domain/table.d.ts +0 -122
  565. package/dist/schema/domain/table.d.ts.map +0 -1
  566. package/dist/schema/domain/types.d.ts +0 -27
  567. package/dist/schema/domain/types.d.ts.map +0 -1
  568. package/dist/schema/index.cjs +0 -1565
  569. package/dist/schema/index.d.ts +0 -70
  570. package/dist/schema/index.d.ts.map +0 -1
  571. package/dist/schema/index.js +0 -1455
  572. package/dist/schema/schemas.d.ts +0 -98
  573. package/dist/schema/schemas.d.ts.map +0 -1
  574. package/dist/schema/subject/index.d.ts +0 -4
  575. package/dist/schema/subject/index.d.ts.map +0 -1
  576. package/dist/schema/subject/registry.d.ts +0 -110
  577. package/dist/schema/subject/registry.d.ts.map +0 -1
  578. package/dist/schema/subject/schema.d.ts +0 -40
  579. package/dist/schema/subject/schema.d.ts.map +0 -1
  580. package/dist/schema/subject/table.d.ts +0 -120
  581. package/dist/schema/subject/table.d.ts.map +0 -1
  582. package/dist/schema/subject/types.d.ts +0 -22
  583. package/dist/schema/subject/types.d.ts.map +0 -1
  584. package/dist/schema/types.d.ts +0 -108
  585. package/dist/schema/types.d.ts.map +0 -1
  586. package/dist/server.d.ts +0 -2
  587. package/dist/server.d.ts.map +0 -1
  588. package/dist/testing/contract-testing.d.ts +0 -38
  589. package/dist/testing/contract-testing.d.ts.map +0 -1
  590. package/dist/types/context.d.ts +0 -12
  591. package/dist/types/context.d.ts.map +0 -1
  592. package/dist/types/options.d.ts +0 -91
  593. package/dist/types/options.d.ts.map +0 -1
  594. package/dist/types/plugins.d.ts +0 -126
  595. package/dist/types/plugins.d.ts.map +0 -1
  596. package/dist/v2/contracts/consent/identify.contract.d.ts +0 -24
  597. package/dist/v2/contracts/consent/identify.contract.d.ts.map +0 -1
  598. package/dist/v2/contracts/consent/index.d.ts +0 -340
  599. package/dist/v2/contracts/consent/index.d.ts.map +0 -1
  600. package/dist/v2/contracts/consent/index.test.d.ts +0 -2
  601. package/dist/v2/contracts/consent/index.test.d.ts.map +0 -1
  602. package/dist/v2/contracts/consent/post.contract.d.ts +0 -117
  603. package/dist/v2/contracts/consent/post.contract.d.ts.map +0 -1
  604. package/dist/v2/contracts/consent/post.contract.test.d.ts +0 -2
  605. package/dist/v2/contracts/consent/post.contract.test.d.ts.map +0 -1
  606. package/dist/v2/contracts/consent/show-banner.contract.d.ts +0 -123
  607. package/dist/v2/contracts/consent/show-banner.contract.d.ts.map +0 -1
  608. package/dist/v2/contracts/consent/show-banner.contract.test.d.ts +0 -2
  609. package/dist/v2/contracts/consent/show-banner.contract.test.d.ts.map +0 -1
  610. package/dist/v2/contracts/consent/verify.contract.d.ts +0 -81
  611. package/dist/v2/contracts/consent/verify.contract.d.ts.map +0 -1
  612. package/dist/v2/contracts/consent/verify.contract.test.d.ts +0 -2
  613. package/dist/v2/contracts/consent/verify.contract.test.d.ts.map +0 -1
  614. package/dist/v2/contracts/index.cjs +0 -716
  615. package/dist/v2/contracts/index.d.ts +0 -723
  616. package/dist/v2/contracts/index.d.ts.map +0 -1
  617. package/dist/v2/contracts/index.js +0 -679
  618. package/dist/v2/contracts/meta/index.d.ts +0 -19
  619. package/dist/v2/contracts/meta/index.d.ts.map +0 -1
  620. package/dist/v2/contracts/meta/index.test.d.ts +0 -2
  621. package/dist/v2/contracts/meta/index.test.d.ts.map +0 -1
  622. package/dist/v2/contracts/meta/status.contract.d.ts +0 -18
  623. package/dist/v2/contracts/meta/status.contract.d.ts.map +0 -1
  624. package/dist/v2/contracts/meta/status.contract.test.d.ts +0 -2
  625. package/dist/v2/contracts/meta/status.contract.test.d.ts.map +0 -1
  626. package/dist/v2/contracts/shared/jurisdiction.schema.d.ts +0 -36
  627. package/dist/v2/contracts/shared/jurisdiction.schema.d.ts.map +0 -1
  628. package/dist/v2/contracts/test.utils.d.ts +0 -38
  629. package/dist/v2/contracts/test.utils.d.ts.map +0 -1
  630. package/dist/v2/core.cjs +0 -2350
  631. package/dist/v2/core.d.ts +0 -444
  632. package/dist/v2/core.d.ts.map +0 -1
  633. package/dist/v2/core.js +0 -2300
  634. package/dist/v2/db/adapters/drizzle.cjs +0 -36
  635. package/dist/v2/db/adapters/drizzle.d.ts.map +0 -1
  636. package/dist/v2/db/adapters/index.cjs +0 -18
  637. package/dist/v2/db/adapters/index.d.ts.map +0 -1
  638. package/dist/v2/db/adapters/index.js +0 -0
  639. package/dist/v2/db/adapters/kysely.cjs +0 -36
  640. package/dist/v2/db/adapters/kysely.d.ts.map +0 -1
  641. package/dist/v2/db/adapters/mongo.cjs +0 -36
  642. package/dist/v2/db/adapters/mongo.d.ts.map +0 -1
  643. package/dist/v2/db/adapters/prisma.cjs +0 -36
  644. package/dist/v2/db/adapters/prisma.d.ts.map +0 -1
  645. package/dist/v2/db/adapters/typeorm.cjs +0 -36
  646. package/dist/v2/db/adapters/typeorm.d.ts.map +0 -1
  647. package/dist/v2/db/migrator/index.cjs +0 -61
  648. package/dist/v2/db/migrator/index.d.ts.map +0 -1
  649. package/dist/v2/db/registry/audit-log.d.ts +0 -21
  650. package/dist/v2/db/registry/audit-log.d.ts.map +0 -1
  651. package/dist/v2/db/registry/audit-log.test.d.ts +0 -2
  652. package/dist/v2/db/registry/audit-log.test.d.ts.map +0 -1
  653. package/dist/v2/db/registry/consent-policy.d.ts +0 -29
  654. package/dist/v2/db/registry/consent-policy.d.ts.map +0 -1
  655. package/dist/v2/db/registry/consent-policy.test.d.ts +0 -2
  656. package/dist/v2/db/registry/consent-policy.test.d.ts.map +0 -1
  657. package/dist/v2/db/registry/consent-purpose.d.ts +0 -16
  658. package/dist/v2/db/registry/consent-purpose.d.ts.map +0 -1
  659. package/dist/v2/db/registry/consent-purpose.test.d.ts +0 -2
  660. package/dist/v2/db/registry/consent-purpose.test.d.ts.map +0 -1
  661. package/dist/v2/db/registry/consent.d.ts +0 -20
  662. package/dist/v2/db/registry/consent.d.ts.map +0 -1
  663. package/dist/v2/db/registry/consent.test.d.ts +0 -2
  664. package/dist/v2/db/registry/consent.test.d.ts.map +0 -1
  665. package/dist/v2/db/registry/domain.d.ts +0 -24
  666. package/dist/v2/db/registry/domain.d.ts.map +0 -1
  667. package/dist/v2/db/registry/domain.test.d.ts +0 -2
  668. package/dist/v2/db/registry/domain.test.d.ts.map +0 -1
  669. package/dist/v2/db/registry/index.d.ts +0 -103
  670. package/dist/v2/db/registry/index.d.ts.map +0 -1
  671. package/dist/v2/db/registry/subject.d.ts +0 -19
  672. package/dist/v2/db/registry/subject.d.ts.map +0 -1
  673. package/dist/v2/db/registry/subject.test.d.ts +0 -2
  674. package/dist/v2/db/registry/subject.test.d.ts.map +0 -1
  675. package/dist/v2/db/registry/types.d.ts +0 -10
  676. package/dist/v2/db/registry/types.d.ts.map +0 -1
  677. package/dist/v2/db/registry/utils/generate-id.d.ts +0 -25
  678. package/dist/v2/db/registry/utils/generate-id.d.ts.map +0 -1
  679. package/dist/v2/db/registry/utils/generate-id.test.d.ts +0 -2
  680. package/dist/v2/db/registry/utils/generate-id.test.d.ts.map +0 -1
  681. package/dist/v2/db/registry/utils.d.ts +0 -25
  682. package/dist/v2/db/registry/utils.d.ts.map +0 -1
  683. package/dist/v2/db/schema/1.0.0/audit-log.d.ts +0 -29
  684. package/dist/v2/db/schema/1.0.0/audit-log.d.ts.map +0 -1
  685. package/dist/v2/db/schema/1.0.0/consent-policy.d.ts +0 -45
  686. package/dist/v2/db/schema/1.0.0/consent-policy.d.ts.map +0 -1
  687. package/dist/v2/db/schema/1.0.0/consent-purpose.d.ts +0 -27
  688. package/dist/v2/db/schema/1.0.0/consent-purpose.d.ts.map +0 -1
  689. package/dist/v2/db/schema/1.0.0/consent-record.d.ts +0 -19
  690. package/dist/v2/db/schema/1.0.0/consent-record.d.ts.map +0 -1
  691. package/dist/v2/db/schema/1.0.0/consent.d.ts +0 -42
  692. package/dist/v2/db/schema/1.0.0/consent.d.ts.map +0 -1
  693. package/dist/v2/db/schema/1.0.0/domain.d.ts +0 -23
  694. package/dist/v2/db/schema/1.0.0/domain.d.ts.map +0 -1
  695. package/dist/v2/db/schema/1.0.0/index.d.ts +0 -1513
  696. package/dist/v2/db/schema/1.0.0/index.d.ts.map +0 -1
  697. package/dist/v2/db/schema/1.0.0/subject.d.ts +0 -23
  698. package/dist/v2/db/schema/1.0.0/subject.d.ts.map +0 -1
  699. package/dist/v2/db/schema/index.cjs +0 -326
  700. package/dist/v2/db/schema/index.d.ts +0 -1507
  701. package/dist/v2/db/schema/index.d.ts.map +0 -1
  702. package/dist/v2/db/schema/index.js +0 -241
  703. package/dist/v2/define-config.cjs +0 -36
  704. package/dist/v2/define-config.d.ts.map +0 -1
  705. package/dist/v2/handlers/consent/identify.handler.d.ts +0 -23
  706. package/dist/v2/handlers/consent/identify.handler.d.ts.map +0 -1
  707. package/dist/v2/handlers/consent/identify.handler.test.d.ts +0 -2
  708. package/dist/v2/handlers/consent/identify.handler.test.d.ts.map +0 -1
  709. package/dist/v2/handlers/consent/index.d.ts +0 -340
  710. package/dist/v2/handlers/consent/index.d.ts.map +0 -1
  711. package/dist/v2/handlers/consent/post.handler.d.ts +0 -139
  712. package/dist/v2/handlers/consent/post.handler.d.ts.map +0 -1
  713. package/dist/v2/handlers/consent/show-banner/geo.d.ts +0 -10
  714. package/dist/v2/handlers/consent/show-banner/geo.d.ts.map +0 -1
  715. package/dist/v2/handlers/consent/show-banner/geo.test.d.ts +0 -2
  716. package/dist/v2/handlers/consent/show-banner/geo.test.d.ts.map +0 -1
  717. package/dist/v2/handlers/consent/show-banner/handler.d.ts +0 -126
  718. package/dist/v2/handlers/consent/show-banner/handler.d.ts.map +0 -1
  719. package/dist/v2/handlers/consent/show-banner/handler.test.d.ts +0 -2
  720. package/dist/v2/handlers/consent/show-banner/handler.test.d.ts.map +0 -1
  721. package/dist/v2/handlers/consent/show-banner/translations.d.ts +0 -13
  722. package/dist/v2/handlers/consent/show-banner/translations.d.ts.map +0 -1
  723. package/dist/v2/handlers/consent/show-banner/translations.test.d.ts +0 -2
  724. package/dist/v2/handlers/consent/show-banner/translations.test.d.ts.map +0 -1
  725. package/dist/v2/handlers/consent/verify.handler.d.ts +0 -103
  726. package/dist/v2/handlers/consent/verify.handler.d.ts.map +0 -1
  727. package/dist/v2/handlers/meta/index.d.ts +0 -19
  728. package/dist/v2/handlers/meta/index.d.ts.map +0 -1
  729. package/dist/v2/handlers/meta/status.handler.d.ts +0 -17
  730. package/dist/v2/handlers/meta/status.handler.d.ts.map +0 -1
  731. package/dist/v2/init.d.ts +0 -3
  732. package/dist/v2/init.d.ts.map +0 -1
  733. package/dist/v2/init.test.d.ts +0 -2
  734. package/dist/v2/init.test.d.ts.map +0 -1
  735. package/dist/v2/middleware/cors/cors.d.ts +0 -37
  736. package/dist/v2/middleware/cors/cors.d.ts.map +0 -1
  737. package/dist/v2/middleware/cors/cors.test.d.ts +0 -2
  738. package/dist/v2/middleware/cors/cors.test.d.ts.map +0 -1
  739. package/dist/v2/middleware/cors/index.d.ts +0 -30
  740. package/dist/v2/middleware/cors/index.d.ts.map +0 -1
  741. package/dist/v2/middleware/cors/is-origin-trusted.d.ts +0 -49
  742. package/dist/v2/middleware/cors/is-origin-trusted.d.ts.map +0 -1
  743. package/dist/v2/middleware/cors/is-origin-trusted.test.d.ts +0 -2
  744. package/dist/v2/middleware/cors/is-origin-trusted.test.d.ts.map +0 -1
  745. package/dist/v2/middleware/cors/process-cors.d.ts +0 -31
  746. package/dist/v2/middleware/cors/process-cors.d.ts.map +0 -1
  747. package/dist/v2/middleware/openapi/config.d.ts +0 -28
  748. package/dist/v2/middleware/openapi/config.d.ts.map +0 -1
  749. package/dist/v2/middleware/openapi/handlers.d.ts +0 -29
  750. package/dist/v2/middleware/openapi/handlers.d.ts.map +0 -1
  751. package/dist/v2/middleware/openapi/index.d.ts +0 -11
  752. package/dist/v2/middleware/openapi/index.d.ts.map +0 -1
  753. package/dist/v2/middleware/process-ip/index.d.ts +0 -3
  754. package/dist/v2/middleware/process-ip/index.d.ts.map +0 -1
  755. package/dist/v2/router.cjs +0 -1442
  756. package/dist/v2/router.d.ts +0 -360
  757. package/dist/v2/router.d.ts.map +0 -1
  758. package/dist/v2/router.js +0 -1398
  759. package/dist/v2/types/api.d.ts +0 -27
  760. package/dist/v2/types/api.d.ts.map +0 -1
  761. package/dist/v2/types/index.cjs +0 -40
  762. package/dist/v2/types/index.d.ts +0 -104
  763. package/dist/v2/types/index.d.ts.map +0 -1
  764. package/dist/v2/types/index.js +0 -6
  765. package/dist/v2/utils/create-telemetry-options.d.ts +0 -28
  766. package/dist/v2/utils/create-telemetry-options.d.ts.map +0 -1
  767. package/dist/v2/utils/env.d.ts +0 -60
  768. package/dist/v2/utils/env.d.ts.map +0 -1
  769. package/dist/v2/utils/index.d.ts +0 -3
  770. package/dist/v2/utils/index.d.ts.map +0 -1
  771. package/dist/v2/utils/logger.d.ts +0 -16
  772. package/dist/v2/utils/logger.d.ts.map +0 -1
  773. package/src/__tests__/server.test.ts +0 -100
  774. package/src/contracts/consent/identify.contract.ts +0 -38
  775. package/src/contracts/consent/index.test.ts +0 -5
  776. package/src/contracts/consent/index.ts +0 -11
  777. package/src/contracts/consent/post.contract.test.ts +0 -521
  778. package/src/contracts/consent/post.contract.ts +0 -156
  779. package/src/contracts/consent/show-banner.contract.test.ts +0 -260
  780. package/src/contracts/consent/show-banner.contract.ts +0 -136
  781. package/src/contracts/consent/verify.contract.test.ts +0 -185
  782. package/src/contracts/consent/verify.contract.ts +0 -122
  783. package/src/contracts/index.ts +0 -20
  784. package/src/contracts/meta/index.test.ts +0 -5
  785. package/src/contracts/meta/index.ts +0 -5
  786. package/src/contracts/meta/status.contract.test.ts +0 -338
  787. package/src/contracts/meta/status.contract.ts +0 -37
  788. package/src/contracts/shared/jurisdiction.schema.ts +0 -30
  789. package/src/handlers/consent/identify.handler.test.ts +0 -473
  790. package/src/handlers/consent/identify.handler.ts +0 -176
  791. package/src/handlers/consent/post.handler.ts +0 -277
  792. package/src/handlers/consent/show-banner/geo.test.ts +0 -281
  793. package/src/handlers/consent/show-banner/geo.ts +0 -96
  794. package/src/handlers/consent/show-banner/handler.test.ts +0 -376
  795. package/src/handlers/consent/show-banner/handler.ts +0 -123
  796. package/src/handlers/consent/show-banner/translations.test.ts +0 -121
  797. package/src/handlers/consent/show-banner/translations.ts +0 -79
  798. package/src/handlers/consent/verify.handler.ts +0 -305
  799. package/src/handlers/meta/index.ts +0 -5
  800. package/src/handlers/meta/status.handler.ts +0 -47
  801. package/src/pkgs/api-router/hooks/__tests__/processor.test.ts +0 -290
  802. package/src/pkgs/api-router/hooks/processor.ts +0 -153
  803. package/src/pkgs/api-router/telemetry.ts +0 -83
  804. package/src/pkgs/api-router/types/router-props.ts +0 -36
  805. package/src/pkgs/api-router/utils/ip.ts +0 -92
  806. package/src/pkgs/data-model/fields/field-factory.ts +0 -208
  807. package/src/pkgs/data-model/fields/field-inference.ts +0 -93
  808. package/src/pkgs/data-model/fields/field-types.ts +0 -233
  809. package/src/pkgs/data-model/fields/id-generator.ts +0 -57
  810. package/src/pkgs/data-model/fields/index.ts +0 -37
  811. package/src/pkgs/data-model/fields/superjson-utils.ts +0 -17
  812. package/src/pkgs/data-model/fields/zod-fields.ts +0 -125
  813. package/src/pkgs/data-model/hooks/create-hooks.ts +0 -88
  814. package/src/pkgs/data-model/hooks/index.ts +0 -40
  815. package/src/pkgs/data-model/hooks/types.ts +0 -165
  816. package/src/pkgs/data-model/hooks/update-hooks.ts +0 -91
  817. package/src/pkgs/data-model/hooks/update-many-hooks.ts +0 -176
  818. package/src/pkgs/data-model/hooks/utils.ts +0 -151
  819. package/src/pkgs/data-model/hooks/with-hooks-factory.ts +0 -68
  820. package/src/pkgs/data-model/index.ts +0 -13
  821. package/src/pkgs/data-model/schema/index.ts +0 -19
  822. package/src/pkgs/data-model/schema/schemas.ts +0 -15
  823. package/src/pkgs/data-model/schema/types.ts +0 -105
  824. package/src/pkgs/db-adapters/README.md +0 -95
  825. package/src/pkgs/db-adapters/adapter-factory.ts +0 -68
  826. package/src/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.ts +0 -709
  827. package/src/pkgs/db-adapters/adapters/drizzle-adapter/index.ts +0 -1
  828. package/src/pkgs/db-adapters/adapters/index.ts +0 -10
  829. package/src/pkgs/db-adapters/adapters/kysely-adapter/dialect.ts +0 -195
  830. package/src/pkgs/db-adapters/adapters/kysely-adapter/index.ts +0 -10
  831. package/src/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.ts +0 -1182
  832. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/postgres.test.ts +0 -214
  833. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/sqlite.test.ts +0 -227
  834. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.ts +0 -439
  835. package/src/pkgs/db-adapters/adapters/kysely-adapter/types.ts +0 -304
  836. package/src/pkgs/db-adapters/adapters/memory-adapter/index.ts +0 -1
  837. package/src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts +0 -665
  838. package/src/pkgs/db-adapters/adapters/prisma-adapter/index.ts +0 -1
  839. package/src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts +0 -586
  840. package/src/pkgs/db-adapters/adapters/test.ts +0 -77
  841. package/src/pkgs/db-adapters/index.ts +0 -28
  842. package/src/pkgs/db-adapters/types.ts +0 -211
  843. package/src/pkgs/db-adapters/utils.ts +0 -51
  844. package/src/pkgs/migrations/README.md +0 -73
  845. package/src/pkgs/migrations/get-migration.ts +0 -88
  846. package/src/pkgs/migrations/get-schema/get-schema.ts +0 -43
  847. package/src/pkgs/migrations/get-schema/index.ts +0 -20
  848. package/src/pkgs/migrations/get-schema/process-fields.ts +0 -65
  849. package/src/pkgs/migrations/get-schema/process-tables.ts +0 -66
  850. package/src/pkgs/migrations/get-schema/types.ts +0 -18
  851. package/src/pkgs/migrations/index.ts +0 -30
  852. package/src/pkgs/migrations/migration-builders.ts +0 -170
  853. package/src/pkgs/migrations/migration-execution.ts +0 -72
  854. package/src/pkgs/migrations/schema-comparison.ts +0 -203
  855. package/src/pkgs/migrations/type-mapping.ts +0 -244
  856. package/src/pkgs/migrations/types.ts +0 -48
  857. package/src/pkgs/results/README.md +0 -345
  858. package/src/pkgs/results/__tests__/error-class.test.ts +0 -183
  859. package/src/pkgs/results/__tests__/error-codes.test.ts +0 -81
  860. package/src/pkgs/results/__tests__/neverthrow-integration.test.ts +0 -92
  861. package/src/pkgs/results/__tests__/recovery-utils.test.ts +0 -140
  862. package/src/pkgs/results/__tests__/result-helpers.test.ts +0 -206
  863. package/src/pkgs/results/core/error-class.ts +0 -297
  864. package/src/pkgs/results/core/error-codes.ts +0 -206
  865. package/src/pkgs/results/core/tracing.ts +0 -65
  866. package/src/pkgs/results/create-telemetry-options.ts +0 -62
  867. package/src/pkgs/results/index.ts +0 -115
  868. package/src/pkgs/results/orpc-error-handler.ts +0 -137
  869. package/src/pkgs/results/results/recovery-utils.ts +0 -181
  870. package/src/pkgs/results/results/result-helpers.ts +0 -383
  871. package/src/pkgs/results/types.ts +0 -217
  872. package/src/pkgs/types/context.ts +0 -178
  873. package/src/pkgs/types/endpoints.ts +0 -35
  874. package/src/pkgs/types/helper.ts +0 -57
  875. package/src/pkgs/types/index.ts +0 -18
  876. package/src/pkgs/types/options.ts +0 -252
  877. package/src/pkgs/types/plugins.ts +0 -191
  878. package/src/pkgs/utils/index.ts +0 -3
  879. package/src/pkgs/utils/logger.ts +0 -35
  880. package/src/pkgs/utils/url.ts +0 -105
  881. package/src/schema/audit-log/index.ts +0 -3
  882. package/src/schema/audit-log/registry.ts +0 -117
  883. package/src/schema/audit-log/schema.ts +0 -46
  884. package/src/schema/audit-log/table.ts +0 -185
  885. package/src/schema/audit-log/types.ts +0 -29
  886. package/src/schema/consent/index.ts +0 -3
  887. package/src/schema/consent/registry.ts +0 -177
  888. package/src/schema/consent/schema.ts +0 -51
  889. package/src/schema/consent/table.ts +0 -221
  890. package/src/schema/consent/types.ts +0 -39
  891. package/src/schema/consent-policy/index.ts +0 -3
  892. package/src/schema/consent-policy/registry.ts +0 -352
  893. package/src/schema/consent-policy/schema.ts +0 -60
  894. package/src/schema/consent-policy/table.ts +0 -150
  895. package/src/schema/consent-policy/types.ts +0 -29
  896. package/src/schema/consent-purpose/index.ts +0 -3
  897. package/src/schema/consent-purpose/registry.ts +0 -168
  898. package/src/schema/consent-purpose/schema.ts +0 -58
  899. package/src/schema/consent-purpose/table.ts +0 -154
  900. package/src/schema/consent-purpose/types.ts +0 -16
  901. package/src/schema/consent-record/index.ts +0 -2
  902. package/src/schema/consent-record/schema.ts +0 -42
  903. package/src/schema/consent-record/table.ts +0 -124
  904. package/src/schema/consent-record/types.ts +0 -21
  905. package/src/schema/create-registry.ts +0 -21
  906. package/src/schema/definition.ts +0 -200
  907. package/src/schema/domain/index.ts +0 -3
  908. package/src/schema/domain/registry.ts +0 -296
  909. package/src/schema/domain/schema.ts +0 -43
  910. package/src/schema/domain/table.ts +0 -137
  911. package/src/schema/domain/types.ts +0 -27
  912. package/src/schema/index.ts +0 -74
  913. package/src/schema/schemas.ts +0 -27
  914. package/src/schema/subject/index.ts +0 -3
  915. package/src/schema/subject/registry.ts +0 -298
  916. package/src/schema/subject/schema.ts +0 -41
  917. package/src/schema/subject/table.ts +0 -138
  918. package/src/schema/subject/types.ts +0 -22
  919. package/src/schema/types.ts +0 -121
  920. package/src/server.ts +0 -126
  921. package/src/testing/contract-testing.ts +0 -400
  922. package/src/types/context.ts +0 -16
  923. package/src/types/options.ts +0 -103
  924. package/src/types/plugins.ts +0 -154
  925. package/src/v2/contracts/consent/identify.contract.ts +0 -38
  926. package/src/v2/contracts/consent/index.test.ts +0 -5
  927. package/src/v2/contracts/consent/index.ts +0 -11
  928. package/src/v2/contracts/consent/post.contract.test.ts +0 -521
  929. package/src/v2/contracts/consent/post.contract.ts +0 -156
  930. package/src/v2/contracts/consent/show-banner.contract.test.ts +0 -252
  931. package/src/v2/contracts/consent/show-banner.contract.ts +0 -136
  932. package/src/v2/contracts/consent/verify.contract.test.ts +0 -185
  933. package/src/v2/contracts/consent/verify.contract.ts +0 -122
  934. package/src/v2/contracts/index.ts +0 -20
  935. package/src/v2/contracts/meta/index.test.ts +0 -5
  936. package/src/v2/contracts/meta/index.ts +0 -5
  937. package/src/v2/contracts/meta/status.contract.test.ts +0 -226
  938. package/src/v2/contracts/meta/status.contract.ts +0 -34
  939. package/src/v2/contracts/shared/jurisdiction.schema.ts +0 -30
  940. package/src/v2/contracts/test.utils.ts +0 -400
  941. package/src/v2/core.ts +0 -379
  942. package/src/v2/db/migrator/index.ts +0 -80
  943. package/src/v2/db/registry/audit-log.test.ts +0 -77
  944. package/src/v2/db/registry/audit-log.ts +0 -46
  945. package/src/v2/db/registry/consent-policy.test.ts +0 -778
  946. package/src/v2/db/registry/consent-policy.ts +0 -74
  947. package/src/v2/db/registry/consent-purpose.test.ts +0 -485
  948. package/src/v2/db/registry/consent-purpose.ts +0 -41
  949. package/src/v2/db/registry/consent.test.ts +0 -843
  950. package/src/v2/db/registry/consent.ts +0 -42
  951. package/src/v2/db/registry/domain.test.ts +0 -463
  952. package/src/v2/db/registry/domain.ts +0 -51
  953. package/src/v2/db/registry/index.ts +0 -18
  954. package/src/v2/db/registry/subject.test.ts +0 -497
  955. package/src/v2/db/registry/subject.ts +0 -103
  956. package/src/v2/db/registry/types.ts +0 -10
  957. package/src/v2/db/registry/utils/generate-id.test.ts +0 -217
  958. package/src/v2/db/registry/utils/generate-id.ts +0 -134
  959. package/src/v2/db/registry/utils.ts +0 -134
  960. package/src/v2/db/schema/1.0.0/audit-log.ts +0 -32
  961. package/src/v2/db/schema/1.0.0/consent-policy.ts +0 -41
  962. package/src/v2/db/schema/1.0.0/consent-purpose.ts +0 -30
  963. package/src/v2/db/schema/1.0.0/consent-record.ts +0 -22
  964. package/src/v2/db/schema/1.0.0/consent.ts +0 -38
  965. package/src/v2/db/schema/1.0.0/domain.ts +0 -26
  966. package/src/v2/db/schema/1.0.0/index.ts +0 -56
  967. package/src/v2/db/schema/1.0.0/subject.ts +0 -26
  968. package/src/v2/db/schema/index.ts +0 -9
  969. package/src/v2/handlers/consent/identify.handler.test.ts +0 -453
  970. package/src/v2/handlers/consent/identify.handler.ts +0 -125
  971. package/src/v2/handlers/consent/index.ts +0 -11
  972. package/src/v2/handlers/consent/post.handler.ts +0 -258
  973. package/src/v2/handlers/consent/show-banner/geo.test.ts +0 -281
  974. package/src/v2/handlers/consent/show-banner/geo.ts +0 -96
  975. package/src/v2/handlers/consent/show-banner/handler.test.ts +0 -374
  976. package/src/v2/handlers/consent/show-banner/handler.ts +0 -123
  977. package/src/v2/handlers/consent/show-banner/translations.test.ts +0 -121
  978. package/src/v2/handlers/consent/show-banner/translations.ts +0 -79
  979. package/src/v2/handlers/consent/verify.handler.ts +0 -288
  980. package/src/v2/handlers/meta/index.ts +0 -5
  981. package/src/v2/handlers/meta/status.handler.ts +0 -43
  982. package/src/v2/init.test.ts +0 -120
  983. package/src/v2/init.ts +0 -126
  984. package/src/v2/middleware/cors/cors.test.ts +0 -114
  985. package/src/v2/middleware/cors/cors.ts +0 -195
  986. package/src/v2/middleware/cors/index.ts +0 -30
  987. package/src/v2/middleware/cors/is-origin-trusted.test.ts +0 -164
  988. package/src/v2/middleware/cors/is-origin-trusted.ts +0 -129
  989. package/src/v2/middleware/cors/process-cors.ts +0 -91
  990. package/src/v2/middleware/openapi/config.ts +0 -27
  991. package/src/v2/middleware/openapi/handlers.ts +0 -132
  992. package/src/v2/middleware/openapi/index.ts +0 -11
  993. package/src/v2/middleware/process-ip/index.ts +0 -39
  994. package/src/v2/router.ts +0 -8
  995. package/src/v2/types/api.ts +0 -32
  996. package/src/v2/types/index.ts +0 -121
  997. package/src/v2/utils/create-telemetry-options.ts +0 -115
  998. package/src/v2/utils/env.ts +0 -84
  999. package/src/v2/utils/index.ts +0 -2
  1000. package/src/v2/utils/logger.ts +0 -35
  1001. /package/dist/{v2/db → db}/adapters/drizzle.d.ts +0 -0
  1002. /package/dist/{v2/db → db}/adapters/drizzle.js +0 -0
  1003. /package/dist/{v2/db → db}/adapters/index.d.ts +0 -0
  1004. /package/dist/{v2/db → db}/adapters/kysely.d.ts +0 -0
  1005. /package/dist/{v2/db → db}/adapters/kysely.js +0 -0
  1006. /package/dist/{v2/db → db}/adapters/mongo.d.ts +0 -0
  1007. /package/dist/{v2/db → db}/adapters/mongo.js +0 -0
  1008. /package/dist/{v2/db → db}/adapters/prisma.d.ts +0 -0
  1009. /package/dist/{v2/db → db}/adapters/prisma.js +0 -0
  1010. /package/dist/{v2/db → db}/adapters/typeorm.d.ts +0 -0
  1011. /package/dist/{v2/db → db}/adapters/typeorm.js +0 -0
  1012. /package/dist/{pkgs/types/index.js → db/adapters.js} +0 -0
  1013. /package/dist/{v2/db → db}/migrator/index.d.ts +0 -0
  1014. /package/dist/{v2/db/migrator/index.js → db/migrator.js} +0 -0
  1015. /package/dist/{v2/define-config.d.ts → define-config.d.ts} +0 -0
  1016. /package/dist/{v2/define-config.js → define-config.js} +0 -0
  1017. /package/dist/{pkgs/utils → utils}/env.d.ts +0 -0
  1018. /package/dist/{pkgs/utils → utils}/logger.d.ts +0 -0
  1019. /package/src/{v2/db → db}/adapters/drizzle.ts +0 -0
  1020. /package/src/{v2/db → db}/adapters/index.ts +0 -0
  1021. /package/src/{v2/db → db}/adapters/kysely.ts +0 -0
  1022. /package/src/{v2/db → db}/adapters/mongo.ts +0 -0
  1023. /package/src/{v2/db → db}/adapters/prisma.ts +0 -0
  1024. /package/src/{v2/db → db}/adapters/typeorm.ts +0 -0
  1025. /package/src/{v2/define-config.ts → define-config.ts} +0 -0
  1026. /package/src/{pkgs/utils → utils}/env.ts +0 -0
@@ -1,2035 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.n = (module)=>{
5
- var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
- __webpack_require__.d(getter, {
7
- a: getter
8
- });
9
- return getter;
10
- };
11
- })();
12
- (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
18
- };
19
- })();
20
- (()=>{
21
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
- })();
23
- (()=>{
24
- __webpack_require__.r = (exports1)=>{
25
- if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
- value: 'Module'
27
- });
28
- Object.defineProperty(exports1, '__esModule', {
29
- value: true
30
- });
31
- };
32
- })();
33
- var __webpack_exports__ = {};
34
- __webpack_require__.r(__webpack_exports__);
35
- __webpack_require__.d(__webpack_exports__, {
36
- getAdapter: ()=>getAdapter,
37
- memoryAdapter: ()=>memoryAdapter,
38
- applyDefaultValue: ()=>applyDefaultValue,
39
- prismaAdapter: ()=>prismaAdapter,
40
- kyselyAdapter: ()=>kyselyAdapter,
41
- drizzleAdapter: ()=>drizzleAdapter,
42
- createKyselyAdapter: ()=>createKyselyAdapter
43
- });
44
- require("neverthrow");
45
- const server_namespaceObject = require("@orpc/server");
46
- const error_codes_ERROR_CODES = Object.freeze({
47
- NOT_FOUND: 'Resource not found',
48
- BAD_REQUEST: 'Bad request',
49
- CONFLICT: 'Conflict with current state',
50
- MISSING_REQUIRED_PARAMETER: 'Missing required parameter',
51
- UNAUTHORIZED: 'Unauthorized',
52
- FORBIDDEN: 'Forbidden',
53
- INTERNAL_SERVER_ERROR: 'Internal server error',
54
- INITIALIZATION_FAILED: 'Initialization failed',
55
- DATABASE_CONNECTION_ERROR: 'Database connection error',
56
- DATABASE_QUERY_ERROR: 'Database query error',
57
- INVALID_CONFIGURATION: 'Invalid configuration',
58
- REQUEST_HANDLER_ERROR: 'Request handler error',
59
- INVALID_REQUEST: 'Invalid request',
60
- UNKNOWN_ERROR: 'Unknown error',
61
- NETWORK_ERROR: 'Network error',
62
- PLUGIN_INITIALIZATION_FAILED: 'Plugin initialization failed',
63
- API_RETRIEVAL_ERROR: 'API retrieval error',
64
- VALIDATION_ERROR: 'Validation error',
65
- UNEXPECTED: 'Unexpected error'
66
- });
67
- const ERROR_CATEGORIES = Object.freeze({
68
- VALIDATION: 'validation',
69
- AUTHORIZATION: 'authorization',
70
- STORAGE: 'storage',
71
- NETWORK: 'network',
72
- PLUGIN: 'plugin',
73
- CONFIGURATION: 'configuration',
74
- UNEXPECTED: 'unexpected'
75
- });
76
- const api_namespaceObject = require("@opentelemetry/api");
77
- const tracer = api_namespaceObject.trace.getTracer('@doubletie/results');
78
- async function tracing_withSpan(name, fn, attributes = {}) {
79
- return await tracer.startActiveSpan(name, async (span)=>{
80
- try {
81
- span.setAttributes(attributes);
82
- const result = await fn(span);
83
- span.setStatus({
84
- code: api_namespaceObject.SpanStatusCode.OK
85
- });
86
- span.end();
87
- return result;
88
- } catch (error) {
89
- if (error instanceof error_class_DoubleTieError) {
90
- span.setAttributes({
91
- 'error.type': 'DoubleTieError',
92
- 'error.code': error.code,
93
- 'error.statusCode': error.statusCode,
94
- 'error.message': error.message
95
- });
96
- if (error.meta) span.setAttributes({
97
- 'error.meta': JSON.stringify(error.meta)
98
- });
99
- } else span.setAttributes({
100
- 'error.type': error instanceof Error ? error.constructor.name : 'Unknown',
101
- 'error.message': error instanceof Error ? error.message : String(error)
102
- });
103
- span.setStatus({
104
- code: api_namespaceObject.SpanStatusCode.ERROR,
105
- message: error instanceof Error ? error.message : String(error)
106
- });
107
- span.end();
108
- throw error;
109
- }
110
- });
111
- }
112
- class error_class_DoubleTieError extends server_namespaceObject.ORPCError {
113
- category;
114
- meta;
115
- statusCode;
116
- constructor(message, options = {
117
- code: error_codes_ERROR_CODES.UNKNOWN_ERROR,
118
- status: 500,
119
- category: ERROR_CATEGORIES.UNEXPECTED,
120
- cause: void 0,
121
- meta: {}
122
- }){
123
- super(options.code ?? error_codes_ERROR_CODES.UNKNOWN_ERROR, {
124
- message,
125
- cause: options.cause,
126
- data: options.meta ?? {}
127
- });
128
- this.name = 'DoubleTieError';
129
- this.category = options.category ?? ERROR_CATEGORIES.UNEXPECTED;
130
- this.meta = options.meta ?? {};
131
- this.statusCode = options.status ?? 500;
132
- tracing_withSpan('create_doubletie_error', async (span)=>{
133
- span.setAttributes({
134
- 'error.name': this.constructor.name,
135
- 'error.message': message,
136
- 'error.code': this.code,
137
- 'error.status': this.statusCode,
138
- 'error.category': this.category,
139
- 'error.has_cause': !!this.cause,
140
- 'error.cause_type': this.cause instanceof Error ? this.cause.constructor.name : typeof this.cause,
141
- 'error.has_meta': !!this.meta
142
- });
143
- if (this.cause instanceof Error) span.recordException(this.cause);
144
- });
145
- if (Error.captureStackTrace) Error.captureStackTrace(this, this.constructor);
146
- }
147
- static isDoubleTieError(error) {
148
- return error instanceof error_class_DoubleTieError;
149
- }
150
- toJSON() {
151
- const validationErrorMessage = this.meta?.validationErrors ? String(this.meta.validationErrors) : void 0;
152
- const stackTrace = this.stack ? this.stack.split('\n').map((line)=>line.trim()).filter((line)=>line && !line.includes('Error: ')) : [];
153
- return {
154
- code: this.code,
155
- message: validationErrorMessage || this.message,
156
- status: this.statusCode,
157
- defined: true,
158
- data: {
159
- category: this.category,
160
- meta: this.meta,
161
- ...'production' === process.env.NODE_ENV ? {} : {
162
- stack: stackTrace
163
- },
164
- ...validationErrorMessage && this.message ? {
165
- originalMessage: this.message
166
- } : {},
167
- ...this.cause ? {
168
- cause: this.cause instanceof Error ? {
169
- name: this.cause.name,
170
- message: this.cause.message,
171
- stack: this.cause.stack ? this.cause.stack.split('\n').map((line)=>line.trim()) : void 0
172
- } : this.cause
173
- } : {}
174
- }
175
- };
176
- }
177
- static fromResponse(response, data) {
178
- let message = `HTTP error ${response.status}`;
179
- let errorCode = `HTTP ${response.status}`;
180
- let errorMeta = {};
181
- if (data && 'object' == typeof data && null !== data) {
182
- const errorObj = data;
183
- if ('string' == typeof errorObj.message) message = errorObj.message;
184
- if ('string' == typeof errorObj.code) errorCode = errorObj.code;
185
- if ('object' == typeof errorObj.data && null !== errorObj.data) errorMeta = errorObj.data;
186
- }
187
- return new error_class_DoubleTieError(message, {
188
- code: errorCode,
189
- status: response.status,
190
- meta: errorMeta
191
- });
192
- }
193
- withMeta(additionalMeta) {
194
- return new error_class_DoubleTieError(this.message, {
195
- code: this.code,
196
- status: this.statusCode,
197
- category: this.category,
198
- cause: this.cause instanceof Error ? this.cause : void 0,
199
- meta: {
200
- ...this.meta,
201
- ...additionalMeta
202
- }
203
- });
204
- }
205
- static createSubclass(name) {
206
- const ErrorSubclass = class extends error_class_DoubleTieError {
207
- constructor(message, options){
208
- super(message, options);
209
- Object.defineProperty(this, 'name', {
210
- value: name
211
- });
212
- }
213
- };
214
- Object.defineProperty(ErrorSubclass, 'name', {
215
- value: name
216
- });
217
- return ErrorSubclass;
218
- }
219
- static formatValidationError(error) {
220
- if (!error.meta) return error.message;
221
- let formattedMessage = `${error.message} (${error.code})`;
222
- if (error.meta.validationErrors) formattedMessage += `\nValidation Errors: ${JSON.stringify(error.meta.validationErrors, null, 2)}`;
223
- const otherMeta = Object.fromEntries(Object.entries(error.meta).filter(([key])=>'validationErrors' !== key));
224
- if (Object.keys(otherMeta).length > 0) formattedMessage += `\nAdditional Context: ${JSON.stringify(otherMeta, null, 2)}`;
225
- return formattedMessage;
226
- }
227
- }
228
- const logger_namespaceObject = require("@c15t/logger");
229
- let globalLogger;
230
- function getLogger(options) {
231
- if (!globalLogger) globalLogger = (0, logger_namespaceObject.createLogger)({
232
- level: 'info',
233
- appName: 'c15t',
234
- ...options
235
- });
236
- return globalLogger;
237
- }
238
- const COMMON_TIMEZONES = {
239
- UTC: 'UTC',
240
- GMT: 'GMT',
241
- EASTERN: 'America/New_York',
242
- CENTRAL: 'America/Chicago',
243
- MOUNTAIN: 'America/Denver',
244
- PACIFIC: 'America/Los_Angeles',
245
- LONDON: 'Europe/London',
246
- PARIS: 'Europe/Paris',
247
- BERLIN: 'Europe/Berlin',
248
- TOKYO: 'Asia/Tokyo',
249
- SHANGHAI: 'Asia/Shanghai',
250
- SINGAPORE: 'Asia/Singapore',
251
- SYDNEY: 'Australia/Sydney',
252
- SAO_PAULO: 'America/Sao_Paulo'
253
- };
254
- const external_base_x_namespaceObject = require("base-x");
255
- var external_base_x_default = /*#__PURE__*/ __webpack_require__.n(external_base_x_namespaceObject);
256
- const b58 = external_base_x_default()('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz');
257
- function generateId(prefix) {
258
- const buf = crypto.getRandomValues(new Uint8Array(20));
259
- const EPOCH_TIMESTAMP = 1700000000000;
260
- const t = Date.now() - EPOCH_TIMESTAMP;
261
- const high = Math.floor(t / 0x100000000);
262
- const low = t >>> 0;
263
- buf[0] = high >>> 24 & 255;
264
- buf[1] = high >>> 16 & 255;
265
- buf[2] = high >>> 8 & 255;
266
- buf[3] = 255 & high;
267
- buf[4] = low >>> 24 & 255;
268
- buf[5] = low >>> 16 & 255;
269
- buf[6] = low >>> 8 & 255;
270
- buf[7] = 255 & low;
271
- return `${prefix}_${b58.encode(buf)}`;
272
- }
273
- const external_zod_namespaceObject = require("zod");
274
- const fieldConfigSchema = external_zod_namespaceObject.z.object({
275
- required: external_zod_namespaceObject.z.boolean().prefault(true),
276
- returned: external_zod_namespaceObject.z.boolean().prefault(true),
277
- input: external_zod_namespaceObject.z.boolean().prefault(true),
278
- defaultValue: external_zod_namespaceObject.z.any().optional(),
279
- transform: external_zod_namespaceObject.z.object({
280
- input: external_zod_namespaceObject.z.any().optional(),
281
- output: external_zod_namespaceObject.z.any().optional()
282
- }).optional(),
283
- validator: external_zod_namespaceObject.z.any().optional(),
284
- unique: external_zod_namespaceObject.z.boolean().optional(),
285
- indexed: external_zod_namespaceObject.z.boolean().optional(),
286
- sortable: external_zod_namespaceObject.z.boolean().prefault(true),
287
- fieldName: external_zod_namespaceObject.z.string().optional(),
288
- bigint: external_zod_namespaceObject.z.boolean().prefault(false)
289
- });
290
- const stringFieldSchema = fieldConfigSchema.extend({
291
- type: external_zod_namespaceObject.z.literal('string'),
292
- minLength: external_zod_namespaceObject.z.number().optional(),
293
- maxLength: external_zod_namespaceObject.z.number().optional(),
294
- pattern: external_zod_namespaceObject.z.string().optional()
295
- });
296
- const numberFieldSchema = fieldConfigSchema.extend({
297
- type: external_zod_namespaceObject.z.literal('number'),
298
- min: external_zod_namespaceObject.z.number().optional(),
299
- max: external_zod_namespaceObject.z.number().optional()
300
- });
301
- const booleanFieldSchema = fieldConfigSchema.extend({
302
- type: external_zod_namespaceObject.z.literal('boolean')
303
- });
304
- const dateFieldSchema = fieldConfigSchema.extend({
305
- type: external_zod_namespaceObject.z.literal('date'),
306
- minDate: external_zod_namespaceObject.z.date().optional(),
307
- maxDate: external_zod_namespaceObject.z.date().optional(),
308
- dateOnly: external_zod_namespaceObject.z.boolean().prefault(false),
309
- format: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.unknown()).optional()
310
- });
311
- const timezoneFieldSchema = fieldConfigSchema.extend({
312
- type: external_zod_namespaceObject.z.literal('timezone'),
313
- validateTimezone: external_zod_namespaceObject.z.boolean().prefault(true),
314
- suggestedValues: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional(),
315
- restrictToSuggestedValues: external_zod_namespaceObject.z.boolean().prefault(false)
316
- });
317
- const jsonFieldSchema = fieldConfigSchema.extend({
318
- type: external_zod_namespaceObject.z.literal('json'),
319
- validateJson: external_zod_namespaceObject.z.boolean().prefault(true)
320
- });
321
- const stringArrayFieldSchema = fieldConfigSchema.extend({
322
- type: external_zod_namespaceObject.z.literal('string[]')
323
- });
324
- const numberArrayFieldSchema = fieldConfigSchema.extend({
325
- type: external_zod_namespaceObject.z.literal('number[]')
326
- });
327
- external_zod_namespaceObject.z.discriminatedUnion('type', [
328
- stringFieldSchema,
329
- numberFieldSchema,
330
- booleanFieldSchema,
331
- dateFieldSchema,
332
- timezoneFieldSchema,
333
- jsonFieldSchema,
334
- stringArrayFieldSchema,
335
- numberArrayFieldSchema
336
- ]);
337
- const schema_auditLogSchema = external_zod_namespaceObject.z.object({
338
- id: external_zod_namespaceObject.z.string(),
339
- entityType: external_zod_namespaceObject.z.string(),
340
- entityId: external_zod_namespaceObject.z.string(),
341
- actionType: external_zod_namespaceObject.z.string(),
342
- subjectId: external_zod_namespaceObject.z.string().optional(),
343
- ipAddress: external_zod_namespaceObject.z.string().optional(),
344
- userAgent: external_zod_namespaceObject.z.string().optional(),
345
- changes: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.unknown()).optional(),
346
- metadata: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.unknown()).optional(),
347
- createdAt: external_zod_namespaceObject.z.date().prefault(()=>new Date())
348
- });
349
- function getAuditLogTable(options, auditLogFields) {
350
- const auditLogConfig = options.tables?.auditLog;
351
- const subjectConfig = options.tables?.subject;
352
- return {
353
- entityName: auditLogConfig?.entityName || 'auditLog',
354
- entityPrefix: auditLogConfig?.entityPrefix || 'log',
355
- schema: schema_auditLogSchema,
356
- fields: {
357
- entityType: {
358
- type: 'string',
359
- required: true,
360
- fieldName: auditLogConfig?.fields?.entityType || 'entityType'
361
- },
362
- entityId: {
363
- type: 'string',
364
- required: true,
365
- fieldName: auditLogConfig?.fields?.entityId || 'entityId'
366
- },
367
- actionType: {
368
- type: 'string',
369
- required: true,
370
- fieldName: auditLogConfig?.fields?.actionType || 'actionType'
371
- },
372
- subjectId: {
373
- type: 'string',
374
- required: false,
375
- fieldName: auditLogConfig?.fields?.subjectId || 'subjectId',
376
- references: {
377
- model: subjectConfig?.entityName || 'subject',
378
- field: 'id'
379
- }
380
- },
381
- ipAddress: {
382
- type: 'string',
383
- required: false,
384
- fieldName: auditLogConfig?.fields?.ipAddress || 'ipAddress'
385
- },
386
- userAgent: {
387
- type: 'string',
388
- required: false,
389
- fieldName: auditLogConfig?.fields?.userAgent || 'userAgent'
390
- },
391
- changes: {
392
- type: 'json',
393
- required: false,
394
- fieldName: auditLogConfig?.fields?.changes || 'changes'
395
- },
396
- metadata: {
397
- type: 'json',
398
- required: false,
399
- fieldName: auditLogConfig?.fields?.metadata || 'metadata'
400
- },
401
- createdAt: {
402
- type: 'date',
403
- defaultValue: ()=>new Date(),
404
- required: true,
405
- fieldName: auditLogConfig?.fields?.createdAt || 'createdAt'
406
- },
407
- eventTimezone: {
408
- type: 'timezone',
409
- required: true,
410
- defaultValue: COMMON_TIMEZONES.UTC,
411
- fieldName: auditLogConfig?.fields?.eventTimezone || 'eventTimezone'
412
- },
413
- ...auditLogFields || {},
414
- ...auditLogConfig?.additionalFields || {}
415
- },
416
- indexes: [
417
- {
418
- name: 'entity_index',
419
- fields: [
420
- 'entityType',
421
- 'entityId'
422
- ]
423
- },
424
- {
425
- name: 'action_type_index',
426
- fields: [
427
- 'actionType'
428
- ]
429
- },
430
- {
431
- name: 'subject_id_index',
432
- fields: [
433
- 'subjectId'
434
- ]
435
- },
436
- {
437
- name: 'created_at_index',
438
- fields: [
439
- 'createdAt'
440
- ]
441
- }
442
- ],
443
- order: 5
444
- };
445
- }
446
- const schema_consentSchema = external_zod_namespaceObject.z.object({
447
- id: external_zod_namespaceObject.z.string(),
448
- subjectId: external_zod_namespaceObject.z.string(),
449
- domainId: external_zod_namespaceObject.z.string(),
450
- purposeIds: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()),
451
- metadata: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.unknown()).nullable().optional(),
452
- policyId: external_zod_namespaceObject.z.string().optional(),
453
- ipAddress: external_zod_namespaceObject.z.string().nullable().optional(),
454
- userAgent: external_zod_namespaceObject.z.string().nullable().optional(),
455
- status: external_zod_namespaceObject.z["enum"]([
456
- 'active',
457
- 'withdrawn',
458
- 'expired'
459
- ]).prefault('active'),
460
- withdrawalReason: external_zod_namespaceObject.z.string().nullable().optional(),
461
- givenAt: external_zod_namespaceObject.z.date().prefault(()=>new Date()),
462
- validUntil: external_zod_namespaceObject.z.date().nullable().optional(),
463
- isActive: external_zod_namespaceObject.z.boolean().prefault(true)
464
- });
465
- function getConsentTable(options, consentFields) {
466
- const consentConfig = options.tables?.consent;
467
- const subjectConfig = options.tables?.subject;
468
- const domainConfig = options.tables?.domain;
469
- const policyConfig = options.tables?.consentPolicy;
470
- return {
471
- entityName: consentConfig?.entityName || 'consent',
472
- entityPrefix: consentConfig?.entityPrefix || 'cns',
473
- schema: schema_consentSchema,
474
- fields: {
475
- subjectId: {
476
- type: 'string',
477
- required: true,
478
- fieldName: consentConfig?.fields?.subjectId || 'subjectId',
479
- references: {
480
- model: subjectConfig?.entityName || 'subject',
481
- field: 'id'
482
- }
483
- },
484
- domainId: {
485
- type: 'string',
486
- required: true,
487
- fieldName: consentConfig?.fields?.domainId || 'domainId',
488
- references: {
489
- model: domainConfig?.entityName || 'domain',
490
- field: 'id'
491
- }
492
- },
493
- purposeIds: {
494
- type: 'json',
495
- required: false,
496
- fieldName: consentConfig?.fields?.purposeIds || 'purposeIds'
497
- },
498
- metadata: {
499
- type: 'json',
500
- required: false,
501
- fieldName: consentConfig?.fields?.metadata || 'metadata'
502
- },
503
- policyId: {
504
- type: 'string',
505
- required: false,
506
- fieldName: consentConfig?.fields?.policyId || 'policyId',
507
- references: {
508
- model: policyConfig?.entityName || 'consentPolicy',
509
- field: 'id'
510
- }
511
- },
512
- ipAddress: {
513
- type: 'string',
514
- required: false,
515
- fieldName: consentConfig?.fields?.ipAddress || 'ipAddress'
516
- },
517
- userAgent: {
518
- type: 'string',
519
- required: false,
520
- fieldName: consentConfig?.fields?.userAgent || 'userAgent'
521
- },
522
- status: {
523
- type: 'string',
524
- defaultValue: ()=>'active',
525
- required: true,
526
- fieldName: consentConfig?.fields?.status || 'status'
527
- },
528
- withdrawalReason: {
529
- type: 'string',
530
- required: false,
531
- fieldName: consentConfig?.fields?.withdrawalReason || 'withdrawalReason'
532
- },
533
- givenAt: {
534
- type: 'date',
535
- defaultValue: ()=>new Date(),
536
- required: true,
537
- fieldName: consentConfig?.fields?.givenAt || 'givenAt'
538
- },
539
- validUntil: {
540
- type: 'date',
541
- required: false,
542
- fieldName: consentConfig?.fields?.validUntil || 'validUntil',
543
- transform: {
544
- input: (val, data)=>{
545
- if (val) return val;
546
- const expiresIn = consentConfig?.expiresIn || 31536000;
547
- const givenAt = data.givenAt instanceof Date ? data.givenAt : new Date();
548
- if (expiresIn > 0) {
549
- const validUntil = new Date(givenAt);
550
- validUntil.setSeconds(validUntil.getSeconds() + expiresIn);
551
- return validUntil;
552
- }
553
- }
554
- }
555
- },
556
- isActive: {
557
- type: 'boolean',
558
- defaultValue: true,
559
- required: true,
560
- fieldName: consentConfig?.fields?.isActive || 'isActive'
561
- },
562
- ...consentFields || {},
563
- ...consentConfig?.additionalFields || {}
564
- },
565
- order: 3
566
- };
567
- }
568
- const PolicyTypeSchema = external_zod_namespaceObject.z["enum"]([
569
- 'cookie_banner',
570
- 'privacy_policy',
571
- 'dpa',
572
- 'terms_and_conditions',
573
- 'marketing_communications',
574
- 'age_verification',
575
- 'other'
576
- ]);
577
- const schema_consentPolicySchema = external_zod_namespaceObject.z.object({
578
- id: external_zod_namespaceObject.z.string(),
579
- version: external_zod_namespaceObject.z.string(),
580
- type: PolicyTypeSchema,
581
- name: external_zod_namespaceObject.z.string(),
582
- effectiveDate: external_zod_namespaceObject.z.date(),
583
- expirationDate: external_zod_namespaceObject.z.date().nullable().optional(),
584
- content: external_zod_namespaceObject.z.string(),
585
- contentHash: external_zod_namespaceObject.z.string(),
586
- isActive: external_zod_namespaceObject.z.boolean().prefault(true),
587
- createdAt: external_zod_namespaceObject.z.date().prefault(()=>new Date()),
588
- updatedAt: external_zod_namespaceObject.z.date().prefault(()=>new Date())
589
- });
590
- function getConsentPolicyTable(options, policyFields) {
591
- const consentPolicyConfig = options.tables?.consentPolicy;
592
- return {
593
- entityName: consentPolicyConfig?.entityName || 'consentPolicy',
594
- entityPrefix: consentPolicyConfig?.entityPrefix || 'pol',
595
- schema: schema_consentPolicySchema,
596
- fields: {
597
- version: {
598
- type: 'string',
599
- required: true,
600
- fieldName: consentPolicyConfig?.fields?.version || 'version'
601
- },
602
- type: {
603
- type: 'string',
604
- required: true,
605
- fieldName: consentPolicyConfig?.fields?.type || 'type'
606
- },
607
- name: {
608
- type: 'string',
609
- required: true,
610
- fieldName: consentPolicyConfig?.fields?.name || 'name'
611
- },
612
- effectiveDate: {
613
- type: 'date',
614
- required: true,
615
- fieldName: consentPolicyConfig?.fields?.effectiveDate || 'effectiveDate'
616
- },
617
- expirationDate: {
618
- type: 'date',
619
- required: false,
620
- fieldName: consentPolicyConfig?.fields?.expirationDate || 'expirationDate'
621
- },
622
- content: {
623
- type: 'string',
624
- required: true,
625
- fieldName: consentPolicyConfig?.fields?.content || 'content'
626
- },
627
- contentHash: {
628
- type: 'string',
629
- required: true,
630
- fieldName: consentPolicyConfig?.fields?.contentHash || 'contentHash'
631
- },
632
- isActive: {
633
- type: 'boolean',
634
- defaultValue: true,
635
- required: true,
636
- fieldName: consentPolicyConfig?.fields?.isActive || 'isActive'
637
- },
638
- createdAt: {
639
- type: 'date',
640
- defaultValue: ()=>new Date(),
641
- required: true,
642
- fieldName: consentPolicyConfig?.fields?.createdAt || 'createdAt'
643
- },
644
- ...policyFields || {},
645
- ...consentPolicyConfig?.additionalFields || {}
646
- },
647
- order: 2
648
- };
649
- }
650
- const schema_purposeSchema = external_zod_namespaceObject.z.object({
651
- id: external_zod_namespaceObject.z.string(),
652
- code: external_zod_namespaceObject.z.string(),
653
- name: external_zod_namespaceObject.z.string(),
654
- description: external_zod_namespaceObject.z.string(),
655
- isEssential: external_zod_namespaceObject.z.boolean().prefault(false),
656
- dataCategory: external_zod_namespaceObject.z.string().nullish(),
657
- legalBasis: external_zod_namespaceObject.z.string().nullish(),
658
- isActive: external_zod_namespaceObject.z.boolean().prefault(true),
659
- createdAt: external_zod_namespaceObject.z.date().prefault(()=>new Date()),
660
- updatedAt: external_zod_namespaceObject.z.date().prefault(()=>new Date())
661
- });
662
- function getPurposeTable(options, purposeFields) {
663
- const purposeConfig = options.tables?.consentPurpose;
664
- return {
665
- entityName: purposeConfig?.entityName || 'consentPurpose',
666
- entityPrefix: purposeConfig?.entityPrefix || 'pur',
667
- schema: schema_purposeSchema,
668
- fields: {
669
- code: {
670
- type: 'string',
671
- required: true,
672
- fieldName: purposeConfig?.fields?.code || 'code'
673
- },
674
- name: {
675
- type: 'string',
676
- required: true,
677
- fieldName: purposeConfig?.fields?.name || 'name'
678
- },
679
- description: {
680
- type: 'string',
681
- required: true,
682
- fieldName: purposeConfig?.fields?.description || "description"
683
- },
684
- isEssential: {
685
- type: 'boolean',
686
- defaultValue: ()=>false,
687
- required: true,
688
- fieldName: purposeConfig?.fields?.isEssential || 'isEssential'
689
- },
690
- dataCategory: {
691
- type: 'string',
692
- required: false,
693
- fieldName: purposeConfig?.fields?.dataCategory || 'dataCategory'
694
- },
695
- legalBasis: {
696
- type: 'string',
697
- required: false,
698
- fieldName: purposeConfig?.fields?.legalBasis || 'legalBasis'
699
- },
700
- isActive: {
701
- type: 'boolean',
702
- defaultValue: true,
703
- required: true,
704
- fieldName: purposeConfig?.fields?.isActive || 'isActive'
705
- },
706
- createdAt: {
707
- type: 'date',
708
- defaultValue: ()=>new Date(),
709
- required: true,
710
- fieldName: purposeConfig?.fields?.createdAt || 'createdAt'
711
- },
712
- updatedAt: {
713
- type: 'date',
714
- defaultValue: ()=>new Date(),
715
- required: true,
716
- fieldName: purposeConfig?.fields?.updatedAt || 'updatedAt'
717
- },
718
- ...purposeFields || {},
719
- ...purposeConfig?.additionalFields || {}
720
- },
721
- order: 1
722
- };
723
- }
724
- const schema_consentRecordSchema = external_zod_namespaceObject.z.object({
725
- id: external_zod_namespaceObject.z.string(),
726
- subjectId: external_zod_namespaceObject.z.string(),
727
- consentId: external_zod_namespaceObject.z.string().optional(),
728
- actionType: external_zod_namespaceObject.z.string(),
729
- details: external_zod_namespaceObject.z.record(external_zod_namespaceObject.z.string(), external_zod_namespaceObject.z.unknown()).optional(),
730
- createdAt: external_zod_namespaceObject.z.date().prefault(()=>new Date()),
731
- updatedAt: external_zod_namespaceObject.z.date().prefault(()=>new Date())
732
- });
733
- function getConsentRecordTable(options, recordFields) {
734
- const recordConfig = options.tables?.record;
735
- const subjectConfig = options.tables?.subject;
736
- const consentConfig = options.tables?.consent;
737
- return {
738
- entityName: recordConfig?.entityName || 'consentRecord',
739
- entityPrefix: recordConfig?.entityPrefix || 'rec',
740
- schema: schema_consentRecordSchema,
741
- fields: {
742
- subjectId: {
743
- type: 'string',
744
- required: true,
745
- fieldName: recordConfig?.fields?.subjectId || 'subjectId',
746
- references: {
747
- model: subjectConfig?.entityName || 'subject',
748
- field: 'id'
749
- }
750
- },
751
- consentId: {
752
- type: 'string',
753
- required: false,
754
- fieldName: recordConfig?.fields?.consentId || 'consentId',
755
- references: {
756
- model: consentConfig?.entityName || 'consent',
757
- field: 'id'
758
- }
759
- },
760
- actionType: {
761
- type: 'string',
762
- required: true,
763
- fieldName: recordConfig?.fields?.actionType || 'actionType'
764
- },
765
- details: {
766
- type: 'json',
767
- required: false,
768
- fieldName: recordConfig?.fields?.details || 'details'
769
- },
770
- createdAt: {
771
- type: 'date',
772
- defaultValue: ()=>new Date(),
773
- required: true,
774
- fieldName: recordConfig?.fields?.createdAt || 'createdAt'
775
- },
776
- ...recordFields || {},
777
- ...recordConfig?.additionalFields || {}
778
- },
779
- order: 4
780
- };
781
- }
782
- const schema_domainSchema = external_zod_namespaceObject.z.object({
783
- id: external_zod_namespaceObject.z.string(),
784
- name: external_zod_namespaceObject.z.string().min(1),
785
- description: external_zod_namespaceObject.z.string().optional(),
786
- allowedOrigins: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string()).optional().prefault([]),
787
- isVerified: external_zod_namespaceObject.z.boolean().prefault(true),
788
- isActive: external_zod_namespaceObject.z.boolean().prefault(true),
789
- createdAt: external_zod_namespaceObject.z.date().prefault(()=>new Date()),
790
- updatedAt: external_zod_namespaceObject.z.date().prefault(()=>new Date())
791
- });
792
- function getDomainTable(options, domainFields) {
793
- const domainConfig = options.tables?.domain;
794
- return {
795
- entityName: domainConfig?.entityName || 'domain',
796
- entityPrefix: domainConfig?.entityPrefix || 'dom',
797
- schema: schema_domainSchema,
798
- fields: {
799
- name: {
800
- type: 'string',
801
- required: true,
802
- unique: true,
803
- fieldName: domainConfig?.fields?.name || 'name'
804
- },
805
- description: {
806
- type: 'string',
807
- required: false,
808
- fieldName: domainConfig?.fields?.description || "description"
809
- },
810
- allowedOrigins: {
811
- type: 'json',
812
- defaultValue: ()=>[],
813
- required: false,
814
- fieldName: domainConfig?.fields?.allowedOrigins || 'allowedOrigins'
815
- },
816
- isVerified: {
817
- type: 'boolean',
818
- defaultValue: true,
819
- required: true,
820
- fieldName: domainConfig?.fields?.isVerified || 'isVerified'
821
- },
822
- isActive: {
823
- type: 'boolean',
824
- defaultValue: true,
825
- required: true,
826
- fieldName: domainConfig?.fields?.isActive || 'isActive'
827
- },
828
- createdAt: {
829
- type: 'date',
830
- defaultValue: ()=>new Date(),
831
- required: true,
832
- fieldName: domainConfig?.fields?.createdAt || 'createdAt'
833
- },
834
- updatedAt: {
835
- type: 'date',
836
- required: false,
837
- fieldName: domainConfig?.fields?.updatedAt || 'updatedAt'
838
- },
839
- ...domainFields || {},
840
- ...domainConfig?.additionalFields || {}
841
- },
842
- order: 1
843
- };
844
- }
845
- const schema_subjectSchema = external_zod_namespaceObject.z.object({
846
- id: external_zod_namespaceObject.z.string(),
847
- isIdentified: external_zod_namespaceObject.z.boolean().prefault(false),
848
- externalId: external_zod_namespaceObject.z.string().nullable().optional(),
849
- identityProvider: external_zod_namespaceObject.z.string().optional(),
850
- lastIpAddress: external_zod_namespaceObject.z.string().optional(),
851
- createdAt: external_zod_namespaceObject.z.date().prefault(()=>new Date()),
852
- updatedAt: external_zod_namespaceObject.z.date().prefault(()=>new Date())
853
- });
854
- function getSubjectTable(options, subjectFields) {
855
- const subjectConfig = options.tables?.subject;
856
- return {
857
- entityName: subjectConfig?.entityName || 'subject',
858
- entityPrefix: subjectConfig?.entityPrefix || 'sub',
859
- schema: schema_subjectSchema,
860
- fields: {
861
- isIdentified: {
862
- type: 'boolean',
863
- defaultValue: ()=>false,
864
- required: true,
865
- fieldName: subjectConfig?.fields?.isIdentified || 'isIdentified'
866
- },
867
- externalId: {
868
- type: 'string',
869
- required: false,
870
- fieldName: subjectConfig?.fields?.externalId || 'externalId'
871
- },
872
- identityProvider: {
873
- type: 'string',
874
- required: false,
875
- fieldName: subjectConfig?.fields?.identityProvider || 'identityProvider'
876
- },
877
- lastIpAddress: {
878
- type: 'string',
879
- required: false,
880
- fieldName: subjectConfig?.fields?.lastIpAddress || 'lastIpAddress'
881
- },
882
- createdAt: {
883
- type: 'date',
884
- defaultValue: ()=>new Date(),
885
- required: true,
886
- fieldName: subjectConfig?.fields?.createdAt || 'createdAt'
887
- },
888
- updatedAt: {
889
- type: 'date',
890
- defaultValue: ()=>new Date(),
891
- required: true,
892
- fieldName: subjectConfig?.fields?.updatedAt || 'updatedAt'
893
- },
894
- subjectTimezone: {
895
- type: 'timezone',
896
- required: false,
897
- defaultValue: COMMON_TIMEZONES.UTC,
898
- fieldName: subjectConfig?.fields?.subjectTimezone || 'subjectTimezone'
899
- },
900
- ...subjectFields || {},
901
- ...subjectConfig?.additionalFields || {}
902
- },
903
- order: 1
904
- };
905
- }
906
- const getConsentTables = (options)=>{
907
- const pluginSchema = options.plugins?.reduce((acc, plugin)=>{
908
- const schema = plugin.schema;
909
- if (!schema) return acc;
910
- for (const [key, value] of Object.entries(schema))acc[key] = {
911
- fields: {
912
- ...acc[key]?.fields,
913
- ...value.fields
914
- },
915
- entityName: key
916
- };
917
- return acc;
918
- }, {});
919
- const { subject, consentPurpose, consentPolicy, domain, geoLocation, consent, consentPurposeJunction, record, consentGeoLocation, consentWithdrawal, auditLog, ...pluginTables } = pluginSchema || {};
920
- return {
921
- subject: getSubjectTable(options, subject?.fields),
922
- consentPurpose: getPurposeTable(options, consentPurpose?.fields),
923
- consentPolicy: getConsentPolicyTable(options, consentPolicy?.fields),
924
- domain: getDomainTable(options, domain?.fields),
925
- consent: getConsentTable(options, consent?.fields),
926
- consentRecord: getConsentRecordTable(options, record?.fields),
927
- auditLog: getAuditLogTable(options, auditLog?.fields),
928
- ...pluginTables
929
- };
930
- };
931
- const external_kysely_namespaceObject = require("kysely");
932
- function getDatabaseType(db) {
933
- if (!db) return null;
934
- if ('dialect' in db) return getDatabaseType(db.dialect);
935
- if (db && 'object' == typeof db && 'createDriver' in db) {
936
- if (db instanceof external_kysely_namespaceObject.SqliteDialect) return 'sqlite';
937
- if (db instanceof external_kysely_namespaceObject.MysqlDialect) return 'mysql';
938
- if (db instanceof external_kysely_namespaceObject.PostgresDialect) return 'postgres';
939
- if (db instanceof external_kysely_namespaceObject.MssqlDialect) return 'mssql';
940
- }
941
- if (db && 'object' == typeof db && 'aggregate' in db) return 'sqlite';
942
- if (db && 'object' == typeof db && 'getConnection' in db) return 'mysql';
943
- if (db && 'object' == typeof db && 'connect' in db) return 'postgres';
944
- return null;
945
- }
946
- const createKyselyAdapter = async (config)=>{
947
- const db = config.database;
948
- if (!db) return {
949
- kysely: null,
950
- databaseType: null
951
- };
952
- if (db && 'object' == typeof db && 'db' in db) {
953
- const kyselyConfig = db;
954
- return {
955
- kysely: kyselyConfig.db,
956
- databaseType: kyselyConfig.type
957
- };
958
- }
959
- if (db && 'object' == typeof db && 'dialect' in db) {
960
- const dialectConfig = db;
961
- return {
962
- kysely: new external_kysely_namespaceObject.Kysely({
963
- dialect: dialectConfig.dialect
964
- }),
965
- databaseType: dialectConfig.type
966
- };
967
- }
968
- let dialect;
969
- const databaseType = getDatabaseType(db);
970
- if (db && 'object' == typeof db && 'createDriver' in db) dialect = db;
971
- if (db && 'object' == typeof db && 'aggregate' in db) dialect = new external_kysely_namespaceObject.SqliteDialect({
972
- database: db
973
- });
974
- if (db && 'object' == typeof db && 'getConnection' in db) dialect = new external_kysely_namespaceObject.MysqlDialect({
975
- pool: db
976
- });
977
- if (db && 'object' == typeof db && 'connect' in db) dialect = new external_kysely_namespaceObject.PostgresDialect({
978
- pool: db
979
- });
980
- return {
981
- kysely: dialect ? new external_kysely_namespaceObject.Kysely({
982
- dialect
983
- }) : null,
984
- databaseType
985
- };
986
- };
987
- const external_superjson_namespaceObject = require("superjson");
988
- var external_superjson_default = /*#__PURE__*/ __webpack_require__.n(external_superjson_namespaceObject);
989
- const external_drizzle_orm_namespaceObject = require("drizzle-orm");
990
- function applyDefaultValue(inputValue, field, operation) {
991
- if ('update' === operation) return inputValue;
992
- if (null == inputValue && field.defaultValue) {
993
- if ('function' == typeof field.defaultValue) return field.defaultValue();
994
- return field.defaultValue;
995
- }
996
- return inputValue;
997
- }
998
- const createEntityTransformer = (db, config, options)=>{
999
- const schema = getConsentTables(options);
1000
- function getField(model, field) {
1001
- if ('id' === field) return field;
1002
- const f = schema[model].fields[field];
1003
- return f.fieldName || field;
1004
- }
1005
- function getSchema(entityName) {
1006
- const schema = config.schema || db._.fullSchema;
1007
- if (!schema) throw new error_class_DoubleTieError('The schema could not be found. Please ensure the schema is properly configured in the adapter.', {
1008
- code: error_codes_ERROR_CODES.DATABASE_CONNECTION_ERROR,
1009
- status: 500,
1010
- meta: {
1011
- provider: config.provider
1012
- }
1013
- });
1014
- const model = getEntityName(entityName);
1015
- const schemaModel = schema[model];
1016
- if (!schemaModel) throw new error_class_DoubleTieError(`The model "${model}" does not exist in the schema. Please verify the model name and ensure it is defined in your schema.`, {
1017
- code: error_codes_ERROR_CODES.DATABASE_QUERY_ERROR,
1018
- status: 404,
1019
- meta: {
1020
- model,
1021
- availableModels: Object.keys(schema)
1022
- }
1023
- });
1024
- return schemaModel;
1025
- }
1026
- const getEntityName = (model)=>{
1027
- if (schema[model].entityName !== model) return schema[model].entityName;
1028
- if (config.usePlural) return `${model}s`;
1029
- return model;
1030
- };
1031
- function convertWhereClause(where, model) {
1032
- const schemaModel = getSchema(model);
1033
- if (!where) return [];
1034
- if (1 === where.length) {
1035
- const w = where[0];
1036
- if (!w) return [];
1037
- const field = getField(model, w.field);
1038
- if (!schemaModel[field]) throw new error_class_DoubleTieError(`The field "${field}" does not exist in model "${model}". Please verify the field name and ensure it is defined in your schema.`, {
1039
- code: error_codes_ERROR_CODES.DATABASE_QUERY_ERROR,
1040
- status: 404,
1041
- meta: {
1042
- model,
1043
- field,
1044
- availableFields: Object.keys(schemaModel)
1045
- }
1046
- });
1047
- if ('in' === w.operator) {
1048
- if (!Array.isArray(w.value)) throw new error_class_DoubleTieError(`The value for the field "${field}" must be an array when using the "in" operator.`, {
1049
- code: error_codes_ERROR_CODES.BAD_REQUEST,
1050
- status: 400,
1051
- meta: {
1052
- field,
1053
- operator: w.operator,
1054
- expectedType: 'array',
1055
- actualType: typeof w.value
1056
- }
1057
- });
1058
- return [
1059
- (0, external_drizzle_orm_namespaceObject.inArray)(schemaModel[field], w.value)
1060
- ];
1061
- }
1062
- if ('contains' === w.operator) return [
1063
- (0, external_drizzle_orm_namespaceObject.like)(schemaModel[field], `%${w.value}%`)
1064
- ];
1065
- if ('starts_with' === w.operator) return [
1066
- (0, external_drizzle_orm_namespaceObject.like)(schemaModel[field], `${w.value}%`)
1067
- ];
1068
- if ('ends_with' === w.operator) return [
1069
- (0, external_drizzle_orm_namespaceObject.like)(schemaModel[field], `%${w.value}`)
1070
- ];
1071
- return [
1072
- (0, external_drizzle_orm_namespaceObject.eq)(schemaModel[field], w.value)
1073
- ];
1074
- }
1075
- const andGroup = where.filter((w)=>'AND' === w.connector || !w.connector);
1076
- const orGroup = where.filter((w)=>'OR' === w.connector);
1077
- const andClause = (0, external_drizzle_orm_namespaceObject.and)(...andGroup.map((w)=>{
1078
- const field = getField(model, w.field);
1079
- if ('in' === w.operator) {
1080
- if (!Array.isArray(w.value)) throw new error_class_DoubleTieError(`The value for the field "${field}" must be an array when using the "in" operator.`, {
1081
- code: error_codes_ERROR_CODES.BAD_REQUEST,
1082
- status: 400,
1083
- meta: {
1084
- field,
1085
- operator: w.operator,
1086
- expectedType: 'array',
1087
- actualType: typeof w.value
1088
- }
1089
- });
1090
- return (0, external_drizzle_orm_namespaceObject.inArray)(schemaModel[field], w.value);
1091
- }
1092
- return (0, external_drizzle_orm_namespaceObject.eq)(schemaModel[field], w.value);
1093
- }));
1094
- const orClause = (0, external_drizzle_orm_namespaceObject.or)(...orGroup.map((w)=>{
1095
- const field = getField(model, w.field);
1096
- return (0, external_drizzle_orm_namespaceObject.eq)(schemaModel[field], w.value);
1097
- }));
1098
- const clause = [];
1099
- if (andGroup.length && andClause) clause.push(andClause);
1100
- if (orGroup.length && orClause) clause.push(orClause);
1101
- return clause;
1102
- }
1103
- const useDatabaseGeneratedId = options?.advanced?.generateId === false;
1104
- return {
1105
- getSchema,
1106
- transformInput (data, model, action) {
1107
- const transformedData = useDatabaseGeneratedId || 'update' === action ? {} : {
1108
- id: options.advanced?.generateId ? options.advanced.generateId({
1109
- model
1110
- }) : data.id || generateId(schema[model].entityPrefix)
1111
- };
1112
- const fields = schema[model].fields;
1113
- for(const field in fields)if (Object.hasOwn(fields, field)) {
1114
- const value = data[field];
1115
- if (void 0 === value && !fields[field].defaultValue) continue;
1116
- transformedData[fields[field].fieldName || field] = applyDefaultValue(value, fields[field], action);
1117
- }
1118
- return transformedData;
1119
- },
1120
- transformOutput (data, model, select = []) {
1121
- if (!data) return null;
1122
- let transformedData = {};
1123
- if ((data.id || data._id) && (0 === select.length || select.includes('id'))) transformedData = {
1124
- id: data.id
1125
- };
1126
- const tableSchema = schema[model].fields;
1127
- for(const key in tableSchema){
1128
- if (select.length && !select.includes(key)) continue;
1129
- const field = tableSchema[key];
1130
- if (field) transformedData[key] = data[field.fieldName || key];
1131
- }
1132
- return transformedData;
1133
- },
1134
- convertWhereClause,
1135
- withReturning: async (model, builder, data, where)=>{
1136
- if ('mysql' !== config.provider) {
1137
- const c = await builder.returning();
1138
- return c[0];
1139
- }
1140
- await builder.execute();
1141
- const schemaModel = getSchema(model);
1142
- const builderVal = builder.config?.values;
1143
- if (where?.length) {
1144
- const clause = convertWhereClause(where, model);
1145
- const res = await db.select().from(schemaModel).where(...clause);
1146
- return res[0];
1147
- }
1148
- if (builderVal) {
1149
- const tId = builderVal[0]?.id.value;
1150
- const res = await db.select().from(schemaModel).where((0, external_drizzle_orm_namespaceObject.eq)(schemaModel.id, tId));
1151
- return res[0];
1152
- }
1153
- if (data.id) {
1154
- const res = await db.select().from(schemaModel).where((0, external_drizzle_orm_namespaceObject.eq)(schemaModel.id, data.id));
1155
- return res[0];
1156
- }
1157
- },
1158
- getField,
1159
- getEntityName
1160
- };
1161
- };
1162
- function checkMissingFields(schema, model, values) {
1163
- if (!schema) throw new error_class_DoubleTieError('The schema could not be found. Please ensure the schema is properly configured in the adapter.', {
1164
- code: error_codes_ERROR_CODES.DATABASE_CONNECTION_ERROR,
1165
- status: 500
1166
- });
1167
- for(const key in values)if (!schema[key]) throw new error_class_DoubleTieError(`The field "${key}" does not exist in the "${model}" schema. Please update your drizzle schema or re-generate using "npx @c15t/cli generate".`);
1168
- }
1169
- const drizzleAdapter = (db, config)=>(options)=>{
1170
- const { transformInput, transformOutput, convertWhereClause, getSchema, withReturning, getField, getEntityName } = createEntityTransformer(db, config, options);
1171
- return {
1172
- id: 'drizzle',
1173
- async create (data) {
1174
- const { model, data: values } = data;
1175
- const transformed = transformInput(values, model, 'create');
1176
- const schemaModel = getSchema(model);
1177
- checkMissingFields(schemaModel, getEntityName(model), transformed);
1178
- const builder = db.insert(schemaModel).values(transformed);
1179
- const returned = await withReturning(model, builder, transformed);
1180
- return transformOutput(returned, model);
1181
- },
1182
- async findOne (data) {
1183
- const { model, where, select } = data;
1184
- const schemaModel = getSchema(model);
1185
- const clause = convertWhereClause(where, model);
1186
- const res = await db.select().from(schemaModel).where(...clause);
1187
- if (!res.length) return null;
1188
- return transformOutput(res[0], model, select);
1189
- },
1190
- async findMany (data) {
1191
- const { model, where, sortBy, limit, offset } = data;
1192
- const schemaModel = getSchema(model);
1193
- const clause = where ? convertWhereClause(where, model) : [];
1194
- const sortFn = sortBy?.direction === 'desc' ? external_drizzle_orm_namespaceObject.desc : external_drizzle_orm_namespaceObject.asc;
1195
- const builder = db.select().from(schemaModel).limit(limit || 100).offset(offset || 0);
1196
- if (sortBy?.field) builder.orderBy(sortFn(schemaModel[getField(model, sortBy?.field)]));
1197
- const res = await builder.where(...clause);
1198
- return res.map((r)=>transformOutput(r, model));
1199
- },
1200
- async count (data) {
1201
- const { model, where } = data;
1202
- const schemaModel = getSchema(model);
1203
- const clause = where ? convertWhereClause(where, model) : [];
1204
- const res = await db.select({
1205
- count: (0, external_drizzle_orm_namespaceObject.count)()
1206
- }).from(schemaModel).where(...clause);
1207
- return res[0].count;
1208
- },
1209
- async update (data) {
1210
- const { model, where, update } = data;
1211
- const schemaModel = getSchema(model);
1212
- const clause = convertWhereClause(where, model);
1213
- const transformed = transformInput(update, model, 'update');
1214
- const result = await db.update(schemaModel).set(transformed).where(clause).returning();
1215
- return result.length ? transformOutput(result[0], model) : null;
1216
- },
1217
- async updateMany (data) {
1218
- const { model, where, update: values } = data;
1219
- const schemaModel = getSchema(model);
1220
- const clause = convertWhereClause(where, model);
1221
- const transformed = transformInput(values, model, 'update');
1222
- const builder = db.update(schemaModel).set(transformed).where(...clause);
1223
- const res = await builder;
1224
- return res ? res.changes : 0;
1225
- },
1226
- async delete (data) {
1227
- const { model, where } = data;
1228
- const schemaModel = getSchema(model);
1229
- const clause = convertWhereClause(where, model);
1230
- const builder = db.delete(schemaModel).where(...clause);
1231
- await builder;
1232
- },
1233
- async deleteMany (data) {
1234
- const { model, where } = data;
1235
- const schemaModel = getSchema(model);
1236
- const clause = convertWhereClause(where, model);
1237
- const result = await db.delete(schemaModel).where(clause);
1238
- return result ? result.rowCount : 0;
1239
- },
1240
- async transaction (data) {
1241
- const { callback } = data;
1242
- return await db.transaction(async (tx)=>{
1243
- const transactionAdapter = drizzleAdapter(tx, config)(options);
1244
- return await callback(transactionAdapter);
1245
- });
1246
- },
1247
- options: config
1248
- };
1249
- };
1250
- const memory_adapter_createEntityTransformer = (options)=>{
1251
- const schema = getConsentTables(options);
1252
- function getField(model, field) {
1253
- if ('id' === field) return field;
1254
- const modelFields = schema[model]?.fields;
1255
- const f = modelFields ? modelFields[field] : void 0;
1256
- return f?.fieldName || field;
1257
- }
1258
- return {
1259
- transformInput (data, model, action) {
1260
- const advancedOptions = options.advanced || {};
1261
- const transformedData = 'update' === action ? {} : {
1262
- id: advancedOptions.generateId ? advancedOptions.generateId({
1263
- model
1264
- }) : data.id || generateId(schema[model].entityPrefix)
1265
- };
1266
- const fields = schema[model].fields;
1267
- for(const field in fields)if (Object.hasOwn(fields, field)) {
1268
- const value = data[field];
1269
- const fieldInfo = fields[field];
1270
- if (void 0 === value && !fieldInfo?.defaultValue) continue;
1271
- const fieldName = fieldInfo?.fieldName || field;
1272
- transformedData[fieldName] = applyDefaultValue(value, fieldInfo, action);
1273
- }
1274
- return transformedData;
1275
- },
1276
- transformOutput (data, model, select = []) {
1277
- if (!data) return null;
1278
- const transformedData = {};
1279
- const hasId = data.id || data._id;
1280
- if (hasId && (0 === select.length || select.includes('id'))) transformedData.id = data.id;
1281
- const tableSchema = schema[model].fields;
1282
- for(const key in tableSchema){
1283
- if (select.length && !select.includes(key)) continue;
1284
- const field = tableSchema[key];
1285
- if (field) transformedData[key] = data[field.fieldName || key];
1286
- }
1287
- return transformedData;
1288
- },
1289
- convertWhereClause (where, table, model) {
1290
- return table.filter((record)=>where.every((clause)=>{
1291
- const { field: _field, value, operator = '=' } = clause;
1292
- const field = getField(model, _field);
1293
- if ('in' === operator) {
1294
- if (!Array.isArray(value)) throw new Error('Value must be an array');
1295
- return value.includes(record[field]);
1296
- }
1297
- if ('contains' === operator) {
1298
- const fieldValue = record[field];
1299
- return 'string' == typeof fieldValue && fieldValue.includes(value);
1300
- }
1301
- if ('starts_with' === operator) {
1302
- const fieldValue = record[field];
1303
- return 'string' == typeof fieldValue && fieldValue.startsWith(value);
1304
- }
1305
- if ('ends_with' === operator) {
1306
- const fieldValue = record[field];
1307
- return 'string' == typeof fieldValue && fieldValue.endsWith(value);
1308
- }
1309
- if ('eq' === operator) return record[field] === value;
1310
- if ('ne' === operator) return record[field] !== value;
1311
- return record[field] === value;
1312
- }));
1313
- },
1314
- getField
1315
- };
1316
- };
1317
- const memoryAdapter = (db)=>(options)=>{
1318
- const { transformInput, transformOutput, convertWhereClause, getField } = memory_adapter_createEntityTransformer(options);
1319
- const schema = getConsentTables(options);
1320
- for(const model in schema)if (!db[model]) db[model] = [];
1321
- return {
1322
- id: 'memory',
1323
- async create (data) {
1324
- const { model, data: values, select } = data;
1325
- const transformed = transformInput(values, model, 'create');
1326
- if (!db[model]) db[model] = [];
1327
- db[model].push(transformed);
1328
- return transformOutput(transformed, model, select);
1329
- },
1330
- async findOne (data) {
1331
- const { model, where, select } = data;
1332
- const table = db[model] || [];
1333
- const whereArray = Array.isArray(where) ? where : [
1334
- where
1335
- ];
1336
- const res = convertWhereClause(whereArray, table, model);
1337
- const record = res[0] || null;
1338
- return transformOutput(record, model, select);
1339
- },
1340
- async findMany (data) {
1341
- const { model, where, sortBy, limit, offset } = data;
1342
- let table = db[model] || [];
1343
- if (where) {
1344
- const whereArray = Array.isArray(where) ? where : [
1345
- where
1346
- ];
1347
- table = convertWhereClause(whereArray, table, model);
1348
- }
1349
- if (sortBy) {
1350
- const field = getField(model, sortBy.field);
1351
- table = [
1352
- ...table
1353
- ].sort((a, b)=>{
1354
- if ('asc' === sortBy.direction) return a[field] > b[field] ? 1 : -1;
1355
- return a[field] < b[field] ? 1 : -1;
1356
- });
1357
- }
1358
- let result = table;
1359
- if (void 0 !== offset) result = result.slice(offset);
1360
- if (void 0 !== limit) result = result.slice(0, limit);
1361
- return result.map((record)=>transformOutput(record, model));
1362
- },
1363
- async count (data) {
1364
- const { model, where } = data;
1365
- const table = db[model] || [];
1366
- if (!where) return table.length;
1367
- const whereArray = Array.isArray(where) ? where : [
1368
- where
1369
- ];
1370
- const filtered = convertWhereClause(whereArray, table, model);
1371
- return filtered.length;
1372
- },
1373
- async update (data) {
1374
- const { model, where, update: values } = data;
1375
- const table = db[model] || [];
1376
- const whereArray = Array.isArray(where) ? where : [
1377
- where
1378
- ];
1379
- const res = convertWhereClause(whereArray, table, model);
1380
- for (const record of res)Object.assign(record, transformInput(values, model, 'update'));
1381
- return transformOutput(res[0] || null, model);
1382
- },
1383
- async updateMany (data) {
1384
- const { model, where, update: values } = data;
1385
- const table = db[model] || [];
1386
- const whereArray = Array.isArray(where) ? where : [
1387
- where
1388
- ];
1389
- const res = convertWhereClause(whereArray, table, model);
1390
- for (const record of res)Object.assign(record, transformInput(values, model, 'update'));
1391
- return res.map((record)=>transformOutput(record, model));
1392
- },
1393
- async delete (data) {
1394
- const { model, where } = data;
1395
- const table = db[model] || [];
1396
- const whereArray = Array.isArray(where) ? where : [
1397
- where
1398
- ];
1399
- const res = convertWhereClause(whereArray, table, model);
1400
- db[model] = table.filter((record)=>!res.includes(record));
1401
- },
1402
- async deleteMany (data) {
1403
- const { model, where } = data;
1404
- const table = db[model] || [];
1405
- const whereArray = Array.isArray(where) ? where : [
1406
- where
1407
- ];
1408
- const res = convertWhereClause(whereArray, table, model);
1409
- let count = 0;
1410
- db[model] = table.filter((record)=>{
1411
- if (res.includes(record)) {
1412
- count++;
1413
- return false;
1414
- }
1415
- return true;
1416
- });
1417
- return count;
1418
- },
1419
- async transaction (data) {
1420
- const { callback } = data;
1421
- const tempDb = {};
1422
- for(const key in db)if (Object.hasOwn(db, key)) tempDb[key] = JSON.parse(JSON.stringify(db[key]));
1423
- const transactionAdapter = memoryAdapter(tempDb)(options);
1424
- const result = await callback(transactionAdapter);
1425
- for(const key in tempDb)if (Object.hasOwn(tempDb, key)) db[key] = tempDb[key];
1426
- return result;
1427
- }
1428
- };
1429
- };
1430
- const prisma_adapter_createEntityTransformer = (_config, options)=>{
1431
- const schema = getConsentTables(options);
1432
- function getField(model, field) {
1433
- if ('id' === field) return field;
1434
- const f = schema[model].fields[field];
1435
- return f.fieldName || field;
1436
- }
1437
- function operatorToPrismaOperator(operator) {
1438
- switch(operator){
1439
- case 'starts_with':
1440
- return 'startsWith';
1441
- case 'ends_with':
1442
- return 'endsWith';
1443
- default:
1444
- return operator;
1445
- }
1446
- }
1447
- function getEntityName(model) {
1448
- return schema[model].entityName;
1449
- }
1450
- const useDatabaseGeneratedId = options?.advanced?.generateId === false;
1451
- return {
1452
- transformInput (data, model, action) {
1453
- const transformedData = useDatabaseGeneratedId || 'update' === action ? {} : {
1454
- id: options.advanced?.generateId ? options.advanced.generateId({
1455
- model
1456
- }) : data.id || generateId(schema[model].entityPrefix)
1457
- };
1458
- const fields = schema[model].fields;
1459
- for(const field in fields)if (Object.hasOwn(fields, field)) {
1460
- const value = data[field];
1461
- if (void 0 === value && (!fields[field].defaultValue || 'update' === action)) continue;
1462
- transformedData[fields[field].fieldName || field] = applyDefaultValue(value, fields[field], action);
1463
- }
1464
- return transformedData;
1465
- },
1466
- transformOutput (data, model, select = []) {
1467
- if (!data) return null;
1468
- let transformedData = {};
1469
- if ((data.id || data._id) && (0 === select.length || select.includes('id'))) transformedData = {
1470
- id: data.id
1471
- };
1472
- const tableSchema = schema[model].fields;
1473
- for(const key in tableSchema){
1474
- if (select.length && !select.includes(key)) continue;
1475
- const field = tableSchema[key];
1476
- if (field) transformedData[key] = data[field.fieldName || key];
1477
- }
1478
- return transformedData;
1479
- },
1480
- convertWhereClause (model, where) {
1481
- if (!where) return {};
1482
- if (1 === where.length) {
1483
- const w = where[0];
1484
- if (!w) return;
1485
- return {
1486
- [getField(model, w.field)]: 'eq' !== w.operator && w.operator ? {
1487
- [operatorToPrismaOperator(w.operator)]: w.value
1488
- } : w.value
1489
- };
1490
- }
1491
- const and = where.filter((w)=>'AND' === w.connector || !w.connector);
1492
- const or = where.filter((w)=>'OR' === w.connector);
1493
- const andClause = and.map((w)=>({
1494
- [getField(model, w.field)]: 'eq' !== w.operator && w.operator ? {
1495
- [operatorToPrismaOperator(w.operator)]: w.value
1496
- } : w.value
1497
- }));
1498
- const orClause = or.map((w)=>({
1499
- [getField(model, w.field)]: {
1500
- [w.operator || 'eq']: w.value
1501
- }
1502
- }));
1503
- return {
1504
- ...andClause.length ? {
1505
- AND: andClause
1506
- } : {},
1507
- ...orClause.length ? {
1508
- OR: orClause
1509
- } : {}
1510
- };
1511
- },
1512
- convertSelect: (select, model)=>{
1513
- if (!select || !model) return;
1514
- return select.reduce((prev, cur)=>{
1515
- const field = getField(model, cur);
1516
- return Object.assign({}, prev, {
1517
- [field]: true
1518
- });
1519
- }, {});
1520
- },
1521
- getEntityName,
1522
- getField
1523
- };
1524
- };
1525
- const prismaAdapter = (prisma, config)=>(options)=>{
1526
- const db = prisma;
1527
- const { transformInput, transformOutput, convertWhereClause, convertSelect, getEntityName, getField } = prisma_adapter_createEntityTransformer(config, options);
1528
- return {
1529
- id: 'prisma',
1530
- async create (data) {
1531
- const { model, data: values, select } = data;
1532
- const transformed = transformInput(values, model, 'create');
1533
- if (!db[getEntityName(model)]) throw new error_class_DoubleTieError(`The model "${model}" does not exist in the Prisma client. Please verify the model name and ensure it is defined in your Prisma schema.`, {
1534
- code: error_codes_ERROR_CODES.DATABASE_QUERY_ERROR,
1535
- status: 500,
1536
- meta: {
1537
- model,
1538
- availableModels: Object.keys(prisma).filter((key)=>!key.startsWith('$') && !key.startsWith('_'))
1539
- }
1540
- });
1541
- const result = await db[getEntityName(model)].create({
1542
- data: transformed,
1543
- select: convertSelect(select, model)
1544
- });
1545
- return transformOutput(result, model, select);
1546
- },
1547
- async findOne (data) {
1548
- const { model, where, select } = data;
1549
- const whereClause = convertWhereClause(model, where);
1550
- if (!db[getEntityName(model)]) throw new error_class_DoubleTieError(`The model "${model}" does not exist in the Prisma client. Please verify the model name and ensure it is defined in your Prisma schema.`, {
1551
- code: error_codes_ERROR_CODES.DATABASE_QUERY_ERROR,
1552
- status: 500,
1553
- meta: {
1554
- model,
1555
- availableModels: Object.keys(prisma).filter((key)=>!key.startsWith('$') && !key.startsWith('_'))
1556
- }
1557
- });
1558
- const result = await db[getEntityName(model)].findFirst({
1559
- where: whereClause,
1560
- select: convertSelect(select, model)
1561
- });
1562
- return transformOutput(result, model, select);
1563
- },
1564
- async findMany (data) {
1565
- const { model, where, limit, offset, sortBy } = data;
1566
- const whereClause = convertWhereClause(model, where);
1567
- if (!db[getEntityName(model)]) throw new error_class_DoubleTieError(`The model "${model}" does not exist in the Prisma client. Please verify the model name and ensure it is defined in your Prisma schema.`, {
1568
- code: error_codes_ERROR_CODES.DATABASE_QUERY_ERROR,
1569
- status: 500,
1570
- meta: {
1571
- model,
1572
- availableModels: Object.keys(prisma).filter((key)=>!key.startsWith('$') && !key.startsWith('_'))
1573
- }
1574
- });
1575
- const result = await db[getEntityName(model)].findMany({
1576
- where: whereClause,
1577
- take: limit || 100,
1578
- skip: offset || 0,
1579
- ...sortBy?.field ? {
1580
- orderBy: {
1581
- [getField(model, sortBy.field)]: 'desc' === sortBy.direction ? 'desc' : 'asc'
1582
- }
1583
- } : {}
1584
- });
1585
- return result.map((r)=>transformOutput(r, model));
1586
- },
1587
- async count (data) {
1588
- const { model, where } = data;
1589
- const whereClause = convertWhereClause(model, where);
1590
- if (!db[getEntityName(model)]) throw new error_class_DoubleTieError(`The model "${model}" does not exist in the Prisma client. Please verify the model name and ensure it is defined in your Prisma schema.`, {
1591
- code: error_codes_ERROR_CODES.DATABASE_QUERY_ERROR,
1592
- status: 500,
1593
- meta: {
1594
- model,
1595
- availableModels: Object.keys(prisma).filter((key)=>!key.startsWith('$') && !key.startsWith('_'))
1596
- }
1597
- });
1598
- const result = await db[getEntityName(model)].count({
1599
- where: whereClause
1600
- });
1601
- return result;
1602
- },
1603
- async update (data) {
1604
- const { model, where, update } = data;
1605
- const whereClause = convertWhereClause(model, where);
1606
- const transformed = transformInput(update, model, 'update');
1607
- try {
1608
- const result = await db[getEntityName(model)].update({
1609
- where: whereClause,
1610
- data: transformed
1611
- });
1612
- return transformOutput(result, model);
1613
- } catch {
1614
- return null;
1615
- }
1616
- },
1617
- async updateMany (data) {
1618
- const { model, where, update } = data;
1619
- const whereClause = convertWhereClause(model, where);
1620
- const transformed = transformInput(update, model, 'update');
1621
- const result = await db[getEntityName(model)].updateMany({
1622
- where: whereClause,
1623
- data: transformed
1624
- });
1625
- return result ? result.count : 0;
1626
- },
1627
- async delete (data) {
1628
- const { model, where } = data;
1629
- const whereClause = convertWhereClause(model, where);
1630
- try {
1631
- await db[getEntityName(model)].delete({
1632
- where: whereClause
1633
- });
1634
- } catch {}
1635
- },
1636
- async deleteMany (data) {
1637
- const { model, where } = data;
1638
- const whereClause = convertWhereClause(model, where);
1639
- const result = await db[getEntityName(model)].deleteMany({
1640
- where: whereClause
1641
- });
1642
- return result ? result.count : 0;
1643
- },
1644
- async transaction (data) {
1645
- const { callback } = data;
1646
- return db.$transaction(async (tx)=>{
1647
- const txClient = tx;
1648
- const transactionAdapter = prismaAdapter(txClient, config)(options);
1649
- return await callback(transactionAdapter);
1650
- });
1651
- },
1652
- options: config
1653
- };
1654
- };
1655
- const kysely_adapter_createEntityTransformer = (db, options, config)=>{
1656
- const schema = getConsentTables(options);
1657
- function getField(model, field) {
1658
- if ('id' === field) return field;
1659
- const modelFields = schema[model]?.fields;
1660
- const f = modelFields ? modelFields[field] : void 0;
1661
- if (!f) console.log('Field not found', model, field);
1662
- return f?.fieldName || field;
1663
- }
1664
- function transformValueToDB(value, model, field) {
1665
- if ('id' === field) return value;
1666
- const { type = 'sqlite' } = config || {};
1667
- const modelFields = schema[model]?.fields;
1668
- const f = modelFields ? modelFields[field] : void 0;
1669
- if (f?.type === 'boolean' && ('sqlite' === type || 'mssql' === type) && null != value) return value ? 1 : 0;
1670
- if (f?.type === 'date' && value && value instanceof Date) return 'sqlite' === type ? value.toISOString() : value;
1671
- if (f?.type === 'json' && null != value) {
1672
- if ('postgres' === type || 'mysql' === type) return value;
1673
- return external_superjson_default().stringify(value);
1674
- }
1675
- return value;
1676
- }
1677
- function transformValueFromDB(value, model, field) {
1678
- const { type = 'sqlite' } = config || {};
1679
- const modelFields = schema[model]?.fields;
1680
- const f = modelFields ? modelFields[field] : void 0;
1681
- if (f?.type === 'boolean' && ('sqlite' === type || 'mssql' === type) && null !== value) return 1 === value;
1682
- if (f?.type === 'date' && value) return new Date(value);
1683
- if (f?.type === 'json' && null != value) {
1684
- if (('postgres' === type || 'mysql' === type) && 'object' == typeof value) return value;
1685
- if ('string' == typeof value) try {
1686
- return external_superjson_default().parse(value);
1687
- } catch {
1688
- try {
1689
- return JSON.parse(value);
1690
- } catch {}
1691
- }
1692
- }
1693
- return value;
1694
- }
1695
- function getEntityName(model) {
1696
- return schema[model].entityName;
1697
- }
1698
- return {
1699
- transformInput (data, model, action) {
1700
- const transformedData = {};
1701
- if ('create' === action) {
1702
- const advancedOptions = options.advanced || {};
1703
- transformedData.id = data.id || (advancedOptions.generateId ? advancedOptions.generateId({
1704
- model
1705
- }) : generateId(schema[model].entityPrefix));
1706
- }
1707
- const fields = schema[model].fields;
1708
- for(const field in fields)if (Object.hasOwn(fields, field)) {
1709
- const value = data[field];
1710
- const fieldInfo = fields[field];
1711
- const fieldName = fieldInfo?.fieldName || field;
1712
- if (fieldInfo) transformedData[fieldName] = applyDefaultValue(transformValueToDB(value, model, field), fieldInfo, action);
1713
- }
1714
- return transformedData;
1715
- },
1716
- transformOutput (data, model, select = []) {
1717
- if (!data) return null;
1718
- const transformedData = {};
1719
- if (data.id && (0 === select.length || select.includes('id'))) transformedData.id = data.id;
1720
- const tableSchema = schema[model]?.fields;
1721
- for(const key in tableSchema){
1722
- if (select.length && !select.includes(key)) continue;
1723
- const field = tableSchema[key];
1724
- if (field) transformedData[key] = transformValueFromDB(data[field.fieldName || key], model, key);
1725
- }
1726
- return transformedData;
1727
- },
1728
- convertWhereClause (model, whereConditions) {
1729
- if (!whereConditions || 0 === whereConditions.length) return {
1730
- and: null,
1731
- or: null
1732
- };
1733
- const conditions = {
1734
- and: [],
1735
- or: []
1736
- };
1737
- for (const condition of whereConditions){
1738
- let { field: _field, value, operator = '=', connector = 'AND' } = condition;
1739
- const fieldString = getField(model, _field);
1740
- value = transformValueToDB(value, model, _field);
1741
- const expr = (eb)=>{
1742
- const dbField = fieldString;
1743
- if ('in' === operator.toLowerCase()) return eb(dbField, 'in', Array.isArray(value) ? value : [
1744
- value
1745
- ]);
1746
- if ('contains' === operator) return eb(dbField, 'like', `%${value}%`);
1747
- if ('starts_with' === operator) return eb(dbField, 'like', `${value}%`);
1748
- if ('ends_with' === operator) return eb(dbField, 'like', `%${value}`);
1749
- if ('ilike' === operator) {
1750
- const lowerField = eb.fn('lower', [
1751
- dbField
1752
- ]);
1753
- const lowerValue = eb.fn('lower', [
1754
- eb.val(value?.toString())
1755
- ]);
1756
- return eb(lowerField, 'like', lowerValue);
1757
- }
1758
- if ('eq' === operator) return eb(dbField, '=', value);
1759
- if ('ne' === operator) return eb(dbField, '<>', value);
1760
- if ('gt' === operator) return eb(dbField, '>', value);
1761
- if ('gte' === operator) return eb(dbField, '>=', value);
1762
- if ('lt' === operator) return eb(dbField, '<', value);
1763
- if ('lte' === operator) return eb(dbField, '<=', value);
1764
- return eb(dbField, operator, value);
1765
- };
1766
- if ('OR' === connector) conditions.or.push(expr);
1767
- else conditions.and.push(expr);
1768
- }
1769
- return {
1770
- and: conditions.and.length ? conditions.and : null,
1771
- or: conditions.or.length ? conditions.or : null
1772
- };
1773
- },
1774
- async withReturning (values, builder, model, where) {
1775
- let res = null;
1776
- if (config?.type === 'mysql') {
1777
- await builder.execute();
1778
- const whereCondition = where[0];
1779
- const field = values.id ? 'id' : whereCondition?.field ?? 'id';
1780
- const value = values[field] ?? whereCondition?.value;
1781
- const fieldString = getField(model, field);
1782
- res = await db.selectFrom(getEntityName(model)).selectAll().where((eb)=>eb(fieldString, '=', value)).executeTakeFirst();
1783
- return res;
1784
- }
1785
- if (config?.type === 'mssql') {
1786
- res = await builder.outputAll('inserted').executeTakeFirst();
1787
- return res;
1788
- }
1789
- res = await builder.returningAll().executeTakeFirst();
1790
- return res;
1791
- },
1792
- getEntityName,
1793
- getField
1794
- };
1795
- };
1796
- const kyselyAdapter = (db, config)=>(opts)=>{
1797
- const { transformInput, withReturning, transformOutput, convertWhereClause, getEntityName, getField } = kysely_adapter_createEntityTransformer(db, opts, config);
1798
- return {
1799
- id: 'kysely',
1800
- async create (data) {
1801
- const { model, data: values, select } = data;
1802
- const transformed = transformInput(values, model, 'create');
1803
- const tableName = getEntityName(model);
1804
- const builder = db.insertInto(tableName).values(transformed);
1805
- const result = await withReturning(transformed, builder, model, []);
1806
- const output = transformOutput(result, model, select);
1807
- return output;
1808
- },
1809
- async findOne (data) {
1810
- const { model, where, select } = data;
1811
- const whereArray = Array.isArray(where) ? where : [
1812
- where
1813
- ];
1814
- const { and, or } = convertWhereClause(model, whereArray);
1815
- const tableName = getEntityName(model);
1816
- let query = db.selectFrom(tableName).selectAll();
1817
- if (and) query = query.where((eb)=>{
1818
- const conditions = and.map((expr)=>expr(eb));
1819
- return eb.and(conditions);
1820
- });
1821
- if (or) query = query.where((eb)=>{
1822
- const conditions = or.map((expr)=>expr(eb));
1823
- return eb.or(conditions);
1824
- });
1825
- const res = await query.executeTakeFirst();
1826
- if (!res) return null;
1827
- return transformOutput(res, model, select);
1828
- },
1829
- async findMany (data) {
1830
- const { model, where, limit, offset, sortBy } = data;
1831
- const whereArray = where ? Array.isArray(where) ? where : [
1832
- where
1833
- ] : void 0;
1834
- const { and, or } = convertWhereClause(model, whereArray);
1835
- const tableName = getEntityName(model);
1836
- let query = db.selectFrom(tableName);
1837
- if (and) query = query.where((eb)=>{
1838
- const conditions = and.map((expr)=>expr(eb));
1839
- return eb.and(conditions);
1840
- });
1841
- if (or) query = query.where((eb)=>{
1842
- const conditions = or.map((expr)=>expr(eb));
1843
- return eb.or(conditions);
1844
- });
1845
- if (config?.type === 'mssql') {
1846
- if (!offset) query = query.top(limit || 100);
1847
- } else query = query.limit(limit || 100);
1848
- if (sortBy) {
1849
- const sortFieldString = getField(model, sortBy.field);
1850
- query = query.orderBy(sortFieldString, sortBy.direction);
1851
- }
1852
- if (offset) if (config?.type === 'mssql') {
1853
- if (!sortBy) query = query.orderBy('id');
1854
- query = query.offset(offset).fetch(limit || 100);
1855
- } else query = query.offset(offset);
1856
- const res = await query.selectAll().execute();
1857
- if (!res) return [];
1858
- return res.map((r)=>transformOutput(r, model));
1859
- },
1860
- async update (data) {
1861
- const { model, where, update: values } = data;
1862
- const whereArray = Array.isArray(where) ? where : [
1863
- where
1864
- ];
1865
- const { and, or } = convertWhereClause(model, whereArray);
1866
- const transformedData = transformInput(values, model, 'update');
1867
- const tableName = getEntityName(model);
1868
- let query = db.updateTable(tableName).set(transformedData);
1869
- if (and) query = query.where((eb)=>{
1870
- const conditions = and.map((expr)=>expr(eb));
1871
- return eb.and(conditions);
1872
- });
1873
- if (or) query = query.where((eb)=>{
1874
- const conditions = or.map((expr)=>expr(eb));
1875
- return eb.or(conditions);
1876
- });
1877
- const result = await withReturning(transformedData, query, model, whereArray);
1878
- return transformOutput(result, model);
1879
- },
1880
- async updateMany (data) {
1881
- const { model, where, update: values } = data;
1882
- const whereArray = Array.isArray(where) ? where : [
1883
- where
1884
- ];
1885
- const { and, or } = convertWhereClause(model, whereArray);
1886
- const transformedData = transformInput(values, model, 'update');
1887
- const tableName = getEntityName(model);
1888
- let query = db.updateTable(tableName).set(transformedData);
1889
- if (and) query = query.where((eb)=>{
1890
- const conditions = and.map((expr)=>expr(eb));
1891
- return eb.and(conditions);
1892
- });
1893
- if (or) query = query.where((eb)=>{
1894
- const conditions = or.map((expr)=>expr(eb));
1895
- return eb.or(conditions);
1896
- });
1897
- await query.execute();
1898
- let selectQuery = db.selectFrom(tableName).selectAll();
1899
- if (and) selectQuery = selectQuery.where((eb)=>{
1900
- const conditions = and.map((expr)=>expr(eb));
1901
- return eb.and(conditions);
1902
- });
1903
- if (or) selectQuery = selectQuery.where((eb)=>{
1904
- const conditions = or.map((expr)=>expr(eb));
1905
- return eb.or(conditions);
1906
- });
1907
- const fetchedResults = await selectQuery.execute();
1908
- if (!fetchedResults || 0 === fetchedResults.length) return [];
1909
- return fetchedResults.map((record)=>transformOutput(record, model));
1910
- },
1911
- async count (data) {
1912
- const { model, where } = data;
1913
- const whereArray = where ? Array.isArray(where) ? where : [
1914
- where
1915
- ] : void 0;
1916
- const { and, or } = convertWhereClause(model, whereArray);
1917
- const tableName = getEntityName(model);
1918
- let query = db.selectFrom(tableName).select((eb)=>eb.fn.count('id').as('count'));
1919
- if (and) query = query.where((eb)=>{
1920
- const conditions = and.map((expr)=>expr(eb));
1921
- return eb.and(conditions);
1922
- });
1923
- if (or) query = query.where((eb)=>{
1924
- const conditions = or.map((expr)=>expr(eb));
1925
- return eb.or(conditions);
1926
- });
1927
- const res = await query.execute();
1928
- const count = res[0]?.count;
1929
- return 'number' == typeof count ? count : 0;
1930
- },
1931
- async delete (data) {
1932
- const { model, where } = data;
1933
- const whereArray = Array.isArray(where) ? where : [
1934
- where
1935
- ];
1936
- const { and, or } = convertWhereClause(model, whereArray);
1937
- const tableName = getEntityName(model);
1938
- let query = db.deleteFrom(tableName);
1939
- if (and) query = query.where((eb)=>{
1940
- const conditions = and.map((expr)=>expr(eb));
1941
- return eb.and(conditions);
1942
- });
1943
- if (or) query = query.where((eb)=>{
1944
- const conditions = or.map((expr)=>expr(eb));
1945
- return eb.or(conditions);
1946
- });
1947
- await query.execute();
1948
- },
1949
- async deleteMany (data) {
1950
- const { model, where } = data;
1951
- const whereArray = Array.isArray(where) ? where : [
1952
- where
1953
- ];
1954
- const { and, or } = convertWhereClause(model, whereArray);
1955
- const tableName = getEntityName(model);
1956
- let query = db.deleteFrom(tableName);
1957
- if (and) query = query.where((eb)=>{
1958
- const conditions = and.map((expr)=>expr(eb));
1959
- return eb.and(conditions);
1960
- });
1961
- if (or) query = query.where((eb)=>{
1962
- const conditions = or.map((expr)=>expr(eb));
1963
- return eb.or(conditions);
1964
- });
1965
- const result = await query.execute();
1966
- const count = result.length;
1967
- return count;
1968
- },
1969
- async transaction (data) {
1970
- const { callback } = data;
1971
- const advancedOptions = opts.advanced || {};
1972
- if (advancedOptions.disableTransactions) {
1973
- const regularAdapter = kyselyAdapter(db, config)(opts);
1974
- return await callback(regularAdapter);
1975
- }
1976
- try {
1977
- return await db.transaction().execute(async (trx)=>{
1978
- const transactionAdapter = kyselyAdapter(trx, config)(opts);
1979
- return await callback(transactionAdapter);
1980
- });
1981
- } catch (error) {
1982
- if (error instanceof Error && (error.message.includes('transactions are not supported') || error.message.toLowerCase().includes('no transaction support'))) {
1983
- console.warn("Warning: Database transaction failed. If your database does not support transactions, you can disable this warning by setting opts.advanced.disableTransactions to true.");
1984
- const regularAdapter = kyselyAdapter(db, config)(opts);
1985
- return await callback(regularAdapter);
1986
- }
1987
- throw error;
1988
- }
1989
- },
1990
- options: config
1991
- };
1992
- };
1993
- async function getAdapter(options) {
1994
- const logger = getLogger({
1995
- appName: options.appName ?? 'c15t',
1996
- ...options.logger
1997
- });
1998
- if (!options.database) {
1999
- const tables = getConsentTables(options);
2000
- const memoryDB = Object.keys(tables).reduce((acc, key)=>{
2001
- acc[key] = [];
2002
- return acc;
2003
- }, {});
2004
- logger.warn('No database configuration provided. Using memory adapter in development');
2005
- return memoryAdapter(memoryDB)(options);
2006
- }
2007
- if ('function' == typeof options.database) return options.database(options);
2008
- const { kysely, databaseType } = await createKyselyAdapter(options);
2009
- if (!kysely) throw new error_class_DoubleTieError('Failed to initialize database adapter', {
2010
- code: error_codes_ERROR_CODES.INTERNAL_SERVER_ERROR,
2011
- status: 500
2012
- });
2013
- return kyselyAdapter(kysely, {
2014
- type: databaseType || 'sqlite'
2015
- })(options);
2016
- }
2017
- exports.applyDefaultValue = __webpack_exports__.applyDefaultValue;
2018
- exports.createKyselyAdapter = __webpack_exports__.createKyselyAdapter;
2019
- exports.drizzleAdapter = __webpack_exports__.drizzleAdapter;
2020
- exports.getAdapter = __webpack_exports__.getAdapter;
2021
- exports.kyselyAdapter = __webpack_exports__.kyselyAdapter;
2022
- exports.memoryAdapter = __webpack_exports__.memoryAdapter;
2023
- exports.prismaAdapter = __webpack_exports__.prismaAdapter;
2024
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
2025
- "applyDefaultValue",
2026
- "createKyselyAdapter",
2027
- "drizzleAdapter",
2028
- "getAdapter",
2029
- "kyselyAdapter",
2030
- "memoryAdapter",
2031
- "prismaAdapter"
2032
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
2033
- Object.defineProperty(exports, '__esModule', {
2034
- value: true
2035
- });