@c15t/backend 1.0.0 → 1.1.0-canary.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 (478) hide show
  1. package/.turbo/turbo-build.log +33 -39
  2. package/.turbo/turbo-fmt.log +7 -0
  3. package/.turbo/turbo-test.log +531 -0
  4. package/README.md +19 -7
  5. package/coverage/coverage-final.json +84 -0
  6. package/coverage/coverage-summary.json +85 -0
  7. package/coverage/html/backend/index.html +116 -0
  8. package/coverage/html/backend/rslib.config.ts.html +415 -0
  9. package/coverage/html/backend/src/contracts/consent/index.html +161 -0
  10. package/coverage/html/backend/src/contracts/consent/index.ts.html +112 -0
  11. package/coverage/html/backend/src/contracts/consent/post.contract.ts.html +559 -0
  12. package/coverage/html/backend/src/contracts/consent/show-banner.contract.ts.html +220 -0
  13. package/coverage/html/backend/src/contracts/consent/verify.contract.ts.html +463 -0
  14. package/coverage/html/backend/src/contracts/index.html +116 -0
  15. package/coverage/html/backend/src/contracts/index.ts.html +139 -0
  16. package/coverage/html/backend/src/contracts/meta/index.html +131 -0
  17. package/coverage/html/backend/src/contracts/meta/index.ts.html +100 -0
  18. package/coverage/html/backend/src/contracts/meta/status.contract.ts.html +196 -0
  19. package/coverage/html/backend/src/contracts/shared/index.html +116 -0
  20. package/coverage/html/backend/src/contracts/shared/jurisdiction.schema.ts.html +175 -0
  21. package/coverage/html/backend/src/core.ts.html +1624 -0
  22. package/coverage/html/backend/src/handlers/consent/index.html +161 -0
  23. package/coverage/html/backend/src/handlers/consent/index.ts.html +112 -0
  24. package/coverage/html/backend/src/handlers/consent/post.handler.ts.html +889 -0
  25. package/coverage/html/backend/src/handlers/consent/show-banner.handler.ts.html +535 -0
  26. package/coverage/html/backend/src/handlers/consent/verify.handler.ts.html +1000 -0
  27. package/coverage/html/backend/src/handlers/meta/index.html +131 -0
  28. package/coverage/html/backend/src/handlers/meta/index.ts.html +100 -0
  29. package/coverage/html/backend/src/handlers/meta/status.handler.ts.html +226 -0
  30. package/coverage/html/backend/src/index.html +161 -0
  31. package/coverage/html/backend/src/init.ts.html +1018 -0
  32. package/coverage/html/backend/src/pkgs/api-router/hooks/index.html +116 -0
  33. package/coverage/html/backend/src/pkgs/api-router/hooks/processor.ts.html +544 -0
  34. package/coverage/html/backend/src/pkgs/api-router/index.html +116 -0
  35. package/coverage/html/backend/src/pkgs/api-router/telemetry.ts.html +334 -0
  36. package/coverage/html/backend/src/pkgs/api-router/utils/cors.ts.html +304 -0
  37. package/coverage/html/backend/src/pkgs/api-router/utils/index.html +131 -0
  38. package/coverage/html/backend/src/pkgs/api-router/utils/ip.ts.html +361 -0
  39. package/coverage/html/backend/src/pkgs/data-model/fields/field-factory.ts.html +709 -0
  40. package/coverage/html/backend/src/pkgs/data-model/fields/id-generator.ts.html +256 -0
  41. package/coverage/html/backend/src/pkgs/data-model/fields/index.html +161 -0
  42. package/coverage/html/backend/src/pkgs/data-model/fields/superjson-utils.ts.html +136 -0
  43. package/coverage/html/backend/src/pkgs/data-model/fields/zod-fields.ts.html +496 -0
  44. package/coverage/html/backend/src/pkgs/data-model/hooks/create-hooks.ts.html +349 -0
  45. package/coverage/html/backend/src/pkgs/data-model/hooks/index.html +176 -0
  46. package/coverage/html/backend/src/pkgs/data-model/hooks/update-hooks.ts.html +358 -0
  47. package/coverage/html/backend/src/pkgs/data-model/hooks/update-many-hooks.ts.html +613 -0
  48. package/coverage/html/backend/src/pkgs/data-model/hooks/utils.ts.html +538 -0
  49. package/coverage/html/backend/src/pkgs/data-model/hooks/with-hooks-factory.ts.html +289 -0
  50. package/coverage/html/backend/src/pkgs/db-adapters/adapter-factory.ts.html +289 -0
  51. package/coverage/html/backend/src/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.ts.html +2203 -0
  52. package/coverage/html/backend/src/pkgs/db-adapters/adapters/drizzle-adapter/index.html +116 -0
  53. package/coverage/html/backend/src/pkgs/db-adapters/adapters/index.html +116 -0
  54. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/dialect.ts.html +670 -0
  55. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/index.html +131 -0
  56. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.ts.html +3634 -0
  57. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/tests/index.html +116 -0
  58. package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.ts.html +1417 -0
  59. package/coverage/html/backend/src/pkgs/db-adapters/adapters/memory-adapter/index.html +116 -0
  60. package/coverage/html/backend/src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts.html +2071 -0
  61. package/coverage/html/backend/src/pkgs/db-adapters/adapters/prisma-adapter/index.html +116 -0
  62. package/coverage/html/backend/src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts.html +1834 -0
  63. package/coverage/html/backend/src/pkgs/db-adapters/adapters/test.ts.html +316 -0
  64. package/coverage/html/backend/src/pkgs/db-adapters/index.html +131 -0
  65. package/coverage/html/backend/src/pkgs/db-adapters/utils.ts.html +238 -0
  66. package/coverage/html/backend/src/pkgs/migrations/get-migration.ts.html +343 -0
  67. package/coverage/html/backend/src/pkgs/migrations/get-schema/get-schema.ts.html +217 -0
  68. package/coverage/html/backend/src/pkgs/migrations/get-schema/index.html +146 -0
  69. package/coverage/html/backend/src/pkgs/migrations/get-schema/process-fields.ts.html +280 -0
  70. package/coverage/html/backend/src/pkgs/migrations/get-schema/process-tables.ts.html +289 -0
  71. package/coverage/html/backend/src/pkgs/migrations/index.html +176 -0
  72. package/coverage/html/backend/src/pkgs/migrations/migration-builders.ts.html +595 -0
  73. package/coverage/html/backend/src/pkgs/migrations/migration-execution.ts.html +301 -0
  74. package/coverage/html/backend/src/pkgs/migrations/schema-comparison.ts.html +694 -0
  75. package/coverage/html/backend/src/pkgs/migrations/type-mapping.ts.html +817 -0
  76. package/coverage/html/backend/src/pkgs/results/core/error-class.ts.html +976 -0
  77. package/coverage/html/backend/src/pkgs/results/core/error-codes.ts.html +703 -0
  78. package/coverage/html/backend/src/pkgs/results/core/index.html +146 -0
  79. package/coverage/html/backend/src/pkgs/results/core/tracing.ts.html +280 -0
  80. package/coverage/html/backend/src/pkgs/results/create-telemetry-options.ts.html +271 -0
  81. package/coverage/html/backend/src/pkgs/results/index.html +131 -0
  82. package/coverage/html/backend/src/pkgs/results/orpc-error-handler.ts.html +496 -0
  83. package/coverage/html/backend/src/pkgs/results/results/index.html +131 -0
  84. package/coverage/html/backend/src/pkgs/results/results/recovery-utils.ts.html +628 -0
  85. package/coverage/html/backend/src/pkgs/results/results/result-helpers.ts.html +1234 -0
  86. package/coverage/html/backend/src/pkgs/utils/env.ts.html +337 -0
  87. package/coverage/html/backend/src/pkgs/utils/index.html +146 -0
  88. package/coverage/html/backend/src/pkgs/utils/logger.ts.html +199 -0
  89. package/coverage/html/backend/src/pkgs/utils/url.ts.html +400 -0
  90. package/coverage/html/backend/src/router.ts.html +109 -0
  91. package/coverage/html/backend/src/schema/audit-log/index.html +146 -0
  92. package/coverage/html/backend/src/schema/audit-log/registry.ts.html +436 -0
  93. package/coverage/html/backend/src/schema/audit-log/schema.ts.html +223 -0
  94. package/coverage/html/backend/src/schema/audit-log/table.ts.html +640 -0
  95. package/coverage/html/backend/src/schema/consent/index.html +146 -0
  96. package/coverage/html/backend/src/schema/consent/registry.ts.html +616 -0
  97. package/coverage/html/backend/src/schema/consent/schema.ts.html +238 -0
  98. package/coverage/html/backend/src/schema/consent/table.ts.html +748 -0
  99. package/coverage/html/backend/src/schema/consent-policy/index.html +146 -0
  100. package/coverage/html/backend/src/schema/consent-policy/registry.ts.html +1063 -0
  101. package/coverage/html/backend/src/schema/consent-policy/schema.ts.html +265 -0
  102. package/coverage/html/backend/src/schema/consent-policy/table.ts.html +535 -0
  103. package/coverage/html/backend/src/schema/consent-purpose/index.html +146 -0
  104. package/coverage/html/backend/src/schema/consent-purpose/registry.ts.html +589 -0
  105. package/coverage/html/backend/src/schema/consent-purpose/schema.ts.html +259 -0
  106. package/coverage/html/backend/src/schema/consent-purpose/table.ts.html +547 -0
  107. package/coverage/html/backend/src/schema/consent-record/index.html +131 -0
  108. package/coverage/html/backend/src/schema/consent-record/schema.ts.html +211 -0
  109. package/coverage/html/backend/src/schema/consent-record/table.ts.html +457 -0
  110. package/coverage/html/backend/src/schema/create-registry.ts.html +148 -0
  111. package/coverage/html/backend/src/schema/definition.ts.html +685 -0
  112. package/coverage/html/backend/src/schema/domain/index.html +146 -0
  113. package/coverage/html/backend/src/schema/domain/registry.ts.html +973 -0
  114. package/coverage/html/backend/src/schema/domain/schema.ts.html +214 -0
  115. package/coverage/html/backend/src/schema/domain/table.ts.html +496 -0
  116. package/coverage/html/backend/src/schema/index.html +146 -0
  117. package/coverage/html/backend/src/schema/schemas.ts.html +166 -0
  118. package/coverage/html/backend/src/schema/subject/index.html +146 -0
  119. package/coverage/html/backend/src/schema/subject/registry.ts.html +973 -0
  120. package/coverage/html/backend/src/schema/subject/schema.ts.html +208 -0
  121. package/coverage/html/backend/src/schema/subject/table.ts.html +499 -0
  122. package/coverage/html/backend/src/server.ts.html +475 -0
  123. package/coverage/html/backend/src/testing/contract-testing.ts.html +1348 -0
  124. package/coverage/html/backend/src/testing/index.html +116 -0
  125. package/coverage/html/base.css +224 -0
  126. package/coverage/html/block-navigation.js +87 -0
  127. package/coverage/html/favicon.png +0 -0
  128. package/coverage/html/index.html +626 -0
  129. package/coverage/html/prettify.css +1 -0
  130. package/coverage/html/prettify.js +2 -0
  131. package/coverage/html/sort-arrow-sprite.png +0 -0
  132. package/coverage/html/sorter.js +196 -0
  133. package/dist/contracts/consent/index.d.ts +401 -0
  134. package/dist/contracts/consent/index.d.ts.map +1 -0
  135. package/dist/contracts/consent/index.test.d.ts +2 -0
  136. package/dist/contracts/consent/index.test.d.ts.map +1 -0
  137. package/dist/contracts/consent/post.contract.d.ts +212 -0
  138. package/dist/contracts/consent/post.contract.d.ts.map +1 -0
  139. package/dist/contracts/consent/post.contract.test.d.ts +2 -0
  140. package/dist/contracts/consent/post.contract.test.d.ts.map +1 -0
  141. package/dist/contracts/consent/show-banner.contract.d.ts +45 -0
  142. package/dist/contracts/consent/show-banner.contract.d.ts.map +1 -0
  143. package/dist/contracts/consent/show-banner.contract.test.d.ts +2 -0
  144. package/dist/contracts/consent/show-banner.contract.test.d.ts.map +1 -0
  145. package/dist/contracts/consent/verify.contract.d.ts +147 -0
  146. package/dist/contracts/consent/verify.contract.d.ts.map +1 -0
  147. package/dist/contracts/consent/verify.contract.test.d.ts +2 -0
  148. package/dist/contracts/consent/verify.contract.test.d.ts.map +1 -0
  149. package/dist/contracts/index.d.ts +963 -0
  150. package/dist/contracts/index.d.ts.map +1 -0
  151. package/dist/contracts/meta/index.d.ts +78 -0
  152. package/dist/contracts/meta/index.d.ts.map +1 -0
  153. package/dist/contracts/meta/index.test.d.ts +2 -0
  154. package/dist/contracts/meta/index.test.d.ts.map +1 -0
  155. package/dist/contracts/meta/status.contract.d.ts +77 -0
  156. package/dist/contracts/meta/status.contract.d.ts.map +1 -0
  157. package/dist/contracts/meta/status.contract.test.d.ts +2 -0
  158. package/dist/contracts/meta/status.contract.test.d.ts.map +1 -0
  159. package/dist/contracts/shared/jurisdiction.schema.d.ts +24 -0
  160. package/dist/contracts/shared/jurisdiction.schema.d.ts.map +1 -0
  161. package/dist/core.cjs +3584 -0
  162. package/dist/core.d.ts +533 -78
  163. package/dist/core.d.ts.map +1 -1
  164. package/dist/{index.js → core.js} +1164 -1292
  165. package/dist/handlers/consent/index.d.ts +401 -0
  166. package/dist/handlers/consent/index.d.ts.map +1 -0
  167. package/dist/handlers/consent/post.handler.d.ts +234 -0
  168. package/dist/handlers/consent/post.handler.d.ts.map +1 -0
  169. package/dist/handlers/consent/show-banner.handler.d.ts +57 -0
  170. package/dist/handlers/consent/show-banner.handler.d.ts.map +1 -0
  171. package/dist/handlers/consent/show-banner.handler.test.d.ts +2 -0
  172. package/dist/handlers/consent/show-banner.handler.test.d.ts.map +1 -0
  173. package/dist/handlers/consent/verify.handler.d.ts +169 -0
  174. package/dist/handlers/consent/verify.handler.d.ts.map +1 -0
  175. package/dist/handlers/meta/index.d.ts +78 -0
  176. package/dist/handlers/meta/index.d.ts.map +1 -0
  177. package/dist/handlers/meta/status.handler.d.ts +76 -0
  178. package/dist/handlers/meta/status.handler.d.ts.map +1 -0
  179. package/dist/init.d.ts +0 -1
  180. package/dist/init.d.ts.map +1 -1
  181. package/dist/pkgs/api-router/hooks/processor.d.ts.map +1 -1
  182. package/dist/pkgs/api-router/types/router-props.d.ts +1 -1
  183. package/dist/pkgs/api-router/types/router-props.d.ts.map +1 -1
  184. package/dist/pkgs/api-router/utils/cors.d.ts +1 -1
  185. package/dist/pkgs/api-router/utils/cors.d.ts.map +1 -1
  186. package/dist/pkgs/data-model/fields/field-types.d.ts +1 -1
  187. package/dist/pkgs/data-model/fields/zod-fields.d.ts +32 -32
  188. package/dist/pkgs/data-model/index.cjs +1433 -1799
  189. package/dist/pkgs/data-model/index.js +20 -385
  190. package/dist/pkgs/data-model/schema/index.cjs +1402 -1768
  191. package/dist/pkgs/data-model/schema/index.js +20 -385
  192. package/dist/pkgs/db-adapters/adapter-factory.d.ts +2 -2
  193. package/dist/pkgs/db-adapters/adapter-factory.d.ts.map +1 -1
  194. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts +4 -7
  195. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts.map +1 -1
  196. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.cjs +19 -151
  197. package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.js +19 -151
  198. package/dist/pkgs/db-adapters/adapters/kysely-adapter/dialect.d.ts +1 -3
  199. package/dist/pkgs/db-adapters/adapters/kysely-adapter/dialect.d.ts.map +1 -1
  200. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.cjs +17 -149
  201. package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.js +17 -149
  202. package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts +0 -1
  203. package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts.map +1 -1
  204. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts +2 -2
  205. package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts.map +1 -1
  206. package/dist/pkgs/db-adapters/adapters/kysely-adapter/types.d.ts +0 -2
  207. package/dist/pkgs/db-adapters/adapters/kysely-adapter/types.d.ts.map +1 -1
  208. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.cjs +17 -149
  209. package/dist/pkgs/db-adapters/adapters/memory-adapter/index.js +17 -149
  210. package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts +0 -1
  211. package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts.map +1 -1
  212. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.cjs +19 -151
  213. package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.js +19 -151
  214. package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts +0 -1
  215. package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts.map +1 -1
  216. package/dist/pkgs/db-adapters/index.cjs +31 -153
  217. package/dist/pkgs/db-adapters/index.js +31 -153
  218. package/dist/pkgs/migrations/get-schema/get-schema.d.ts +2 -2
  219. package/dist/pkgs/migrations/get-schema/index.d.ts +1 -1
  220. package/dist/pkgs/migrations/index.cjs +30 -153
  221. package/dist/pkgs/migrations/index.js +30 -153
  222. package/dist/pkgs/migrations/schema-comparison.d.ts.map +1 -1
  223. package/dist/pkgs/results/core/error-class.d.ts +23 -21
  224. package/dist/pkgs/results/core/error-class.d.ts.map +1 -1
  225. package/dist/pkgs/results/index.cjs +17 -150
  226. package/dist/pkgs/results/index.d.ts +0 -3
  227. package/dist/pkgs/results/index.d.ts.map +1 -1
  228. package/dist/pkgs/results/index.js +17 -138
  229. package/dist/pkgs/results/orpc-error-handler.d.ts +65 -0
  230. package/dist/pkgs/results/orpc-error-handler.d.ts.map +1 -0
  231. package/dist/pkgs/results/types.d.ts +7 -7
  232. package/dist/pkgs/results/types.d.ts.map +1 -1
  233. package/dist/pkgs/types/context.d.ts +15 -8
  234. package/dist/pkgs/types/context.d.ts.map +1 -1
  235. package/dist/pkgs/types/endpoints.d.ts +3 -4
  236. package/dist/pkgs/types/endpoints.d.ts.map +1 -1
  237. package/dist/pkgs/types/options.d.ts +2 -4
  238. package/dist/pkgs/types/options.d.ts.map +1 -1
  239. package/dist/pkgs/types/plugins.d.ts +2 -3
  240. package/dist/pkgs/types/plugins.d.ts.map +1 -1
  241. package/dist/pkgs/utils/index.d.ts +1 -0
  242. package/dist/pkgs/utils/index.d.ts.map +1 -1
  243. package/dist/pkgs/utils/logger.d.ts +16 -0
  244. package/dist/pkgs/utils/logger.d.ts.map +1 -0
  245. package/dist/router.cjs +1213 -0
  246. package/dist/router.d.ts +480 -0
  247. package/dist/router.d.ts.map +1 -0
  248. package/dist/router.js +1169 -0
  249. package/dist/schema/audit-log/table.d.ts +1 -1
  250. package/dist/schema/consent/table.d.ts +1 -1
  251. package/dist/schema/consent-policy/registry.d.ts +12 -12
  252. package/dist/schema/consent-policy/schema.d.ts +6 -6
  253. package/dist/schema/consent-policy/table.d.ts +7 -7
  254. package/dist/schema/consent-purpose/registry.d.ts +6 -6
  255. package/dist/schema/consent-purpose/schema.d.ts +6 -6
  256. package/dist/schema/consent-purpose/table.d.ts +7 -7
  257. package/dist/schema/consent-record/table.d.ts +1 -1
  258. package/dist/schema/create-registry.d.ts +32 -32
  259. package/dist/schema/definition.d.ts +19 -19
  260. package/dist/schema/domain/registry.d.ts +10 -10
  261. package/dist/schema/domain/schema.d.ts +5 -5
  262. package/dist/schema/domain/table.d.ts +6 -6
  263. package/dist/schema/index.cjs +1409 -1775
  264. package/dist/schema/index.js +20 -385
  265. package/dist/schema/schemas.d.ts +19 -19
  266. package/dist/schema/subject/registry.d.ts +4 -4
  267. package/dist/schema/subject/schema.d.ts +2 -2
  268. package/dist/schema/subject/table.d.ts +3 -3
  269. package/dist/server.d.ts +2 -0
  270. package/dist/server.d.ts.map +1 -0
  271. package/dist/testing/contract-testing.d.ts +37 -0
  272. package/dist/testing/contract-testing.d.ts.map +1 -0
  273. package/dist/types/context.d.ts +1 -1
  274. package/dist/types/index.d.ts +2 -2
  275. package/dist/types/options.d.ts +33 -3
  276. package/dist/types/options.d.ts.map +1 -1
  277. package/dist/types/plugins.d.ts +3 -4
  278. package/dist/types/plugins.d.ts.map +1 -1
  279. package/package.json +20 -28
  280. package/rslib.config.ts +2 -5
  281. package/src/contracts/consent/index.test.ts +5 -0
  282. package/src/contracts/consent/index.ts +9 -0
  283. package/src/contracts/consent/post.contract.test.ts +526 -0
  284. package/src/contracts/consent/post.contract.ts +160 -0
  285. package/src/contracts/consent/show-banner.contract.test.ts +214 -0
  286. package/src/contracts/consent/show-banner.contract.ts +45 -0
  287. package/src/contracts/consent/verify.contract.test.ts +185 -0
  288. package/src/contracts/consent/verify.contract.ts +126 -0
  289. package/src/contracts/index.ts +18 -0
  290. package/src/contracts/meta/index.test.ts +5 -0
  291. package/src/contracts/meta/index.ts +5 -0
  292. package/src/contracts/meta/status.contract.test.ts +338 -0
  293. package/src/contracts/meta/status.contract.ts +37 -0
  294. package/src/contracts/shared/jurisdiction.schema.ts +30 -0
  295. package/src/core.ts +451 -161
  296. package/src/handlers/consent/index.ts +9 -0
  297. package/src/handlers/consent/post.handler.ts +273 -0
  298. package/src/handlers/consent/show-banner.handler.test.ts +148 -0
  299. package/src/handlers/consent/show-banner.handler.ts +150 -0
  300. package/src/handlers/consent/verify.handler.ts +305 -0
  301. package/src/handlers/meta/index.ts +5 -0
  302. package/src/handlers/meta/status.handler.ts +47 -0
  303. package/src/init.ts +8 -26
  304. package/src/pkgs/api-router/hooks/__tests__/processor.test.ts +6 -0
  305. package/src/pkgs/api-router/hooks/processor.ts +2 -0
  306. package/src/pkgs/api-router/types/router-props.ts +1 -1
  307. package/src/pkgs/api-router/utils/cors.ts +1 -1
  308. package/src/pkgs/data-model/fields/field-types.ts +1 -1
  309. package/src/pkgs/data-model/fields/id-generator.ts +1 -1
  310. package/src/pkgs/db-adapters/README.md +3 -3
  311. package/src/pkgs/db-adapters/adapter-factory.ts +8 -4
  312. package/src/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.ts +13 -16
  313. package/src/pkgs/db-adapters/adapters/kysely-adapter/dialect.ts +1 -3
  314. package/src/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.ts +0 -1
  315. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/postgres.test.ts +1 -1
  316. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/sqlite.test.ts +1 -1
  317. package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.ts +2 -2
  318. package/src/pkgs/db-adapters/adapters/kysely-adapter/types.ts +0 -2
  319. package/src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts +0 -1
  320. package/src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts +0 -1
  321. package/src/pkgs/migrations/get-migration.ts +3 -3
  322. package/src/pkgs/migrations/get-schema/get-schema.ts +2 -2
  323. package/src/pkgs/migrations/get-schema/index.ts +1 -1
  324. package/src/pkgs/migrations/migration-builders.ts +2 -2
  325. package/src/pkgs/migrations/migration-execution.ts +2 -2
  326. package/src/pkgs/migrations/schema-comparison.ts +5 -4
  327. package/src/pkgs/results/__tests__/error-class.test.ts +8 -7
  328. package/src/pkgs/results/core/error-class.ts +31 -43
  329. package/src/pkgs/results/index.ts +0 -10
  330. package/src/pkgs/results/orpc-error-handler.ts +137 -0
  331. package/src/pkgs/results/types.ts +8 -7
  332. package/src/pkgs/types/context.ts +18 -9
  333. package/src/pkgs/types/endpoints.ts +3 -5
  334. package/src/pkgs/types/options.ts +2 -4
  335. package/src/pkgs/types/plugins.ts +2 -3
  336. package/src/pkgs/utils/index.ts +1 -0
  337. package/src/pkgs/utils/logger.ts +38 -0
  338. package/src/router.ts +8 -0
  339. package/src/schema/audit-log/table.ts +1 -1
  340. package/src/schema/consent/table.ts +1 -1
  341. package/src/schema/consent-policy/table.ts +1 -1
  342. package/src/schema/consent-purpose/table.ts +1 -1
  343. package/src/schema/consent-record/table.ts +1 -1
  344. package/src/schema/definition.ts +2 -2
  345. package/src/schema/domain/table.ts +1 -1
  346. package/src/schema/subject/table.ts +1 -1
  347. package/src/server.ts +130 -0
  348. package/src/testing/contract-testing.ts +437 -0
  349. package/src/types/context.ts +1 -1
  350. package/src/types/index.ts +2 -2
  351. package/src/types/options.ts +38 -3
  352. package/src/types/plugins.ts +3 -4
  353. package/dist/index.cjs +0 -3706
  354. package/dist/index.d.ts +0 -11
  355. package/dist/index.d.ts.map +0 -1
  356. package/dist/init.test.d.ts +0 -2
  357. package/dist/init.test.d.ts.map +0 -1
  358. package/dist/integrations/cloudflare.cjs +0 -312
  359. package/dist/integrations/cloudflare.d.ts +0 -32
  360. package/dist/integrations/cloudflare.d.ts.map +0 -1
  361. package/dist/integrations/cloudflare.js +0 -278
  362. package/dist/integrations/next.cjs +0 -276
  363. package/dist/integrations/next.d.ts +0 -68
  364. package/dist/integrations/next.d.ts.map +0 -1
  365. package/dist/integrations/next.js +0 -239
  366. package/dist/integrations/node.cjs +0 -257
  367. package/dist/integrations/node.d.ts +0 -29
  368. package/dist/integrations/node.d.ts.map +0 -1
  369. package/dist/integrations/node.js +0 -223
  370. package/dist/pkgs/api-router/index.d.ts +0 -9
  371. package/dist/pkgs/api-router/index.d.ts.map +0 -1
  372. package/dist/pkgs/api-router/utils/define-route.d.ts +0 -87
  373. package/dist/pkgs/api-router/utils/define-route.d.ts.map +0 -1
  374. package/dist/pkgs/logger/__tests__/console-formatter.test.d.ts +0 -2
  375. package/dist/pkgs/logger/__tests__/console-formatter.test.d.ts.map +0 -1
  376. package/dist/pkgs/logger/__tests__/integration.test.d.ts +0 -2
  377. package/dist/pkgs/logger/__tests__/integration.test.d.ts.map +0 -1
  378. package/dist/pkgs/logger/__tests__/log-levels.test.d.ts +0 -2
  379. package/dist/pkgs/logger/__tests__/log-levels.test.d.ts.map +0 -1
  380. package/dist/pkgs/logger/__tests__/logger-factory.test.d.ts +0 -2
  381. package/dist/pkgs/logger/__tests__/logger-factory.test.d.ts.map +0 -1
  382. package/dist/pkgs/logger/__tests__/result-logging.test.d.ts +0 -2
  383. package/dist/pkgs/logger/__tests__/result-logging.test.d.ts.map +0 -1
  384. package/dist/pkgs/logger/__tests__/types.test.d.ts +0 -2
  385. package/dist/pkgs/logger/__tests__/types.test.d.ts.map +0 -1
  386. package/dist/pkgs/logger/console-formatter.d.ts +0 -56
  387. package/dist/pkgs/logger/console-formatter.d.ts.map +0 -1
  388. package/dist/pkgs/logger/index.cjs +0 -240
  389. package/dist/pkgs/logger/index.d.ts +0 -35
  390. package/dist/pkgs/logger/index.d.ts.map +0 -1
  391. package/dist/pkgs/logger/index.js +0 -185
  392. package/dist/pkgs/logger/log-levels.d.ts +0 -29
  393. package/dist/pkgs/logger/log-levels.d.ts.map +0 -1
  394. package/dist/pkgs/logger/logger-factory.d.ts +0 -42
  395. package/dist/pkgs/logger/logger-factory.d.ts.map +0 -1
  396. package/dist/pkgs/logger/result-logging.d.ts +0 -71
  397. package/dist/pkgs/logger/result-logging.d.ts.map +0 -1
  398. package/dist/pkgs/logger/telemetry.d.ts +0 -14
  399. package/dist/pkgs/logger/telemetry.d.ts.map +0 -1
  400. package/dist/pkgs/logger/types.d.ts +0 -121
  401. package/dist/pkgs/logger/types.d.ts.map +0 -1
  402. package/dist/pkgs/results/__tests__/retrieval-pipeline.test.d.ts +0 -2
  403. package/dist/pkgs/results/__tests__/retrieval-pipeline.test.d.ts.map +0 -1
  404. package/dist/pkgs/results/__tests__/validation-pipeline.test.d.ts +0 -2
  405. package/dist/pkgs/results/__tests__/validation-pipeline.test.d.ts.map +0 -1
  406. package/dist/pkgs/results/h3-integration.d.ts +0 -52
  407. package/dist/pkgs/results/h3-integration.d.ts.map +0 -1
  408. package/dist/pkgs/results/pipeline/retrieval-pipeline.d.ts +0 -101
  409. package/dist/pkgs/results/pipeline/retrieval-pipeline.d.ts.map +0 -1
  410. package/dist/pkgs/results/pipeline/validation-pipeline.d.ts +0 -89
  411. package/dist/pkgs/results/pipeline/validation-pipeline.d.ts.map +0 -1
  412. package/dist/response-types.d.ts +0 -19
  413. package/dist/response-types.d.ts.map +0 -1
  414. package/dist/routes/__test__/index.test.d.ts +0 -17
  415. package/dist/routes/__test__/index.test.d.ts.map +0 -1
  416. package/dist/routes/__test__/set-consent.test.d.ts +0 -2
  417. package/dist/routes/__test__/set-consent.test.d.ts.map +0 -1
  418. package/dist/routes/__test__/show-consent-banner.test.d.ts +0 -2
  419. package/dist/routes/__test__/show-consent-banner.test.d.ts.map +0 -1
  420. package/dist/routes/__test__/status.test.d.ts +0 -2
  421. package/dist/routes/__test__/status.test.d.ts.map +0 -1
  422. package/dist/routes/__test__/verify-consent.test.d.ts +0 -2
  423. package/dist/routes/__test__/verify-consent.test.d.ts.map +0 -1
  424. package/dist/routes/index.d.ts +0 -3
  425. package/dist/routes/index.d.ts.map +0 -1
  426. package/dist/routes/set-consent.d.ts +0 -89
  427. package/dist/routes/set-consent.d.ts.map +0 -1
  428. package/dist/routes/show-consent-banner.d.ts +0 -15
  429. package/dist/routes/show-consent-banner.d.ts.map +0 -1
  430. package/dist/routes/status.d.ts +0 -44
  431. package/dist/routes/status.d.ts.map +0 -1
  432. package/dist/routes/types.d.ts +0 -7
  433. package/dist/routes/types.d.ts.map +0 -1
  434. package/dist/routes/verify-consent.d.ts +0 -38
  435. package/dist/routes/verify-consent.d.ts.map +0 -1
  436. package/src/docs/ADVANCED_JSON_HANDLING.md +0 -99
  437. package/src/docs/neverthrow.md +0 -171
  438. package/src/index.ts +0 -34
  439. package/src/init.test.ts +0 -236
  440. package/src/integrations/cloudflare.ts +0 -269
  441. package/src/integrations/next.ts +0 -204
  442. package/src/integrations/node.ts +0 -141
  443. package/src/pkgs/api-router/index.ts +0 -148
  444. package/src/pkgs/api-router/types/h3.d.ts +0 -42
  445. package/src/pkgs/api-router/utils/define-route.ts +0 -410
  446. package/src/pkgs/logger/README.md +0 -213
  447. package/src/pkgs/logger/__tests__/console-formatter.test.ts +0 -67
  448. package/src/pkgs/logger/__tests__/integration.test.ts +0 -184
  449. package/src/pkgs/logger/__tests__/log-levels.test.ts +0 -77
  450. package/src/pkgs/logger/__tests__/logger-factory.test.ts +0 -156
  451. package/src/pkgs/logger/__tests__/result-logging.test.ts +0 -209
  452. package/src/pkgs/logger/__tests__/types.test.ts +0 -94
  453. package/src/pkgs/logger/console-formatter.ts +0 -75
  454. package/src/pkgs/logger/doc.md +0 -569
  455. package/src/pkgs/logger/index.ts +0 -59
  456. package/src/pkgs/logger/log-levels.ts +0 -46
  457. package/src/pkgs/logger/logger-factory.ts +0 -121
  458. package/src/pkgs/logger/result-logging.ts +0 -134
  459. package/src/pkgs/logger/telemetry.ts +0 -96
  460. package/src/pkgs/logger/types.ts +0 -138
  461. package/src/pkgs/results/__tests__/retrieval-pipeline.test.ts +0 -157
  462. package/src/pkgs/results/__tests__/validation-pipeline.test.ts +0 -151
  463. package/src/pkgs/results/h3-integration.ts +0 -142
  464. package/src/pkgs/results/pipeline/retrieval-pipeline.ts +0 -188
  465. package/src/pkgs/results/pipeline/validation-pipeline.ts +0 -164
  466. package/src/plugins/.keep +0 -0
  467. package/src/response-types.ts +0 -29
  468. package/src/routes/__test__/index.test.ts +0 -112
  469. package/src/routes/__test__/set-consent.test.ts +0 -242
  470. package/src/routes/__test__/show-consent-banner.test.ts +0 -98
  471. package/src/routes/__test__/status.test.ts +0 -64
  472. package/src/routes/__test__/verify-consent.test.ts +0 -266
  473. package/src/routes/index.ts +0 -12
  474. package/src/routes/set-consent.ts +0 -249
  475. package/src/routes/show-consent-banner.ts +0 -131
  476. package/src/routes/status.ts +0 -61
  477. package/src/routes/types.ts +0 -7
  478. package/src/routes/verify-consent.ts +0 -206
@@ -0,0 +1,401 @@
1
+ export declare const consentHandlers: {
2
+ post: import("@orpc/server").ImplementedProcedure<Record<never, never>, Record<never, never>, import("zod").ZodDiscriminatedUnion<"type", [import("zod").ZodObject<import("zod").objectUtil.extendShape<{
3
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
4
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
5
+ domain: import("zod").ZodString;
6
+ type: import("zod").ZodEnum<["cookie_banner", "privacy_policy", "dpa", "terms_and_conditions", "marketing_communications", "age_verification", "other"]>;
7
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
8
+ }, {
9
+ type: import("zod").ZodLiteral<"cookie_banner">;
10
+ preferences: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodBoolean>;
11
+ }>, "strip", import("zod").ZodTypeAny, {
12
+ type: "cookie_banner";
13
+ domain: string;
14
+ preferences: Record<string, boolean>;
15
+ subjectId?: string | undefined;
16
+ metadata?: Record<string, unknown> | undefined;
17
+ externalSubjectId?: string | undefined;
18
+ }, {
19
+ type: "cookie_banner";
20
+ domain: string;
21
+ preferences: Record<string, boolean>;
22
+ subjectId?: string | undefined;
23
+ metadata?: Record<string, unknown> | undefined;
24
+ externalSubjectId?: string | undefined;
25
+ }>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
26
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
27
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
28
+ domain: import("zod").ZodString;
29
+ type: import("zod").ZodEnum<["cookie_banner", "privacy_policy", "dpa", "terms_and_conditions", "marketing_communications", "age_verification", "other"]>;
30
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
31
+ }, {
32
+ type: import("zod").ZodEnum<["privacy_policy", "dpa", "terms_and_conditions"]>;
33
+ policyId: import("zod").ZodOptional<import("zod").ZodString>;
34
+ preferences: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodBoolean>>;
35
+ }>, "strip", import("zod").ZodTypeAny, {
36
+ type: "privacy_policy" | "dpa" | "terms_and_conditions";
37
+ domain: string;
38
+ subjectId?: string | undefined;
39
+ metadata?: Record<string, unknown> | undefined;
40
+ policyId?: string | undefined;
41
+ externalSubjectId?: string | undefined;
42
+ preferences?: Record<string, boolean> | undefined;
43
+ }, {
44
+ type: "privacy_policy" | "dpa" | "terms_and_conditions";
45
+ domain: string;
46
+ subjectId?: string | undefined;
47
+ metadata?: Record<string, unknown> | undefined;
48
+ policyId?: string | undefined;
49
+ externalSubjectId?: string | undefined;
50
+ preferences?: Record<string, boolean> | undefined;
51
+ }>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
52
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
53
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
54
+ domain: import("zod").ZodString;
55
+ type: import("zod").ZodEnum<["cookie_banner", "privacy_policy", "dpa", "terms_and_conditions", "marketing_communications", "age_verification", "other"]>;
56
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
57
+ }, {
58
+ type: import("zod").ZodEnum<["marketing_communications", "age_verification", "other"]>;
59
+ preferences: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodBoolean>>;
60
+ }>, "strip", import("zod").ZodTypeAny, {
61
+ type: "marketing_communications" | "age_verification" | "other";
62
+ domain: string;
63
+ subjectId?: string | undefined;
64
+ metadata?: Record<string, unknown> | undefined;
65
+ externalSubjectId?: string | undefined;
66
+ preferences?: Record<string, boolean> | undefined;
67
+ }, {
68
+ type: "marketing_communications" | "age_verification" | "other";
69
+ domain: string;
70
+ subjectId?: string | undefined;
71
+ metadata?: Record<string, unknown> | undefined;
72
+ externalSubjectId?: string | undefined;
73
+ preferences?: Record<string, boolean> | undefined;
74
+ }>]>, import("zod").ZodObject<{
75
+ id: import("zod").ZodString;
76
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
77
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
78
+ domainId: import("zod").ZodString;
79
+ domain: import("zod").ZodString;
80
+ type: import("zod").ZodEnum<["cookie_banner", "privacy_policy", "dpa", "terms_and_conditions", "marketing_communications", "age_verification", "other"]>;
81
+ status: import("zod").ZodString;
82
+ recordId: import("zod").ZodString;
83
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
84
+ givenAt: import("zod").ZodDate;
85
+ }, "strip", import("zod").ZodTypeAny, {
86
+ type: "cookie_banner" | "privacy_policy" | "dpa" | "terms_and_conditions" | "marketing_communications" | "age_verification" | "other";
87
+ status: string;
88
+ id: string;
89
+ domain: string;
90
+ domainId: string;
91
+ givenAt: Date;
92
+ recordId: string;
93
+ subjectId?: string | undefined;
94
+ metadata?: Record<string, unknown> | undefined;
95
+ externalSubjectId?: string | undefined;
96
+ }, {
97
+ type: "cookie_banner" | "privacy_policy" | "dpa" | "terms_and_conditions" | "marketing_communications" | "age_verification" | "other";
98
+ status: string;
99
+ id: string;
100
+ domain: string;
101
+ domainId: string;
102
+ givenAt: Date;
103
+ recordId: string;
104
+ subjectId?: string | undefined;
105
+ metadata?: Record<string, unknown> | undefined;
106
+ externalSubjectId?: string | undefined;
107
+ }>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
108
+ INPUT_VALIDATION_FAILED: {
109
+ status: number;
110
+ message: string;
111
+ data: import("zod").ZodObject<{
112
+ formErrors: import("zod").ZodArray<import("zod").ZodString, "many">;
113
+ fieldErrors: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodArray<import("zod").ZodString, "many">>;
114
+ }, "strip", import("zod").ZodTypeAny, {
115
+ formErrors: string[];
116
+ fieldErrors: Record<string, string[]>;
117
+ }, {
118
+ formErrors: string[];
119
+ fieldErrors: Record<string, string[]>;
120
+ }>;
121
+ };
122
+ SUBJECT_CREATION_FAILED: {
123
+ status: number;
124
+ message: string;
125
+ data: import("zod").ZodObject<{
126
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
127
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
128
+ }, "strip", import("zod").ZodTypeAny, {
129
+ subjectId?: string | undefined;
130
+ externalSubjectId?: string | undefined;
131
+ }, {
132
+ subjectId?: string | undefined;
133
+ externalSubjectId?: string | undefined;
134
+ }>;
135
+ };
136
+ DOMAIN_CREATION_FAILED: {
137
+ status: number;
138
+ message: string;
139
+ data: import("zod").ZodObject<{
140
+ domain: import("zod").ZodString;
141
+ }, "strip", import("zod").ZodTypeAny, {
142
+ domain: string;
143
+ }, {
144
+ domain: string;
145
+ }>;
146
+ };
147
+ POLICY_NOT_FOUND: {
148
+ status: number;
149
+ message: string;
150
+ data: import("zod").ZodObject<{
151
+ policyId: import("zod").ZodString;
152
+ type: import("zod").ZodString;
153
+ }, "strip", import("zod").ZodTypeAny, {
154
+ type: string;
155
+ policyId: string;
156
+ }, {
157
+ type: string;
158
+ policyId: string;
159
+ }>;
160
+ };
161
+ POLICY_INACTIVE: {
162
+ status: number;
163
+ message: string;
164
+ data: import("zod").ZodObject<{
165
+ policyId: import("zod").ZodString;
166
+ type: import("zod").ZodString;
167
+ }, "strip", import("zod").ZodTypeAny, {
168
+ type: string;
169
+ policyId: string;
170
+ }, {
171
+ type: string;
172
+ policyId: string;
173
+ }>;
174
+ };
175
+ POLICY_CREATION_FAILED: {
176
+ status: number;
177
+ message: string;
178
+ data: import("zod").ZodObject<{
179
+ type: import("zod").ZodString;
180
+ }, "strip", import("zod").ZodTypeAny, {
181
+ type: string;
182
+ }, {
183
+ type: string;
184
+ }>;
185
+ };
186
+ PURPOSE_CREATION_FAILED: {
187
+ status: number;
188
+ message: string;
189
+ data: import("zod").ZodObject<{
190
+ purposeCode: import("zod").ZodString;
191
+ }, "strip", import("zod").ZodTypeAny, {
192
+ purposeCode: string;
193
+ }, {
194
+ purposeCode: string;
195
+ }>;
196
+ };
197
+ CONSENT_CREATION_FAILED: {
198
+ status: number;
199
+ message: string;
200
+ data: import("zod").ZodObject<{
201
+ subjectId: import("zod").ZodString;
202
+ domain: import("zod").ZodString;
203
+ }, "strip", import("zod").ZodTypeAny, {
204
+ subjectId: string;
205
+ domain: string;
206
+ }, {
207
+ subjectId: string;
208
+ domain: string;
209
+ }>;
210
+ };
211
+ }>, Record<never, never>>;
212
+ showBanner: import("@orpc/server").ImplementedProcedure<Record<never, never>, Record<never, never>, import("@orpc/contract").Schema<unknown, unknown>, import("zod").ZodObject<{
213
+ showConsentBanner: import("zod").ZodBoolean;
214
+ jurisdiction: import("zod").ZodObject<{
215
+ code: import("zod").ZodEnum<["GDPR", "CH", "BR", "PIPEDA", "AU", "APPI", "PIPA", "NONE"]>;
216
+ message: import("zod").ZodString;
217
+ }, "strip", import("zod").ZodTypeAny, {
218
+ code: "GDPR" | "CH" | "BR" | "PIPEDA" | "AU" | "APPI" | "PIPA" | "NONE";
219
+ message: string;
220
+ }, {
221
+ code: "GDPR" | "CH" | "BR" | "PIPEDA" | "AU" | "APPI" | "PIPA" | "NONE";
222
+ message: string;
223
+ }>;
224
+ location: import("zod").ZodObject<{
225
+ countryCode: import("zod").ZodNullable<import("zod").ZodString>;
226
+ regionCode: import("zod").ZodNullable<import("zod").ZodString>;
227
+ }, "strip", import("zod").ZodTypeAny, {
228
+ countryCode: string | null;
229
+ regionCode: string | null;
230
+ }, {
231
+ countryCode: string | null;
232
+ regionCode: string | null;
233
+ }>;
234
+ }, "strip", import("zod").ZodTypeAny, {
235
+ showConsentBanner: boolean;
236
+ jurisdiction: {
237
+ code: "GDPR" | "CH" | "BR" | "PIPEDA" | "AU" | "APPI" | "PIPA" | "NONE";
238
+ message: string;
239
+ };
240
+ location: {
241
+ countryCode: string | null;
242
+ regionCode: string | null;
243
+ };
244
+ }, {
245
+ showConsentBanner: boolean;
246
+ jurisdiction: {
247
+ code: "GDPR" | "CH" | "BR" | "PIPEDA" | "AU" | "APPI" | "PIPA" | "NONE";
248
+ message: string;
249
+ };
250
+ location: {
251
+ countryCode: string | null;
252
+ regionCode: string | null;
253
+ };
254
+ }>, Record<never, never>, Record<never, never>>;
255
+ verify: import("@orpc/server").ImplementedProcedure<Record<never, never>, Record<never, never>, import("zod").ZodObject<{
256
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
257
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
258
+ domain: import("zod").ZodString;
259
+ type: import("zod").ZodEnum<["cookie_banner", "privacy_policy", "dpa", "terms_and_conditions", "marketing_communications", "age_verification", "other"]>;
260
+ policyId: import("zod").ZodOptional<import("zod").ZodString>;
261
+ preferences: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
262
+ }, "strict", import("zod").ZodTypeAny, {
263
+ type: "cookie_banner" | "privacy_policy" | "dpa" | "terms_and_conditions" | "marketing_communications" | "age_verification" | "other";
264
+ domain: string;
265
+ subjectId?: string | undefined;
266
+ policyId?: string | undefined;
267
+ externalSubjectId?: string | undefined;
268
+ preferences?: string[] | undefined;
269
+ }, {
270
+ type: "cookie_banner" | "privacy_policy" | "dpa" | "terms_and_conditions" | "marketing_communications" | "age_verification" | "other";
271
+ domain: string;
272
+ subjectId?: string | undefined;
273
+ policyId?: string | undefined;
274
+ externalSubjectId?: string | undefined;
275
+ preferences?: string[] | undefined;
276
+ }>, import("zod").ZodObject<{
277
+ isValid: import("zod").ZodBoolean;
278
+ reasons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
279
+ consent: import("zod").ZodOptional<import("zod").ZodObject<{
280
+ id: import("zod").ZodString;
281
+ purposeIds: import("zod").ZodArray<import("zod").ZodString, "many">;
282
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
283
+ id: import("zod").ZodString;
284
+ purposeIds: import("zod").ZodArray<import("zod").ZodString, "many">;
285
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
286
+ id: import("zod").ZodString;
287
+ purposeIds: import("zod").ZodArray<import("zod").ZodString, "many">;
288
+ }, import("zod").ZodTypeAny, "passthrough">>>;
289
+ }, "strip", import("zod").ZodTypeAny, {
290
+ isValid: boolean;
291
+ consent?: import("zod").objectOutputType<{
292
+ id: import("zod").ZodString;
293
+ purposeIds: import("zod").ZodArray<import("zod").ZodString, "many">;
294
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
295
+ reasons?: string[] | undefined;
296
+ }, {
297
+ isValid: boolean;
298
+ consent?: import("zod").objectInputType<{
299
+ id: import("zod").ZodString;
300
+ purposeIds: import("zod").ZodArray<import("zod").ZodString, "many">;
301
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
302
+ reasons?: string[] | undefined;
303
+ }>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
304
+ INPUT_VALIDATION_FAILED: {
305
+ status: number;
306
+ message: string;
307
+ data: import("zod").ZodObject<{
308
+ formErrors: import("zod").ZodArray<import("zod").ZodString, "many">;
309
+ fieldErrors: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>>;
310
+ }, "strip", import("zod").ZodTypeAny, {
311
+ formErrors: string[];
312
+ fieldErrors: Record<string, string[] | undefined>;
313
+ }, {
314
+ formErrors: string[];
315
+ fieldErrors: Record<string, string[] | undefined>;
316
+ }>;
317
+ };
318
+ SUBJECT_NOT_FOUND: {
319
+ status: number;
320
+ message: string;
321
+ data: import("zod").ZodObject<{
322
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
323
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
324
+ }, "strip", import("zod").ZodTypeAny, {
325
+ subjectId?: string | undefined;
326
+ externalSubjectId?: string | undefined;
327
+ }, {
328
+ subjectId?: string | undefined;
329
+ externalSubjectId?: string | undefined;
330
+ }>;
331
+ };
332
+ DOMAIN_NOT_FOUND: {
333
+ status: number;
334
+ message: string;
335
+ data: import("zod").ZodObject<{
336
+ domain: import("zod").ZodString;
337
+ }, "strip", import("zod").ZodTypeAny, {
338
+ domain: string;
339
+ }, {
340
+ domain: string;
341
+ }>;
342
+ };
343
+ POLICY_NOT_FOUND: {
344
+ status: number;
345
+ message: string;
346
+ data: import("zod").ZodObject<{
347
+ policyId: import("zod").ZodString;
348
+ type: import("zod").ZodString;
349
+ }, "strip", import("zod").ZodTypeAny, {
350
+ type: string;
351
+ policyId: string;
352
+ }, {
353
+ type: string;
354
+ policyId: string;
355
+ }>;
356
+ };
357
+ PURPOSES_NOT_FOUND: {
358
+ status: number;
359
+ message: string;
360
+ data: import("zod").ZodObject<{
361
+ preferences: import("zod").ZodArray<import("zod").ZodString, "many">;
362
+ foundPurposes: import("zod").ZodArray<import("zod").ZodString, "many">;
363
+ }, "strip", import("zod").ZodTypeAny, {
364
+ preferences: string[];
365
+ foundPurposes: string[];
366
+ }, {
367
+ preferences: string[];
368
+ foundPurposes: string[];
369
+ }>;
370
+ };
371
+ COOKIE_BANNER_PREFERENCES_REQUIRED: {
372
+ status: number;
373
+ message: string;
374
+ data: import("zod").ZodObject<{
375
+ type: import("zod").ZodLiteral<"cookie_banner">;
376
+ }, "strip", import("zod").ZodTypeAny, {
377
+ type: "cookie_banner";
378
+ }, {
379
+ type: "cookie_banner";
380
+ }>;
381
+ };
382
+ NO_CONSENT_FOUND: {
383
+ status: number;
384
+ message: string;
385
+ data: import("zod").ZodObject<{
386
+ policyId: import("zod").ZodString;
387
+ subjectId: import("zod").ZodString;
388
+ domainId: import("zod").ZodString;
389
+ }, "strip", import("zod").ZodTypeAny, {
390
+ subjectId: string;
391
+ domainId: string;
392
+ policyId: string;
393
+ }, {
394
+ subjectId: string;
395
+ domainId: string;
396
+ policyId: string;
397
+ }>;
398
+ };
399
+ }>, Record<never, never>>;
400
+ };
401
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handlers/consent/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI3B,CAAC"}
@@ -0,0 +1,234 @@
1
+ /**
2
+ * Handles the creation of a new consent record.
3
+ *
4
+ * This handler processes consent submissions, creates necessary records in the database,
5
+ * and returns a formatted response. It handles different types of consent (cookie banner,
6
+ * policy-based, and other types) with their specific requirements.
7
+ *
8
+ * @throws {ORPCError} When:
9
+ * - Subject creation fails
10
+ * - Policy is not found or inactive
11
+ * - Database transaction fails
12
+ * - Required fields are missing
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * // Cookie banner consent
17
+ * const response = await postConsent({
18
+ * type: 'cookie_banner',
19
+ * domain: 'example.com',
20
+ * preferences: { analytics: true, marketing: false }
21
+ * });
22
+ * ```
23
+ */
24
+ export declare const postConsent: import("@orpc/server").ImplementedProcedure<Record<never, never>, Record<never, never>, import("zod").ZodDiscriminatedUnion<"type", [import("zod").ZodObject<import("zod").objectUtil.extendShape<{
25
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
26
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
27
+ domain: import("zod").ZodString;
28
+ type: import("zod").ZodEnum<["cookie_banner", "privacy_policy", "dpa", "terms_and_conditions", "marketing_communications", "age_verification", "other"]>;
29
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
30
+ }, {
31
+ type: import("zod").ZodLiteral<"cookie_banner">;
32
+ preferences: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodBoolean>;
33
+ }>, "strip", import("zod").ZodTypeAny, {
34
+ type: "cookie_banner";
35
+ domain: string;
36
+ preferences: Record<string, boolean>;
37
+ subjectId?: string | undefined;
38
+ metadata?: Record<string, unknown> | undefined;
39
+ externalSubjectId?: string | undefined;
40
+ }, {
41
+ type: "cookie_banner";
42
+ domain: string;
43
+ preferences: Record<string, boolean>;
44
+ subjectId?: string | undefined;
45
+ metadata?: Record<string, unknown> | undefined;
46
+ externalSubjectId?: string | undefined;
47
+ }>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
48
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
49
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
50
+ domain: import("zod").ZodString;
51
+ type: import("zod").ZodEnum<["cookie_banner", "privacy_policy", "dpa", "terms_and_conditions", "marketing_communications", "age_verification", "other"]>;
52
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
53
+ }, {
54
+ type: import("zod").ZodEnum<["privacy_policy", "dpa", "terms_and_conditions"]>;
55
+ policyId: import("zod").ZodOptional<import("zod").ZodString>;
56
+ preferences: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodBoolean>>;
57
+ }>, "strip", import("zod").ZodTypeAny, {
58
+ type: "privacy_policy" | "dpa" | "terms_and_conditions";
59
+ domain: string;
60
+ subjectId?: string | undefined;
61
+ metadata?: Record<string, unknown> | undefined;
62
+ policyId?: string | undefined;
63
+ externalSubjectId?: string | undefined;
64
+ preferences?: Record<string, boolean> | undefined;
65
+ }, {
66
+ type: "privacy_policy" | "dpa" | "terms_and_conditions";
67
+ domain: string;
68
+ subjectId?: string | undefined;
69
+ metadata?: Record<string, unknown> | undefined;
70
+ policyId?: string | undefined;
71
+ externalSubjectId?: string | undefined;
72
+ preferences?: Record<string, boolean> | undefined;
73
+ }>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
74
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
75
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
76
+ domain: import("zod").ZodString;
77
+ type: import("zod").ZodEnum<["cookie_banner", "privacy_policy", "dpa", "terms_and_conditions", "marketing_communications", "age_verification", "other"]>;
78
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
79
+ }, {
80
+ type: import("zod").ZodEnum<["marketing_communications", "age_verification", "other"]>;
81
+ preferences: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodBoolean>>;
82
+ }>, "strip", import("zod").ZodTypeAny, {
83
+ type: "marketing_communications" | "age_verification" | "other";
84
+ domain: string;
85
+ subjectId?: string | undefined;
86
+ metadata?: Record<string, unknown> | undefined;
87
+ externalSubjectId?: string | undefined;
88
+ preferences?: Record<string, boolean> | undefined;
89
+ }, {
90
+ type: "marketing_communications" | "age_verification" | "other";
91
+ domain: string;
92
+ subjectId?: string | undefined;
93
+ metadata?: Record<string, unknown> | undefined;
94
+ externalSubjectId?: string | undefined;
95
+ preferences?: Record<string, boolean> | undefined;
96
+ }>]>, import("zod").ZodObject<{
97
+ id: import("zod").ZodString;
98
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
99
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
100
+ domainId: import("zod").ZodString;
101
+ domain: import("zod").ZodString;
102
+ type: import("zod").ZodEnum<["cookie_banner", "privacy_policy", "dpa", "terms_and_conditions", "marketing_communications", "age_verification", "other"]>;
103
+ status: import("zod").ZodString;
104
+ recordId: import("zod").ZodString;
105
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
106
+ givenAt: import("zod").ZodDate;
107
+ }, "strip", import("zod").ZodTypeAny, {
108
+ type: "cookie_banner" | "privacy_policy" | "dpa" | "terms_and_conditions" | "marketing_communications" | "age_verification" | "other";
109
+ status: string;
110
+ id: string;
111
+ domain: string;
112
+ domainId: string;
113
+ givenAt: Date;
114
+ recordId: string;
115
+ subjectId?: string | undefined;
116
+ metadata?: Record<string, unknown> | undefined;
117
+ externalSubjectId?: string | undefined;
118
+ }, {
119
+ type: "cookie_banner" | "privacy_policy" | "dpa" | "terms_and_conditions" | "marketing_communications" | "age_verification" | "other";
120
+ status: string;
121
+ id: string;
122
+ domain: string;
123
+ domainId: string;
124
+ givenAt: Date;
125
+ recordId: string;
126
+ subjectId?: string | undefined;
127
+ metadata?: Record<string, unknown> | undefined;
128
+ externalSubjectId?: string | undefined;
129
+ }>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
130
+ INPUT_VALIDATION_FAILED: {
131
+ status: number;
132
+ message: string;
133
+ data: import("zod").ZodObject<{
134
+ formErrors: import("zod").ZodArray<import("zod").ZodString, "many">;
135
+ fieldErrors: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodArray<import("zod").ZodString, "many">>;
136
+ }, "strip", import("zod").ZodTypeAny, {
137
+ formErrors: string[];
138
+ fieldErrors: Record<string, string[]>;
139
+ }, {
140
+ formErrors: string[];
141
+ fieldErrors: Record<string, string[]>;
142
+ }>;
143
+ };
144
+ SUBJECT_CREATION_FAILED: {
145
+ status: number;
146
+ message: string;
147
+ data: import("zod").ZodObject<{
148
+ subjectId: import("zod").ZodOptional<import("zod").ZodString>;
149
+ externalSubjectId: import("zod").ZodOptional<import("zod").ZodString>;
150
+ }, "strip", import("zod").ZodTypeAny, {
151
+ subjectId?: string | undefined;
152
+ externalSubjectId?: string | undefined;
153
+ }, {
154
+ subjectId?: string | undefined;
155
+ externalSubjectId?: string | undefined;
156
+ }>;
157
+ };
158
+ DOMAIN_CREATION_FAILED: {
159
+ status: number;
160
+ message: string;
161
+ data: import("zod").ZodObject<{
162
+ domain: import("zod").ZodString;
163
+ }, "strip", import("zod").ZodTypeAny, {
164
+ domain: string;
165
+ }, {
166
+ domain: string;
167
+ }>;
168
+ };
169
+ POLICY_NOT_FOUND: {
170
+ status: number;
171
+ message: string;
172
+ data: import("zod").ZodObject<{
173
+ policyId: import("zod").ZodString;
174
+ type: import("zod").ZodString;
175
+ }, "strip", import("zod").ZodTypeAny, {
176
+ type: string;
177
+ policyId: string;
178
+ }, {
179
+ type: string;
180
+ policyId: string;
181
+ }>;
182
+ };
183
+ POLICY_INACTIVE: {
184
+ status: number;
185
+ message: string;
186
+ data: import("zod").ZodObject<{
187
+ policyId: import("zod").ZodString;
188
+ type: import("zod").ZodString;
189
+ }, "strip", import("zod").ZodTypeAny, {
190
+ type: string;
191
+ policyId: string;
192
+ }, {
193
+ type: string;
194
+ policyId: string;
195
+ }>;
196
+ };
197
+ POLICY_CREATION_FAILED: {
198
+ status: number;
199
+ message: string;
200
+ data: import("zod").ZodObject<{
201
+ type: import("zod").ZodString;
202
+ }, "strip", import("zod").ZodTypeAny, {
203
+ type: string;
204
+ }, {
205
+ type: string;
206
+ }>;
207
+ };
208
+ PURPOSE_CREATION_FAILED: {
209
+ status: number;
210
+ message: string;
211
+ data: import("zod").ZodObject<{
212
+ purposeCode: import("zod").ZodString;
213
+ }, "strip", import("zod").ZodTypeAny, {
214
+ purposeCode: string;
215
+ }, {
216
+ purposeCode: string;
217
+ }>;
218
+ };
219
+ CONSENT_CREATION_FAILED: {
220
+ status: number;
221
+ message: string;
222
+ data: import("zod").ZodObject<{
223
+ subjectId: import("zod").ZodString;
224
+ domain: import("zod").ZodString;
225
+ }, "strip", import("zod").ZodTypeAny, {
226
+ subjectId: string;
227
+ domain: string;
228
+ }, {
229
+ subjectId: string;
230
+ domain: string;
231
+ }>;
232
+ };
233
+ }>, Record<never, never>>;
234
+ //# sourceMappingURL=post.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post.handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/consent/post.handler.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAiPvB,CAAC"}