@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 @@
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../src/db/schema/definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAgB3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAAC,SAAS,SAAS,MAAM,YAAY,IAClE,eAAe,CAAC,SAAS,CAAC,CAAC;AAE5B;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,CAAC,SAAS,SAAS,MAAM,YAAY,IAAI,IAAI,CACzE,eAAe,CAAC,SAAS,CAAC,EAC1B,IAAI,GAAG,WAAW,GAAG,WAAW,CAChC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,SAAS,MAAM,YAAY,EACxE,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,WAAW,GAClB,kBAAkB,CAAC,SAAS,CAAC,CAU/B"}
@@ -0,0 +1,4 @@
1
+ export * from './registry';
2
+ export * from './schema';
3
+ export * from './table';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,169 @@
1
+ import type { GenericEndpointContext, RegistryContext } from '../../../types';
2
+ import type { Domain } from './schema';
3
+ export interface FindDomainParams {
4
+ name?: string;
5
+ includeInactive?: boolean;
6
+ }
7
+ /**
8
+ * Creates and returns a set of domain-related adapter methods to interact with the database.
9
+ * These methods provide a consistent interface for creating, finding, and updating
10
+ * domain records while applying hooks and enforcing data validation rules.
11
+ *
12
+ * @param adapter - The database adapter used for direct database operations
13
+ * @param ctx - The context object containing the database adapter, hooks, and options
14
+ * @returns An object containing type-safe domain operations
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const domainAdapter = createDomainAdapter(
19
+ * databaseAdapter,
20
+ * createWithHooks,
21
+ * updateWithHooks,
22
+ * c15tOptions
23
+ * );
24
+ *
25
+ * // Create a new domain
26
+ * const domain = await domainAdapter.createDomain({
27
+ * name: 'example.com',
28
+ * description: 'Example company website',
29
+ * isVerified: true
30
+ * });
31
+ * ```
32
+ */
33
+ export declare function domainRegistry({ adapter, ...ctx }: RegistryContext): {
34
+ /**
35
+ * Creates a new domain record in the database.
36
+ * Automatically sets creation timestamp and applies any
37
+ * configured hooks during the creation process.
38
+ *
39
+ * @param domain - Domain data to create (without id and timestamp)
40
+ * @param context - Optional endpoint context for hooks
41
+ * @returns The created domain with all fields populated
42
+ * @throws May throw an error if hooks prevent creation or if database operations fail
43
+ */
44
+ createDomain: (domain: Omit<Domain, "id" | "createdAt" | "updatedAt"> & Partial<Domain>, context?: GenericEndpointContext) => Promise<{
45
+ id: string;
46
+ createdAt: Date;
47
+ isActive: boolean;
48
+ updatedAt: Date;
49
+ name: string;
50
+ allowedOrigins: string[];
51
+ isVerified: boolean;
52
+ description?: string | undefined;
53
+ }>;
54
+ /**
55
+ * Finds an existing domain or creates a new one if needed.
56
+ *
57
+ * @param name - The domain name to find or create
58
+ * @param context - Optional endpoint context for hooks
59
+ * @returns The existing or newly created domain
60
+ * @throws APIError if domain creation fails
61
+ */
62
+ findOrCreateDomain: (name: string, context?: GenericEndpointContext) => Promise<{
63
+ id: string;
64
+ createdAt: Date;
65
+ isActive: boolean;
66
+ updatedAt: Date;
67
+ name: string;
68
+ allowedOrigins: string[];
69
+ isVerified: boolean;
70
+ description?: string | undefined;
71
+ }>;
72
+ /**
73
+ * Finds all domains, optionally including inactive ones.
74
+ * Returns domains with processed output fields according to the schema configuration.
75
+ *
76
+ * @param params - Optional parameters to filter the results
77
+ * @returns Array of domains matching the criteria
78
+ */
79
+ findDomains: (params?: FindDomainParams) => Promise<{
80
+ id: string;
81
+ createdAt: Date;
82
+ isActive: boolean;
83
+ updatedAt: Date;
84
+ name: string;
85
+ allowedOrigins: string[];
86
+ isVerified: boolean;
87
+ description?: string | undefined;
88
+ }[]>;
89
+ /**
90
+ * Finds a domain by its name.
91
+ * Returns the domain with processed output fields according to the schema configuration.
92
+ *
93
+ * @param name - The domain name to search for
94
+ * @returns The domain object if found, null otherwise
95
+ */
96
+ findDomain: (name: string) => Promise<{
97
+ id: string;
98
+ createdAt: Date;
99
+ isActive: boolean;
100
+ updatedAt: Date;
101
+ name: string;
102
+ allowedOrigins: string[];
103
+ isVerified: boolean;
104
+ description?: string | undefined;
105
+ } | null>;
106
+ /**
107
+ * Finds a domain by its unique ID.
108
+ * Returns the domain with processed output fields according to the schema configuration.
109
+ *
110
+ * @param domainId - The unique identifier of the domain
111
+ * @returns The domain object if found, null otherwise
112
+ */
113
+ findDomainById: (domainId: string) => Promise<{
114
+ id: string;
115
+ createdAt: Date;
116
+ isActive: boolean;
117
+ updatedAt: Date;
118
+ name: string;
119
+ allowedOrigins: string[];
120
+ isVerified: boolean;
121
+ description?: string | undefined;
122
+ } | null>;
123
+ /**
124
+ * Finds a domain by its name.
125
+ * Returns the domain with processed output fields according to the schema configuration.
126
+ *
127
+ * @param name - The domain name to search for
128
+ * @returns The domain object if found, null otherwise
129
+ */
130
+ findDomainByName: (name: string) => Promise<{
131
+ id: string;
132
+ createdAt: Date;
133
+ isActive: boolean;
134
+ updatedAt: Date;
135
+ name: string;
136
+ allowedOrigins: string[];
137
+ isVerified: boolean;
138
+ description?: string | undefined;
139
+ } | null>;
140
+ /**
141
+ * Updates an existing domain record by ID.
142
+ * Applies any configured hooks during the update process and
143
+ * processes the output according to schema configuration.
144
+ *
145
+ * @param domainId - The unique identifier of the domain to update
146
+ * @param data - The fields to update on the domain record
147
+ * @param context - Optional endpoint context for hooks
148
+ * @returns The updated domain if successful, null if not found or hooks prevented update
149
+ */
150
+ updateDomain: (domainId: string, data: Partial<Domain>, context?: GenericEndpointContext) => Promise<{
151
+ id: string;
152
+ createdAt: Date;
153
+ isActive: boolean;
154
+ updatedAt: Date;
155
+ name: string;
156
+ allowedOrigins: string[];
157
+ isVerified: boolean;
158
+ description?: string | undefined;
159
+ } | null>;
160
+ /**
161
+ * Verifies if a domain exists and is active.
162
+ * Useful for checking domain validity during API requests.
163
+ *
164
+ * @param domainName - The domain name to verify
165
+ * @returns True if the domain exists and is active, false otherwise
166
+ */
167
+ verifyDomain: (domainName: string) => Promise<boolean>;
168
+ };
169
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/domain/registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,EAAE,eAAe;IAGjE;;;;;;;;;OASG;2BAEM,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,YAC9D,sBAAsB;;;;;;;;;;IAoBjC;;;;;;;OAOG;+BAEI,MAAM,YACF,sBAAsB;;;;;;;;;;IA8BjC;;;;;;OAMG;2BACyB,gBAAgB;;;;;;;;;;IA+B5C;;;;;;OAMG;uBACsB,MAAM;;;;;;;;;;IAQ/B;;;;;;OAMG;+BAC8B,MAAM;;;;;;;;;;IAevC;;;;;;OAMG;6BAC4B,MAAM;;;;;;;;;;IAerC;;;;;;;;;OASG;6BAEQ,MAAM,QACV,OAAO,CAAC,MAAM,CAAC,YACX,sBAAsB;;;;;;;;;;IAsBjC;;;;;;OAMG;+BAC8B,MAAM;EAmBxC"}
@@ -0,0 +1,60 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema for validating domain entities.
4
+ *
5
+ * This defines the structure and validation rules for domain records:
6
+ * - Required fields: name
7
+ * - Optional fields: description, allowedOrigins
8
+ * - Default value of true for isActive and isVerified
9
+ * - Default current date/time for creation timestamp
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const domainData = {
14
+ * id: 'dom_x1pftyoufsm7xgo1kv',
15
+ * name: 'example.com',
16
+ * description: 'Company website',
17
+ * allowedOrigins: ['https://app.example.com', 'https://admin.example.com']
18
+ * };
19
+ *
20
+ * // Validate and parse the domain data
21
+ * const validDomain = domainSchema.parse(domainData);
22
+ * ```
23
+ */
24
+ export declare const domainSchema: z.ZodObject<{
25
+ id: z.ZodString;
26
+ name: z.ZodString;
27
+ description: z.ZodOptional<z.ZodString>;
28
+ allowedOrigins: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
29
+ isVerified: z.ZodDefault<z.ZodBoolean>;
30
+ isActive: z.ZodDefault<z.ZodBoolean>;
31
+ createdAt: z.ZodDefault<z.ZodDate>;
32
+ updatedAt: z.ZodDefault<z.ZodDate>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ id: string;
35
+ createdAt: Date;
36
+ isActive: boolean;
37
+ updatedAt: Date;
38
+ name: string;
39
+ allowedOrigins: string[];
40
+ isVerified: boolean;
41
+ description?: string | undefined;
42
+ }, {
43
+ id: string;
44
+ name: string;
45
+ createdAt?: Date | undefined;
46
+ isActive?: boolean | undefined;
47
+ updatedAt?: Date | undefined;
48
+ description?: string | undefined;
49
+ allowedOrigins?: string[] | undefined;
50
+ isVerified?: boolean | undefined;
51
+ }>;
52
+ /**
53
+ * Type definition for Domain
54
+ *
55
+ * This type represents the structure of a domain record
56
+ * as defined by the domainSchema. It includes all fields
57
+ * that are part of the domain entity.
58
+ */
59
+ export type Domain = z.infer<typeof domainSchema>;
60
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/domain/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;EASvB,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -0,0 +1,140 @@
1
+ import type { Field } from '../../core/fields';
2
+ import type { C15TOptions } from '../../../types';
3
+ /**
4
+ * Generates the database table configuration for the domain entity.
5
+ *
6
+ * This function creates a schema definition that includes all standard domain 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 domain table customizations
11
+ * @param domainFields - Additional fields from plugins to include in the domain table
12
+ * @returns A complete table schema definition with fields, model name, and metadata
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const domainTableSchema = getDomainTable(c15tOptions);
17
+ * // Use the schema for migrations or data access
18
+ * const migrationPlans = generateMigrations(domainTableSchema);
19
+ * ```
20
+ */
21
+ export declare function getDomainTable(options: C15TOptions, domainFields?: Record<string, Field>): {
22
+ /**
23
+ * The name of the domain table in the database, configurable through options
24
+ */
25
+ entityName: string;
26
+ /**
27
+ * The ID prefix for the domain table
28
+ * Used to generate unique prefixed IDs for domains
29
+ */
30
+ entityPrefix: string;
31
+ /**
32
+ * The schema for the domain table
33
+ */
34
+ schema: import("zod").ZodObject<{
35
+ id: import("zod").ZodString;
36
+ name: import("zod").ZodString;
37
+ description: import("zod").ZodOptional<import("zod").ZodString>;
38
+ allowedOrigins: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>>;
39
+ isVerified: import("zod").ZodDefault<import("zod").ZodBoolean>;
40
+ isActive: import("zod").ZodDefault<import("zod").ZodBoolean>;
41
+ createdAt: import("zod").ZodDefault<import("zod").ZodDate>;
42
+ updatedAt: import("zod").ZodDefault<import("zod").ZodDate>;
43
+ }, "strip", import("zod").ZodTypeAny, {
44
+ id: string;
45
+ createdAt: Date;
46
+ isActive: boolean;
47
+ updatedAt: Date;
48
+ name: string;
49
+ allowedOrigins: string[];
50
+ isVerified: boolean;
51
+ description?: string | undefined;
52
+ }, {
53
+ id: string;
54
+ name: string;
55
+ createdAt?: Date | undefined;
56
+ isActive?: boolean | undefined;
57
+ updatedAt?: Date | undefined;
58
+ description?: string | undefined;
59
+ allowedOrigins?: string[] | undefined;
60
+ isVerified?: boolean | undefined;
61
+ }>;
62
+ /**
63
+ * Field definitions for the domain table
64
+ */
65
+ fields: {
66
+ /**
67
+ * Domain name (e.g., "example.com")
68
+ * This is the primary identifier for the domain in addition to its ID
69
+ */
70
+ name: {
71
+ type: string;
72
+ required: boolean;
73
+ unique: boolean;
74
+ fieldName: string;
75
+ };
76
+ /**
77
+ * Optional human-readable description of the domain
78
+ */
79
+ description: {
80
+ type: string;
81
+ required: boolean;
82
+ fieldName: string;
83
+ };
84
+ /**
85
+ * List of additional origins that are allowed to access resources for this domain
86
+ * Stored as a JSON array of strings
87
+ */
88
+ allowedOrigins: {
89
+ type: string;
90
+ defaultValue: () => never[];
91
+ required: boolean;
92
+ fieldName: string;
93
+ };
94
+ /**
95
+ * Whether domain ownership has been verified
96
+ * Default: true
97
+ */
98
+ isVerified: {
99
+ type: string;
100
+ defaultValue: boolean;
101
+ required: boolean;
102
+ fieldName: string;
103
+ };
104
+ /**
105
+ * Whether this domain is currently active
106
+ * Default: true
107
+ */
108
+ isActive: {
109
+ type: string;
110
+ defaultValue: boolean;
111
+ required: boolean;
112
+ fieldName: string;
113
+ };
114
+ /**
115
+ * When the domain record was created
116
+ * Automatically set to current time by default
117
+ */
118
+ createdAt: {
119
+ type: string;
120
+ defaultValue: () => Date;
121
+ required: boolean;
122
+ fieldName: string;
123
+ };
124
+ /**
125
+ * When the domain record was last updated
126
+ * Optional, set during updates
127
+ */
128
+ updatedAt: {
129
+ type: string;
130
+ required: boolean;
131
+ fieldName: string;
132
+ };
133
+ };
134
+ /**
135
+ * Execution order during migrations (lower numbers run first)
136
+ * Domain table needs to be created before tables that reference it
137
+ */
138
+ order: number;
139
+ };
140
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/domain/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAC7B,OAAO,EAAE,WAAW,EACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAKnC;;OAEG;;IAGH;;;OAGG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;OAEG;;QAEF;;;WAGG;;;;;;;QAQH;;WAEG;;;;;;QAOH;;;WAGG;;;;;;;QAQH;;;WAGG;;;;;;;QAQH;;;WAGG;;;;;;;QAQH;;;WAGG;;;;;;;QAQH;;;WAGG;;;;;;;IAcJ;;;OAGG;;EAGJ"}
@@ -0,0 +1,27 @@
1
+ import type { ActiveEntityConfig } from '../types';
2
+ /**
3
+ * Domain entity configuration
4
+ * @default entityName: "domain", entityPrefix: "dom"
5
+ */
6
+ export interface DomainEntityConfig extends ActiveEntityConfig {
7
+ fields?: Record<string, string> & {
8
+ id?: string;
9
+ domain: string;
10
+ /**
11
+ * Indicates if the domain is a pattern (e.g., "true"/"false")
12
+ * When true, the domain string will be interpreted as a pattern
13
+ */
14
+ isPattern?: string;
15
+ /**
16
+ * The type of pattern matching to apply
17
+ * Valid values: "regex", "wildcard", "prefix", "suffix", "exact"
18
+ */
19
+ patternType?: string;
20
+ parentDomainId?: string;
21
+ description?: string;
22
+ isActive?: string;
23
+ createdAt?: string;
24
+ updatedAt?: string;
25
+ };
26
+ }
27
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/domain/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QACjC,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf;;;WAGG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;;WAGG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export * from './registry';
2
+ export * from './schema';
3
+ export * from './table';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/geo-location/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,114 @@
1
+ import type { GenericEndpointContext, RegistryContext } from '../../../types';
2
+ import type { GeoLocation } from './schema';
3
+ /**
4
+ * Creates and returns a set of geo-location-related adapter methods to interact with the database.
5
+ * These methods provide a consistent interface for creating and finding
6
+ * geo-location records while applying hooks and enforcing data validation rules.
7
+ *
8
+ * @param adapter - The database adapter used for direct database operations
9
+ * @param ctx - The context object containing the database adapter, hooks, and options
10
+ * @returns An object containing type-safe geo-location operations
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const locationAdapter = createGeoLocationAdapter(
15
+ * databaseAdapter,
16
+ * createWithHooks,
17
+ * c15tOptions
18
+ * );
19
+ *
20
+ * // Create a new geo-location record
21
+ * const location = await locationAdapter.createGeoLocation({
22
+ * countryCode: 'US',
23
+ * countryName: 'United States',
24
+ * regionCode: 'CA',
25
+ * regionName: 'California',
26
+ * regulatoryZones: ['CCPA', 'CPRA']
27
+ * });
28
+ * ```
29
+ */
30
+ export declare function geoLocationRegistry({ adapter, ...ctx }: RegistryContext): {
31
+ /**
32
+ * Creates a new geo-location record in the database.
33
+ * Automatically sets creation timestamp and applies any
34
+ * configured hooks during the creation process.
35
+ *
36
+ * @param location - Geo-location data to create (without id and timestamp)
37
+ * @param context - Optional endpoint context for hooks
38
+ * @returns The created geo-location record with all fields populated
39
+ * @throws May throw an error if hooks prevent creation or if database operations fail
40
+ */
41
+ createGeoLocation: (location: Omit<GeoLocation, "id" | "createdAt"> & Partial<GeoLocation>, context?: GenericEndpointContext) => Promise<{
42
+ id: string;
43
+ createdAt: Date;
44
+ countryCode: string;
45
+ countryName: string;
46
+ regionCode?: string | undefined;
47
+ regionName?: string | undefined;
48
+ regulatoryZones?: ("GDPR" | "CCPA" | "CPRA" | "LGPD" | "PIPEDA")[] | undefined;
49
+ }>;
50
+ /**
51
+ * Finds all geo-location records matching the given criteria.
52
+ * Returns geo-locations with processed output fields according to the schema configuration.
53
+ *
54
+ * @param filter - Optional filter parameters for the query
55
+ * @returns Array of geo-location records matching the criteria
56
+ */
57
+ findGeoLocations: (filter?: {
58
+ countryCode?: string;
59
+ regionCode?: string;
60
+ }) => Promise<{
61
+ id: string;
62
+ createdAt: Date;
63
+ consentId: string;
64
+ ip: string;
65
+ updatedAt: Date;
66
+ country?: string | undefined;
67
+ region?: string | undefined;
68
+ city?: string | undefined;
69
+ latitude?: number | undefined;
70
+ longitude?: number | undefined;
71
+ timezone?: string | undefined;
72
+ }[]>;
73
+ /**
74
+ * Finds a geo-location record by its unique ID.
75
+ * Returns the geo-location with processed output fields according to the schema configuration.
76
+ *
77
+ * @param locationId - The unique identifier of the geo-location record
78
+ * @returns The geo-location object if found, null otherwise
79
+ */
80
+ findGeoLocationById: (locationId: string) => Promise<{
81
+ id: string;
82
+ createdAt: Date;
83
+ consentId: string;
84
+ ip: string;
85
+ updatedAt: Date;
86
+ country?: string | undefined;
87
+ region?: string | undefined;
88
+ city?: string | undefined;
89
+ latitude?: number | undefined;
90
+ longitude?: number | undefined;
91
+ timezone?: string | undefined;
92
+ } | null>;
93
+ /**
94
+ * Finds geo-location records by country code.
95
+ * Returns geo-locations with processed output fields according to the schema configuration.
96
+ *
97
+ * @param countryCode - The country code to search for
98
+ * @returns Array of geo-location records for the specified country
99
+ */
100
+ findGeoLocationsByCountry: (countryCode: string) => Promise<{
101
+ id: string;
102
+ createdAt: Date;
103
+ consentId: string;
104
+ ip: string;
105
+ updatedAt: Date;
106
+ country?: string | undefined;
107
+ region?: string | undefined;
108
+ city?: string | undefined;
109
+ latitude?: number | undefined;
110
+ longitude?: number | undefined;
111
+ timezone?: string | undefined;
112
+ }[]>;
113
+ };
114
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/geo-location/registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,EAAE,eAAe;IAGtE;;;;;;;;;OASG;kCAEQ,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,YAC5D,sBAAsB;;;;;;;;;IAqBjC;;;;;;OAMG;gCAC+B;QACjC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB;;;;;;;;;;;;;IA+BD;;;;;;OAMG;sCACqC,MAAM;;;;;;;;;;;;;IAe9C;;;;;;OAMG;6CAC4C,MAAM;;;;;;;;;;;;;EAoBtD"}
@@ -0,0 +1,58 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema for validating geo-location entities.
4
+ *
5
+ * This defines the structure and validation rules for geographic location records:
6
+ * - Required fields: countryCode, countryName
7
+ * - Optional fields: regionCode, regionName, regulatoryZones
8
+ * - Default current date/time for creation timestamp
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const locationData = {
13
+ * id: 'geo_x1pftyoufsm7xgo1kv',
14
+ * countryCode: 'US',
15
+ * countryName: 'United States',
16
+ * regionCode: 'CA',
17
+ * regionName: 'California',
18
+ * regulatoryZones: ['CCPA', 'CPRA']
19
+ * };
20
+ *
21
+ * // Validate and parse the geo-location data
22
+ * const validLocation = geoLocationSchema.parse(locationData);
23
+ * ```
24
+ */
25
+ export declare const geoLocationSchema: z.ZodObject<{
26
+ id: z.ZodString;
27
+ countryCode: z.ZodString;
28
+ countryName: z.ZodString;
29
+ regionCode: z.ZodOptional<z.ZodString>;
30
+ regionName: z.ZodOptional<z.ZodString>;
31
+ regulatoryZones: z.ZodOptional<z.ZodArray<z.ZodEnum<["GDPR", "CCPA", "CPRA", "LGPD", "PIPEDA"]>, "many">>;
32
+ createdAt: z.ZodDefault<z.ZodDate>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ id: string;
35
+ createdAt: Date;
36
+ countryCode: string;
37
+ countryName: string;
38
+ regionCode?: string | undefined;
39
+ regionName?: string | undefined;
40
+ regulatoryZones?: ("GDPR" | "CCPA" | "CPRA" | "LGPD" | "PIPEDA")[] | undefined;
41
+ }, {
42
+ id: string;
43
+ countryCode: string;
44
+ countryName: string;
45
+ createdAt?: Date | undefined;
46
+ regionCode?: string | undefined;
47
+ regionName?: string | undefined;
48
+ regulatoryZones?: ("GDPR" | "CCPA" | "CPRA" | "LGPD" | "PIPEDA")[] | undefined;
49
+ }>;
50
+ /**
51
+ * Type definition for GeoLocation
52
+ *
53
+ * This type represents the structure of a geo-location entity
54
+ * as defined by the geoLocationSchema. It includes all fields
55
+ * that are part of the geo-location entity.
56
+ */
57
+ export type GeoLocation = z.infer<typeof geoLocationSchema>;
58
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/db/schema/geo-location/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;EAU5B,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}