@c15t/backend 0.0.1-rc.10

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 (521) hide show
  1. package/.turbo/turbo-build.log +11 -0
  2. package/.turbo/turbo-check-types.log +5 -0
  3. package/.turbo/turbo-fmt.log +7 -0
  4. package/.turbo/turbo-lint.log +6 -0
  5. package/.turbo/turbo-test.log +26 -0
  6. package/README-next.md +223 -0
  7. package/README.md +164 -0
  8. package/dist/api/call.d.ts +176 -0
  9. package/dist/api/call.d.ts.map +1 -0
  10. package/dist/api/index.d.ts +935 -0
  11. package/dist/api/index.d.ts.map +1 -0
  12. package/dist/api/middlewares/index.d.ts +39 -0
  13. package/dist/api/middlewares/index.d.ts.map +1 -0
  14. package/dist/api/middlewares/origin-check.d.ts +82 -0
  15. package/dist/api/middlewares/origin-check.d.ts.map +1 -0
  16. package/dist/api/middlewares/validate-context.d.ts +38 -0
  17. package/dist/api/middlewares/validate-context.d.ts.map +1 -0
  18. package/dist/api/routes/__tests__/consent.test.d.ts +2 -0
  19. package/dist/api/routes/__tests__/consent.test.d.ts.map +1 -0
  20. package/dist/api/routes/__tests__/status.test.d.ts +2 -0
  21. package/dist/api/routes/__tests__/status.test.d.ts.map +1 -0
  22. package/dist/api/routes/error.d.ts +57 -0
  23. package/dist/api/routes/error.d.ts.map +1 -0
  24. package/dist/api/routes/generate-consent-receipt.d.ts +130 -0
  25. package/dist/api/routes/generate-consent-receipt.d.ts.map +1 -0
  26. package/dist/api/routes/get-consent-history.d.ts +133 -0
  27. package/dist/api/routes/get-consent-history.d.ts.map +1 -0
  28. package/dist/api/routes/get-consent-policy.d.ts +164 -0
  29. package/dist/api/routes/get-consent-policy.d.ts.map +1 -0
  30. package/dist/api/routes/get-consent.d.ts +148 -0
  31. package/dist/api/routes/get-consent.d.ts.map +1 -0
  32. package/dist/api/routes/index.d.ts +339 -0
  33. package/dist/api/routes/index.d.ts.map +1 -0
  34. package/dist/api/routes/ok.d.ts +87 -0
  35. package/dist/api/routes/ok.d.ts.map +1 -0
  36. package/dist/api/routes/set-consent.d.ts +245 -0
  37. package/dist/api/routes/set-consent.d.ts.map +1 -0
  38. package/dist/api/routes/show-consent-banner.d.ts +127 -0
  39. package/dist/api/routes/show-consent-banner.d.ts.map +1 -0
  40. package/dist/api/routes/status.d.ts +61 -0
  41. package/dist/api/routes/status.d.ts.map +1 -0
  42. package/dist/api/routes/verify-consent.d.ts +179 -0
  43. package/dist/api/routes/verify-consent.d.ts.map +1 -0
  44. package/dist/api/routes/withdraw-consent.d.ts +194 -0
  45. package/dist/api/routes/withdraw-consent.d.ts.map +1 -0
  46. package/dist/api/to-endpoints.d.ts +35 -0
  47. package/dist/api/to-endpoints.d.ts.map +1 -0
  48. package/dist/client/index.cjs +139 -0
  49. package/dist/client/index.d.ts +203 -0
  50. package/dist/client/index.d.ts.map +1 -0
  51. package/dist/client/index.js +106 -0
  52. package/dist/client/types.d.ts +431 -0
  53. package/dist/client/types.d.ts.map +1 -0
  54. package/dist/core.d.ts +124 -0
  55. package/dist/core.d.ts.map +1 -0
  56. package/dist/core.test.d.ts +2 -0
  57. package/dist/core.test.d.ts.map +1 -0
  58. package/dist/db/adapters/drizzle-adapter/drizzle-adapter.d.ts +122 -0
  59. package/dist/db/adapters/drizzle-adapter/drizzle-adapter.d.ts.map +1 -0
  60. package/dist/db/adapters/drizzle-adapter/index.d.ts +2 -0
  61. package/dist/db/adapters/drizzle-adapter/index.d.ts.map +1 -0
  62. package/dist/db/adapters/drizzle.cjs +1531 -0
  63. package/dist/db/adapters/drizzle.js +1489 -0
  64. package/dist/db/adapters/kysely-adapter/dialect.d.ts +72 -0
  65. package/dist/db/adapters/kysely-adapter/dialect.d.ts.map +1 -0
  66. package/dist/db/adapters/kysely-adapter/index.d.ts +4 -0
  67. package/dist/db/adapters/kysely-adapter/index.d.ts.map +1 -0
  68. package/dist/db/adapters/kysely-adapter/kysely-adapter.d.ts +98 -0
  69. package/dist/db/adapters/kysely-adapter/kysely-adapter.d.ts.map +1 -0
  70. package/dist/db/adapters/kysely-adapter/types.d.ts +281 -0
  71. package/dist/db/adapters/kysely-adapter/types.d.ts.map +1 -0
  72. package/dist/db/adapters/kysely.cjs +1551 -0
  73. package/dist/db/adapters/kysely.js +1508 -0
  74. package/dist/db/adapters/memory-adapter/index.d.ts +2 -0
  75. package/dist/db/adapters/memory-adapter/index.d.ts.map +1 -0
  76. package/dist/db/adapters/memory-adapter/memory-adapter.d.ts +56 -0
  77. package/dist/db/adapters/memory-adapter/memory-adapter.d.ts.map +1 -0
  78. package/dist/db/adapters/memory.cjs +1391 -0
  79. package/dist/db/adapters/memory.js +1349 -0
  80. package/dist/db/adapters/prisma-adapter/index.d.ts +2 -0
  81. package/dist/db/adapters/prisma-adapter/index.d.ts.map +1 -0
  82. package/dist/db/adapters/prisma-adapter/prisma-adapter.d.ts +143 -0
  83. package/dist/db/adapters/prisma-adapter/prisma-adapter.d.ts.map +1 -0
  84. package/dist/db/adapters/prisma.cjs +1503 -0
  85. package/dist/db/adapters/prisma.js +1461 -0
  86. package/dist/db/adapters/types.d.ts +154 -0
  87. package/dist/db/adapters/types.d.ts.map +1 -0
  88. package/dist/db/adapters/utils.d.ts +36 -0
  89. package/dist/db/adapters/utils.d.ts.map +1 -0
  90. package/dist/db/core/fields/field-factory.d.ts +383 -0
  91. package/dist/db/core/fields/field-factory.d.ts.map +1 -0
  92. package/dist/db/core/fields/field-inference.d.ts +218 -0
  93. package/dist/db/core/fields/field-inference.d.ts.map +1 -0
  94. package/dist/db/core/fields/field-options-integration.d.ts +90 -0
  95. package/dist/db/core/fields/field-options-integration.d.ts.map +1 -0
  96. package/dist/db/core/fields/field-types.d.ts +182 -0
  97. package/dist/db/core/fields/field-types.d.ts.map +1 -0
  98. package/dist/db/core/fields/id-generator.d.ts +19 -0
  99. package/dist/db/core/fields/id-generator.d.ts.map +1 -0
  100. package/dist/db/core/fields/index.d.ts +8 -0
  101. package/dist/db/core/fields/index.d.ts.map +1 -0
  102. package/dist/db/core/fields/superjson-utils.d.ts +34 -0
  103. package/dist/db/core/fields/superjson-utils.d.ts.map +1 -0
  104. package/dist/db/core/fields/zod-fields.d.ts +1011 -0
  105. package/dist/db/core/fields/zod-fields.d.ts.map +1 -0
  106. package/dist/db/core/get-schema.d.ts +36 -0
  107. package/dist/db/core/get-schema.d.ts.map +1 -0
  108. package/dist/db/core/types.d.ts +41 -0
  109. package/dist/db/core/types.d.ts.map +1 -0
  110. package/dist/db/create-registry.d.ts +760 -0
  111. package/dist/db/create-registry.d.ts.map +1 -0
  112. package/dist/db/hooks/create-hooks.d.ts +32 -0
  113. package/dist/db/hooks/create-hooks.d.ts.map +1 -0
  114. package/dist/db/hooks/index.d.ts +40 -0
  115. package/dist/db/hooks/index.d.ts.map +1 -0
  116. package/dist/db/hooks/types.d.ts +133 -0
  117. package/dist/db/hooks/types.d.ts.map +1 -0
  118. package/dist/db/hooks/update-hooks.d.ts +33 -0
  119. package/dist/db/hooks/update-hooks.d.ts.map +1 -0
  120. package/dist/db/hooks/update-many-hooks.d.ts +55 -0
  121. package/dist/db/hooks/update-many-hooks.d.ts.map +1 -0
  122. package/dist/db/hooks/utils.d.ts +62 -0
  123. package/dist/db/hooks/utils.d.ts.map +1 -0
  124. package/dist/db/hooks/with-hooks-factory.d.ts +33 -0
  125. package/dist/db/hooks/with-hooks-factory.d.ts.map +1 -0
  126. package/dist/db/index.cjs +2458 -0
  127. package/dist/db/index.d.ts +11 -0
  128. package/dist/db/index.d.ts.map +1 -0
  129. package/dist/db/index.js +2404 -0
  130. package/dist/db/migration/get-migration.d.ts +32 -0
  131. package/dist/db/migration/get-migration.d.ts.map +1 -0
  132. package/dist/db/migration/get-schema/get-schema.d.ts +27 -0
  133. package/dist/db/migration/get-schema/get-schema.d.ts.map +1 -0
  134. package/dist/db/migration/get-schema/index.d.ts +21 -0
  135. package/dist/db/migration/get-schema/index.d.ts.map +1 -0
  136. package/dist/db/migration/get-schema/process-fields.d.ts +16 -0
  137. package/dist/db/migration/get-schema/process-fields.d.ts.map +1 -0
  138. package/dist/db/migration/get-schema/process-tables.d.ts +13 -0
  139. package/dist/db/migration/get-schema/process-tables.d.ts.map +1 -0
  140. package/dist/db/migration/get-schema/types.d.ts +17 -0
  141. package/dist/db/migration/get-schema/types.d.ts.map +1 -0
  142. package/dist/db/migration/index.cjs +1613 -0
  143. package/dist/db/migration/index.d.ts +14 -0
  144. package/dist/db/migration/index.d.ts.map +1 -0
  145. package/dist/db/migration/index.js +1571 -0
  146. package/dist/db/migration/migration-builders.d.ts +28 -0
  147. package/dist/db/migration/migration-builders.d.ts.map +1 -0
  148. package/dist/db/migration/migration-execution.d.ts +12 -0
  149. package/dist/db/migration/migration-execution.d.ts.map +1 -0
  150. package/dist/db/migration/schema-comparison.d.ts +54 -0
  151. package/dist/db/migration/schema-comparison.d.ts.map +1 -0
  152. package/dist/db/migration/type-mapping.d.ts +86 -0
  153. package/dist/db/migration/type-mapping.d.ts.map +1 -0
  154. package/dist/db/migration/types.d.ts +37 -0
  155. package/dist/db/migration/types.d.ts.map +1 -0
  156. package/dist/db/schema/audit-log/index.d.ts +4 -0
  157. package/dist/db/schema/audit-log/index.d.ts.map +1 -0
  158. package/dist/db/schema/audit-log/registry.d.ts +128 -0
  159. package/dist/db/schema/audit-log/registry.d.ts.map +1 -0
  160. package/dist/db/schema/audit-log/schema.d.ts +67 -0
  161. package/dist/db/schema/audit-log/schema.d.ts.map +1 -0
  162. package/dist/db/schema/audit-log/table.d.ts +175 -0
  163. package/dist/db/schema/audit-log/table.d.ts.map +1 -0
  164. package/dist/db/schema/audit-log/types.d.ts +29 -0
  165. package/dist/db/schema/audit-log/types.d.ts.map +1 -0
  166. package/dist/db/schema/consent/index.d.ts +4 -0
  167. package/dist/db/schema/consent/index.d.ts.map +1 -0
  168. package/dist/db/schema/consent/registry.d.ts +318 -0
  169. package/dist/db/schema/consent/registry.d.ts.map +1 -0
  170. package/dist/db/schema/consent/schema.d.ts +135 -0
  171. package/dist/db/schema/consent/schema.d.ts.map +1 -0
  172. package/dist/db/schema/consent/table.d.ts +245 -0
  173. package/dist/db/schema/consent/table.d.ts.map +1 -0
  174. package/dist/db/schema/consent/types.d.ts +37 -0
  175. package/dist/db/schema/consent/types.d.ts.map +1 -0
  176. package/dist/db/schema/consent-geo-location/index.d.ts +4 -0
  177. package/dist/db/schema/consent-geo-location/index.d.ts.map +1 -0
  178. package/dist/db/schema/consent-geo-location/registry.d.ts +96 -0
  179. package/dist/db/schema/consent-geo-location/registry.d.ts.map +1 -0
  180. package/dist/db/schema/consent-geo-location/schema.d.ts +71 -0
  181. package/dist/db/schema/consent-geo-location/schema.d.ts.map +1 -0
  182. package/dist/db/schema/consent-geo-location/table.d.ts +167 -0
  183. package/dist/db/schema/consent-geo-location/table.d.ts.map +1 -0
  184. package/dist/db/schema/consent-geo-location/types.d.ts +21 -0
  185. package/dist/db/schema/consent-geo-location/types.d.ts.map +1 -0
  186. package/dist/db/schema/consent-policy/index.d.ts +4 -0
  187. package/dist/db/schema/consent-policy/index.d.ts.map +1 -0
  188. package/dist/db/schema/consent-policy/registry.d.ts +186 -0
  189. package/dist/db/schema/consent-policy/registry.d.ts.map +1 -0
  190. package/dist/db/schema/consent-policy/schema.d.ts +68 -0
  191. package/dist/db/schema/consent-policy/schema.d.ts.map +1 -0
  192. package/dist/db/schema/consent-policy/table.d.ts +147 -0
  193. package/dist/db/schema/consent-policy/table.d.ts.map +1 -0
  194. package/dist/db/schema/consent-policy/types.d.ts +28 -0
  195. package/dist/db/schema/consent-policy/types.d.ts.map +1 -0
  196. package/dist/db/schema/consent-purpose/index.d.ts +4 -0
  197. package/dist/db/schema/consent-purpose/index.d.ts.map +1 -0
  198. package/dist/db/schema/consent-purpose/registry.d.ts +136 -0
  199. package/dist/db/schema/consent-purpose/registry.d.ts.map +1 -0
  200. package/dist/db/schema/consent-purpose/schema.d.ts +79 -0
  201. package/dist/db/schema/consent-purpose/schema.d.ts.map +1 -0
  202. package/dist/db/schema/consent-purpose/table.d.ts +161 -0
  203. package/dist/db/schema/consent-purpose/table.d.ts.map +1 -0
  204. package/dist/db/schema/consent-purpose/types.d.ts +16 -0
  205. package/dist/db/schema/consent-purpose/types.d.ts.map +1 -0
  206. package/dist/db/schema/consent-purpose-junction/index.d.ts +4 -0
  207. package/dist/db/schema/consent-purpose-junction/index.d.ts.map +1 -0
  208. package/dist/db/schema/consent-purpose-junction/registry.d.ts +109 -0
  209. package/dist/db/schema/consent-purpose-junction/registry.d.ts.map +1 -0
  210. package/dist/db/schema/consent-purpose-junction/schema.d.ts +57 -0
  211. package/dist/db/schema/consent-purpose-junction/schema.d.ts.map +1 -0
  212. package/dist/db/schema/consent-purpose-junction/table.d.ts +138 -0
  213. package/dist/db/schema/consent-purpose-junction/table.d.ts.map +1 -0
  214. package/dist/db/schema/consent-purpose-junction/types.d.ts +14 -0
  215. package/dist/db/schema/consent-purpose-junction/types.d.ts.map +1 -0
  216. package/dist/db/schema/consent-record/index.d.ts +4 -0
  217. package/dist/db/schema/consent-record/index.d.ts.map +1 -0
  218. package/dist/db/schema/consent-record/registry.d.ts +119 -0
  219. package/dist/db/schema/consent-record/registry.d.ts.map +1 -0
  220. package/dist/db/schema/consent-record/schema.d.ts +57 -0
  221. package/dist/db/schema/consent-record/schema.d.ts.map +1 -0
  222. package/dist/db/schema/consent-record/table.d.ts +123 -0
  223. package/dist/db/schema/consent-record/table.d.ts.map +1 -0
  224. package/dist/db/schema/consent-record/types.d.ts +21 -0
  225. package/dist/db/schema/consent-record/types.d.ts.map +1 -0
  226. package/dist/db/schema/consent-withdrawal/index.d.ts +4 -0
  227. package/dist/db/schema/consent-withdrawal/index.d.ts.map +1 -0
  228. package/dist/db/schema/consent-withdrawal/registry.d.ts +134 -0
  229. package/dist/db/schema/consent-withdrawal/registry.d.ts.map +1 -0
  230. package/dist/db/schema/consent-withdrawal/schema.d.ts +67 -0
  231. package/dist/db/schema/consent-withdrawal/schema.d.ts.map +1 -0
  232. package/dist/db/schema/consent-withdrawal/table.d.ts +170 -0
  233. package/dist/db/schema/consent-withdrawal/table.d.ts.map +1 -0
  234. package/dist/db/schema/consent-withdrawal/types.d.ts +28 -0
  235. package/dist/db/schema/consent-withdrawal/types.d.ts.map +1 -0
  236. package/dist/db/schema/definition.d.ts +1100 -0
  237. package/dist/db/schema/definition.d.ts.map +1 -0
  238. package/dist/db/schema/domain/index.d.ts +4 -0
  239. package/dist/db/schema/domain/index.d.ts.map +1 -0
  240. package/dist/db/schema/domain/registry.d.ts +169 -0
  241. package/dist/db/schema/domain/registry.d.ts.map +1 -0
  242. package/dist/db/schema/domain/schema.d.ts +60 -0
  243. package/dist/db/schema/domain/schema.d.ts.map +1 -0
  244. package/dist/db/schema/domain/table.d.ts +140 -0
  245. package/dist/db/schema/domain/table.d.ts.map +1 -0
  246. package/dist/db/schema/domain/types.d.ts +27 -0
  247. package/dist/db/schema/domain/types.d.ts.map +1 -0
  248. package/dist/db/schema/geo-location/index.d.ts +4 -0
  249. package/dist/db/schema/geo-location/index.d.ts.map +1 -0
  250. package/dist/db/schema/geo-location/registry.d.ts +114 -0
  251. package/dist/db/schema/geo-location/registry.d.ts.map +1 -0
  252. package/dist/db/schema/geo-location/schema.d.ts +58 -0
  253. package/dist/db/schema/geo-location/schema.d.ts.map +1 -0
  254. package/dist/db/schema/geo-location/table.d.ts +132 -0
  255. package/dist/db/schema/geo-location/table.d.ts.map +1 -0
  256. package/dist/db/schema/geo-location/types.d.ts +17 -0
  257. package/dist/db/schema/geo-location/types.d.ts.map +1 -0
  258. package/dist/db/schema/index.d.ts +85 -0
  259. package/dist/db/schema/index.d.ts.map +1 -0
  260. package/dist/db/schema/parser.d.ts +183 -0
  261. package/dist/db/schema/parser.d.ts.map +1 -0
  262. package/dist/db/schema/schemas.d.ts +383 -0
  263. package/dist/db/schema/schemas.d.ts.map +1 -0
  264. package/dist/db/schema/subject/index.d.ts +4 -0
  265. package/dist/db/schema/subject/index.d.ts.map +1 -0
  266. package/dist/db/schema/subject/registry.d.ts +141 -0
  267. package/dist/db/schema/subject/registry.d.ts.map +1 -0
  268. package/dist/db/schema/subject/schema.d.ts +56 -0
  269. package/dist/db/schema/subject/schema.d.ts.map +1 -0
  270. package/dist/db/schema/subject/table.d.ts +136 -0
  271. package/dist/db/schema/subject/table.d.ts.map +1 -0
  272. package/dist/db/schema/subject/types.d.ts +22 -0
  273. package/dist/db/schema/subject/types.d.ts.map +1 -0
  274. package/dist/db/schema/types.d.ts +136 -0
  275. package/dist/db/schema/types.d.ts.map +1 -0
  276. package/dist/db/utils/adapter-factory.d.ts +21 -0
  277. package/dist/db/utils/adapter-factory.d.ts.map +1 -0
  278. package/dist/db/utils/index.d.ts +10 -0
  279. package/dist/db/utils/index.d.ts.map +1 -0
  280. package/dist/db/utils.d.ts +4 -0
  281. package/dist/db/utils.d.ts.map +1 -0
  282. package/dist/error/codes.cjs +68 -0
  283. package/dist/error/codes.d.ts +175 -0
  284. package/dist/error/codes.d.ts.map +1 -0
  285. package/dist/error/codes.js +35 -0
  286. package/dist/error/error.d.ts +79 -0
  287. package/dist/error/error.d.ts.map +1 -0
  288. package/dist/error/index.cjs +172 -0
  289. package/dist/error/index.d.ts +9 -0
  290. package/dist/error/index.d.ts.map +1 -0
  291. package/dist/error/index.js +129 -0
  292. package/dist/error/logging.d.ts +25 -0
  293. package/dist/error/logging.d.ts.map +1 -0
  294. package/dist/error/pipeline.d.ts +19 -0
  295. package/dist/error/pipeline.d.ts.map +1 -0
  296. package/dist/error/recovery.d.ts +22 -0
  297. package/dist/error/recovery.d.ts.map +1 -0
  298. package/dist/error/results.d.ts +56 -0
  299. package/dist/error/results.d.ts.map +1 -0
  300. package/dist/index.cjs +4777 -0
  301. package/dist/index.d.ts +46 -0
  302. package/dist/index.d.ts.map +1 -0
  303. package/dist/index.js +4708 -0
  304. package/dist/init.d.ts +52 -0
  305. package/dist/init.d.ts.map +1 -0
  306. package/dist/init.test.d.ts +2 -0
  307. package/dist/init.test.d.ts.map +1 -0
  308. package/dist/integrations/index.cjs +281 -0
  309. package/dist/integrations/index.d.ts +7 -0
  310. package/dist/integrations/index.d.ts.map +1 -0
  311. package/dist/integrations/index.js +248 -0
  312. package/dist/integrations/next.cjs +131 -0
  313. package/dist/integrations/next.d.ts +29 -0
  314. package/dist/integrations/next.d.ts.map +1 -0
  315. package/dist/integrations/next.js +99 -0
  316. package/dist/integrations/react.cjs +182 -0
  317. package/dist/integrations/react.d.ts +257 -0
  318. package/dist/integrations/react.d.ts.map +1 -0
  319. package/dist/integrations/react.js +150 -0
  320. package/dist/plugins/geo/index.d.ts +2 -0
  321. package/dist/plugins/geo/index.d.ts.map +1 -0
  322. package/dist/test/utils.d.ts +65 -0
  323. package/dist/test/utils.d.ts.map +1 -0
  324. package/dist/types/api.d.ts +89 -0
  325. package/dist/types/api.d.ts.map +1 -0
  326. package/dist/types/context.d.ts +205 -0
  327. package/dist/types/context.d.ts.map +1 -0
  328. package/dist/types/helper.d.ts +78 -0
  329. package/dist/types/helper.d.ts.map +1 -0
  330. package/dist/types/index.cjs +19 -0
  331. package/dist/types/index.d.ts +6 -0
  332. package/dist/types/index.d.ts.map +1 -0
  333. package/dist/types/index.js +0 -0
  334. package/dist/types/options.d.ts +172 -0
  335. package/dist/types/options.d.ts.map +1 -0
  336. package/dist/types/plugins.d.ts +442 -0
  337. package/dist/types/plugins.d.ts.map +1 -0
  338. package/dist/utils/env.d.ts +77 -0
  339. package/dist/utils/env.d.ts.map +1 -0
  340. package/dist/utils/hide-metadata.d.ts +22 -0
  341. package/dist/utils/hide-metadata.d.ts.map +1 -0
  342. package/dist/utils/index.cjs +268 -0
  343. package/dist/utils/index.d.ts +18 -0
  344. package/dist/utils/index.d.ts.map +1 -0
  345. package/dist/utils/index.js +210 -0
  346. package/dist/utils/ip.d.ts +10 -0
  347. package/dist/utils/ip.d.ts.map +1 -0
  348. package/dist/utils/json.d.ts +14 -0
  349. package/dist/utils/json.d.ts.map +1 -0
  350. package/dist/utils/logger.d.ts +108 -0
  351. package/dist/utils/logger.d.ts.map +1 -0
  352. package/dist/utils/url.d.ts +87 -0
  353. package/dist/utils/url.d.ts.map +1 -0
  354. package/dist/utils/wildcard.d.ts +46 -0
  355. package/dist/utils/wildcard.d.ts.map +1 -0
  356. package/knip.json +37 -0
  357. package/package.json +146 -0
  358. package/rslib.config.ts +104 -0
  359. package/src/api/call.ts +177 -0
  360. package/src/api/index.ts +303 -0
  361. package/src/api/middlewares/index.ts +38 -0
  362. package/src/api/middlewares/origin-check.ts +260 -0
  363. package/src/api/middlewares/validate-context.ts +175 -0
  364. package/src/api/routes/__tests__/consent.test.ts +270 -0
  365. package/src/api/routes/__tests__/status.test.ts +36 -0
  366. package/src/api/routes/error.ts +130 -0
  367. package/src/api/routes/generate-consent-receipt.ts +244 -0
  368. package/src/api/routes/get-consent-history.ts +128 -0
  369. package/src/api/routes/get-consent-policy.ts +327 -0
  370. package/src/api/routes/get-consent.ts +230 -0
  371. package/src/api/routes/index.ts +12 -0
  372. package/src/api/routes/ok.ts +45 -0
  373. package/src/api/routes/set-consent.ts +328 -0
  374. package/src/api/routes/show-consent-banner.ts +149 -0
  375. package/src/api/routes/status.ts +62 -0
  376. package/src/api/routes/verify-consent.ts +272 -0
  377. package/src/api/routes/withdraw-consent.ts +293 -0
  378. package/src/api/to-endpoints.ts +371 -0
  379. package/src/client/index.ts +471 -0
  380. package/src/client/types.ts +458 -0
  381. package/src/core.test.ts +303 -0
  382. package/src/core.ts +267 -0
  383. package/src/db/adapters/drizzle-adapter/drizzle-adapter.ts +711 -0
  384. package/src/db/adapters/drizzle-adapter/index.ts +1 -0
  385. package/src/db/adapters/kysely-adapter/dialect.ts +192 -0
  386. package/src/db/adapters/kysely-adapter/index.ts +3 -0
  387. package/src/db/adapters/kysely-adapter/kysely-adapter.ts +1168 -0
  388. package/src/db/adapters/kysely-adapter/types.ts +307 -0
  389. package/src/db/adapters/memory-adapter/index.ts +1 -0
  390. package/src/db/adapters/memory-adapter/memory-adapter.ts +648 -0
  391. package/src/db/adapters/prisma-adapter/index.ts +1 -0
  392. package/src/db/adapters/prisma-adapter/prisma-adapter.ts +586 -0
  393. package/src/db/adapters/types.ts +203 -0
  394. package/src/db/adapters/utils.ts +51 -0
  395. package/src/db/core/fields/field-factory.ts +804 -0
  396. package/src/db/core/fields/field-inference.ts +298 -0
  397. package/src/db/core/fields/field-options-integration.ts +135 -0
  398. package/src/db/core/fields/field-types.ts +233 -0
  399. package/src/db/core/fields/id-generator.ts +57 -0
  400. package/src/db/core/fields/index.ts +56 -0
  401. package/src/db/core/fields/superjson-utils.ts +155 -0
  402. package/src/db/core/fields/zod-fields.ts +269 -0
  403. package/src/db/core/get-schema.ts +102 -0
  404. package/src/db/core/types.ts +52 -0
  405. package/src/db/create-registry.ts +31 -0
  406. package/src/db/hooks/create-hooks.ts +88 -0
  407. package/src/db/hooks/index.ts +39 -0
  408. package/src/db/hooks/types.ts +164 -0
  409. package/src/db/hooks/update-hooks.ts +91 -0
  410. package/src/db/hooks/update-many-hooks.ts +176 -0
  411. package/src/db/hooks/utils.ts +151 -0
  412. package/src/db/hooks/with-hooks-factory.ts +68 -0
  413. package/src/db/index.ts +32 -0
  414. package/src/db/migration/get-migration.ts +89 -0
  415. package/src/db/migration/get-schema/get-schema.ts +44 -0
  416. package/src/db/migration/get-schema/index.ts +20 -0
  417. package/src/db/migration/get-schema/process-fields.ts +66 -0
  418. package/src/db/migration/get-schema/process-tables.ts +68 -0
  419. package/src/db/migration/get-schema/types.ts +18 -0
  420. package/src/db/migration/index.ts +18 -0
  421. package/src/db/migration/migration-builders.ts +170 -0
  422. package/src/db/migration/migration-execution.ts +79 -0
  423. package/src/db/migration/schema-comparison.ts +216 -0
  424. package/src/db/migration/type-mapping.ts +255 -0
  425. package/src/db/migration/types.ts +46 -0
  426. package/src/db/schema/audit-log/index.ts +3 -0
  427. package/src/db/schema/audit-log/registry.ts +228 -0
  428. package/src/db/schema/audit-log/schema.ts +46 -0
  429. package/src/db/schema/audit-log/table.ts +185 -0
  430. package/src/db/schema/audit-log/types.ts +29 -0
  431. package/src/db/schema/consent/index.ts +3 -0
  432. package/src/db/schema/consent/registry.ts +381 -0
  433. package/src/db/schema/consent/schema.ts +65 -0
  434. package/src/db/schema/consent/table.ts +220 -0
  435. package/src/db/schema/consent/types.ts +39 -0
  436. package/src/db/schema/consent-geo-location/index.ts +3 -0
  437. package/src/db/schema/consent-geo-location/registry.ts +124 -0
  438. package/src/db/schema/consent-geo-location/schema.ts +51 -0
  439. package/src/db/schema/consent-geo-location/table.ts +169 -0
  440. package/src/db/schema/consent-geo-location/types.ts +21 -0
  441. package/src/db/schema/consent-policy/index.ts +3 -0
  442. package/src/db/schema/consent-policy/registry.ts +313 -0
  443. package/src/db/schema/consent-policy/schema.ts +47 -0
  444. package/src/db/schema/consent-policy/table.ts +141 -0
  445. package/src/db/schema/consent-policy/types.ts +28 -0
  446. package/src/db/schema/consent-purpose/index.ts +3 -0
  447. package/src/db/schema/consent-purpose/registry.ts +188 -0
  448. package/src/db/schema/consent-purpose/schema.ts +58 -0
  449. package/src/db/schema/consent-purpose/table.ts +154 -0
  450. package/src/db/schema/consent-purpose/types.ts +16 -0
  451. package/src/db/schema/consent-purpose-junction/index.ts +3 -0
  452. package/src/db/schema/consent-purpose-junction/registry.ts +189 -0
  453. package/src/db/schema/consent-purpose-junction/schema.ts +49 -0
  454. package/src/db/schema/consent-purpose-junction/table.ts +142 -0
  455. package/src/db/schema/consent-purpose-junction/types.ts +14 -0
  456. package/src/db/schema/consent-record/index.ts +3 -0
  457. package/src/db/schema/consent-record/registry.ts +209 -0
  458. package/src/db/schema/consent-record/schema.ts +42 -0
  459. package/src/db/schema/consent-record/table.ts +124 -0
  460. package/src/db/schema/consent-record/types.ts +21 -0
  461. package/src/db/schema/consent-withdrawal/index.ts +3 -0
  462. package/src/db/schema/consent-withdrawal/registry.ts +219 -0
  463. package/src/db/schema/consent-withdrawal/schema.ts +48 -0
  464. package/src/db/schema/consent-withdrawal/table.ts +181 -0
  465. package/src/db/schema/consent-withdrawal/types.ts +29 -0
  466. package/src/db/schema/definition.ts +196 -0
  467. package/src/db/schema/domain/index.ts +3 -0
  468. package/src/db/schema/domain/registry.ts +272 -0
  469. package/src/db/schema/domain/schema.ts +43 -0
  470. package/src/db/schema/domain/table.ts +137 -0
  471. package/src/db/schema/domain/types.ts +27 -0
  472. package/src/db/schema/geo-location/index.ts +3 -0
  473. package/src/db/schema/geo-location/registry.ts +159 -0
  474. package/src/db/schema/geo-location/schema.ts +45 -0
  475. package/src/db/schema/geo-location/table.ts +148 -0
  476. package/src/db/schema/geo-location/types.ts +18 -0
  477. package/src/db/schema/index.ts +96 -0
  478. package/src/db/schema/parser.ts +417 -0
  479. package/src/db/schema/schemas.ts +35 -0
  480. package/src/db/schema/subject/index.ts +3 -0
  481. package/src/db/schema/subject/registry.ts +371 -0
  482. package/src/db/schema/subject/schema.ts +41 -0
  483. package/src/db/schema/subject/table.ts +139 -0
  484. package/src/db/schema/subject/types.ts +22 -0
  485. package/src/db/schema/types.ts +154 -0
  486. package/src/db/utils/adapter-factory.ts +64 -0
  487. package/src/db/utils/index.ts +10 -0
  488. package/src/db/utils.ts +42 -0
  489. package/src/docs/ADVANCED_JSON_HANDLING.md +99 -0
  490. package/src/docs/neverthrow.md +171 -0
  491. package/src/error/codes.ts +201 -0
  492. package/src/error/error.ts +145 -0
  493. package/src/error/index.ts +23 -0
  494. package/src/error/logging.ts +52 -0
  495. package/src/error/pipeline.ts +57 -0
  496. package/src/error/recovery.ts +45 -0
  497. package/src/error/results.ts +100 -0
  498. package/src/index.ts +79 -0
  499. package/src/init.test.ts +235 -0
  500. package/src/init.ts +261 -0
  501. package/src/integrations/index.ts +10 -0
  502. package/src/integrations/next.ts +136 -0
  503. package/src/integrations/react.ts +567 -0
  504. package/src/plugins/geo/index.ts +563 -0
  505. package/src/test/utils.ts +244 -0
  506. package/src/types/api.ts +101 -0
  507. package/src/types/context.ts +235 -0
  508. package/src/types/helper.ts +87 -0
  509. package/src/types/index.ts +5 -0
  510. package/src/types/options.ts +189 -0
  511. package/src/types/plugins.ts +538 -0
  512. package/src/utils/env.ts +103 -0
  513. package/src/utils/hide-metadata.ts +21 -0
  514. package/src/utils/index.ts +17 -0
  515. package/src/utils/ip.ts +45 -0
  516. package/src/utils/json.ts +19 -0
  517. package/src/utils/logger.ts +252 -0
  518. package/src/utils/url.ts +194 -0
  519. package/src/utils/wildcard.ts +253 -0
  520. package/tsconfig.json +12 -0
  521. package/vitest.config.ts +14 -0
@@ -0,0 +1,186 @@
1
+ import type { GenericEndpointContext, RegistryContext } from '../../../types';
2
+ import type { ConsentPolicy } from './schema';
3
+ export interface FindPolicyParams {
4
+ domainId?: string;
5
+ version?: string;
6
+ includeInactive?: boolean;
7
+ }
8
+ /**
9
+ * Creates and returns a set of consent policy-related adapter methods to interact with the database.
10
+ * These methods provide a consistent interface for creating, finding, and updating
11
+ * consent policy records while applying hooks and enforcing data validation rules.
12
+ *
13
+ * @param adapter - The database adapter used for direct database operations
14
+ * @param ctx - The context object containing the database adapter, hooks, and options
15
+ * @returns An object containing type-safe consent policy operations
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const policyAdapter = createConsentPolicyAdapter(
20
+ * databaseAdapter,
21
+ * createWithHooks,
22
+ * updateWithHooks,
23
+ * c15tOptions
24
+ * );
25
+ *
26
+ * // Create a new consent policy
27
+ * const policy = await policyAdapter.createConsentPolicy({
28
+ * version: '1.0.0',
29
+ * name: 'Privacy Policy 2023',
30
+ * effectiveDate: new Date(),
31
+ * content: 'Full policy text...',
32
+ * contentHash: 'sha256-hash-of-content'
33
+ * });
34
+ * ```
35
+ */
36
+ export declare function policyRegistry({ adapter, ...ctx }: RegistryContext): {
37
+ /**
38
+ * Creates a new consent policy record in the database.
39
+ * Automatically sets creation timestamp and applies any
40
+ * configured hooks during the creation process.
41
+ *
42
+ * @param policy - Policy data to create (without id and timestamp)
43
+ * @param context - Optional endpoint context for hooks
44
+ * @returns The created policy with all fields populated
45
+ * @throws May throw an error if hooks prevent creation or if database operations fail
46
+ */
47
+ createConsentPolicy: (policy: Omit<ConsentPolicy, "id" | "createdAt"> & Partial<ConsentPolicy>, context?: GenericEndpointContext) => Promise<{
48
+ id: string;
49
+ createdAt: Date;
50
+ isActive: boolean;
51
+ updatedAt: Date;
52
+ version: string;
53
+ name: string;
54
+ effectiveDate: Date;
55
+ content: string;
56
+ contentHash: string;
57
+ expirationDate?: Date | null | undefined;
58
+ }>;
59
+ findPolicies: (params?: FindPolicyParams) => Promise<{
60
+ id: string;
61
+ createdAt: Date;
62
+ isActive: boolean;
63
+ updatedAt: Date;
64
+ version: string;
65
+ name: string;
66
+ effectiveDate: Date;
67
+ content: string;
68
+ contentHash: string;
69
+ expirationDate?: Date | null | undefined;
70
+ }[]>;
71
+ findPolicy: (domainId: string, version?: string) => Promise<{
72
+ id: string;
73
+ createdAt: Date;
74
+ isActive: boolean;
75
+ updatedAt: Date;
76
+ version: string;
77
+ name: string;
78
+ effectiveDate: Date;
79
+ content: string;
80
+ contentHash: string;
81
+ expirationDate?: Date | null | undefined;
82
+ } | null>;
83
+ /**
84
+ * Finds all active consent policies.
85
+ * Returns policies with processed output fields according to the schema configuration.
86
+ *
87
+ * @returns Array of active consent policies sorted by effective date
88
+ */
89
+ findActiveConsentPolicies: () => Promise<{
90
+ id: string;
91
+ createdAt: Date;
92
+ isActive: boolean;
93
+ updatedAt: Date;
94
+ version: string;
95
+ name: string;
96
+ effectiveDate: Date;
97
+ content: string;
98
+ contentHash: string;
99
+ expirationDate?: Date | null | undefined;
100
+ }[]>;
101
+ /**
102
+ * Finds a consent policy by its unique ID.
103
+ * Returns the policy with processed output fields according to the schema configuration.
104
+ *
105
+ * @param policyId - The unique identifier of the policy
106
+ * @returns The policy object if found, null otherwise
107
+ */
108
+ findConsentPolicyById: (policyId: string) => Promise<{
109
+ id: string;
110
+ createdAt: Date;
111
+ isActive: boolean;
112
+ updatedAt: Date;
113
+ version: string;
114
+ name: string;
115
+ effectiveDate: Date;
116
+ content: string;
117
+ contentHash: string;
118
+ expirationDate?: Date | null | undefined;
119
+ } | null>;
120
+ /**
121
+ * Finds a consent policy by its version string.
122
+ * Returns the policy with processed output fields according to the schema configuration.
123
+ *
124
+ * @param version - The version string of the policy
125
+ * @returns The policy object if found, null otherwise
126
+ */
127
+ findConsentPolicyByVersion: (version: string) => Promise<{
128
+ id: string;
129
+ createdAt: Date;
130
+ isActive: boolean;
131
+ updatedAt: Date;
132
+ version: string;
133
+ name: string;
134
+ effectiveDate: Date;
135
+ content: string;
136
+ contentHash: string;
137
+ expirationDate?: Date | null | undefined;
138
+ } | null>;
139
+ /**
140
+ * Updates an existing consent policy record by ID.
141
+ * Applies any configured hooks during the update process and
142
+ * processes the output according to schema configuration.
143
+ *
144
+ * @param policyId - The unique identifier of the policy to update
145
+ * @param data - The fields to update on the policy record
146
+ * @param context - Optional endpoint context for hooks
147
+ * @returns The updated policy if successful, null if not found or hooks prevented update
148
+ */
149
+ updateConsentPolicy: (policyId: string, data: Partial<ConsentPolicy>, context?: GenericEndpointContext) => Promise<{
150
+ id: string;
151
+ createdAt: Date;
152
+ isActive: boolean;
153
+ updatedAt: Date;
154
+ version: string;
155
+ name: string;
156
+ effectiveDate: Date;
157
+ content: string;
158
+ contentHash: string;
159
+ expirationDate?: Date | null | undefined;
160
+ } | null>;
161
+ /**
162
+ * Finds the latest active policy or creates a new one if none exists.
163
+ * Uses a database transaction to prevent race conditions in multi-threaded environments.
164
+ *
165
+ * If multiple active policies with the same name exist, returns the most recent one
166
+ * based on effectiveDate. When creating a new policy, it assigns version '1.0.0'
167
+ * and generates placeholder content with a SHA-256 hash.
168
+ *
169
+ * @param name - The name of the policy to find/create
170
+ * @returns The policy object
171
+ * @throws {Error} If the transaction fails to complete
172
+ */
173
+ findOrCreatePolicy: (name: string) => Promise<{
174
+ id: string;
175
+ createdAt: Date;
176
+ isActive: boolean;
177
+ updatedAt: Date;
178
+ version: string;
179
+ name: string;
180
+ effectiveDate: Date;
181
+ content: string;
182
+ contentHash: string;
183
+ expirationDate?: Date | null | undefined;
184
+ }>;
185
+ };
186
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/consent-policy/registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AAeD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,EAAE,eAAe;IAGjE;;;;;;;;;OASG;kCAEM,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,YAC9D,sBAAsB;;;;;;;;;;;;4BAoBJ,gBAAgB;;;;;;;;;;;;2BAsChB,MAAM,YAAY,MAAM;;;;;;;;;;;;IAKrD;;;;;OAKG;;;;;;;;;;;;;IAqBH;;;;;;OAMG;sCACqC,MAAM;;;;;;;;;;;;IAe9C;;;;;;OAMG;0CACyC,MAAM;;;;;;;;;;;;IAelD;;;;;;;;;OASG;oCAEQ,MAAM,QACV,OAAO,CAAC,aAAa,CAAC,YAClB,sBAAsB;;;;;;;;;;;;IAsBjC;;;;;;;;;;;OAWG;+BAC8B,MAAM;;;;;;;;;;;;EA+DxC"}
@@ -0,0 +1,68 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema for validating consent policy entities.
4
+ *
5
+ * This defines the structure and validation rules for consent policy records:
6
+ * - Required fields: version, name, effectiveDate, content, contentHash
7
+ * - Optional fields: expirationDate
8
+ * - Default value of true for isActive
9
+ * - Default current date/time for creation and update timestamps
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const policyData = {
14
+ * id: 'pol_w5qufx2a66m7xkn3ty',
15
+ * version: '1.0.0',
16
+ * name: 'Privacy Policy 2023',
17
+ * effectiveDate: new Date(),
18
+ * content: 'Full policy text...',
19
+ * contentHash: 'sha256-hash-of-content'
20
+ * };
21
+ *
22
+ * // Validate and parse the policy data
23
+ * const validPolicy = consentPolicySchema.parse(policyData);
24
+ * ```
25
+ */
26
+ export declare const consentPolicySchema: z.ZodObject<{
27
+ id: z.ZodString;
28
+ version: z.ZodString;
29
+ name: z.ZodString;
30
+ effectiveDate: z.ZodDate;
31
+ expirationDate: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
32
+ content: z.ZodString;
33
+ contentHash: z.ZodString;
34
+ isActive: z.ZodDefault<z.ZodBoolean>;
35
+ createdAt: z.ZodDefault<z.ZodDate>;
36
+ updatedAt: z.ZodDefault<z.ZodDate>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ id: string;
39
+ createdAt: Date;
40
+ isActive: boolean;
41
+ updatedAt: Date;
42
+ version: string;
43
+ name: string;
44
+ effectiveDate: Date;
45
+ content: string;
46
+ contentHash: string;
47
+ expirationDate?: Date | null | undefined;
48
+ }, {
49
+ id: string;
50
+ version: string;
51
+ name: string;
52
+ effectiveDate: Date;
53
+ content: string;
54
+ contentHash: string;
55
+ createdAt?: Date | undefined;
56
+ isActive?: boolean | undefined;
57
+ updatedAt?: Date | undefined;
58
+ expirationDate?: Date | null | undefined;
59
+ }>;
60
+ /**
61
+ * Type definition for ConsentPolicy
62
+ *
63
+ * This type represents the structure of a consent policy record
64
+ * as defined by the consentPolicySchema. It includes all fields
65
+ * that are part of the consent policy entity.
66
+ */
67
+ export type ConsentPolicy = z.infer<typeof consentPolicySchema>;
68
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/consent-policy/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW9B,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,147 @@
1
+ import type { Field } from '../../core/fields';
2
+ import type { C15TOptions } from '../../../types';
3
+ /**
4
+ * Generates the database table configuration for the consent policy entity.
5
+ *
6
+ * This function creates a schema definition that includes all standard consent policy fields
7
+ * and any additional fields from plugins or configuration. The resulting schema is used
8
+ * for database migrations, schema validation, and query building.
9
+ *
10
+ * @param options - C15T configuration options that may contain policy table customizations
11
+ * @param policyFields - Additional fields from plugins to include in the policy table
12
+ * @returns A complete table schema definition with fields, model name, and metadata
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const policyTableSchema = getConsentPolicyTable(c15tOptions);
17
+ * // Use the schema for migrations or data access
18
+ * const migrationPlans = generateMigrations(policyTableSchema);
19
+ * ```
20
+ */
21
+ export declare function getConsentPolicyTable(options: C15TOptions, policyFields?: Record<string, Field>): {
22
+ /**
23
+ * The name of the policy table in the database, configurable through options
24
+ */
25
+ entityName: string;
26
+ /**
27
+ * The ID prefix for the consent policy table
28
+ * Used to generate unique prefixed IDs for consent policies
29
+ */
30
+ entityPrefix: string;
31
+ /**
32
+ * The schema for the consent policy table
33
+ */
34
+ schema: import("zod").ZodObject<{
35
+ id: import("zod").ZodString;
36
+ version: import("zod").ZodString;
37
+ name: import("zod").ZodString;
38
+ effectiveDate: import("zod").ZodDate;
39
+ expirationDate: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodDate>>;
40
+ content: import("zod").ZodString;
41
+ contentHash: import("zod").ZodString;
42
+ isActive: import("zod").ZodDefault<import("zod").ZodBoolean>;
43
+ createdAt: import("zod").ZodDefault<import("zod").ZodDate>;
44
+ updatedAt: import("zod").ZodDefault<import("zod").ZodDate>;
45
+ }, "strip", import("zod").ZodTypeAny, {
46
+ id: string;
47
+ createdAt: Date;
48
+ isActive: boolean;
49
+ updatedAt: Date;
50
+ version: string;
51
+ name: string;
52
+ effectiveDate: Date;
53
+ content: string;
54
+ contentHash: string;
55
+ expirationDate?: Date | null | undefined;
56
+ }, {
57
+ id: string;
58
+ version: string;
59
+ name: string;
60
+ effectiveDate: Date;
61
+ content: string;
62
+ contentHash: string;
63
+ createdAt?: Date | undefined;
64
+ isActive?: boolean | undefined;
65
+ updatedAt?: Date | undefined;
66
+ expirationDate?: Date | null | undefined;
67
+ }>;
68
+ /**
69
+ * Field definitions for the consent policy table
70
+ */
71
+ fields: {
72
+ /**
73
+ * Version identifier for the policy (e.g., "1.0.0")
74
+ */
75
+ version: {
76
+ type: string;
77
+ required: boolean;
78
+ fieldName: string;
79
+ };
80
+ /**
81
+ * Human-readable name of the policy
82
+ */
83
+ name: {
84
+ type: string;
85
+ required: boolean;
86
+ fieldName: string;
87
+ };
88
+ /**
89
+ * Date when the policy becomes effective
90
+ */
91
+ effectiveDate: {
92
+ type: string;
93
+ required: boolean;
94
+ fieldName: string;
95
+ };
96
+ /**
97
+ * Optional date when the policy expires
98
+ */
99
+ expirationDate: {
100
+ type: string;
101
+ required: boolean;
102
+ fieldName: string;
103
+ };
104
+ /**
105
+ * Full content of the policy document
106
+ */
107
+ content: {
108
+ type: string;
109
+ required: boolean;
110
+ fieldName: string;
111
+ };
112
+ /**
113
+ * Hash of the content for integrity validation
114
+ */
115
+ contentHash: {
116
+ type: string;
117
+ required: boolean;
118
+ fieldName: string;
119
+ };
120
+ /**
121
+ * Whether this policy is currently active
122
+ * Default: true
123
+ */
124
+ isActive: {
125
+ type: string;
126
+ defaultValue: boolean;
127
+ required: boolean;
128
+ fieldName: string;
129
+ };
130
+ /**
131
+ * When the policy record was created
132
+ * Automatically set to current time by default
133
+ */
134
+ createdAt: {
135
+ type: string;
136
+ defaultValue: () => Date;
137
+ required: boolean;
138
+ fieldName: string;
139
+ };
140
+ };
141
+ /**
142
+ * Execution order during migrations (lower numbers run first)
143
+ * Policy table needs to be created before tables that reference it (like consent)
144
+ */
145
+ order: number;
146
+ };
147
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/consent-policy/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,WAAW,EACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAKnC;;OAEG;;IAGH;;;OAGG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;OAEG;;QAEF;;WAEG;;;;;;QAOH;;WAEG;;;;;;QAOH;;WAEG;;;;;;QAQH;;WAEG;;;;;;QAQH;;WAEG;;;;;;QAOH;;WAEG;;;;;;QAOH;;;WAGG;;;;;;;QAQH;;;WAGG;;;;;;;;IAeJ;;;OAGG;;EAGJ"}
@@ -0,0 +1,28 @@
1
+ import type { BaseEntityConfig } from '../types';
2
+ /**
3
+ * Consent policy entity configuration
4
+ * @default entityName: "consentPolicy", entityPrefix: "pol"
5
+ */
6
+ export interface ConsentPolicyEntityConfig extends BaseEntityConfig {
7
+ fields?: Record<string, string> & {
8
+ id?: string;
9
+ version?: string;
10
+ name?: string;
11
+ /**
12
+ * ISO format date string (e.g., "2024-04-15T00:00:00Z")
13
+ */
14
+ effectiveDate?: string;
15
+ /**
16
+ * ISO format date string (e.g., "2024-04-15T00:00:00Z")
17
+ */
18
+ expirationDate?: string;
19
+ content?: string;
20
+ contentHash?: string;
21
+ isActive?: string;
22
+ /**
23
+ * ISO format date string (e.g., "2024-04-15T00:00:00Z")
24
+ */
25
+ createdAt?: string;
26
+ };
27
+ }
28
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/consent-policy/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QACjC,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;WAEG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB;;WAEG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export * from './registry';
2
+ export * from './schema';
3
+ export * from './table';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/consent-purpose/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,136 @@
1
+ import type { GenericEndpointContext, RegistryContext } from '../../../types';
2
+ import type { ConsentPurpose } from './schema';
3
+ /**
4
+ * Creates and returns a set of consent consentPurpose-related adapter methods to interact with the database.
5
+ * These methods provide a consistent interface for creating, finding, and updating
6
+ * consent consentPurpose records while applying hooks and enforcing data validation rules.
7
+ *
8
+ * @param adapter - The database adapter used for direct database operations
9
+ * @param ctx - The context object containing the database adapter, hooks, and options
10
+ * @returns An object containing type-safe consent consentPurpose operations
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const purposeAdapter = createConsentPurposeAdapter(
15
+ * databaseAdapter,
16
+ * createWithHooks,
17
+ * updateWithHooks,
18
+ * c15tOptions
19
+ * );
20
+ *
21
+ * // Create a new consent consentPurpose
22
+ * const consentPurpose = await purposeAdapter.createConsentPurpose({
23
+ * code: 'pur_e8zyhgozr3im7xj59it',
24
+ * name: 'Marketing Communications',
25
+ * description: 'Allow us to send you marketing materials',
26
+ * isEssential: false
27
+ * });
28
+ * ```
29
+ */
30
+ export declare function consentPurposeRegistry({ adapter, ...ctx }: RegistryContext): {
31
+ /**
32
+ * Creates a new consent consentPurpose record in the database.
33
+ * Automatically sets creation and update timestamps and applies any
34
+ * configured hooks during the creation process.
35
+ *
36
+ * @param consentPurpose - ConsentPurpose data to create (without id and timestamps)
37
+ * @param context - Optional endpoint context for hooks
38
+ * @returns The created consentPurpose with all fields populated
39
+ * @throws May throw an error if hooks prevent creation or if database operations fail
40
+ */
41
+ createConsentPurpose: (consentPurpose: Omit<ConsentPurpose, "id" | "createdAt" | "updatedAt"> & Partial<ConsentPurpose>, context?: GenericEndpointContext) => Promise<{
42
+ id: string;
43
+ code: string;
44
+ createdAt: Date;
45
+ isActive: boolean;
46
+ updatedAt: Date;
47
+ name: string;
48
+ description: string;
49
+ isEssential: boolean;
50
+ dataCategory?: string | undefined;
51
+ legalBasis?: string | undefined;
52
+ }>;
53
+ /**
54
+ * Finds all consent purposes, optionally including inactive ones.
55
+ * Returns purposes with processed output fields according to the schema configuration.
56
+ *
57
+ * @param includeInactive - Whether to include inactive purposes (default: false)
58
+ * @returns Array of consent purposes matching the criteria
59
+ */
60
+ findConsentPurposes: (includeInactive?: boolean) => Promise<{
61
+ id: string;
62
+ code: string;
63
+ createdAt: Date;
64
+ isActive: boolean;
65
+ updatedAt: Date;
66
+ name: string;
67
+ description: string;
68
+ isEssential: boolean;
69
+ dataCategory?: string | undefined;
70
+ legalBasis?: string | undefined;
71
+ }[]>;
72
+ /**
73
+ * Finds a consent consentPurpose by its unique ID.
74
+ * Returns the consentPurpose with processed output fields according to the schema configuration.
75
+ *
76
+ * @param purposeId - The unique identifier of the consentPurpose
77
+ * @returns The consentPurpose object if found, null otherwise
78
+ */
79
+ findConsentPurposeById: (purposeId: string) => Promise<{
80
+ id: string;
81
+ code: string;
82
+ createdAt: Date;
83
+ isActive: boolean;
84
+ updatedAt: Date;
85
+ name: string;
86
+ description: string;
87
+ isEssential: boolean;
88
+ dataCategory?: string | undefined;
89
+ legalBasis?: string | undefined;
90
+ } | null>;
91
+ /**
92
+ * Finds a consent consentPurpose by its unique code.
93
+ * Returns the consentPurpose with processed output fields according to the schema configuration.
94
+ *
95
+ * @param code - The unique code of the consentPurpose
96
+ * @returns The consentPurpose object if found, null otherwise
97
+ */
98
+ findConsentPurposeByCode: (code: string) => Promise<{
99
+ id: string;
100
+ code: string;
101
+ createdAt: Date;
102
+ isActive: boolean;
103
+ updatedAt: Date;
104
+ name: string;
105
+ description: string;
106
+ isEssential: boolean;
107
+ dataCategory?: string | undefined;
108
+ legalBasis?: string | undefined;
109
+ } | null>;
110
+ /**
111
+ *
112
+ /**
113
+ *
114
+ * Updates an existing consent consentPurpose record by ID.
115
+ * Applies any configured hooks during the update process and
116
+ * processes the output according to schema configuration.
117
+ *
118
+ * @param purposeId - The unique identifier of the consentPurpose to update
119
+ * @param data - The fields to update on the consentPurpose record
120
+ * @param context - Optional endpoint context for hooks
121
+ * @returns The updated consentPurpose if successful, null if not found or hooks prevented update
122
+ */
123
+ updateConsentPurpose: (purposeId: string, data: Partial<ConsentPurpose>, context?: GenericEndpointContext) => Promise<{
124
+ id: string;
125
+ code: string;
126
+ createdAt: Date;
127
+ isActive: boolean;
128
+ updatedAt: Date;
129
+ name: string;
130
+ description: string;
131
+ isEssential: boolean;
132
+ dataCategory?: string | undefined;
133
+ legalBasis?: string | undefined;
134
+ } | null>;
135
+ };
136
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/consent-purpose/registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,EAAE,eAAe;IAGzE;;;;;;;;;OASG;2CAEc,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GACrE,OAAO,CAAC,cAAc,CAAC,YACd,sBAAsB;;;;;;;;;;;;IA0BjC;;;;;;OAMG;4CAC2C,OAAO;;;;;;;;;;;;IAwBrD;;;;;;OAMG;wCACuC,MAAM;;;;;;;;;;;;IAehD;;;;;;OAMG;qCACoC,MAAM;;;;;;;;;;;;IAe7C;;;;;;;;;;;;OAYG;sCAES,MAAM,QACX,OAAO,CAAC,cAAc,CAAC,YACnB,sBAAsB;;;;;;;;;;;;EAqBlC"}
@@ -0,0 +1,79 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema for validating consent consentPurpose entities.
4
+ *
5
+ * This defines the structure and validation rules for consent consentPurpose records:
6
+ * - Required fields: code, name, description
7
+ * - Default value of false for isEssential
8
+ * - Default value of true for isActive
9
+ * - Optional fields for dataCategory and legalBasis
10
+ * - Default current date/time for creation and update timestamps
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const purposeData = {
15
+ * id: 'pur_e8zyhgozr3im7xj59it',
16
+ * code: 'marketing',
17
+ * name: 'Marketing Communications',
18
+ * description: 'Allow us to send you marketing materials',
19
+ * isEssential: false
20
+ * };
21
+ *
22
+ * // Validate and parse the consentPurpose data
23
+ * const validPurpose = purposeSchema.parse(purposeData);
24
+ *
25
+ * // Example with missing fields (defaults will be applied)
26
+ * const minimalPurposeData = {
27
+ * id: 'pur_e8zyhgozr3im7xj59it',
28
+ * code: 'marketing',
29
+ * name: 'Marketing Communications',
30
+ * description: 'Allow us to send you marketing materials',
31
+ * };
32
+ *
33
+ * // isEssential will default to false, isActive to true, etc.
34
+ * const purposeWithDefaults = purposeSchema.parse(minimalPurposeData);
35
+ * ```
36
+ */
37
+ export declare const purposeSchema: z.ZodObject<{
38
+ id: z.ZodString;
39
+ code: z.ZodString;
40
+ name: z.ZodString;
41
+ description: z.ZodString;
42
+ isEssential: z.ZodDefault<z.ZodBoolean>;
43
+ dataCategory: z.ZodOptional<z.ZodString>;
44
+ legalBasis: z.ZodOptional<z.ZodString>;
45
+ isActive: z.ZodDefault<z.ZodBoolean>;
46
+ createdAt: z.ZodDefault<z.ZodDate>;
47
+ updatedAt: z.ZodDefault<z.ZodDate>;
48
+ }, "strip", z.ZodTypeAny, {
49
+ id: string;
50
+ code: string;
51
+ createdAt: Date;
52
+ isActive: boolean;
53
+ updatedAt: Date;
54
+ name: string;
55
+ description: string;
56
+ isEssential: boolean;
57
+ dataCategory?: string | undefined;
58
+ legalBasis?: string | undefined;
59
+ }, {
60
+ id: string;
61
+ code: string;
62
+ name: string;
63
+ description: string;
64
+ createdAt?: Date | undefined;
65
+ isActive?: boolean | undefined;
66
+ updatedAt?: Date | undefined;
67
+ isEssential?: boolean | undefined;
68
+ dataCategory?: string | undefined;
69
+ legalBasis?: string | undefined;
70
+ }>;
71
+ /**
72
+ * Type definition for ConsentPurpose
73
+ *
74
+ * This type represents the structure of a consent consentPurpose record
75
+ * as defined by the purposeSchema. It includes all fields
76
+ * that are part of the consent consentPurpose entity.
77
+ */
78
+ export type ConsentPurpose = z.infer<typeof purposeSchema>;
79
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/consent-purpose/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWxB,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}