@c15t/backend 2.0.0-rc.3 → 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 (314) hide show
  1. package/dist/cache.cjs +4 -4
  2. package/dist/cache.js +4 -4
  3. package/dist/core.cjs +845 -87
  4. package/dist/core.js +821 -87
  5. package/dist/db/schema.cjs +37 -0
  6. package/dist/db/schema.js +33 -2
  7. package/dist/edge.cjs +1106 -0
  8. package/dist/edge.js +1069 -0
  9. package/dist/router.cjs +621 -71
  10. package/dist/router.js +621 -71
  11. package/{dist → dist-types}/cache/adapters/cloudflare-kv.d.ts +0 -1
  12. package/{dist → dist-types}/cache/adapters/index.d.ts +0 -1
  13. package/{dist → dist-types}/cache/adapters/memory.d.ts +0 -1
  14. package/{dist → dist-types}/cache/adapters/upstash-redis.d.ts +0 -1
  15. package/{dist → dist-types}/cache/gvl-resolver.d.ts +1 -2
  16. package/{dist → dist-types}/cache/index.d.ts +0 -1
  17. package/{dist → dist-types}/cache/keys.d.ts +0 -1
  18. package/{dist → dist-types}/cache/types.d.ts +0 -1
  19. package/{dist → dist-types}/core.d.ts +8 -1
  20. package/{dist → dist-types}/db/migrator/index.d.ts +0 -1
  21. package/{dist → dist-types}/db/registry/consent-policy.d.ts +0 -1
  22. package/{dist → dist-types}/db/registry/consent-purpose.d.ts +0 -1
  23. package/{dist → dist-types}/db/registry/domain.d.ts +0 -1
  24. package/{dist → dist-types}/db/registry/index.d.ts +22 -2
  25. package/dist-types/db/registry/runtime-policy-decision.d.ts +60 -0
  26. package/{dist → dist-types}/db/registry/subject.d.ts +0 -1
  27. package/{dist → dist-types}/db/registry/types.d.ts +1 -2
  28. package/{dist → dist-types}/db/registry/utils/generate-id.d.ts +0 -1
  29. package/{dist → dist-types}/db/registry/utils.d.ts +0 -1
  30. package/{dist → dist-types}/db/schema/1.0.0/audit-log.d.ts +0 -1
  31. package/{dist → dist-types}/db/schema/1.0.0/consent-policy.d.ts +0 -1
  32. package/{dist → dist-types}/db/schema/1.0.0/consent-purpose.d.ts +0 -1
  33. package/{dist → dist-types}/db/schema/1.0.0/consent-record.d.ts +0 -1
  34. package/{dist → dist-types}/db/schema/1.0.0/consent.d.ts +1 -2
  35. package/{dist → dist-types}/db/schema/1.0.0/domain.d.ts +0 -1
  36. package/{dist → dist-types}/db/schema/1.0.0/index.d.ts +0 -1
  37. package/{dist → dist-types}/db/schema/1.0.0/subject.d.ts +0 -1
  38. package/{dist → dist-types}/db/schema/2.0.0/audit-log.d.ts +1 -2
  39. package/{dist → dist-types}/db/schema/2.0.0/consent-policy.d.ts +1 -2
  40. package/{dist → dist-types}/db/schema/2.0.0/consent-purpose.d.ts +1 -2
  41. package/{dist → dist-types}/db/schema/2.0.0/consent.d.ts +5 -2
  42. package/{dist → dist-types}/db/schema/2.0.0/domain.d.ts +1 -2
  43. package/{dist → dist-types}/db/schema/2.0.0/index.d.ts +432 -17
  44. package/dist-types/db/schema/2.0.0/runtime-policy-decision.d.ts +23 -0
  45. package/{dist → dist-types}/db/schema/2.0.0/subject.d.ts +1 -2
  46. package/{dist → dist-types}/db/schema/index.d.ts +862 -33
  47. package/{dist → dist-types}/db/tenant-scope.d.ts +0 -1
  48. package/dist-types/define-config.d.ts +17 -0
  49. package/dist-types/edge/index.d.ts +5 -0
  50. package/dist-types/edge/init-handler.d.ts +38 -0
  51. package/dist-types/edge/resolve-consent.d.ts +80 -0
  52. package/dist-types/edge/types.d.ts +13 -0
  53. package/{dist → dist-types}/handlers/consent/check.handler.d.ts +0 -1
  54. package/{src/handlers/consent/index.ts → dist-types/handlers/consent/index.d.ts} +0 -1
  55. package/{dist → dist-types}/handlers/init/geo.d.ts +2 -3
  56. package/{dist → dist-types}/handlers/init/index.d.ts +4 -5
  57. package/dist-types/handlers/init/policy.d.ts +26 -0
  58. package/dist-types/handlers/init/resolve-init.d.ts +44 -0
  59. package/dist-types/handlers/init/translations.d.ts +48 -0
  60. package/dist-types/handlers/policy/snapshot.d.ts +99 -0
  61. package/{src/handlers/status/index.ts → dist-types/handlers/status/index.d.ts} +0 -1
  62. package/{dist → dist-types}/handlers/status/status.handler.d.ts +0 -1
  63. package/{dist → dist-types}/handlers/subject/get.handler.d.ts +0 -1
  64. package/{src/handlers/subject/index.ts → dist-types/handlers/subject/index.d.ts} +0 -1
  65. package/{dist → dist-types}/handlers/subject/list.handler.d.ts +0 -1
  66. package/{dist → dist-types}/handlers/subject/patch.handler.d.ts +0 -1
  67. package/{dist → dist-types}/handlers/subject/post.handler.d.ts +12 -1
  68. package/{dist → dist-types}/handlers/utils/consent-enrichment.d.ts +0 -1
  69. package/{dist → dist-types}/init.d.ts +4 -7
  70. package/{dist → dist-types}/middleware/auth/index.d.ts +0 -1
  71. package/{dist → dist-types}/middleware/auth/validate-api-key.d.ts +0 -1
  72. package/{dist → dist-types}/middleware/cors/cors.d.ts +0 -1
  73. package/{src/middleware/cors/index.ts → dist-types/middleware/cors/index.d.ts} +0 -1
  74. package/{dist → dist-types}/middleware/cors/is-origin-trusted.d.ts +1 -2
  75. package/{dist → dist-types}/middleware/cors/process-cors.d.ts +0 -1
  76. package/{dist → dist-types}/middleware/openapi/config.d.ts +0 -1
  77. package/{dist → dist-types}/middleware/openapi/handlers.d.ts +0 -1
  78. package/{src/middleware/openapi/index.ts → dist-types/middleware/openapi/index.d.ts} +0 -1
  79. package/{dist → dist-types}/middleware/process-ip/index.d.ts +0 -1
  80. package/dist-types/policies/builder.d.ts +127 -0
  81. package/dist-types/policies/defaults.d.ts +2 -0
  82. package/dist-types/policies/matchers.d.ts +3 -0
  83. package/{dist → dist-types}/router.d.ts +0 -1
  84. package/{dist → dist-types}/routes/consent.d.ts +0 -1
  85. package/{src/routes/index.ts → dist-types/routes/index.d.ts} +0 -1
  86. package/{dist → dist-types}/routes/init.d.ts +0 -1
  87. package/{dist → dist-types}/routes/status.d.ts +0 -1
  88. package/{dist → dist-types}/routes/subject.d.ts +0 -1
  89. package/{dist → dist-types}/types/api.d.ts +0 -1
  90. package/dist-types/types/index.d.ts +443 -0
  91. package/dist-types/utils/background.d.ts +6 -0
  92. package/{dist → dist-types}/utils/create-telemetry-options.d.ts +1 -2
  93. package/{dist → dist-types}/utils/env.d.ts +0 -1
  94. package/{dist → dist-types}/utils/extract-error-message.d.ts +0 -1
  95. package/{dist → dist-types}/utils/instrumentation.d.ts +0 -1
  96. package/{dist → dist-types}/utils/logger.d.ts +1 -2
  97. package/{dist → dist-types}/utils/metrics.d.ts +0 -1
  98. package/dist-types/version.d.ts +1 -0
  99. package/docs/README.md +49 -0
  100. package/docs/api/configuration.md +197 -0
  101. package/docs/api/endpoints.md +211 -0
  102. package/docs/guides/caching.md +85 -0
  103. package/docs/guides/database-setup.md +128 -0
  104. package/docs/guides/edge-deployment.md +248 -0
  105. package/docs/guides/framework-integration.md +142 -0
  106. package/docs/guides/iab-tcf.md +89 -0
  107. package/docs/guides/observability.md +96 -0
  108. package/docs/guides/policy-packs.md +396 -0
  109. package/docs/quickstart.md +129 -0
  110. package/package.json +37 -23
  111. package/.turbo/turbo-build.log +0 -49
  112. package/CHANGELOG.md +0 -115
  113. package/dist/cache/adapters/cloudflare-kv.d.ts.map +0 -1
  114. package/dist/cache/adapters/index.d.ts.map +0 -1
  115. package/dist/cache/adapters/memory.d.ts.map +0 -1
  116. package/dist/cache/adapters/upstash-redis.d.ts.map +0 -1
  117. package/dist/cache/gvl-resolver.d.ts.map +0 -1
  118. package/dist/cache/index.d.ts.map +0 -1
  119. package/dist/cache/keys.d.ts.map +0 -1
  120. package/dist/cache/types.d.ts.map +0 -1
  121. package/dist/core.d.ts.map +0 -1
  122. package/dist/db/adapters/drizzle.d.ts +0 -2
  123. package/dist/db/adapters/drizzle.d.ts.map +0 -1
  124. package/dist/db/adapters/index.d.ts +0 -2
  125. package/dist/db/adapters/index.d.ts.map +0 -1
  126. package/dist/db/adapters/kysely.d.ts +0 -2
  127. package/dist/db/adapters/kysely.d.ts.map +0 -1
  128. package/dist/db/adapters/mongo.d.ts +0 -2
  129. package/dist/db/adapters/mongo.d.ts.map +0 -1
  130. package/dist/db/adapters/prisma.d.ts +0 -2
  131. package/dist/db/adapters/prisma.d.ts.map +0 -1
  132. package/dist/db/adapters/typeorm.d.ts +0 -2
  133. package/dist/db/adapters/typeorm.d.ts.map +0 -1
  134. package/dist/db/migrator/index.d.ts.map +0 -1
  135. package/dist/db/registry/consent-policy.d.ts.map +0 -1
  136. package/dist/db/registry/consent-purpose.d.ts.map +0 -1
  137. package/dist/db/registry/domain.d.ts.map +0 -1
  138. package/dist/db/registry/index.d.ts.map +0 -1
  139. package/dist/db/registry/subject.d.ts.map +0 -1
  140. package/dist/db/registry/types.d.ts.map +0 -1
  141. package/dist/db/registry/utils/generate-id.d.ts.map +0 -1
  142. package/dist/db/registry/utils.d.ts.map +0 -1
  143. package/dist/db/schema/1.0.0/audit-log.d.ts.map +0 -1
  144. package/dist/db/schema/1.0.0/consent-policy.d.ts.map +0 -1
  145. package/dist/db/schema/1.0.0/consent-purpose.d.ts.map +0 -1
  146. package/dist/db/schema/1.0.0/consent-record.d.ts.map +0 -1
  147. package/dist/db/schema/1.0.0/consent.d.ts.map +0 -1
  148. package/dist/db/schema/1.0.0/domain.d.ts.map +0 -1
  149. package/dist/db/schema/1.0.0/index.d.ts.map +0 -1
  150. package/dist/db/schema/1.0.0/subject.d.ts.map +0 -1
  151. package/dist/db/schema/2.0.0/audit-log.d.ts.map +0 -1
  152. package/dist/db/schema/2.0.0/consent-policy.d.ts.map +0 -1
  153. package/dist/db/schema/2.0.0/consent-purpose.d.ts.map +0 -1
  154. package/dist/db/schema/2.0.0/consent.d.ts.map +0 -1
  155. package/dist/db/schema/2.0.0/domain.d.ts.map +0 -1
  156. package/dist/db/schema/2.0.0/index.d.ts.map +0 -1
  157. package/dist/db/schema/2.0.0/subject.d.ts.map +0 -1
  158. package/dist/db/schema/index.d.ts.map +0 -1
  159. package/dist/db/tenant-scope.d.ts.map +0 -1
  160. package/dist/define-config.d.ts +0 -5
  161. package/dist/define-config.d.ts.map +0 -1
  162. package/dist/handlers/consent/check.handler.d.ts.map +0 -1
  163. package/dist/handlers/consent/index.d.ts +0 -12
  164. package/dist/handlers/consent/index.d.ts.map +0 -1
  165. package/dist/handlers/init/geo.d.ts.map +0 -1
  166. package/dist/handlers/init/index.d.ts.map +0 -1
  167. package/dist/handlers/init/translations.d.ts +0 -28
  168. package/dist/handlers/init/translations.d.ts.map +0 -1
  169. package/dist/handlers/status/index.d.ts +0 -7
  170. package/dist/handlers/status/index.d.ts.map +0 -1
  171. package/dist/handlers/status/status.handler.d.ts.map +0 -1
  172. package/dist/handlers/subject/get.handler.d.ts.map +0 -1
  173. package/dist/handlers/subject/index.d.ts +0 -10
  174. package/dist/handlers/subject/index.d.ts.map +0 -1
  175. package/dist/handlers/subject/list.handler.d.ts.map +0 -1
  176. package/dist/handlers/subject/patch.handler.d.ts.map +0 -1
  177. package/dist/handlers/subject/post.handler.d.ts.map +0 -1
  178. package/dist/handlers/utils/consent-enrichment.d.ts.map +0 -1
  179. package/dist/init.d.ts.map +0 -1
  180. package/dist/middleware/auth/index.d.ts.map +0 -1
  181. package/dist/middleware/auth/validate-api-key.d.ts.map +0 -1
  182. package/dist/middleware/cors/cors.d.ts.map +0 -1
  183. package/dist/middleware/cors/index.d.ts +0 -30
  184. package/dist/middleware/cors/index.d.ts.map +0 -1
  185. package/dist/middleware/cors/is-origin-trusted.d.ts.map +0 -1
  186. package/dist/middleware/cors/process-cors.d.ts.map +0 -1
  187. package/dist/middleware/openapi/config.d.ts.map +0 -1
  188. package/dist/middleware/openapi/handlers.d.ts.map +0 -1
  189. package/dist/middleware/openapi/index.d.ts +0 -12
  190. package/dist/middleware/openapi/index.d.ts.map +0 -1
  191. package/dist/middleware/process-ip/index.d.ts.map +0 -1
  192. package/dist/router.d.ts.map +0 -1
  193. package/dist/routes/consent.d.ts.map +0 -1
  194. package/dist/routes/index.d.ts +0 -10
  195. package/dist/routes/index.d.ts.map +0 -1
  196. package/dist/routes/init.d.ts.map +0 -1
  197. package/dist/routes/status.d.ts.map +0 -1
  198. package/dist/routes/subject.d.ts.map +0 -1
  199. package/dist/types/api.d.ts.map +0 -1
  200. package/dist/types/index.d.ts +0 -263
  201. package/dist/types/index.d.ts.map +0 -1
  202. package/dist/utils/create-telemetry-options.d.ts.map +0 -1
  203. package/dist/utils/env.d.ts.map +0 -1
  204. package/dist/utils/extract-error-message.d.ts.map +0 -1
  205. package/dist/utils/index.d.ts +0 -4
  206. package/dist/utils/index.d.ts.map +0 -1
  207. package/dist/utils/instrumentation.d.ts.map +0 -1
  208. package/dist/utils/logger.d.ts.map +0 -1
  209. package/dist/utils/metrics.d.ts.map +0 -1
  210. package/dist/version.d.ts +0 -2
  211. package/dist/version.d.ts.map +0 -1
  212. package/knip.json +0 -31
  213. package/rslib.config.ts +0 -93
  214. package/src/cache/adapters/cloudflare-kv.ts +0 -71
  215. package/src/cache/adapters/index.ts +0 -22
  216. package/src/cache/adapters/memory.ts +0 -111
  217. package/src/cache/adapters/upstash-redis.ts +0 -113
  218. package/src/cache/gvl-resolver.ts +0 -289
  219. package/src/cache/index.ts +0 -34
  220. package/src/cache/keys.ts +0 -68
  221. package/src/cache/types.ts +0 -66
  222. package/src/core.ts +0 -369
  223. package/src/db/migrator/index.ts +0 -80
  224. package/src/db/registry/consent-policy.test.ts +0 -451
  225. package/src/db/registry/consent-policy.ts +0 -82
  226. package/src/db/registry/consent-purpose.test.ts +0 -428
  227. package/src/db/registry/consent-purpose.ts +0 -61
  228. package/src/db/registry/domain.test.ts +0 -445
  229. package/src/db/registry/domain.ts +0 -91
  230. package/src/db/registry/index.ts +0 -14
  231. package/src/db/registry/subject.test.ts +0 -371
  232. package/src/db/registry/subject.ts +0 -126
  233. package/src/db/registry/types.ts +0 -10
  234. package/src/db/registry/utils/generate-id.test.ts +0 -216
  235. package/src/db/registry/utils/generate-id.ts +0 -133
  236. package/src/db/registry/utils.ts +0 -133
  237. package/src/db/schema/1.0.0/audit-log.ts +0 -15
  238. package/src/db/schema/1.0.0/consent-policy.ts +0 -14
  239. package/src/db/schema/1.0.0/consent-purpose.ts +0 -14
  240. package/src/db/schema/1.0.0/consent-record.ts +0 -10
  241. package/src/db/schema/1.0.0/consent.ts +0 -20
  242. package/src/db/schema/1.0.0/domain.ts +0 -12
  243. package/src/db/schema/1.0.0/index.ts +0 -48
  244. package/src/db/schema/1.0.0/subject.ts +0 -11
  245. package/src/db/schema/2.0.0/audit-log.ts +0 -18
  246. package/src/db/schema/2.0.0/consent-policy.ts +0 -28
  247. package/src/db/schema/2.0.0/consent-purpose.ts +0 -12
  248. package/src/db/schema/2.0.0/consent.ts +0 -28
  249. package/src/db/schema/2.0.0/domain.ts +0 -12
  250. package/src/db/schema/2.0.0/index.ts +0 -47
  251. package/src/db/schema/2.0.0/subject.ts +0 -13
  252. package/src/db/schema/index.ts +0 -15
  253. package/src/db/tenant-scope.test.ts +0 -747
  254. package/src/db/tenant-scope.ts +0 -103
  255. package/src/define-config.ts +0 -5
  256. package/src/handlers/consent/check.handler.ts +0 -126
  257. package/src/handlers/init/geo.test.ts +0 -317
  258. package/src/handlers/init/geo.ts +0 -195
  259. package/src/handlers/init/index.test.ts +0 -205
  260. package/src/handlers/init/index.ts +0 -114
  261. package/src/handlers/init/translations.test.ts +0 -121
  262. package/src/handlers/init/translations.ts +0 -72
  263. package/src/handlers/status/status.handler.test.ts +0 -155
  264. package/src/handlers/status/status.handler.ts +0 -51
  265. package/src/handlers/subject/get.handler.ts +0 -92
  266. package/src/handlers/subject/list.handler.ts +0 -92
  267. package/src/handlers/subject/patch.handler.ts +0 -119
  268. package/src/handlers/subject/post.handler.test.ts +0 -294
  269. package/src/handlers/subject/post.handler.ts +0 -268
  270. package/src/handlers/utils/consent-enrichment.test.ts +0 -380
  271. package/src/handlers/utils/consent-enrichment.ts +0 -218
  272. package/src/init.test.ts +0 -126
  273. package/src/init.ts +0 -87
  274. package/src/middleware/auth/index.ts +0 -11
  275. package/src/middleware/auth/validate-api-key.test.ts +0 -86
  276. package/src/middleware/auth/validate-api-key.ts +0 -107
  277. package/src/middleware/cors/cors.test.ts +0 -135
  278. package/src/middleware/cors/cors.ts +0 -186
  279. package/src/middleware/cors/is-origin-trusted.test.ts +0 -164
  280. package/src/middleware/cors/is-origin-trusted.ts +0 -130
  281. package/src/middleware/cors/process-cors.ts +0 -91
  282. package/src/middleware/openapi/config.ts +0 -29
  283. package/src/middleware/openapi/handlers.ts +0 -34
  284. package/src/middleware/process-ip/index.test.ts +0 -195
  285. package/src/middleware/process-ip/index.ts +0 -199
  286. package/src/router.ts +0 -15
  287. package/src/routes/consent.ts +0 -52
  288. package/src/routes/init.ts +0 -105
  289. package/src/routes/status.ts +0 -46
  290. package/src/routes/subject.ts +0 -152
  291. package/src/types/api.ts +0 -48
  292. package/src/types/index.ts +0 -297
  293. package/src/utils/create-telemetry-options.test.ts +0 -302
  294. package/src/utils/create-telemetry-options.ts +0 -229
  295. package/src/utils/env.ts +0 -84
  296. package/src/utils/extract-error-message.ts +0 -21
  297. package/src/utils/instrumentation.test.ts +0 -185
  298. package/src/utils/instrumentation.ts +0 -196
  299. package/src/utils/logger.ts +0 -41
  300. package/src/utils/metrics.test.ts +0 -323
  301. package/src/utils/metrics.ts +0 -402
  302. package/src/utils/telemetry-pii.test.ts +0 -325
  303. package/src/version.ts +0 -2
  304. package/tsconfig.json +0 -11
  305. package/vitest.config.ts +0 -28
  306. /package/dist/{types.cjs → types/index.cjs} +0 -0
  307. /package/dist/{types.js → types/index.js} +0 -0
  308. /package/{src/db/adapters/drizzle.ts → dist-types/db/adapters/drizzle.d.ts} +0 -0
  309. /package/{src/db/adapters/index.ts → dist-types/db/adapters/index.d.ts} +0 -0
  310. /package/{src/db/adapters/kysely.ts → dist-types/db/adapters/kysely.d.ts} +0 -0
  311. /package/{src/db/adapters/mongo.ts → dist-types/db/adapters/mongo.d.ts} +0 -0
  312. /package/{src/db/adapters/prisma.ts → dist-types/db/adapters/prisma.d.ts} +0 -0
  313. /package/{src/db/adapters/typeorm.ts → dist-types/db/adapters/typeorm.d.ts} +0 -0
  314. /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 };