@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,245 @@
1
+ import type { Field } from '../../core/fields';
2
+ import type { C15TOptions } from '../../../types';
3
+ /**
4
+ * Generates the database table configuration for the consent entity.
5
+ *
6
+ * This function creates a schema definition that includes all standard consent 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 consent table customizations
11
+ * @param consentFields - Additional fields from plugins to include in the consent table
12
+ * @returns A complete table schema definition with fields, model name, and metadata
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const consentTableSchema = getConsentTable(c15tOptions);
17
+ * // Use the schema for migrations or data access
18
+ * const migrationPlans = generateMigrations(consentTableSchema);
19
+ * ```
20
+ */
21
+ export declare function getConsentTable(options: C15TOptions, consentFields?: Record<string, Field>): {
22
+ /**
23
+ * The name of the consent table in the database, configurable through options
24
+ */
25
+ entityName: string;
26
+ /**
27
+ * The ID prefix for the consent table
28
+ * Used to generate unique prefixed IDs for consents
29
+ */
30
+ entityPrefix: string;
31
+ /**
32
+ * The schema for the consent table
33
+ */
34
+ schema: import("zod").ZodObject<{
35
+ id: import("zod").ZodString;
36
+ subjectId: import("zod").ZodString;
37
+ domainId: import("zod").ZodString;
38
+ purposeIds: import("zod").ZodArray<import("zod").ZodString, "many">;
39
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
40
+ policyId: import("zod").ZodOptional<import("zod").ZodString>;
41
+ ipAddress: import("zod").ZodOptional<import("zod").ZodString>;
42
+ userAgent: import("zod").ZodOptional<import("zod").ZodString>;
43
+ status: import("zod").ZodDefault<import("zod").ZodEnum<["active", "withdrawn", "expired"]>>;
44
+ withdrawalReason: import("zod").ZodOptional<import("zod").ZodString>;
45
+ givenAt: import("zod").ZodDefault<import("zod").ZodDate>;
46
+ validUntil: import("zod").ZodOptional<import("zod").ZodDate>;
47
+ isActive: import("zod").ZodDefault<import("zod").ZodBoolean>;
48
+ history: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
49
+ actionType: import("zod").ZodEnum<["given", "withdrawn", "updated", "expired"]>;
50
+ timestamp: import("zod").ZodDate;
51
+ details: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
52
+ previousState: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
53
+ newState: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
54
+ }, "strip", import("zod").ZodTypeAny, {
55
+ actionType: "withdrawn" | "expired" | "given" | "updated";
56
+ timestamp: Date;
57
+ details?: Record<string, unknown> | undefined;
58
+ previousState?: Record<string, unknown> | undefined;
59
+ newState?: Record<string, unknown> | undefined;
60
+ }, {
61
+ actionType: "withdrawn" | "expired" | "given" | "updated";
62
+ timestamp: Date;
63
+ details?: Record<string, unknown> | undefined;
64
+ previousState?: Record<string, unknown> | undefined;
65
+ newState?: Record<string, unknown> | undefined;
66
+ }>, "many">>;
67
+ }, "strip", import("zod").ZodTypeAny, {
68
+ id: string;
69
+ subjectId: string;
70
+ status: "active" | "withdrawn" | "expired";
71
+ domainId: string;
72
+ purposeIds: string[];
73
+ givenAt: Date;
74
+ isActive: boolean;
75
+ history: {
76
+ actionType: "withdrawn" | "expired" | "given" | "updated";
77
+ timestamp: Date;
78
+ details?: Record<string, unknown> | undefined;
79
+ previousState?: Record<string, unknown> | undefined;
80
+ newState?: Record<string, unknown> | undefined;
81
+ }[];
82
+ ipAddress?: string | undefined;
83
+ userAgent?: string | undefined;
84
+ metadata?: Record<string, unknown> | undefined;
85
+ policyId?: string | undefined;
86
+ withdrawalReason?: string | undefined;
87
+ validUntil?: Date | undefined;
88
+ }, {
89
+ id: string;
90
+ subjectId: string;
91
+ domainId: string;
92
+ purposeIds: string[];
93
+ ipAddress?: string | undefined;
94
+ userAgent?: string | undefined;
95
+ status?: "active" | "withdrawn" | "expired" | undefined;
96
+ metadata?: Record<string, unknown> | undefined;
97
+ policyId?: string | undefined;
98
+ withdrawalReason?: string | undefined;
99
+ givenAt?: Date | undefined;
100
+ validUntil?: Date | undefined;
101
+ isActive?: boolean | undefined;
102
+ history?: {
103
+ actionType: "withdrawn" | "expired" | "given" | "updated";
104
+ timestamp: Date;
105
+ details?: Record<string, unknown> | undefined;
106
+ previousState?: Record<string, unknown> | undefined;
107
+ newState?: Record<string, unknown> | undefined;
108
+ }[] | undefined;
109
+ }>;
110
+ /**
111
+ * Field definitions for the consent table
112
+ */
113
+ fields: {
114
+ /**
115
+ * Reference to the subject who gave consent
116
+ */
117
+ subjectId: {
118
+ type: string;
119
+ required: boolean;
120
+ fieldName: string;
121
+ references: {
122
+ model: string;
123
+ field: string;
124
+ };
125
+ };
126
+ /**
127
+ * Reference to the domain this consent applies to
128
+ */
129
+ domainId: {
130
+ type: string;
131
+ required: boolean;
132
+ fieldName: string;
133
+ references: {
134
+ model: string;
135
+ field: string;
136
+ };
137
+ };
138
+ /**
139
+ * Array of consentPurpose IDs that this consent applies to
140
+ * Represents the many-to-many relationship between consent and purposes
141
+ */
142
+ purposeIds: {
143
+ type: string;
144
+ required: boolean;
145
+ fieldName: string;
146
+ references: {
147
+ model: string;
148
+ field: string;
149
+ type: string;
150
+ };
151
+ };
152
+ /**
153
+ * Additional metadata about the consent
154
+ */
155
+ metadata: {
156
+ type: string;
157
+ required: boolean;
158
+ fieldName: string;
159
+ };
160
+ /**
161
+ * Reference to the policy version that was accepted
162
+ */
163
+ policyId: {
164
+ type: string;
165
+ required: boolean;
166
+ fieldName: string;
167
+ references: {
168
+ model: string;
169
+ field: string;
170
+ };
171
+ };
172
+ /**
173
+ * IP address when consent was given
174
+ */
175
+ ipAddress: {
176
+ type: string;
177
+ required: boolean;
178
+ fieldName: string;
179
+ };
180
+ /**
181
+ * Subject agent information when consent was given
182
+ */
183
+ userAgent: {
184
+ type: string;
185
+ required: boolean;
186
+ fieldName: string;
187
+ };
188
+ /**
189
+ * Status of the consent (active, expired, withdrawn)
190
+ * Default: 'active'
191
+ */
192
+ status: {
193
+ type: string;
194
+ defaultValue: () => string;
195
+ required: boolean;
196
+ fieldName: string;
197
+ };
198
+ /**
199
+ * Reason for consentWithdrawal, if consent was withdrawn
200
+ */
201
+ withdrawalReason: {
202
+ type: string;
203
+ required: boolean;
204
+ fieldName: string;
205
+ };
206
+ /**
207
+ * When the consent was given
208
+ * Automatically set to current time
209
+ */
210
+ givenAt: {
211
+ type: string;
212
+ defaultValue: () => Date;
213
+ required: boolean;
214
+ fieldName: string;
215
+ };
216
+ /**
217
+ * When the consent expires
218
+ * Calculated based on givenAt + expiresIn setting
219
+ */
220
+ validUntil: {
221
+ type: string;
222
+ required: boolean;
223
+ fieldName: string;
224
+ transform: {
225
+ input: (val: Date | undefined, data: Record<string, unknown>) => Date | undefined;
226
+ };
227
+ };
228
+ /**
229
+ * Whether the consent is active
230
+ * Default: true
231
+ */
232
+ isActive: {
233
+ type: string;
234
+ defaultValue: boolean;
235
+ required: boolean;
236
+ fieldName: string;
237
+ };
238
+ };
239
+ /**
240
+ * Execution order during migrations (lower numbers run first)
241
+ * Consent table needs to be created after the subject, domain, and policy tables it references
242
+ */
243
+ order: number;
244
+ };
245
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/consent/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAC9B,OAAO,EAAE,WAAW,EACpB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAUpC;;OAEG;;IAGH;;;OAGG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;OAEG;;QAEF;;WAEG;;;;;;;;;;QAWH;;WAEG;;;;;;;;;;QAWH;;;WAGG;;;;;;;;;;;QAYH;;WAEG;;;;;;QAOH;;WAEG;;;;;;;;;;QAWH;;WAEG;;;;;;QAOH;;WAEG;;;;;;QAOH;;;WAGG;;;;;;;QAQH;;WAEG;;;;;;QAQH;;;WAGG;;;;;;;QAQH;;;WAGG;;;;;;6BAMY,IAAI,GAAG,SAAS,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;QAoB9D;;;WAGG;;;;;;;;IAeJ;;;OAGG;;EAGJ"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Consent Entity Type Definitions
3
+ *
4
+ * This module contains type definitions specific to the consent entity.
5
+ */
6
+ import type { BaseEntityConfig } from '../types';
7
+ /**
8
+ * Consent entity configuration
9
+ * @default entityName: "consent", entityPrefix: "cns"
10
+ */
11
+ export interface ConsentEntityConfig extends BaseEntityConfig {
12
+ /**
13
+ * Default expiration for consent in seconds
14
+ * @default 31536000 (1 year)
15
+ */
16
+ expiresIn?: number;
17
+ /**
18
+ * Time in seconds before refreshing consent data
19
+ * @default 86400 (24 hours)
20
+ */
21
+ updateAge?: number;
22
+ fields?: Record<string, string> & {
23
+ id?: string;
24
+ subjectId?: string;
25
+ domainId?: string;
26
+ purposeIds?: string;
27
+ metadata?: string;
28
+ policyId?: string;
29
+ ipAddress?: string;
30
+ userAgent?: string;
31
+ status?: string;
32
+ withdrawalReason?: string;
33
+ givenAt?: string;
34
+ validUntil?: string;
35
+ };
36
+ }
37
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/consent/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC5D;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QACjC,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,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-geo-location/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,96 @@
1
+ import type { GenericEndpointContext, RegistryContext } from '../../../types';
2
+ import type { ConsentGeoLocation } from './schema';
3
+ /**
4
+ * Creates and returns a set of consent geo-location-related adapter methods to interact with the database.
5
+ * These methods provide a consistent interface for creating and finding
6
+ * geo-location 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 geo-location operations
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const geoLocationAdapter = createConsentGeoLocationAdapter(
15
+ * databaseAdapter,
16
+ * createWithHooks,
17
+ * c15tOptions
18
+ * );
19
+ *
20
+ * // Create a new geo-location record
21
+ * const geoLocation = await geoLocationAdapter.createConsentGeoLocation({
22
+ * consentId: 'cns_hadt8w7nngm7xmx2bn',
23
+ * ip: '192.168.1.1',
24
+ * country: 'US',
25
+ * city: 'New York',
26
+ * latitude: 40.7128,
27
+ * longitude: -74.0060
28
+ * });
29
+ * ```
30
+ */
31
+ export declare function consentGeoLocationRegistry({ adapter, ...ctx }: RegistryContext): {
32
+ /**
33
+ * Creates a new consent geo-location record in the database.
34
+ * Automatically sets creation timestamp and applies any
35
+ * configured hooks during the creation process.
36
+ *
37
+ * @param geoLocation - Geo-location data to create (without id and timestamp)
38
+ * @param context - Optional endpoint context for hooks
39
+ * @returns The created geo-location record with all fields populated
40
+ * @throws May throw an error if hooks prevent creation or if database operations fail
41
+ */
42
+ createConsentGeoLocation: (geoLocation: Omit<ConsentGeoLocation, "id" | "createdAt"> & Partial<ConsentGeoLocation>, context?: GenericEndpointContext) => Promise<{
43
+ id: string;
44
+ createdAt: Date;
45
+ consentId: string;
46
+ ip: string;
47
+ updatedAt: Date;
48
+ country?: string | undefined;
49
+ region?: string | undefined;
50
+ city?: string | undefined;
51
+ latitude?: number | undefined;
52
+ longitude?: number | undefined;
53
+ timezone?: string | undefined;
54
+ }>;
55
+ /**
56
+ * Finds geo-location records associated with a specific consent ID.
57
+ * Returns geo-locations with processed output fields according to the schema configuration.
58
+ *
59
+ * @param consentId - The ID of the consent record to find geo-locations for
60
+ * @returns Array of geo-location records associated with the consent
61
+ */
62
+ findConsentGeoLocationsByConsentId: (consentId: string) => Promise<{
63
+ id: string;
64
+ createdAt: Date;
65
+ consentId: string;
66
+ ip: string;
67
+ updatedAt: Date;
68
+ country?: string | undefined;
69
+ region?: string | undefined;
70
+ city?: string | undefined;
71
+ latitude?: number | undefined;
72
+ longitude?: number | undefined;
73
+ timezone?: string | undefined;
74
+ }[]>;
75
+ /**
76
+ * Finds a geo-location record by its unique ID.
77
+ * Returns the geo-location with processed output fields according to the schema configuration.
78
+ *
79
+ * @param geoLocationId - The unique identifier of the geo-location record
80
+ * @returns The geo-location object if found, null otherwise
81
+ */
82
+ findConsentGeoLocationById: (geoLocationId: string) => Promise<{
83
+ id: string;
84
+ createdAt: Date;
85
+ consentId: string;
86
+ ip: string;
87
+ updatedAt: Date;
88
+ country?: string | undefined;
89
+ region?: string | undefined;
90
+ city?: string | undefined;
91
+ latitude?: number | undefined;
92
+ longitude?: number | undefined;
93
+ timezone?: string | undefined;
94
+ } | null>;
95
+ };
96
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/consent-geo-location/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,0BAA0B,CAAC,EAC1C,OAAO,EACP,GAAG,GAAG,EACN,EAAE,eAAe;IAIhB;;;;;;;;;OASG;4CAEW,IAAI,CAAC,kBAAkB,EAAE,IAAI,GAAG,WAAW,CAAC,GACxD,OAAO,CAAC,kBAAkB,CAAC,YAClB,sBAAsB;;;;;;;;;;;;;IAqBjC;;;;;;OAMG;oDACmD,MAAM;;;;;;;;;;;;;IAoB5D;;;;;;OAMG;gDAC+C,MAAM;;;;;;;;;;;;;EAezD"}
@@ -0,0 +1,71 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema for validating consent geo-location entities.
4
+ *
5
+ * This defines the structure and validation rules for geo-location records:
6
+ * - Required fields: consentId, ip (IP address)
7
+ * - Optional fields: country, region, city, latitude, longitude, timezone
8
+ * - Default current date/time for creation and update timestamps
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const geoLocationData = {
13
+ * id: 'cgl_w5qufx2a66m7xkn3ty',
14
+ * consentId: 'cns_hadt8w7nngm7xmx2bn',
15
+ * ip: '192.168.1.1',
16
+ * country: 'US',
17
+ * city: 'New York',
18
+ * latitude: 40.7128,
19
+ * longitude: -74.0060
20
+ * };
21
+ *
22
+ * // Validate and parse the geo-location data
23
+ * const validGeoLocation = consentGeoLocationSchema.parse(geoLocationData);
24
+ * ```
25
+ */
26
+ export declare const consentGeoLocationSchema: z.ZodObject<{
27
+ id: z.ZodString;
28
+ consentId: z.ZodString;
29
+ ip: z.ZodString;
30
+ country: z.ZodOptional<z.ZodString>;
31
+ region: z.ZodOptional<z.ZodString>;
32
+ city: z.ZodOptional<z.ZodString>;
33
+ latitude: z.ZodOptional<z.ZodNumber>;
34
+ longitude: z.ZodOptional<z.ZodNumber>;
35
+ timezone: z.ZodOptional<z.ZodString>;
36
+ createdAt: z.ZodDefault<z.ZodDate>;
37
+ updatedAt: z.ZodDefault<z.ZodDate>;
38
+ }, "strip", z.ZodTypeAny, {
39
+ id: string;
40
+ createdAt: Date;
41
+ consentId: string;
42
+ ip: string;
43
+ updatedAt: Date;
44
+ country?: string | undefined;
45
+ region?: string | undefined;
46
+ city?: string | undefined;
47
+ latitude?: number | undefined;
48
+ longitude?: number | undefined;
49
+ timezone?: string | undefined;
50
+ }, {
51
+ id: string;
52
+ consentId: string;
53
+ ip: string;
54
+ createdAt?: Date | undefined;
55
+ country?: string | undefined;
56
+ region?: string | undefined;
57
+ city?: string | undefined;
58
+ latitude?: number | undefined;
59
+ longitude?: number | undefined;
60
+ timezone?: string | undefined;
61
+ updatedAt?: Date | undefined;
62
+ }>;
63
+ /**
64
+ * Type definition for ConsentGeoLocation
65
+ *
66
+ * This type represents the structure of a consent geo-location record
67
+ * as defined by the consentGeoLocationSchema. It includes all fields
68
+ * that are part of the consent geo-location entity.
69
+ */
70
+ export type ConsentGeoLocation = z.infer<typeof consentGeoLocationSchema>;
71
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/consent-geo-location/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAenC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,167 @@
1
+ import type { Field } from '../../core/fields';
2
+ import type { C15TOptions } from '../../../types';
3
+ /**
4
+ * Generates the database table configuration for the consent geo-location entity.
5
+ *
6
+ * This function creates a schema definition that includes all standard geo-location 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 geo-location table customizations
11
+ * @param geoLocationFields - Additional fields from plugins to include in the geo-location table
12
+ * @returns A complete table schema definition with fields, model name, and metadata
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const geoLocationTableSchema = getConsentGeoLocationTable(c15tOptions);
17
+ * // Use the schema for migrations or data access
18
+ * const migrationPlans = generateMigrations(geoLocationTableSchema);
19
+ * ```
20
+ */
21
+ export declare function getConsentGeoLocationTable(options: C15TOptions, geoLocationFields?: Record<string, Field>): {
22
+ /**
23
+ * The name of the geo-location table in the database, configurable through options
24
+ */
25
+ entityName: string;
26
+ /**
27
+ * The ID prefix for the consent geo-location table
28
+ * Used to generate unique prefixed IDs for consent geo-locations
29
+ */
30
+ entityPrefix: string;
31
+ /**
32
+ * The schema for the consent geo-location table
33
+ */
34
+ schema: import("zod").ZodObject<{
35
+ id: import("zod").ZodString;
36
+ consentId: import("zod").ZodString;
37
+ ip: import("zod").ZodString;
38
+ country: import("zod").ZodOptional<import("zod").ZodString>;
39
+ region: import("zod").ZodOptional<import("zod").ZodString>;
40
+ city: import("zod").ZodOptional<import("zod").ZodString>;
41
+ latitude: import("zod").ZodOptional<import("zod").ZodNumber>;
42
+ longitude: import("zod").ZodOptional<import("zod").ZodNumber>;
43
+ timezone: import("zod").ZodOptional<import("zod").ZodString>;
44
+ createdAt: import("zod").ZodDefault<import("zod").ZodDate>;
45
+ updatedAt: import("zod").ZodDefault<import("zod").ZodDate>;
46
+ }, "strip", import("zod").ZodTypeAny, {
47
+ id: string;
48
+ createdAt: Date;
49
+ consentId: string;
50
+ ip: string;
51
+ updatedAt: Date;
52
+ country?: string | undefined;
53
+ region?: string | undefined;
54
+ city?: string | undefined;
55
+ latitude?: number | undefined;
56
+ longitude?: number | undefined;
57
+ timezone?: string | undefined;
58
+ }, {
59
+ id: string;
60
+ consentId: string;
61
+ ip: string;
62
+ createdAt?: Date | undefined;
63
+ country?: string | undefined;
64
+ region?: string | undefined;
65
+ city?: string | undefined;
66
+ latitude?: number | undefined;
67
+ longitude?: number | undefined;
68
+ timezone?: string | undefined;
69
+ updatedAt?: Date | undefined;
70
+ }>;
71
+ /**
72
+ * Field definitions for the consent geo-location table
73
+ */
74
+ fields: {
75
+ /**
76
+ * Reference to the consent record this geo-location is associated with
77
+ */
78
+ consentId: {
79
+ type: string;
80
+ required: boolean;
81
+ fieldName: string;
82
+ references: {
83
+ model: string;
84
+ field: string;
85
+ };
86
+ };
87
+ /**
88
+ * IP address from which the consent was given
89
+ */
90
+ ip: {
91
+ type: string;
92
+ required: boolean;
93
+ fieldName: string;
94
+ };
95
+ /**
96
+ * Country code (e.g., 'US', 'DE', 'FR')
97
+ */
98
+ country: {
99
+ type: string;
100
+ required: boolean;
101
+ fieldName: string;
102
+ };
103
+ /**
104
+ * Region or state (e.g., 'California', 'Bavaria')
105
+ */
106
+ region: {
107
+ type: string;
108
+ required: boolean;
109
+ fieldName: string;
110
+ };
111
+ /**
112
+ * City name (e.g., 'New York', 'Berlin')
113
+ */
114
+ city: {
115
+ type: string;
116
+ required: boolean;
117
+ fieldName: string;
118
+ };
119
+ /**
120
+ * Latitude coordinate
121
+ */
122
+ latitude: {
123
+ type: string;
124
+ required: boolean;
125
+ fieldName: string;
126
+ };
127
+ /**
128
+ * Longitude coordinate
129
+ */
130
+ longitude: {
131
+ type: string;
132
+ required: boolean;
133
+ fieldName: string;
134
+ };
135
+ /**
136
+ * Timezone identifier (e.g., 'America/New_York', 'Europe/Berlin')
137
+ */
138
+ timezone: {
139
+ type: string;
140
+ required: boolean;
141
+ fieldName: string;
142
+ };
143
+ /**
144
+ * When the geo-location record was created
145
+ * Automatically set to current time by default
146
+ */
147
+ createdAt: {
148
+ type: string;
149
+ defaultValue: () => Date;
150
+ required: boolean;
151
+ fieldName: string;
152
+ };
153
+ };
154
+ /**
155
+ * Add indexes for better query performance
156
+ */
157
+ indexes: {
158
+ name: string;
159
+ fields: string[];
160
+ }[];
161
+ /**
162
+ * Execution order during migrations (lower numbers run first)
163
+ * Geo-location table needs to be created after the consent table it references
164
+ */
165
+ order: number;
166
+ };
167
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/consent-geo-location/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,0BAA0B,CACzC,OAAO,EAAE,WAAW,EACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAMxC;;OAEG;;IAGH;;;OAGG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;OAEG;;QAEF;;WAEG;;;;;;;;;;QAWH;;WAEG;;;;;;QAOH;;WAEG;;;;;;QAOH;;WAEG;;;;;;QAOH;;WAEG;;;;;;QAOH;;WAEG;;;;;;QAOH;;WAEG;;;;;;QAOH;;WAEG;;;;;;QAOH;;;WAGG;;;;;;;;IAeJ;;OAEG;;;;;IAgBH;;;OAGG;;EAGJ"}
@@ -0,0 +1,21 @@
1
+ import type { BaseEntityConfig } from '../types';
2
+ /**
3
+ * Consent geo location entity configuration
4
+ * @default entityName: "consentGeoLocation", entityPrefix: "cgl"
5
+ */
6
+ export interface ConsentGeoLocationEntityConfig extends BaseEntityConfig {
7
+ fields?: Record<string, string> & {
8
+ id?: string;
9
+ /**
10
+ * Indicates if the domain is a pattern (e.g., "true"/"false")
11
+ * When true, the domain string will be interpreted as a pattern
12
+ */
13
+ consentId?: string;
14
+ /**
15
+ * Foreign key to geo-location entity (should be indexed)
16
+ */
17
+ geoLocationId?: string;
18
+ createdAt?: string;
19
+ };
20
+ }
21
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/consent-geo-location/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD;;;GAGG;AACH,MAAM,WAAW,8BAA+B,SAAQ,gBAAgB;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QACjC,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ;;;WAGG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;WAEG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,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-policy/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}