@c15t/backend 2.0.0-rc.4 → 2.0.0-rc.5

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 (308) hide show
  1. package/dist/core.cjs +830 -74
  2. package/dist/core.js +807 -75
  3. package/dist/db/schema.cjs +37 -0
  4. package/dist/db/schema.js +33 -2
  5. package/dist/edge.cjs +1106 -0
  6. package/dist/edge.js +1069 -0
  7. package/dist/router.cjs +613 -64
  8. package/dist/router.js +613 -64
  9. package/{dist → dist-types}/cache/adapters/cloudflare-kv.d.ts +0 -1
  10. package/{dist → dist-types}/cache/adapters/index.d.ts +0 -1
  11. package/{dist → dist-types}/cache/adapters/memory.d.ts +0 -1
  12. package/{dist → dist-types}/cache/adapters/upstash-redis.d.ts +0 -1
  13. package/{dist → dist-types}/cache/gvl-resolver.d.ts +1 -2
  14. package/{dist → dist-types}/cache/index.d.ts +0 -1
  15. package/{dist → dist-types}/cache/keys.d.ts +0 -1
  16. package/{dist → dist-types}/cache/types.d.ts +0 -1
  17. package/{dist → dist-types}/core.d.ts +8 -1
  18. package/{dist → dist-types}/db/migrator/index.d.ts +0 -1
  19. package/{dist → dist-types}/db/registry/consent-policy.d.ts +0 -1
  20. package/{dist → dist-types}/db/registry/consent-purpose.d.ts +0 -1
  21. package/{dist → dist-types}/db/registry/domain.d.ts +0 -1
  22. package/{dist → dist-types}/db/registry/index.d.ts +22 -2
  23. package/dist-types/db/registry/runtime-policy-decision.d.ts +60 -0
  24. package/{dist → dist-types}/db/registry/subject.d.ts +0 -1
  25. package/{dist → dist-types}/db/registry/types.d.ts +1 -2
  26. package/{dist → dist-types}/db/registry/utils/generate-id.d.ts +0 -1
  27. package/{dist → dist-types}/db/registry/utils.d.ts +0 -1
  28. package/{dist → dist-types}/db/schema/1.0.0/audit-log.d.ts +0 -1
  29. package/{dist → dist-types}/db/schema/1.0.0/consent-policy.d.ts +0 -1
  30. package/{dist → dist-types}/db/schema/1.0.0/consent-purpose.d.ts +0 -1
  31. package/{dist → dist-types}/db/schema/1.0.0/consent-record.d.ts +0 -1
  32. package/{dist → dist-types}/db/schema/1.0.0/consent.d.ts +1 -2
  33. package/{dist → dist-types}/db/schema/1.0.0/domain.d.ts +0 -1
  34. package/{dist → dist-types}/db/schema/1.0.0/index.d.ts +0 -1
  35. package/{dist → dist-types}/db/schema/1.0.0/subject.d.ts +0 -1
  36. package/{dist → dist-types}/db/schema/2.0.0/audit-log.d.ts +1 -2
  37. package/{dist → dist-types}/db/schema/2.0.0/consent-policy.d.ts +1 -2
  38. package/{dist → dist-types}/db/schema/2.0.0/consent-purpose.d.ts +1 -2
  39. package/{dist → dist-types}/db/schema/2.0.0/consent.d.ts +5 -2
  40. package/{dist → dist-types}/db/schema/2.0.0/domain.d.ts +1 -2
  41. package/{dist → dist-types}/db/schema/2.0.0/index.d.ts +432 -17
  42. package/dist-types/db/schema/2.0.0/runtime-policy-decision.d.ts +23 -0
  43. package/{dist → dist-types}/db/schema/2.0.0/subject.d.ts +1 -2
  44. package/{dist → dist-types}/db/schema/index.d.ts +862 -33
  45. package/{dist → dist-types}/db/tenant-scope.d.ts +0 -1
  46. package/{dist → dist-types}/define-config.d.ts +0 -1
  47. package/dist-types/edge/index.d.ts +5 -0
  48. package/dist-types/edge/init-handler.d.ts +38 -0
  49. package/dist-types/edge/resolve-consent.d.ts +80 -0
  50. package/dist-types/edge/types.d.ts +13 -0
  51. package/{dist → dist-types}/handlers/consent/check.handler.d.ts +0 -1
  52. package/{src/handlers/consent/index.ts → dist-types/handlers/consent/index.d.ts} +0 -1
  53. package/{dist → dist-types}/handlers/init/geo.d.ts +2 -3
  54. package/{dist → dist-types}/handlers/init/index.d.ts +4 -5
  55. package/dist-types/handlers/init/policy.d.ts +26 -0
  56. package/dist-types/handlers/init/resolve-init.d.ts +44 -0
  57. package/dist-types/handlers/init/translations.d.ts +48 -0
  58. package/dist-types/handlers/policy/snapshot.d.ts +99 -0
  59. package/{src/handlers/status/index.ts → dist-types/handlers/status/index.d.ts} +0 -1
  60. package/{dist → dist-types}/handlers/status/status.handler.d.ts +0 -1
  61. package/{dist → dist-types}/handlers/subject/get.handler.d.ts +0 -1
  62. package/{src/handlers/subject/index.ts → dist-types/handlers/subject/index.d.ts} +0 -1
  63. package/{dist → dist-types}/handlers/subject/list.handler.d.ts +0 -1
  64. package/{dist → dist-types}/handlers/subject/patch.handler.d.ts +0 -1
  65. package/{dist → dist-types}/handlers/subject/post.handler.d.ts +12 -1
  66. package/{dist → dist-types}/handlers/utils/consent-enrichment.d.ts +0 -1
  67. package/{dist → dist-types}/init.d.ts +0 -1
  68. package/{dist → dist-types}/middleware/auth/index.d.ts +0 -1
  69. package/{dist → dist-types}/middleware/auth/validate-api-key.d.ts +0 -1
  70. package/{dist → dist-types}/middleware/cors/cors.d.ts +0 -1
  71. package/{src/middleware/cors/index.ts → dist-types/middleware/cors/index.d.ts} +0 -1
  72. package/{dist → dist-types}/middleware/cors/is-origin-trusted.d.ts +1 -2
  73. package/{dist → dist-types}/middleware/cors/process-cors.d.ts +0 -1
  74. package/{dist → dist-types}/middleware/openapi/config.d.ts +0 -1
  75. package/{dist → dist-types}/middleware/openapi/handlers.d.ts +0 -1
  76. package/{src/middleware/openapi/index.ts → dist-types/middleware/openapi/index.d.ts} +0 -1
  77. package/{dist → dist-types}/middleware/process-ip/index.d.ts +0 -1
  78. package/dist-types/policies/builder.d.ts +127 -0
  79. package/dist-types/policies/defaults.d.ts +2 -0
  80. package/dist-types/policies/matchers.d.ts +3 -0
  81. package/{dist → dist-types}/router.d.ts +0 -1
  82. package/{dist → dist-types}/routes/consent.d.ts +0 -1
  83. package/{src/routes/index.ts → dist-types/routes/index.d.ts} +0 -1
  84. package/{dist → dist-types}/routes/init.d.ts +0 -1
  85. package/{dist → dist-types}/routes/status.d.ts +0 -1
  86. package/{dist → dist-types}/routes/subject.d.ts +0 -1
  87. package/{dist → dist-types}/types/api.d.ts +0 -1
  88. package/{dist → dist-types}/types/index.d.ts +110 -6
  89. package/dist-types/utils/background.d.ts +6 -0
  90. package/{dist → dist-types}/utils/create-telemetry-options.d.ts +0 -1
  91. package/{dist → dist-types}/utils/env.d.ts +0 -1
  92. package/{dist → dist-types}/utils/extract-error-message.d.ts +0 -1
  93. package/{dist → dist-types}/utils/instrumentation.d.ts +0 -1
  94. package/{dist → dist-types}/utils/logger.d.ts +1 -2
  95. package/{dist → dist-types}/utils/metrics.d.ts +0 -1
  96. package/dist-types/version.d.ts +1 -0
  97. package/docs/README.md +49 -0
  98. package/docs/api/configuration.md +197 -0
  99. package/docs/api/endpoints.md +211 -0
  100. package/docs/guides/caching.md +85 -0
  101. package/docs/guides/database-setup.md +128 -0
  102. package/docs/guides/edge-deployment.md +248 -0
  103. package/docs/guides/framework-integration.md +142 -0
  104. package/docs/guides/iab-tcf.md +89 -0
  105. package/docs/guides/observability.md +96 -0
  106. package/docs/guides/policy-packs.md +396 -0
  107. package/docs/quickstart.md +129 -0
  108. package/package.json +33 -19
  109. package/.turbo/turbo-build.log +0 -49
  110. package/CHANGELOG.md +0 -123
  111. package/dist/cache/adapters/cloudflare-kv.d.ts.map +0 -1
  112. package/dist/cache/adapters/index.d.ts.map +0 -1
  113. package/dist/cache/adapters/memory.d.ts.map +0 -1
  114. package/dist/cache/adapters/upstash-redis.d.ts.map +0 -1
  115. package/dist/cache/gvl-resolver.d.ts.map +0 -1
  116. package/dist/cache/index.d.ts.map +0 -1
  117. package/dist/cache/keys.d.ts.map +0 -1
  118. package/dist/cache/types.d.ts.map +0 -1
  119. package/dist/core.d.ts.map +0 -1
  120. package/dist/db/adapters/drizzle.d.ts +0 -2
  121. package/dist/db/adapters/drizzle.d.ts.map +0 -1
  122. package/dist/db/adapters/index.d.ts +0 -2
  123. package/dist/db/adapters/index.d.ts.map +0 -1
  124. package/dist/db/adapters/kysely.d.ts +0 -2
  125. package/dist/db/adapters/kysely.d.ts.map +0 -1
  126. package/dist/db/adapters/mongo.d.ts +0 -2
  127. package/dist/db/adapters/mongo.d.ts.map +0 -1
  128. package/dist/db/adapters/prisma.d.ts +0 -2
  129. package/dist/db/adapters/prisma.d.ts.map +0 -1
  130. package/dist/db/adapters/typeorm.d.ts +0 -2
  131. package/dist/db/adapters/typeorm.d.ts.map +0 -1
  132. package/dist/db/migrator/index.d.ts.map +0 -1
  133. package/dist/db/registry/consent-policy.d.ts.map +0 -1
  134. package/dist/db/registry/consent-purpose.d.ts.map +0 -1
  135. package/dist/db/registry/domain.d.ts.map +0 -1
  136. package/dist/db/registry/index.d.ts.map +0 -1
  137. package/dist/db/registry/subject.d.ts.map +0 -1
  138. package/dist/db/registry/types.d.ts.map +0 -1
  139. package/dist/db/registry/utils/generate-id.d.ts.map +0 -1
  140. package/dist/db/registry/utils.d.ts.map +0 -1
  141. package/dist/db/schema/1.0.0/audit-log.d.ts.map +0 -1
  142. package/dist/db/schema/1.0.0/consent-policy.d.ts.map +0 -1
  143. package/dist/db/schema/1.0.0/consent-purpose.d.ts.map +0 -1
  144. package/dist/db/schema/1.0.0/consent-record.d.ts.map +0 -1
  145. package/dist/db/schema/1.0.0/consent.d.ts.map +0 -1
  146. package/dist/db/schema/1.0.0/domain.d.ts.map +0 -1
  147. package/dist/db/schema/1.0.0/index.d.ts.map +0 -1
  148. package/dist/db/schema/1.0.0/subject.d.ts.map +0 -1
  149. package/dist/db/schema/2.0.0/audit-log.d.ts.map +0 -1
  150. package/dist/db/schema/2.0.0/consent-policy.d.ts.map +0 -1
  151. package/dist/db/schema/2.0.0/consent-purpose.d.ts.map +0 -1
  152. package/dist/db/schema/2.0.0/consent.d.ts.map +0 -1
  153. package/dist/db/schema/2.0.0/domain.d.ts.map +0 -1
  154. package/dist/db/schema/2.0.0/index.d.ts.map +0 -1
  155. package/dist/db/schema/2.0.0/subject.d.ts.map +0 -1
  156. package/dist/db/schema/index.d.ts.map +0 -1
  157. package/dist/db/tenant-scope.d.ts.map +0 -1
  158. package/dist/define-config.d.ts.map +0 -1
  159. package/dist/handlers/consent/check.handler.d.ts.map +0 -1
  160. package/dist/handlers/consent/index.d.ts +0 -12
  161. package/dist/handlers/consent/index.d.ts.map +0 -1
  162. package/dist/handlers/init/geo.d.ts.map +0 -1
  163. package/dist/handlers/init/index.d.ts.map +0 -1
  164. package/dist/handlers/init/translations.d.ts +0 -26
  165. package/dist/handlers/init/translations.d.ts.map +0 -1
  166. package/dist/handlers/status/index.d.ts +0 -7
  167. package/dist/handlers/status/index.d.ts.map +0 -1
  168. package/dist/handlers/status/status.handler.d.ts.map +0 -1
  169. package/dist/handlers/subject/get.handler.d.ts.map +0 -1
  170. package/dist/handlers/subject/index.d.ts +0 -10
  171. package/dist/handlers/subject/index.d.ts.map +0 -1
  172. package/dist/handlers/subject/list.handler.d.ts.map +0 -1
  173. package/dist/handlers/subject/patch.handler.d.ts.map +0 -1
  174. package/dist/handlers/subject/post.handler.d.ts.map +0 -1
  175. package/dist/handlers/utils/consent-enrichment.d.ts.map +0 -1
  176. package/dist/init.d.ts.map +0 -1
  177. package/dist/middleware/auth/index.d.ts.map +0 -1
  178. package/dist/middleware/auth/validate-api-key.d.ts.map +0 -1
  179. package/dist/middleware/cors/cors.d.ts.map +0 -1
  180. package/dist/middleware/cors/index.d.ts +0 -30
  181. package/dist/middleware/cors/index.d.ts.map +0 -1
  182. package/dist/middleware/cors/is-origin-trusted.d.ts.map +0 -1
  183. package/dist/middleware/cors/process-cors.d.ts.map +0 -1
  184. package/dist/middleware/openapi/config.d.ts.map +0 -1
  185. package/dist/middleware/openapi/handlers.d.ts.map +0 -1
  186. package/dist/middleware/openapi/index.d.ts +0 -12
  187. package/dist/middleware/openapi/index.d.ts.map +0 -1
  188. package/dist/middleware/process-ip/index.d.ts.map +0 -1
  189. package/dist/router.d.ts.map +0 -1
  190. package/dist/routes/consent.d.ts.map +0 -1
  191. package/dist/routes/index.d.ts +0 -10
  192. package/dist/routes/index.d.ts.map +0 -1
  193. package/dist/routes/init.d.ts.map +0 -1
  194. package/dist/routes/status.d.ts.map +0 -1
  195. package/dist/routes/subject.d.ts.map +0 -1
  196. package/dist/types/api.d.ts.map +0 -1
  197. package/dist/types/index.d.ts.map +0 -1
  198. package/dist/utils/create-telemetry-options.d.ts.map +0 -1
  199. package/dist/utils/env.d.ts.map +0 -1
  200. package/dist/utils/extract-error-message.d.ts.map +0 -1
  201. package/dist/utils/index.d.ts +0 -4
  202. package/dist/utils/index.d.ts.map +0 -1
  203. package/dist/utils/instrumentation.d.ts.map +0 -1
  204. package/dist/utils/logger.d.ts.map +0 -1
  205. package/dist/utils/metrics.d.ts.map +0 -1
  206. package/dist/version.d.ts +0 -2
  207. package/dist/version.d.ts.map +0 -1
  208. package/knip.json +0 -31
  209. package/rslib.config.ts +0 -93
  210. package/src/cache/adapters/cloudflare-kv.ts +0 -71
  211. package/src/cache/adapters/index.ts +0 -22
  212. package/src/cache/adapters/memory.ts +0 -111
  213. package/src/cache/adapters/upstash-redis.ts +0 -113
  214. package/src/cache/gvl-resolver.ts +0 -289
  215. package/src/cache/index.ts +0 -34
  216. package/src/cache/keys.ts +0 -68
  217. package/src/cache/types.ts +0 -66
  218. package/src/core.ts +0 -369
  219. package/src/db/migrator/index.ts +0 -80
  220. package/src/db/registry/consent-policy.test.ts +0 -451
  221. package/src/db/registry/consent-policy.ts +0 -82
  222. package/src/db/registry/consent-purpose.test.ts +0 -428
  223. package/src/db/registry/consent-purpose.ts +0 -61
  224. package/src/db/registry/domain.test.ts +0 -445
  225. package/src/db/registry/domain.ts +0 -91
  226. package/src/db/registry/index.ts +0 -14
  227. package/src/db/registry/subject.test.ts +0 -371
  228. package/src/db/registry/subject.ts +0 -126
  229. package/src/db/registry/types.ts +0 -10
  230. package/src/db/registry/utils/generate-id.test.ts +0 -216
  231. package/src/db/registry/utils/generate-id.ts +0 -133
  232. package/src/db/registry/utils.ts +0 -133
  233. package/src/db/schema/1.0.0/audit-log.ts +0 -15
  234. package/src/db/schema/1.0.0/consent-policy.ts +0 -14
  235. package/src/db/schema/1.0.0/consent-purpose.ts +0 -14
  236. package/src/db/schema/1.0.0/consent-record.ts +0 -10
  237. package/src/db/schema/1.0.0/consent.ts +0 -20
  238. package/src/db/schema/1.0.0/domain.ts +0 -12
  239. package/src/db/schema/1.0.0/index.ts +0 -48
  240. package/src/db/schema/1.0.0/subject.ts +0 -11
  241. package/src/db/schema/2.0.0/audit-log.ts +0 -18
  242. package/src/db/schema/2.0.0/consent-policy.ts +0 -28
  243. package/src/db/schema/2.0.0/consent-purpose.ts +0 -12
  244. package/src/db/schema/2.0.0/consent.ts +0 -28
  245. package/src/db/schema/2.0.0/domain.ts +0 -12
  246. package/src/db/schema/2.0.0/index.ts +0 -47
  247. package/src/db/schema/2.0.0/subject.ts +0 -13
  248. package/src/db/schema/index.ts +0 -15
  249. package/src/db/tenant-scope.test.ts +0 -747
  250. package/src/db/tenant-scope.ts +0 -103
  251. package/src/define-config.ts +0 -19
  252. package/src/handlers/consent/check.handler.ts +0 -126
  253. package/src/handlers/init/geo.test.ts +0 -317
  254. package/src/handlers/init/geo.ts +0 -195
  255. package/src/handlers/init/index.test.ts +0 -205
  256. package/src/handlers/init/index.ts +0 -114
  257. package/src/handlers/init/translations.test.ts +0 -121
  258. package/src/handlers/init/translations.ts +0 -69
  259. package/src/handlers/status/status.handler.test.ts +0 -155
  260. package/src/handlers/status/status.handler.ts +0 -51
  261. package/src/handlers/subject/get.handler.ts +0 -92
  262. package/src/handlers/subject/list.handler.ts +0 -92
  263. package/src/handlers/subject/patch.handler.ts +0 -119
  264. package/src/handlers/subject/post.handler.test.ts +0 -294
  265. package/src/handlers/subject/post.handler.ts +0 -268
  266. package/src/handlers/utils/consent-enrichment.test.ts +0 -380
  267. package/src/handlers/utils/consent-enrichment.ts +0 -218
  268. package/src/init.test.ts +0 -122
  269. package/src/init.ts +0 -88
  270. package/src/middleware/auth/index.ts +0 -11
  271. package/src/middleware/auth/validate-api-key.test.ts +0 -86
  272. package/src/middleware/auth/validate-api-key.ts +0 -107
  273. package/src/middleware/cors/cors.test.ts +0 -135
  274. package/src/middleware/cors/cors.ts +0 -186
  275. package/src/middleware/cors/is-origin-trusted.test.ts +0 -164
  276. package/src/middleware/cors/is-origin-trusted.ts +0 -130
  277. package/src/middleware/cors/process-cors.ts +0 -91
  278. package/src/middleware/openapi/config.ts +0 -29
  279. package/src/middleware/openapi/handlers.ts +0 -34
  280. package/src/middleware/process-ip/index.test.ts +0 -193
  281. package/src/middleware/process-ip/index.ts +0 -199
  282. package/src/router.ts +0 -15
  283. package/src/routes/consent.ts +0 -52
  284. package/src/routes/init.ts +0 -105
  285. package/src/routes/status.ts +0 -46
  286. package/src/routes/subject.ts +0 -152
  287. package/src/types/api.ts +0 -48
  288. package/src/types/index.ts +0 -391
  289. package/src/utils/create-telemetry-options.test.ts +0 -286
  290. package/src/utils/create-telemetry-options.ts +0 -229
  291. package/src/utils/env.ts +0 -84
  292. package/src/utils/extract-error-message.ts +0 -21
  293. package/src/utils/instrumentation.test.ts +0 -183
  294. package/src/utils/instrumentation.ts +0 -194
  295. package/src/utils/logger.ts +0 -41
  296. package/src/utils/metrics.test.ts +0 -311
  297. package/src/utils/metrics.ts +0 -402
  298. package/src/utils/telemetry-pii.test.ts +0 -323
  299. package/src/version.ts +0 -2
  300. package/tsconfig.json +0 -11
  301. package/vitest.config.ts +0 -28
  302. /package/{src/db/adapters/drizzle.ts → dist-types/db/adapters/drizzle.d.ts} +0 -0
  303. /package/{src/db/adapters/index.ts → dist-types/db/adapters/index.d.ts} +0 -0
  304. /package/{src/db/adapters/kysely.ts → dist-types/db/adapters/kysely.d.ts} +0 -0
  305. /package/{src/db/adapters/mongo.ts → dist-types/db/adapters/mongo.d.ts} +0 -0
  306. /package/{src/db/adapters/prisma.ts → dist-types/db/adapters/prisma.d.ts} +0 -0
  307. /package/{src/db/adapters/typeorm.ts → dist-types/db/adapters/typeorm.d.ts} +0 -0
  308. /package/{src/utils/index.ts → dist-types/utils/index.d.ts} +0 -0
@@ -51,6 +51,8 @@ var __webpack_exports__ = {};
51
51
  consentTable: ()=>consent_consentTable,
52
52
  subjectTable: ()=>subject_subjectTable,
53
53
  consentPolicyTable: ()=>consent_policy_consentPolicyTable,
54
+ runtimePolicyDecisionSchema: ()=>schema_.runtimePolicyDecisionSchema,
55
+ runtimePolicyDecisionTable: ()=>runtimePolicyDecisionTable,
54
56
  auditLogTable: ()=>audit_log_auditLogTable,
55
57
  LatestDB: ()=>LatestDB,
56
58
  consentPurposeTable: ()=>consent_purpose_consentPurposeTable,
@@ -225,6 +227,8 @@ var __webpack_exports__ = {};
225
227
  tcString: (0, schema_namespaceObject.column)('tcString', 'string').nullable(),
226
228
  uiSource: (0, schema_namespaceObject.column)('uiSource', 'string').nullable(),
227
229
  consentAction: (0, schema_namespaceObject.column)('consentAction', 'string').nullable(),
230
+ runtimePolicyDecisionId: (0, schema_namespaceObject.column)('runtimePolicyDecisionId', 'string').nullable(),
231
+ runtimePolicySource: (0, schema_namespaceObject.column)('runtimePolicySource', 'string').nullable(),
228
232
  tenantId: (0, schema_namespaceObject.column)('tenantId', 'string').nullable()
229
233
  });
230
234
  const consent_policy_consentPolicyTable = (0, schema_namespaceObject.table)('consentPolicy', {
@@ -251,6 +255,27 @@ var __webpack_exports__ = {};
251
255
  updatedAt: (0, schema_namespaceObject.column)('updatedAt', 'timestamp').defaultTo$('now'),
252
256
  tenantId: (0, schema_namespaceObject.column)('tenantId', 'string').nullable()
253
257
  });
258
+ const runtimePolicyDecisionTable = (0, schema_namespaceObject.table)('runtimePolicyDecision', {
259
+ id: (0, schema_namespaceObject.idColumn)('id', 'varchar(255)'),
260
+ tenantId: (0, schema_namespaceObject.column)('tenantId', 'string').nullable(),
261
+ policyId: (0, schema_namespaceObject.column)('policyId', 'string'),
262
+ fingerprint: (0, schema_namespaceObject.column)('fingerprint', 'string'),
263
+ matchedBy: (0, schema_namespaceObject.column)('matchedBy', 'string'),
264
+ countryCode: (0, schema_namespaceObject.column)('countryCode', 'string').nullable(),
265
+ regionCode: (0, schema_namespaceObject.column)('regionCode', 'string').nullable(),
266
+ jurisdiction: (0, schema_namespaceObject.column)('jurisdiction', 'string'),
267
+ language: (0, schema_namespaceObject.column)('language', 'string').nullable(),
268
+ model: (0, schema_namespaceObject.column)('model', 'string'),
269
+ policyI18n: (0, schema_namespaceObject.column)('policyI18n', 'json').nullable(),
270
+ uiMode: (0, schema_namespaceObject.column)('uiMode', 'string').nullable(),
271
+ bannerUi: (0, schema_namespaceObject.column)('bannerUi', 'json').nullable(),
272
+ dialogUi: (0, schema_namespaceObject.column)('dialogUi', 'json').nullable(),
273
+ categories: (0, schema_namespaceObject.column)('categories', 'json').nullable(),
274
+ preselectedCategories: (0, schema_namespaceObject.column)('preselectedCategories', 'json').nullable(),
275
+ proofConfig: (0, schema_namespaceObject.column)('proofConfig', 'json').nullable(),
276
+ dedupeKey: (0, schema_namespaceObject.column)('dedupeKey', 'string').unique(),
277
+ createdAt: (0, schema_namespaceObject.column)('createdAt', 'timestamp').defaultTo$('now')
278
+ });
254
279
  const subject_subjectTable = (0, schema_namespaceObject.table)('subject', {
255
280
  id: (0, schema_namespaceObject.idColumn)('id', 'varchar(255)'),
256
281
  externalId: (0, schema_namespaceObject.column)('externalId', 'string').nullable(),
@@ -265,6 +290,7 @@ var __webpack_exports__ = {};
265
290
  subject: subject_subjectTable,
266
291
  domain: domain_domainTable,
267
292
  consentPolicy: consent_policy_consentPolicyTable,
293
+ runtimePolicyDecision: runtimePolicyDecisionTable,
268
294
  consentPurpose: consent_purpose_consentPurposeTable,
269
295
  consent: consent_consentTable,
270
296
  auditLog: audit_log_auditLogTable
@@ -280,6 +306,9 @@ var __webpack_exports__ = {};
280
306
  consentPolicy: ({ many })=>({
281
307
  consents: many('consent')
282
308
  }),
309
+ runtimePolicyDecision: ({ many })=>({
310
+ consents: many('consent')
311
+ }),
283
312
  consentPurpose: ()=>({}),
284
313
  consent: ({ one })=>({
285
314
  subject: one('subject', [
@@ -293,6 +322,10 @@ var __webpack_exports__ = {};
293
322
  policy: one('consentPolicy', [
294
323
  'policyId',
295
324
  'id'
325
+ ]).foreignKey(),
326
+ runtimePolicyDecision: one('runtimePolicyDecision', [
327
+ 'runtimePolicyDecisionId',
328
+ 'id'
296
329
  ]).foreignKey()
297
330
  }),
298
331
  auditLog: ({ one })=>({
@@ -331,6 +364,8 @@ exports.consentTable = __webpack_exports__.consentTable;
331
364
  exports.domainSchema = __webpack_exports__.domainSchema;
332
365
  exports.domainTable = __webpack_exports__.domainTable;
333
366
  exports.policyTypeSchema = __webpack_exports__.policyTypeSchema;
367
+ exports.runtimePolicyDecisionSchema = __webpack_exports__.runtimePolicyDecisionSchema;
368
+ exports.runtimePolicyDecisionTable = __webpack_exports__.runtimePolicyDecisionTable;
334
369
  exports.subjectSchema = __webpack_exports__.subjectSchema;
335
370
  exports.subjectTable = __webpack_exports__.subjectTable;
336
371
  exports.v2 = __webpack_exports__.v2;
@@ -349,6 +384,8 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
349
384
  "domainSchema",
350
385
  "domainTable",
351
386
  "policyTypeSchema",
387
+ "runtimePolicyDecisionSchema",
388
+ "runtimePolicyDecisionTable",
352
389
  "subjectSchema",
353
390
  "subjectTable",
354
391
  "v2"
package/dist/db/schema.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { fumadb } from "fumadb";
2
2
  import { column, idColumn, schema, table } from "fumadb/schema";
3
- import { auditLogSchema, consentPolicySchema, consentPurposeSchema, consentSchema, domainSchema, policyTypeSchema, subjectSchema } from "@c15t/schema";
3
+ import { auditLogSchema, consentPolicySchema, consentPurposeSchema, consentSchema, domainSchema, policyTypeSchema, runtimePolicyDecisionSchema, subjectSchema } from "@c15t/schema";
4
4
  const auditLogTable = table('auditLog', {
5
5
  id: idColumn('id', 'varchar(255)'),
6
6
  entityType: column('entityType', 'string'),
@@ -166,6 +166,8 @@ const consent_consentTable = table('consent', {
166
166
  tcString: column('tcString', 'string').nullable(),
167
167
  uiSource: column('uiSource', 'string').nullable(),
168
168
  consentAction: column('consentAction', 'string').nullable(),
169
+ runtimePolicyDecisionId: column('runtimePolicyDecisionId', 'string').nullable(),
170
+ runtimePolicySource: column('runtimePolicySource', 'string').nullable(),
169
171
  tenantId: column('tenantId', 'string').nullable()
170
172
  });
171
173
  const consent_policy_consentPolicyTable = table('consentPolicy', {
@@ -192,6 +194,27 @@ const domain_domainTable = table('domain', {
192
194
  updatedAt: column('updatedAt', 'timestamp').defaultTo$('now'),
193
195
  tenantId: column('tenantId', 'string').nullable()
194
196
  });
197
+ const runtimePolicyDecisionTable = table('runtimePolicyDecision', {
198
+ id: idColumn('id', 'varchar(255)'),
199
+ tenantId: column('tenantId', 'string').nullable(),
200
+ policyId: column('policyId', 'string'),
201
+ fingerprint: column('fingerprint', 'string'),
202
+ matchedBy: column('matchedBy', 'string'),
203
+ countryCode: column('countryCode', 'string').nullable(),
204
+ regionCode: column('regionCode', 'string').nullable(),
205
+ jurisdiction: column('jurisdiction', 'string'),
206
+ language: column('language', 'string').nullable(),
207
+ model: column('model', 'string'),
208
+ policyI18n: column('policyI18n', 'json').nullable(),
209
+ uiMode: column('uiMode', 'string').nullable(),
210
+ bannerUi: column('bannerUi', 'json').nullable(),
211
+ dialogUi: column('dialogUi', 'json').nullable(),
212
+ categories: column('categories', 'json').nullable(),
213
+ preselectedCategories: column('preselectedCategories', 'json').nullable(),
214
+ proofConfig: column('proofConfig', 'json').nullable(),
215
+ dedupeKey: column('dedupeKey', 'string').unique(),
216
+ createdAt: column('createdAt', 'timestamp').defaultTo$('now')
217
+ });
195
218
  const subject_subjectTable = table('subject', {
196
219
  id: idColumn('id', 'varchar(255)'),
197
220
  externalId: column('externalId', 'string').nullable(),
@@ -206,6 +229,7 @@ const v2 = schema({
206
229
  subject: subject_subjectTable,
207
230
  domain: domain_domainTable,
208
231
  consentPolicy: consent_policy_consentPolicyTable,
232
+ runtimePolicyDecision: runtimePolicyDecisionTable,
209
233
  consentPurpose: consent_purpose_consentPurposeTable,
210
234
  consent: consent_consentTable,
211
235
  auditLog: audit_log_auditLogTable
@@ -221,6 +245,9 @@ const v2 = schema({
221
245
  consentPolicy: ({ many })=>({
222
246
  consents: many('consent')
223
247
  }),
248
+ runtimePolicyDecision: ({ many })=>({
249
+ consents: many('consent')
250
+ }),
224
251
  consentPurpose: ()=>({}),
225
252
  consent: ({ one })=>({
226
253
  subject: one('subject', [
@@ -234,6 +261,10 @@ const v2 = schema({
234
261
  policy: one('consentPolicy', [
235
262
  'policyId',
236
263
  'id'
264
+ ]).foreignKey(),
265
+ runtimePolicyDecision: one('runtimePolicyDecision', [
266
+ 'runtimePolicyDecisionId',
267
+ 'id'
237
268
  ]).foreignKey()
238
269
  }),
239
270
  auditLog: ({ one })=>({
@@ -257,4 +288,4 @@ const LatestDB = fumadb({
257
288
  v2
258
289
  ]
259
290
  });
260
- export { DB, LatestDB, PolicyTypeSchema, auditLogSchema, audit_log_auditLogTable as auditLogTable, consentPolicySchema, consent_policy_consentPolicyTable as consentPolicyTable, consentPurposeSchema, consent_purpose_consentPurposeTable as consentPurposeTable, consentSchema, consent_consentTable as consentTable, domainSchema, domain_domainTable as domainTable, policyTypeSchema, subjectSchema, subject_subjectTable as subjectTable, v2 };
291
+ export { DB, LatestDB, PolicyTypeSchema, auditLogSchema, audit_log_auditLogTable as auditLogTable, consentPolicySchema, consent_policy_consentPolicyTable as consentPolicyTable, consentPurposeSchema, consent_purpose_consentPurposeTable as consentPurposeTable, consentSchema, consent_consentTable as consentTable, domainSchema, domain_domainTable as domainTable, policyTypeSchema, runtimePolicyDecisionSchema, runtimePolicyDecisionTable, subjectSchema, subject_subjectTable as subjectTable, v2 };