@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,136 @@
1
+ import type { Field } from '../../core/fields';
2
+ import type { C15TOptions } from '../../../types';
3
+ /**
4
+ * Generates the database table configuration for the subject entity.
5
+ *
6
+ * This function creates a schema definition that includes all standard subject 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 subject table customizations
11
+ * @param subjectFields - Additional fields from plugins to include in the subject table
12
+ * @returns A complete table schema definition with fields, model name, and metadata
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const subjectTableSchema = getSubjectTable(c15tOptions);
17
+ * // Use the schema for migrations or data access
18
+ * const migrationPlans = generateMigrations(subjectTableSchema);
19
+ * ```
20
+ */
21
+ export declare function getSubjectTable(options: C15TOptions, subjectFields?: Record<string, Field>): {
22
+ /**
23
+ * The name of the subject table in the database, configurable through options
24
+ */
25
+ entityName: string;
26
+ /**
27
+ * The ID prefix for the subject table
28
+ * Used to generate unique prefixed IDs for subjects
29
+ */
30
+ entityPrefix: string;
31
+ /**
32
+ * The Zod schema for the subject table
33
+ */
34
+ schema: import("zod").ZodObject<{
35
+ id: import("zod").ZodString;
36
+ isIdentified: import("zod").ZodDefault<import("zod").ZodBoolean>;
37
+ externalId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
38
+ identityProvider: import("zod").ZodOptional<import("zod").ZodString>;
39
+ lastIpAddress: import("zod").ZodOptional<import("zod").ZodString>;
40
+ createdAt: import("zod").ZodDefault<import("zod").ZodDate>;
41
+ updatedAt: import("zod").ZodDefault<import("zod").ZodDate>;
42
+ }, "strip", import("zod").ZodTypeAny, {
43
+ id: string;
44
+ createdAt: Date;
45
+ updatedAt: Date;
46
+ isIdentified: boolean;
47
+ externalId?: string | null | undefined;
48
+ identityProvider?: string | undefined;
49
+ lastIpAddress?: string | undefined;
50
+ }, {
51
+ id: string;
52
+ createdAt?: Date | undefined;
53
+ updatedAt?: Date | undefined;
54
+ isIdentified?: boolean | undefined;
55
+ externalId?: string | null | undefined;
56
+ identityProvider?: string | undefined;
57
+ lastIpAddress?: string | undefined;
58
+ }>;
59
+ /**
60
+ * Field definitions for the subject table
61
+ */
62
+ fields: {
63
+ /**
64
+ * Whether the subject has been identified/verified
65
+ * Default: false
66
+ */
67
+ isIdentified: {
68
+ type: string;
69
+ defaultValue: () => boolean;
70
+ required: boolean;
71
+ fieldName: string;
72
+ };
73
+ /**
74
+ * External identifier for the subject (from auth providers)
75
+ * Optional field
76
+ */
77
+ externalId: {
78
+ type: string;
79
+ required: boolean;
80
+ fieldName: string;
81
+ };
82
+ /**
83
+ * The provider that identified this subject (e.g., 'auth0', 'okta')
84
+ * Optional field
85
+ */
86
+ identityProvider: {
87
+ type: string;
88
+ required: boolean;
89
+ fieldName: string;
90
+ };
91
+ /**
92
+ * Last known IP address of the subject
93
+ * Optional field, useful for security and audit purposes
94
+ */
95
+ lastIpAddress: {
96
+ type: string;
97
+ required: boolean;
98
+ fieldName: string;
99
+ };
100
+ /**
101
+ * When the subject was created
102
+ * Automatically set to current time by default
103
+ */
104
+ createdAt: {
105
+ type: string;
106
+ defaultValue: () => Date;
107
+ required: boolean;
108
+ fieldName: string;
109
+ };
110
+ /**
111
+ * When the subject was last updated
112
+ * Automatically set to current time on update
113
+ */
114
+ updatedAt: {
115
+ type: string;
116
+ defaultValue: () => Date;
117
+ required: boolean;
118
+ fieldName: string;
119
+ };
120
+ /**
121
+ * Subject's local timezone, stored as IANA timezone identifier
122
+ */
123
+ subjectTimezone: {
124
+ type: string;
125
+ required: boolean;
126
+ defaultValue: "UTC";
127
+ fieldName: string;
128
+ };
129
+ };
130
+ /**
131
+ * Execution order during migrations (lower numbers run first)
132
+ * Subject table needs to be created early as other tables reference it
133
+ */
134
+ order: number;
135
+ };
136
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/subject/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAC9B,OAAO,EAAE,WAAW,EACpB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAMpC;;OAEG;;IAGH;;;OAGG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;OAEG;;QAEF;;;WAGG;;;;;;;QAQH;;;WAGG;;;;;;QAOH;;;WAGG;;;;;;QAQH;;;WAGG;;;;;;QAOH;;;WAGG;;;;;;;QAQH;;;WAGG;;;;;;;QAQH;;WAEG;;;;;;;;IAeJ;;;OAGG;;EAGJ"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Subject Entity Type Definitions
3
+ *
4
+ * This module contains type definitions specific to the subject entity.
5
+ */
6
+ import type { TimestampedEntityConfig } from '../types';
7
+ /**
8
+ * Subject entity configuration
9
+ * @default entityName: "subject", entityPrefix: "sub"
10
+ */
11
+ export interface SubjectEntityConfig extends TimestampedEntityConfig {
12
+ fields?: Record<string, string> & {
13
+ id?: string;
14
+ isIdentified?: string;
15
+ externalId?: string;
16
+ identityProvider?: string;
17
+ lastIpAddress?: string;
18
+ createdAt?: string;
19
+ updatedAt?: string;
20
+ };
21
+ }
22
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/subject/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QACjC,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACF"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Database Schema Type Definitions
3
+ *
4
+ * This module contains base type definitions for database schema configuration.
5
+ * These types define the common structure of entity configurations used throughout
6
+ * the c15t consent management system.
7
+ */
8
+ import type { Field } from '../core/fields';
9
+ import type { AuditLogEntityConfig } from './audit-log/types';
10
+ import type { ConsentGeoLocationEntityConfig } from './consent-geo-location/types';
11
+ import type { ConsentPolicyEntityConfig } from './consent-policy/types';
12
+ import type { ConsentPurposeJunctionEntityConfig } from './consent-purpose-junction/types';
13
+ import type { ConsentPurposeEntityConfig } from './consent-purpose/types';
14
+ import type { ConsentRecordEntityConfig } from './consent-record/types';
15
+ import type { ConsentWithdrawalEntityConfig } from './consent-withdrawal/types';
16
+ import type { ConsentEntityConfig } from './consent/types';
17
+ import type { DomainEntityConfig } from './domain/types';
18
+ import type { GeoLocationEntityConfig } from './geo-location/types';
19
+ import type { SubjectEntityConfig } from './subject/types';
20
+ /**
21
+ * Base entity configuration shared by all entities
22
+ * Provides common configuration options for database entities
23
+ */
24
+ export interface BaseEntityConfig {
25
+ /**
26
+ * Custom model name for the entity table
27
+ */
28
+ entityName?: string;
29
+ /**
30
+ * The ID prefix for the entity table
31
+ * Used to generate unique prefixed IDs
32
+ */
33
+ entityPrefix?: string;
34
+ /**
35
+ * Custom field names for the entity table
36
+ */
37
+ fields?: Record<string, string>;
38
+ /**
39
+ * Additional fields for the entity table
40
+ */
41
+ additionalFields?: Record<string, Field>;
42
+ }
43
+ /**
44
+ * Entity configuration with standard timestamps
45
+ * Extends base configuration with created/updated timestamp fields
46
+ */
47
+ export interface TimestampedEntityConfig extends BaseEntityConfig {
48
+ fields?: Record<string, string> & {
49
+ createdAt?: string;
50
+ updatedAt?: string;
51
+ };
52
+ }
53
+ /**
54
+ * Entity configuration for entities with active status
55
+ * Extends timestamped configuration with isActive field
56
+ */
57
+ export interface ActiveEntityConfig extends TimestampedEntityConfig {
58
+ fields?: Record<string, string> & {
59
+ createdAt?: string;
60
+ updatedAt?: string;
61
+ isActive?: string;
62
+ };
63
+ }
64
+ /**
65
+ * Database tables configuration
66
+ * Contains all entity table configurations in one unified object
67
+ */
68
+ export interface TablesConfig {
69
+ /**
70
+ * Subject entity configuration
71
+ * @default entityName: "subject", entityPrefix: "sub"
72
+ */
73
+ subject?: SubjectEntityConfig;
74
+ /**
75
+ * Domain configuration
76
+ * @default entityName: "domain", entityPrefix: "dom"
77
+ */
78
+ domain?: DomainEntityConfig;
79
+ /**
80
+ * Geo location configuration
81
+ * @default entityName: "geoLocation", entityPrefix: "geo"
82
+ */
83
+ geoLocation?: GeoLocationEntityConfig;
84
+ /**
85
+ * ConsentPurpose entity configuration
86
+ * @default entityName: "consentPurpose", entityPrefix: "pur"
87
+ */
88
+ consentPurpose?: ConsentPurposeEntityConfig;
89
+ /**
90
+ * Consent policy configuration
91
+ * @default entityName: "consentPolicy", entityPrefix: "pol"
92
+ */
93
+ consentPolicy?: ConsentPolicyEntityConfig;
94
+ /**
95
+ * Consent configuration
96
+ * @default entityName: "consent", entityPrefix: "cns"
97
+ */
98
+ consent?: ConsentEntityConfig;
99
+ /**
100
+ * ConsentPurpose junction configuration
101
+ * @default entityName: "consentPurposeJunction", entityPrefix: "pjx"
102
+ */
103
+ consentPurposeJunction?: ConsentPurposeJunctionEntityConfig;
104
+ /**
105
+ * Consent geo location configuration
106
+ * @default entityName: "consentGeoLocation", entityPrefix: "cgl"
107
+ */
108
+ consentGeoLocation?: ConsentGeoLocationEntityConfig;
109
+ /**
110
+ * Record entity configuration
111
+ * @default entityName: "record", entityPrefix: "rec"
112
+ */
113
+ record?: ConsentRecordEntityConfig;
114
+ /**
115
+ * Withdrawal configuration
116
+ * @default entityName: "consentWithdrawal", entityPrefix: "wdr"
117
+ */
118
+ consentWithdrawal?: ConsentWithdrawalEntityConfig;
119
+ /**
120
+ * Audit log configuration
121
+ * @default entityName: "auditLog", entityPrefix: "log"
122
+ */
123
+ auditLog?: AuditLogEntityConfig;
124
+ }
125
+ export type { AuditLogEntityConfig } from './audit-log/types';
126
+ export type { ConsentEntityConfig } from './consent/types';
127
+ export type { ConsentGeoLocationEntityConfig } from './consent-geo-location/types';
128
+ export type { ConsentPolicyEntityConfig } from './consent-policy/types';
129
+ export type { ConsentPurposeEntityConfig } from './consent-purpose/types';
130
+ export type { ConsentPurposeJunctionEntityConfig } from './consent-purpose-junction/types';
131
+ export type { ConsentRecordEntityConfig } from './consent-record/types';
132
+ export type { ConsentWithdrawalEntityConfig } from './consent-withdrawal/types';
133
+ export type { DomainEntityConfig } from './domain/types';
134
+ export type { GeoLocationEntityConfig } from './geo-location/types';
135
+ export type { SubjectEntityConfig } from './subject/types';
136
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/db/schema/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CACzC;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B;;;OAGG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAE9B;;;OAGG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAE5B;;;OAGG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAC;IAEtC;;;OAGG;IACH,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAE5C;;;OAGG;IACH,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAE1C;;;OAGG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAE9B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,kCAAkC,CAAC;IAE5D;;;OAGG;IACH,kBAAkB,CAAC,EAAE,8BAA8B,CAAC;IAEpD;;;OAGG;IACH,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAEnC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,6BAA6B,CAAC;IAElD;;;OAGG;IACH,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACnF,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,YAAY,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAC3F,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,YAAY,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAChF,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { C15TOptions } from '../../types';
2
+ /**
3
+ * Creates and configures the appropriate database adapter based on C15T options
4
+ *
5
+ * This function handles several scenarios:
6
+ * 1. No database configuration - creates an in-memory adapter (development only)
7
+ * 2. Custom database function - uses the provided function to create an adapter
8
+ * 3. Standard database config - creates a Kysely adapter with the specified database
9
+ *
10
+ * @param options - The C15T configuration options
11
+ * @returns A configured database adapter instance
12
+ * @throws {C15TError} If the database adapter initialization fails
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const adapter = await getAdapter(config);
17
+ * const subjects = await adapter.findMany('subject', { where: { active: true } });
18
+ * ```
19
+ */
20
+ export declare function getAdapter(options: C15TOptions): Promise<import("../adapters/types").Adapter>;
21
+ //# sourceMappingURL=adapter-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-factory.d.ts","sourceRoot":"","sources":["../../../src/db/utils/adapter-factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,gDAqCpD"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Database Utilities Module
3
+ *
4
+ * This module provides various utility functions for database operations,
5
+ * including adapter creation and data conversion between application and database formats.
6
+ *
7
+ * @module db/utils
8
+ */
9
+ export { getAdapter } from './adapter-factory';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/db/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { C15TOptions } from '../types';
2
+ import type { Adapter } from './adapters/types';
3
+ export declare function getAdapter(options: C15TOptions): Promise<Adapter>;
4
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/db/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAK3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGhD,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAgCvE"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = function(exports1) {
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ BASE_ERROR_CODES: ()=>BASE_ERROR_CODES,
28
+ ERROR_CATEGORIES: ()=>ERROR_CATEGORIES
29
+ });
30
+ const BASE_ERROR_CODES = {
31
+ NOT_FOUND: 'Resource not found',
32
+ BAD_REQUEST: 'Bad request',
33
+ CONFLICT: 'Conflict with current state',
34
+ CONSENT_NOT_FOUND: 'Consent not found',
35
+ CONSENT_EXPIRED: 'Consent has expired',
36
+ FAILED_TO_CREATE_CONSENT: 'Failed to create consent',
37
+ FAILED_TO_UPDATE_CONSENT: 'Failed to update consent',
38
+ FAILED_TO_GET_CONSENT: 'Failed to get consent',
39
+ FAILED_TO_CREATE_PURPOSE: 'Failed to create consentPurpose',
40
+ PURPOSE_NOT_FOUND: 'Consent Purpose not found',
41
+ INVALID_CONFIGURATION: 'Invalid configuration',
42
+ MISSING_REQUIRED_PARAMETER: 'Missing required parameter',
43
+ UNAUTHORIZED: 'Unauthorized',
44
+ FORBIDDEN: 'Forbidden',
45
+ INTERNAL_SERVER_ERROR: 'Internal server error',
46
+ INITIALIZATION_FAILED: 'Initialization failed',
47
+ PLUGIN_INITIALIZATION_FAILED: 'Plugin initialization failed',
48
+ DATABASE_CONNECTION_ERROR: 'Database connection error',
49
+ DATABASE_QUERY_ERROR: 'Database query error',
50
+ REQUEST_HANDLER_ERROR: 'Request handler error',
51
+ API_RETRIEVAL_ERROR: 'API retrieval error',
52
+ INVALID_REQUEST: 'Invalid request',
53
+ UNKNOWN_ERROR: 'Unknown error'
54
+ };
55
+ const ERROR_CATEGORIES = {
56
+ VALIDATION: 'validation',
57
+ AUTHORIZATION: 'authorization',
58
+ STORAGE: 'storage',
59
+ NETWORK: 'network',
60
+ PLUGIN: 'plugin',
61
+ CONFIGURATION: 'configuration',
62
+ UNEXPECTED: 'unexpected'
63
+ };
64
+ var __webpack_export_target__ = exports;
65
+ for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
66
+ if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
67
+ value: true
68
+ });
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Standardized error codes for the c15t consent management system.
3
+ *
4
+ * These error codes are used throughout the application to provide consistent
5
+ * error messages and enable proper error handling in client applications.
6
+ * Each error code represents a specific type of error that can occur during
7
+ * consent management operations.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import { BASE_ERROR_CODES, C15TError } from '@c15t/error';
12
+ *
13
+ * // Handle a specific error
14
+ * try {
15
+ * await consentManager.updateConsent(consentId, preferences);
16
+ * } catch (error) {
17
+ * if (error instanceof C15TError && error.code === BASE_ERROR_CODES.CONSENT_NOT_FOUND) {
18
+ * // Handle the specific case where consent is not found
19
+ * console.error('Cannot update: consent record does not exist');
20
+ * } else {
21
+ * // Handle other errors
22
+ * console.error('Failed to update consent:', error.message);
23
+ * }
24
+ * }
25
+ * ```
26
+ */
27
+ export declare const BASE_ERROR_CODES: {
28
+ /**
29
+ * The requested resource could not be found.
30
+ * This is a general error for when a requested entity does not exist.
31
+ */
32
+ readonly NOT_FOUND: "Resource not found";
33
+ /**
34
+ * The request is invalid or malformed.
35
+ * This is a general error for requests that do not meet the expected format.
36
+ */
37
+ readonly BAD_REQUEST: "Bad request";
38
+ /**
39
+ * The request conflicts with the current state of the server.
40
+ * This may occur when trying to create a resource that already exists or
41
+ * when attempting to modify a resource in a way that conflicts with its current state.
42
+ */
43
+ readonly CONFLICT: "Conflict with current state";
44
+ /**
45
+ * The requested consent record could not be found.
46
+ * This may occur when attempting to retrieve, update, or delete a non-existent consent record.
47
+ */
48
+ readonly CONSENT_NOT_FOUND: "Consent not found";
49
+ /**
50
+ * The consent record has expired and is no longer valid.
51
+ * This may occur when attempting to use a consent record after its expiration date.
52
+ */
53
+ readonly CONSENT_EXPIRED: "Consent has expired";
54
+ /**
55
+ * An error occurred while attempting to create a new consent record.
56
+ * This may be due to validation errors, storage issues, or other internal errors.
57
+ */
58
+ readonly FAILED_TO_CREATE_CONSENT: "Failed to create consent";
59
+ /**
60
+ * An error occurred while attempting to update an existing consent record.
61
+ * This may be due to validation errors, storage issues, or concurrent modifications.
62
+ */
63
+ readonly FAILED_TO_UPDATE_CONSENT: "Failed to update consent";
64
+ /**
65
+ * An error occurred while attempting to retrieve a consent record.
66
+ * This may be due to storage issues, permissions, or other internal errors.
67
+ */
68
+ readonly FAILED_TO_GET_CONSENT: "Failed to get consent";
69
+ /**
70
+ * An error occurred while attempting to create a new consent consentPurpose.
71
+ * This may be due to validation errors, duplicate consentPurpose IDs, or other internal errors.
72
+ */
73
+ readonly FAILED_TO_CREATE_PURPOSE: "Failed to create consentPurpose";
74
+ /**
75
+ * The requested consent consentPurpose could not be found.
76
+ * This may occur when attempting to retrieve, update, or delete a non-existent consentPurpose.
77
+ */
78
+ readonly PURPOSE_NOT_FOUND: "Consent Purpose not found";
79
+ /**
80
+ * The provided configuration is invalid or contains errors.
81
+ * This may occur when initializing the system with incorrect settings.
82
+ */
83
+ readonly INVALID_CONFIGURATION: "Invalid configuration";
84
+ /**
85
+ * A required parameter is missing from the request.
86
+ * This may occur when API calls are made without all necessary data.
87
+ */
88
+ readonly MISSING_REQUIRED_PARAMETER: "Missing required parameter";
89
+ /**
90
+ * The request requires authentication that was not provided or is invalid.
91
+ * This may occur when attempting to access protected resources without proper credentials.
92
+ */
93
+ readonly UNAUTHORIZED: "Unauthorized";
94
+ /**
95
+ * The requester does not have permission to perform the requested operation.
96
+ * This may occur when authenticated subjects attempt operations beyond their permission level.
97
+ */
98
+ readonly FORBIDDEN: "Forbidden";
99
+ /**
100
+ * An unexpected internal error occurred on the server.
101
+ * This is a general error for unexpected exceptions during request processing.
102
+ */
103
+ readonly INTERNAL_SERVER_ERROR: "Internal server error";
104
+ /**
105
+ * Initialization of the system failed.
106
+ * This may occur when the system cannot be initialized due to configuration
107
+ * errors, missing dependencies, or other setup issues.
108
+ */
109
+ readonly INITIALIZATION_FAILED: "Initialization failed";
110
+ /**
111
+ * Plugin initialization failed.
112
+ * This may occur when a plugin cannot be initialized due to configuration
113
+ * errors, missing dependencies, or other setup issues.
114
+ */
115
+ readonly PLUGIN_INITIALIZATION_FAILED: "Plugin initialization failed";
116
+ /**
117
+ * Database connection error.
118
+ * This may occur when the system cannot connect to the database due to
119
+ * connection issues, authentication failures, or other database-related problems.
120
+ */
121
+ readonly DATABASE_CONNECTION_ERROR: "Database connection error";
122
+ /**
123
+ * Database query error.
124
+ * This may occur when a database query fails due to syntax errors,
125
+ * constraint violations, or other database-related issues.
126
+ */
127
+ readonly DATABASE_QUERY_ERROR: "Database query error";
128
+ /**
129
+ * An error occurred while attempting to handle a request.
130
+ * This may occur when a request cannot be processed due to invalid input,
131
+ * internal errors, or other issues.
132
+ */
133
+ readonly REQUEST_HANDLER_ERROR: "Request handler error";
134
+ /**
135
+ * Error retrieving API endpoints.
136
+ * This may occur when the system cannot retrieve API endpoints due to
137
+ * configuration errors or other internal issues.
138
+ */
139
+ readonly API_RETRIEVAL_ERROR: "API retrieval error";
140
+ /**
141
+ * The request is invalid or malformed.
142
+ * This is a specific error for requests that do not meet the expected format.
143
+ */
144
+ readonly INVALID_REQUEST: "Invalid request";
145
+ /**
146
+ * Unknown or unclassified error.
147
+ * Used when an error occurs that doesn't match any other error code.
148
+ */
149
+ readonly UNKNOWN_ERROR: "Unknown error";
150
+ };
151
+ /**
152
+ * Error categories for organizing errors by domain
153
+ */
154
+ export declare const ERROR_CATEGORIES: {
155
+ readonly VALIDATION: "validation";
156
+ readonly AUTHORIZATION: "authorization";
157
+ readonly STORAGE: "storage";
158
+ readonly NETWORK: "network";
159
+ readonly PLUGIN: "plugin";
160
+ readonly CONFIGURATION: "configuration";
161
+ readonly UNEXPECTED: "unexpected";
162
+ };
163
+ /**
164
+ * Type for error categories
165
+ */
166
+ export type ErrorCategory = (typeof ERROR_CATEGORIES)[keyof typeof ERROR_CATEGORIES];
167
+ /**
168
+ * Type containing all possible error codes from the BASE_ERROR_CODES object
169
+ */
170
+ export type ErrorCode = keyof typeof BASE_ERROR_CODES;
171
+ /**
172
+ * Type for the error message values in BASE_ERROR_CODES
173
+ */
174
+ export type ErrorMessage = (typeof BASE_ERROR_CODES)[ErrorCode];
175
+ //# sourceMappingURL=codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/error/codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,gBAAgB;IAC5B;;;OAGG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;;OAGG;;CAEM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;CAQnB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,aAAa,GACxB,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ const BASE_ERROR_CODES = {
2
+ NOT_FOUND: 'Resource not found',
3
+ BAD_REQUEST: 'Bad request',
4
+ CONFLICT: 'Conflict with current state',
5
+ CONSENT_NOT_FOUND: 'Consent not found',
6
+ CONSENT_EXPIRED: 'Consent has expired',
7
+ FAILED_TO_CREATE_CONSENT: 'Failed to create consent',
8
+ FAILED_TO_UPDATE_CONSENT: 'Failed to update consent',
9
+ FAILED_TO_GET_CONSENT: 'Failed to get consent',
10
+ FAILED_TO_CREATE_PURPOSE: 'Failed to create consentPurpose',
11
+ PURPOSE_NOT_FOUND: 'Consent Purpose not found',
12
+ INVALID_CONFIGURATION: 'Invalid configuration',
13
+ MISSING_REQUIRED_PARAMETER: 'Missing required parameter',
14
+ UNAUTHORIZED: 'Unauthorized',
15
+ FORBIDDEN: 'Forbidden',
16
+ INTERNAL_SERVER_ERROR: 'Internal server error',
17
+ INITIALIZATION_FAILED: 'Initialization failed',
18
+ PLUGIN_INITIALIZATION_FAILED: 'Plugin initialization failed',
19
+ DATABASE_CONNECTION_ERROR: 'Database connection error',
20
+ DATABASE_QUERY_ERROR: 'Database query error',
21
+ REQUEST_HANDLER_ERROR: 'Request handler error',
22
+ API_RETRIEVAL_ERROR: 'API retrieval error',
23
+ INVALID_REQUEST: 'Invalid request',
24
+ UNKNOWN_ERROR: 'Unknown error'
25
+ };
26
+ const ERROR_CATEGORIES = {
27
+ VALIDATION: 'validation',
28
+ AUTHORIZATION: 'authorization',
29
+ STORAGE: 'storage',
30
+ NETWORK: 'network',
31
+ PLUGIN: 'plugin',
32
+ CONFIGURATION: 'configuration',
33
+ UNEXPECTED: 'unexpected'
34
+ };
35
+ export { BASE_ERROR_CODES, ERROR_CATEGORIES };