@c15t/backend 1.5.0 → 1.6.0
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.
- package/.turbo/turbo-build.log +63 -37
- package/CHANGELOG.md +4 -209
- package/README.md +86 -164
- package/dist/contracts/consent/index.d.ts +103 -615
- package/dist/contracts/consent/index.d.ts.map +1 -1
- package/dist/contracts/consent/post.contract.d.ts +42 -140
- package/dist/contracts/consent/post.contract.d.ts.map +1 -1
- package/dist/contracts/consent/show-banner.contract.d.ts +28 -376
- package/dist/contracts/consent/show-banner.contract.d.ts.map +1 -1
- package/dist/contracts/consent/verify.contract.d.ts +33 -99
- package/dist/contracts/consent/verify.contract.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +222 -1356
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/meta/index.d.ts +8 -63
- package/dist/contracts/meta/index.d.ts.map +1 -1
- package/dist/contracts/meta/status.contract.d.ts +8 -63
- package/dist/contracts/meta/status.contract.d.ts.map +1 -1
- package/dist/contracts/shared/jurisdiction.schema.d.ts +21 -9
- package/dist/contracts/shared/jurisdiction.schema.d.ts.map +1 -1
- package/dist/contracts.cjs +100 -106
- package/dist/contracts.js +100 -106
- package/dist/core.cjs +681 -681
- package/dist/core.d.ts +118 -678
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +634 -637
- package/dist/handlers/consent/index.d.ts +103 -615
- package/dist/handlers/consent/index.d.ts.map +1 -1
- package/dist/handlers/consent/post.handler.d.ts +42 -140
- package/dist/handlers/consent/post.handler.d.ts.map +1 -1
- package/dist/handlers/consent/show-banner/handler.d.ts +28 -376
- package/dist/handlers/consent/show-banner/handler.d.ts.map +1 -1
- package/dist/handlers/consent/show-banner/translations.d.ts.map +1 -1
- package/dist/handlers/consent/verify.handler.d.ts +33 -99
- package/dist/handlers/consent/verify.handler.d.ts.map +1 -1
- package/dist/handlers/meta/index.d.ts +8 -63
- package/dist/handlers/meta/index.d.ts.map +1 -1
- package/dist/handlers/meta/status.handler.d.ts +8 -63
- package/dist/handlers/meta/status.handler.d.ts.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/middleware/openapi/index.d.ts +2 -2
- package/dist/middleware/openapi/index.d.ts.map +1 -1
- package/dist/pkgs/data-model/fields/index.cjs +14 -26
- package/dist/pkgs/data-model/fields/index.d.ts +4 -4
- package/dist/pkgs/data-model/fields/index.d.ts.map +1 -1
- package/dist/pkgs/data-model/fields/index.js +14 -26
- package/dist/pkgs/data-model/fields/zod-fields.d.ts +195 -871
- package/dist/pkgs/data-model/fields/zod-fields.d.ts.map +1 -1
- package/dist/pkgs/data-model/hooks/index.d.ts +2 -2
- package/dist/pkgs/data-model/hooks/index.d.ts.map +1 -1
- package/dist/pkgs/data-model/index.cjs +346 -358
- package/dist/pkgs/data-model/index.d.ts +1 -1
- package/dist/pkgs/data-model/index.d.ts.map +1 -1
- package/dist/pkgs/data-model/index.js +345 -357
- package/dist/pkgs/data-model/schema/index.cjs +346 -358
- package/dist/pkgs/data-model/schema/index.d.ts +1 -1
- package/dist/pkgs/data-model/schema/index.d.ts.map +1 -1
- package/dist/pkgs/data-model/schema/index.js +345 -357
- package/dist/pkgs/data-model/schema/schemas.d.ts +2 -2
- package/dist/pkgs/data-model/schema/schemas.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts +3 -0
- package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.cjs +158 -170
- package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.js +157 -169
- package/dist/pkgs/db-adapters/adapters/index.d.ts +2 -2
- package/dist/pkgs/db-adapters/adapters/index.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.cjs +215 -227
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.d.ts +2 -2
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.js +213 -225
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts +2 -0
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts +1 -1
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/adapters/memory-adapter/index.cjs +158 -170
- package/dist/pkgs/db-adapters/adapters/memory-adapter/index.js +157 -169
- package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts +3 -0
- package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.cjs +243 -255
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.d.ts +1 -1
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.js +241 -253
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts +3 -0
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/index.cjs +714 -726
- package/dist/pkgs/db-adapters/index.d.ts +6 -6
- package/dist/pkgs/db-adapters/index.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/index.js +708 -720
- package/dist/pkgs/migrations/get-migration.d.ts.map +1 -1
- package/dist/pkgs/migrations/get-schema/get-schema.d.ts.map +1 -1
- package/dist/pkgs/migrations/get-schema/process-tables.d.ts.map +1 -1
- package/dist/pkgs/migrations/index.cjs +236 -248
- package/dist/pkgs/migrations/index.d.ts +4 -4
- package/dist/pkgs/migrations/index.d.ts.map +1 -1
- package/dist/pkgs/migrations/index.js +235 -247
- package/dist/pkgs/results/index.cjs +67 -67
- package/dist/pkgs/results/index.d.ts +5 -5
- package/dist/pkgs/results/index.d.ts.map +1 -1
- package/dist/pkgs/results/index.js +67 -67
- package/dist/pkgs/results/orpc-error-handler.d.ts +1 -1
- package/dist/pkgs/results/orpc-error-handler.d.ts.map +1 -1
- package/dist/pkgs/types/index.d.ts +1 -2
- package/dist/pkgs/types/index.d.ts.map +1 -1
- package/dist/pkgs/types/options.d.ts +9 -2
- package/dist/pkgs/types/options.d.ts.map +1 -1
- package/dist/pkgs/utils/index.d.ts +1 -1
- package/dist/pkgs/utils/index.d.ts.map +1 -1
- package/dist/pkgs/utils/logger.d.ts +1 -1
- package/dist/pkgs/utils/logger.d.ts.map +1 -1
- package/dist/router.cjs +114 -117
- package/dist/router.d.ts +111 -678
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +114 -117
- package/dist/schema/audit-log/schema.d.ts +2 -24
- package/dist/schema/audit-log/schema.d.ts.map +1 -1
- package/dist/schema/audit-log/table.d.ts +2 -24
- package/dist/schema/audit-log/table.d.ts.map +1 -1
- package/dist/schema/consent/registry.d.ts +8 -8
- package/dist/schema/consent/schema.d.ts +9 -33
- package/dist/schema/consent/schema.d.ts.map +1 -1
- package/dist/schema/consent/table.d.ts +9 -33
- package/dist/schema/consent/table.d.ts.map +1 -1
- package/dist/schema/consent-policy/registry.d.ts +20 -20
- package/dist/schema/consent-policy/schema.d.ts +22 -30
- package/dist/schema/consent-policy/schema.d.ts.map +1 -1
- package/dist/schema/consent-policy/table.d.ts +13 -29
- package/dist/schema/consent-policy/table.d.ts.map +1 -1
- package/dist/schema/consent-purpose/registry.d.ts +6 -6
- package/dist/schema/consent-purpose/schema.d.ts +5 -27
- package/dist/schema/consent-purpose/schema.d.ts.map +1 -1
- package/dist/schema/consent-purpose/table.d.ts +5 -27
- package/dist/schema/consent-purpose/table.d.ts.map +1 -1
- package/dist/schema/consent-record/schema.d.ts +3 -19
- package/dist/schema/consent-record/schema.d.ts.map +1 -1
- package/dist/schema/consent-record/table.d.ts +3 -19
- package/dist/schema/consent-record/table.d.ts.map +1 -1
- package/dist/schema/create-registry.d.ts +58 -58
- package/dist/schema/definition.d.ts +42 -176
- package/dist/schema/definition.d.ts.map +1 -1
- package/dist/schema/domain/registry.d.ts +20 -20
- package/dist/schema/domain/schema.d.ts +6 -24
- package/dist/schema/domain/schema.d.ts.map +1 -1
- package/dist/schema/domain/table.d.ts +6 -24
- package/dist/schema/domain/table.d.ts.map +1 -1
- package/dist/schema/index.cjs +426 -438
- package/dist/schema/index.d.ts +12 -12
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +426 -438
- package/dist/schema/schemas.d.ts +42 -176
- package/dist/schema/schemas.d.ts.map +1 -1
- package/dist/schema/subject/registry.d.ts +4 -4
- package/dist/schema/subject/schema.d.ts +4 -20
- package/dist/schema/subject/schema.d.ts.map +1 -1
- package/dist/schema/subject/table.d.ts +4 -20
- package/dist/schema/subject/table.d.ts.map +1 -1
- package/dist/schema/types.d.ts +1 -1
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/testing/contract-testing.d.ts +3 -2
- package/dist/testing/contract-testing.d.ts.map +1 -1
- package/dist/types/index.d.ts +5 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/options.d.ts +2 -2
- package/dist/types/options.d.ts.map +1 -1
- package/dist/v2/contracts/consent/index.d.ts +260 -0
- package/dist/v2/contracts/consent/index.d.ts.map +1 -0
- package/dist/v2/contracts/consent/index.test.d.ts +2 -0
- package/dist/v2/contracts/consent/index.test.d.ts.map +1 -0
- package/dist/v2/contracts/consent/post.contract.d.ts +114 -0
- package/dist/v2/contracts/consent/post.contract.d.ts.map +1 -0
- package/dist/v2/contracts/consent/post.contract.test.d.ts +2 -0
- package/dist/v2/contracts/consent/post.contract.test.d.ts.map +1 -0
- package/dist/v2/contracts/consent/show-banner.contract.d.ts +68 -0
- package/dist/v2/contracts/consent/show-banner.contract.d.ts.map +1 -0
- package/dist/v2/contracts/consent/show-banner.contract.test.d.ts +2 -0
- package/dist/v2/contracts/consent/show-banner.contract.test.d.ts.map +1 -0
- package/dist/v2/contracts/consent/verify.contract.d.ts +81 -0
- package/dist/v2/contracts/consent/verify.contract.d.ts.map +1 -0
- package/dist/v2/contracts/consent/verify.contract.test.d.ts +2 -0
- package/dist/v2/contracts/consent/verify.contract.test.d.ts.map +1 -0
- package/dist/v2/contracts/index.cjs +644 -0
- package/dist/v2/contracts/index.d.ts +563 -0
- package/dist/v2/contracts/index.d.ts.map +1 -0
- package/dist/v2/contracts/index.js +607 -0
- package/dist/v2/contracts/meta/index.d.ts +19 -0
- package/dist/v2/contracts/meta/index.d.ts.map +1 -0
- package/dist/v2/contracts/meta/index.test.d.ts +2 -0
- package/dist/v2/contracts/meta/index.test.d.ts.map +1 -0
- package/dist/v2/contracts/meta/status.contract.d.ts +18 -0
- package/dist/v2/contracts/meta/status.contract.d.ts.map +1 -0
- package/dist/v2/contracts/meta/status.contract.test.d.ts +2 -0
- package/dist/v2/contracts/meta/status.contract.test.d.ts.map +1 -0
- package/dist/v2/contracts/shared/jurisdiction.schema.d.ts +36 -0
- package/dist/v2/contracts/shared/jurisdiction.schema.d.ts.map +1 -0
- package/dist/v2/contracts/test.utils.d.ts +38 -0
- package/dist/v2/contracts/test.utils.d.ts.map +1 -0
- package/dist/v2/core.cjs +2181 -0
- package/dist/v2/core.d.ts +364 -0
- package/dist/v2/core.d.ts.map +1 -0
- package/dist/v2/core.js +2130 -0
- package/dist/v2/db/adapters/drizzle.cjs +36 -0
- package/dist/v2/db/adapters/drizzle.d.ts +2 -0
- package/dist/v2/db/adapters/drizzle.d.ts.map +1 -0
- package/dist/v2/db/adapters/drizzle.js +3 -0
- package/dist/v2/db/adapters/index.cjs +18 -0
- package/dist/v2/db/adapters/index.d.ts +2 -0
- package/dist/v2/db/adapters/index.d.ts.map +1 -0
- package/dist/v2/db/adapters/index.js +0 -0
- package/dist/v2/db/adapters/kysely.cjs +36 -0
- package/dist/v2/db/adapters/kysely.d.ts +2 -0
- package/dist/v2/db/adapters/kysely.d.ts.map +1 -0
- package/dist/v2/db/adapters/kysely.js +3 -0
- package/dist/v2/db/adapters/mongo.cjs +36 -0
- package/dist/v2/db/adapters/mongo.d.ts +2 -0
- package/dist/v2/db/adapters/mongo.d.ts.map +1 -0
- package/dist/v2/db/adapters/mongo.js +3 -0
- package/dist/v2/db/adapters/prisma.cjs +36 -0
- package/dist/v2/db/adapters/prisma.d.ts +2 -0
- package/dist/v2/db/adapters/prisma.d.ts.map +1 -0
- package/dist/v2/db/adapters/prisma.js +3 -0
- package/dist/v2/db/adapters/typeorm.cjs +36 -0
- package/dist/v2/db/adapters/typeorm.d.ts +2 -0
- package/dist/v2/db/adapters/typeorm.d.ts.map +1 -0
- package/dist/v2/db/adapters/typeorm.js +3 -0
- package/dist/v2/db/migrator/index.cjs +61 -0
- package/dist/v2/db/migrator/index.d.ts +29 -0
- package/dist/v2/db/migrator/index.d.ts.map +1 -0
- package/dist/v2/db/migrator/index.js +27 -0
- package/dist/v2/db/registry/audit-log.d.ts +21 -0
- package/dist/v2/db/registry/audit-log.d.ts.map +1 -0
- package/dist/v2/db/registry/audit-log.test.d.ts +2 -0
- package/dist/v2/db/registry/audit-log.test.d.ts.map +1 -0
- package/dist/v2/db/registry/consent-policy.d.ts +29 -0
- package/dist/v2/db/registry/consent-policy.d.ts.map +1 -0
- package/dist/v2/db/registry/consent-policy.test.d.ts +2 -0
- package/dist/v2/db/registry/consent-policy.test.d.ts.map +1 -0
- package/dist/v2/db/registry/consent-purpose.d.ts +16 -0
- package/dist/v2/db/registry/consent-purpose.d.ts.map +1 -0
- package/dist/v2/db/registry/consent-purpose.test.d.ts +2 -0
- package/dist/v2/db/registry/consent-purpose.test.d.ts.map +1 -0
- package/dist/v2/db/registry/consent.d.ts +20 -0
- package/dist/v2/db/registry/consent.d.ts.map +1 -0
- package/dist/v2/db/registry/consent.test.d.ts +2 -0
- package/dist/v2/db/registry/consent.test.d.ts.map +1 -0
- package/dist/v2/db/registry/domain.d.ts +24 -0
- package/dist/v2/db/registry/domain.d.ts.map +1 -0
- package/dist/v2/db/registry/domain.test.d.ts +2 -0
- package/dist/v2/db/registry/domain.test.d.ts.map +1 -0
- package/dist/v2/db/registry/index.d.ts +102 -0
- package/dist/v2/db/registry/index.d.ts.map +1 -0
- package/dist/v2/db/registry/subject.d.ts +18 -0
- package/dist/v2/db/registry/subject.d.ts.map +1 -0
- package/dist/v2/db/registry/subject.test.d.ts +2 -0
- package/dist/v2/db/registry/subject.test.d.ts.map +1 -0
- package/dist/v2/db/registry/types.d.ts +10 -0
- package/dist/v2/db/registry/types.d.ts.map +1 -0
- package/dist/v2/db/registry/utils/generate-id.d.ts +25 -0
- package/dist/v2/db/registry/utils/generate-id.d.ts.map +1 -0
- package/dist/v2/db/registry/utils/generate-id.test.d.ts +2 -0
- package/dist/v2/db/registry/utils/generate-id.test.d.ts.map +1 -0
- package/dist/v2/db/registry/utils.d.ts +25 -0
- package/dist/v2/db/registry/utils.d.ts.map +1 -0
- package/dist/v2/db/schema/1.0.0/audit-log.d.ts +29 -0
- package/dist/v2/db/schema/1.0.0/audit-log.d.ts.map +1 -0
- package/dist/v2/db/schema/1.0.0/consent-policy.d.ts +45 -0
- package/dist/v2/db/schema/1.0.0/consent-policy.d.ts.map +1 -0
- package/dist/v2/db/schema/1.0.0/consent-purpose.d.ts +27 -0
- package/dist/v2/db/schema/1.0.0/consent-purpose.d.ts.map +1 -0
- package/dist/v2/db/schema/1.0.0/consent-record.d.ts +19 -0
- package/dist/v2/db/schema/1.0.0/consent-record.d.ts.map +1 -0
- package/dist/v2/db/schema/1.0.0/consent.d.ts +42 -0
- package/dist/v2/db/schema/1.0.0/consent.d.ts.map +1 -0
- package/dist/v2/db/schema/1.0.0/domain.d.ts +23 -0
- package/dist/v2/db/schema/1.0.0/domain.d.ts.map +1 -0
- package/dist/v2/db/schema/1.0.0/index.d.ts +1513 -0
- package/dist/v2/db/schema/1.0.0/index.d.ts.map +1 -0
- package/dist/v2/db/schema/1.0.0/subject.d.ts +23 -0
- package/dist/v2/db/schema/1.0.0/subject.d.ts.map +1 -0
- package/dist/v2/db/schema/index.cjs +326 -0
- package/dist/v2/db/schema/index.d.ts +1507 -0
- package/dist/v2/db/schema/index.d.ts.map +1 -0
- package/dist/v2/db/schema/index.js +241 -0
- package/dist/v2/define-config.cjs +36 -0
- package/dist/v2/define-config.d.ts +5 -0
- package/dist/v2/define-config.d.ts.map +1 -0
- package/dist/v2/define-config.js +2 -0
- package/dist/v2/handlers/consent/index.d.ts +260 -0
- package/dist/v2/handlers/consent/index.d.ts.map +1 -0
- package/dist/v2/handlers/consent/post.handler.d.ts +136 -0
- package/dist/v2/handlers/consent/post.handler.d.ts.map +1 -0
- package/dist/v2/handlers/consent/show-banner/geo.d.ts +10 -0
- package/dist/v2/handlers/consent/show-banner/geo.d.ts.map +1 -0
- package/dist/v2/handlers/consent/show-banner/geo.test.d.ts +2 -0
- package/dist/v2/handlers/consent/show-banner/geo.test.d.ts.map +1 -0
- package/dist/v2/handlers/consent/show-banner/handler.d.ts +71 -0
- package/dist/v2/handlers/consent/show-banner/handler.d.ts.map +1 -0
- package/dist/v2/handlers/consent/show-banner/handler.test.d.ts +2 -0
- package/dist/v2/handlers/consent/show-banner/handler.test.d.ts.map +1 -0
- package/dist/v2/handlers/consent/show-banner/translations.d.ts +13 -0
- package/dist/v2/handlers/consent/show-banner/translations.d.ts.map +1 -0
- package/dist/v2/handlers/consent/show-banner/translations.test.d.ts +2 -0
- package/dist/v2/handlers/consent/show-banner/translations.test.d.ts.map +1 -0
- package/dist/v2/handlers/consent/verify.handler.d.ts +103 -0
- package/dist/v2/handlers/consent/verify.handler.d.ts.map +1 -0
- package/dist/v2/handlers/meta/index.d.ts +19 -0
- package/dist/v2/handlers/meta/index.d.ts.map +1 -0
- package/dist/v2/handlers/meta/status.handler.d.ts +17 -0
- package/dist/v2/handlers/meta/status.handler.d.ts.map +1 -0
- package/dist/v2/init.d.ts +3 -0
- package/dist/v2/init.d.ts.map +1 -0
- package/dist/v2/init.test.d.ts +2 -0
- package/dist/v2/init.test.d.ts.map +1 -0
- package/dist/v2/middleware/cors/cors.d.ts +37 -0
- package/dist/v2/middleware/cors/cors.d.ts.map +1 -0
- package/dist/v2/middleware/cors/cors.test.d.ts +2 -0
- package/dist/v2/middleware/cors/cors.test.d.ts.map +1 -0
- package/dist/v2/middleware/cors/index.d.ts +30 -0
- package/dist/v2/middleware/cors/index.d.ts.map +1 -0
- package/dist/v2/middleware/cors/is-origin-trusted.d.ts +49 -0
- package/dist/v2/middleware/cors/is-origin-trusted.d.ts.map +1 -0
- package/dist/v2/middleware/cors/is-origin-trusted.test.d.ts +2 -0
- package/dist/v2/middleware/cors/is-origin-trusted.test.d.ts.map +1 -0
- package/dist/v2/middleware/cors/process-cors.d.ts +31 -0
- package/dist/v2/middleware/cors/process-cors.d.ts.map +1 -0
- package/dist/v2/middleware/openapi/config.d.ts +28 -0
- package/dist/v2/middleware/openapi/config.d.ts.map +1 -0
- package/dist/v2/middleware/openapi/handlers.d.ts +29 -0
- package/dist/v2/middleware/openapi/handlers.d.ts.map +1 -0
- package/dist/v2/middleware/openapi/index.d.ts +11 -0
- package/dist/v2/middleware/openapi/index.d.ts.map +1 -0
- package/dist/v2/middleware/process-ip/index.d.ts +3 -0
- package/dist/v2/middleware/process-ip/index.d.ts.map +1 -0
- package/dist/v2/router.cjs +1275 -0
- package/dist/v2/router.d.ts +280 -0
- package/dist/v2/router.d.ts.map +1 -0
- package/dist/v2/router.js +1231 -0
- package/dist/v2/types/api.d.ts +27 -0
- package/dist/v2/types/api.d.ts.map +1 -0
- package/dist/v2/types/index.cjs +40 -0
- package/dist/v2/types/index.d.ts +104 -0
- package/dist/v2/types/index.d.ts.map +1 -0
- package/dist/v2/types/index.js +6 -0
- package/dist/v2/utils/create-telemetry-options.d.ts +28 -0
- package/dist/v2/utils/create-telemetry-options.d.ts.map +1 -0
- package/dist/v2/utils/env.d.ts +60 -0
- package/dist/v2/utils/env.d.ts.map +1 -0
- package/dist/v2/utils/index.d.ts +3 -0
- package/dist/v2/utils/index.d.ts.map +1 -0
- package/dist/v2/utils/logger.d.ts +16 -0
- package/dist/v2/utils/logger.d.ts.map +1 -0
- package/dist/version.d.ts +1 -1
- package/package.json +106 -15
- package/readme.json +30 -0
- package/rslib.config.ts +13 -14
- package/src/__tests__/server.test.ts +1 -1
- package/src/contracts/consent/post.contract.test.ts +3 -8
- package/src/contracts/consent/post.contract.ts +13 -13
- package/src/contracts/consent/show-banner.contract.test.ts +9 -0
- package/src/contracts/consent/show-banner.contract.ts +2 -0
- package/src/contracts/consent/verify.contract.ts +19 -23
- package/src/core.ts +7 -0
- package/src/handlers/consent/show-banner/handler.ts +12 -9
- package/src/handlers/consent/show-banner/translations.ts +2 -2
- package/src/init.ts +9 -6
- package/src/middleware/openapi/index.ts +2 -2
- package/src/pkgs/api-router/hooks/__tests__/processor.test.ts +1 -1
- package/src/pkgs/data-model/fields/index.ts +17 -22
- package/src/pkgs/data-model/fields/zod-fields.ts +14 -26
- package/src/pkgs/data-model/hooks/index.ts +3 -2
- package/src/pkgs/data-model/index.ts +2 -4
- package/src/pkgs/data-model/schema/index.ts +6 -7
- package/src/pkgs/data-model/schema/schemas.ts +3 -3
- package/src/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.ts +4 -1
- package/src/pkgs/db-adapters/adapters/index.ts +2 -2
- package/src/pkgs/db-adapters/adapters/kysely-adapter/index.ts +4 -4
- package/src/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.ts +4 -5
- package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/postgres.test.ts +2 -4
- package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/sqlite.test.ts +2 -3
- package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.ts +1 -6
- package/src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts +4 -1
- package/src/pkgs/db-adapters/adapters/prisma-adapter/index.ts +1 -1
- package/src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts +5 -2
- package/src/pkgs/db-adapters/index.ts +12 -13
- package/src/pkgs/migrations/get-migration.ts +4 -2
- package/src/pkgs/migrations/get-schema/get-schema.ts +0 -1
- package/src/pkgs/migrations/get-schema/process-fields.ts +1 -1
- package/src/pkgs/migrations/get-schema/process-tables.ts +0 -2
- package/src/pkgs/migrations/index.ts +7 -8
- package/src/pkgs/results/__tests__/error-codes.test.ts +2 -2
- package/src/pkgs/results/index.ts +22 -27
- package/src/pkgs/results/orpc-error-handler.ts +1 -1
- package/src/pkgs/results/results/result-helpers.ts +1 -1
- package/src/pkgs/types/index.ts +4 -4
- package/src/pkgs/types/options.ts +10 -3
- package/src/pkgs/utils/index.ts +1 -1
- package/src/pkgs/utils/logger.ts +1 -1
- package/src/schema/audit-log/schema.ts +3 -3
- package/src/schema/consent/schema.ts +4 -4
- package/src/schema/consent-policy/schema.ts +3 -3
- package/src/schema/consent-purpose/schema.ts +4 -4
- package/src/schema/consent-record/schema.ts +3 -3
- package/src/schema/definition.ts +1 -1
- package/src/schema/domain/schema.ts +5 -5
- package/src/schema/index.ts +14 -17
- package/src/schema/subject/schema.ts +3 -3
- package/src/schema/types.ts +1 -1
- package/src/testing/contract-testing.ts +15 -52
- package/src/types/index.ts +8 -8
- package/src/types/options.ts +2 -3
- package/src/v2/contracts/consent/index.test.ts +5 -0
- package/src/v2/contracts/consent/index.ts +9 -0
- package/src/v2/contracts/consent/post.contract.test.ts +521 -0
- package/src/v2/contracts/consent/post.contract.ts +155 -0
- package/src/v2/contracts/consent/show-banner.contract.test.ts +252 -0
- package/src/v2/contracts/consent/show-banner.contract.ts +73 -0
- package/src/v2/contracts/consent/verify.contract.test.ts +185 -0
- package/src/v2/contracts/consent/verify.contract.ts +122 -0
- package/src/v2/contracts/index.ts +20 -0
- package/src/v2/contracts/meta/index.test.ts +5 -0
- package/src/v2/contracts/meta/index.ts +5 -0
- package/src/v2/contracts/meta/status.contract.test.ts +226 -0
- package/src/v2/contracts/meta/status.contract.ts +34 -0
- package/src/v2/contracts/shared/jurisdiction.schema.ts +30 -0
- package/src/v2/contracts/test.utils.ts +400 -0
- package/src/v2/core.ts +379 -0
- package/src/v2/db/adapters/drizzle.ts +1 -0
- package/src/v2/db/adapters/index.ts +1 -0
- package/src/v2/db/adapters/kysely.ts +1 -0
- package/src/v2/db/adapters/mongo.ts +1 -0
- package/src/v2/db/adapters/prisma.ts +1 -0
- package/src/v2/db/adapters/typeorm.ts +1 -0
- package/src/v2/db/migrator/index.ts +80 -0
- package/src/v2/db/registry/audit-log.test.ts +77 -0
- package/src/v2/db/registry/audit-log.ts +46 -0
- package/src/v2/db/registry/consent-policy.test.ts +778 -0
- package/src/v2/db/registry/consent-policy.ts +74 -0
- package/src/v2/db/registry/consent-purpose.test.ts +485 -0
- package/src/v2/db/registry/consent-purpose.ts +41 -0
- package/src/v2/db/registry/consent.test.ts +843 -0
- package/src/v2/db/registry/consent.ts +42 -0
- package/src/v2/db/registry/domain.test.ts +463 -0
- package/src/v2/db/registry/domain.ts +51 -0
- package/src/v2/db/registry/index.ts +18 -0
- package/src/v2/db/registry/subject.test.ts +497 -0
- package/src/v2/db/registry/subject.ts +101 -0
- package/src/v2/db/registry/types.ts +10 -0
- package/src/v2/db/registry/utils/generate-id.test.ts +217 -0
- package/src/v2/db/registry/utils/generate-id.ts +134 -0
- package/src/v2/db/registry/utils.ts +134 -0
- package/src/v2/db/schema/1.0.0/audit-log.ts +32 -0
- package/src/v2/db/schema/1.0.0/consent-policy.ts +41 -0
- package/src/v2/db/schema/1.0.0/consent-purpose.ts +30 -0
- package/src/v2/db/schema/1.0.0/consent-record.ts +22 -0
- package/src/v2/db/schema/1.0.0/consent.ts +38 -0
- package/src/v2/db/schema/1.0.0/domain.ts +26 -0
- package/src/v2/db/schema/1.0.0/index.ts +56 -0
- package/src/v2/db/schema/1.0.0/subject.ts +26 -0
- package/src/v2/db/schema/index.ts +9 -0
- package/src/v2/define-config.ts +5 -0
- package/src/v2/handlers/consent/index.ts +9 -0
- package/src/v2/handlers/consent/post.handler.ts +254 -0
- package/src/v2/handlers/consent/show-banner/geo.test.ts +281 -0
- package/src/v2/handlers/consent/show-banner/geo.ts +96 -0
- package/src/v2/handlers/consent/show-banner/handler.test.ts +374 -0
- package/src/v2/handlers/consent/show-banner/handler.ts +123 -0
- package/src/v2/handlers/consent/show-banner/translations.test.ts +121 -0
- package/src/v2/handlers/consent/show-banner/translations.ts +79 -0
- package/src/v2/handlers/consent/verify.handler.ts +288 -0
- package/src/v2/handlers/meta/index.ts +5 -0
- package/src/v2/handlers/meta/status.handler.ts +43 -0
- package/src/v2/init.test.ts +114 -0
- package/src/v2/init.ts +126 -0
- package/src/v2/middleware/cors/cors.test.ts +111 -0
- package/src/v2/middleware/cors/cors.ts +192 -0
- package/src/v2/middleware/cors/index.ts +30 -0
- package/src/v2/middleware/cors/is-origin-trusted.test.ts +104 -0
- package/src/v2/middleware/cors/is-origin-trusted.ts +126 -0
- package/src/v2/middleware/cors/process-cors.ts +91 -0
- package/src/v2/middleware/openapi/config.ts +27 -0
- package/src/v2/middleware/openapi/handlers.ts +132 -0
- package/src/v2/middleware/openapi/index.ts +11 -0
- package/src/v2/middleware/process-ip/index.ts +39 -0
- package/src/v2/router.ts +8 -0
- package/src/v2/types/api.ts +32 -0
- package/src/v2/types/index.ts +121 -0
- package/src/v2/utils/create-telemetry-options.ts +115 -0
- package/src/v2/utils/env.ts +84 -0
- package/src/v2/utils/index.ts +2 -0
- package/src/v2/utils/logger.ts +38 -0
- package/src/version.ts +1 -1
- package/vitest.config.ts +11 -2
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
//@ts-nocheck
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
type SQL,
|
|
5
4
|
and,
|
|
6
5
|
asc,
|
|
7
6
|
count,
|
|
@@ -10,6 +9,7 @@ import {
|
|
|
10
9
|
inArray,
|
|
11
10
|
like,
|
|
12
11
|
or,
|
|
12
|
+
type SQL,
|
|
13
13
|
} from 'drizzle-orm';
|
|
14
14
|
import { type EntityName, generateId } from '~/pkgs/data-model';
|
|
15
15
|
import { DoubleTieError, ERROR_CODES } from '~/pkgs/results';
|
|
@@ -517,6 +517,9 @@ function checkMissingFields(
|
|
|
517
517
|
* }),
|
|
518
518
|
* });
|
|
519
519
|
* ```
|
|
520
|
+
*
|
|
521
|
+
* @deprecated Will be removed in the next major version. Update to `@c15t/backend/v2`, view migration guide for more details.
|
|
522
|
+
* @see https://c15t.com/docs/self-host/migrate-from-v1
|
|
520
523
|
*/
|
|
521
524
|
export const drizzleAdapter =
|
|
522
525
|
(db: DB, config: DrizzleAdapterConfig) => (options: C15TOptions) => {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This provides a convenient way to import any adapter from a single location.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
export * from './memory-adapter';
|
|
8
|
-
export * from './prisma-adapter';
|
|
9
7
|
export * from './drizzle-adapter';
|
|
10
8
|
export * from './kysely-adapter';
|
|
9
|
+
export * from './memory-adapter';
|
|
10
|
+
export * from './prisma-adapter';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
export { createKyselyAdapter } from './dialect';
|
|
1
2
|
export { kyselyAdapter } from './kysely-adapter';
|
|
2
3
|
export type {
|
|
4
|
+
DialectConfig,
|
|
3
5
|
KyselyDatabaseType,
|
|
4
|
-
|
|
6
|
+
KyselyInstanceConfig,
|
|
5
7
|
MysqlPoolConfig,
|
|
8
|
+
PostgresPoolConfig,
|
|
6
9
|
SQLiteDatabaseConfig,
|
|
7
|
-
DialectConfig,
|
|
8
|
-
KyselyInstanceConfig,
|
|
9
10
|
} from './types';
|
|
10
|
-
export { createKyselyAdapter } from './dialect';
|
|
@@ -22,17 +22,17 @@ import {
|
|
|
22
22
|
type EntityOutput,
|
|
23
23
|
type EntityTypeMap,
|
|
24
24
|
type Field,
|
|
25
|
-
type Primitive,
|
|
26
25
|
generateId,
|
|
26
|
+
type Primitive,
|
|
27
27
|
} from '~/pkgs/data-model';
|
|
28
28
|
|
|
29
29
|
import { getConsentTables } from '~/schema/definition';
|
|
30
30
|
import type { C15TOptions } from '~/types';
|
|
31
31
|
import {
|
|
32
32
|
type Adapter,
|
|
33
|
+
applyDefaultValue,
|
|
33
34
|
type TableFields,
|
|
34
35
|
type Where,
|
|
35
|
-
applyDefaultValue,
|
|
36
36
|
} from '../..';
|
|
37
37
|
import type { Database, KyselyDatabaseType } from './types';
|
|
38
38
|
|
|
@@ -176,8 +176,6 @@ const createEntityTransformer = (
|
|
|
176
176
|
? (modelFields as Record<string, Field>)[field as string]
|
|
177
177
|
: undefined;
|
|
178
178
|
if (!f) {
|
|
179
|
-
// biome-ignore lint/suspicious/noConsoleLog: no Logger implementation
|
|
180
|
-
// biome-ignore lint/suspicious/noConsole: no Logger implementation
|
|
181
179
|
console.log('Field not found', model, field);
|
|
182
180
|
}
|
|
183
181
|
return f?.fieldName || (field as string);
|
|
@@ -637,6 +635,8 @@ const createEntityTransformer = (
|
|
|
637
635
|
* // Use in your application
|
|
638
636
|
* export default c15tInstance.handler;
|
|
639
637
|
* ```
|
|
638
|
+
* @deprecated Will be removed in the next major version. Update to `@c15t/backend/v2`, view migration guide for more details.
|
|
639
|
+
* @see https://c15t.com/docs/self-host/migrate-from-v1
|
|
640
640
|
*/
|
|
641
641
|
export const kyselyAdapter =
|
|
642
642
|
(db: Kysely<Database>, config?: KyselyAdapterConfig) =>
|
|
@@ -1166,7 +1166,6 @@ export const kyselyAdapter =
|
|
|
1166
1166
|
error.message.toLowerCase().includes('no transaction support'))
|
|
1167
1167
|
) {
|
|
1168
1168
|
// Log warning about disableTransactions option
|
|
1169
|
-
// biome-ignore lint/suspicious/noConsole: this is a warning
|
|
1170
1169
|
console.warn(
|
|
1171
1170
|
'Warning: Database transaction failed. If your database does not support transactions, ' +
|
|
1172
1171
|
'you can disable this warning by setting opts.advanced.disableTransactions to true.'
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
+
import { logger } from '@doubletie/logger';
|
|
1
2
|
import { PGlite } from '@electric-sql/pglite';
|
|
2
3
|
import { Kysely } from 'kysely';
|
|
3
4
|
import { KyselyPGlite } from 'kysely-pglite';
|
|
4
5
|
import { afterAll, beforeAll, describe, expect, test } from 'vitest';
|
|
5
|
-
|
|
6
|
-
import { logger } from '@doubletie/logger';
|
|
7
6
|
import type { Adapter } from '~/pkgs/db-adapters';
|
|
8
7
|
import { getMigrations } from '~/pkgs/migrations';
|
|
9
8
|
import { type KyselyDatabaseType, kyselyAdapter } from '../index';
|
|
10
9
|
import type { Database } from '../types';
|
|
11
10
|
import {
|
|
12
|
-
type DbConfig,
|
|
13
11
|
createOptions,
|
|
12
|
+
type DbConfig,
|
|
14
13
|
expectedTables,
|
|
15
14
|
runAdapterTests,
|
|
16
15
|
verifyRequiredTables,
|
|
@@ -31,7 +30,6 @@ describe('Kysely Adapter Tests', () => {
|
|
|
31
30
|
}
|
|
32
31
|
|
|
33
32
|
// Verify that all adapters are instances of the same class
|
|
34
|
-
// biome-ignore lint/suspicious/noMisplacedAssertion: its in a harness test suite
|
|
35
33
|
expect(
|
|
36
34
|
adapters.every((a) => a.constructor === adapters[0]?.constructor)
|
|
37
35
|
).toBe(true);
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
+
import { logger } from '@doubletie/logger';
|
|
1
2
|
import { LibsqlDialect } from '@libsql/kysely-libsql';
|
|
2
3
|
import { Kysely, sql } from 'kysely';
|
|
3
4
|
import { afterAll, beforeAll, describe, expect, test } from 'vitest';
|
|
4
|
-
|
|
5
|
-
import { logger } from '@doubletie/logger';
|
|
6
5
|
import type { Adapter } from '~/pkgs/db-adapters';
|
|
7
6
|
import { getMigrations } from '~/pkgs/migrations';
|
|
8
7
|
import { type KyselyDatabaseType, kyselyAdapter } from '../index';
|
|
9
8
|
import type { Database } from '../types';
|
|
10
9
|
import {
|
|
11
|
-
type DbConfig,
|
|
12
10
|
createOptions,
|
|
11
|
+
type DbConfig,
|
|
13
12
|
expectedTables,
|
|
14
13
|
runAdapterTests,
|
|
15
14
|
verifyRequiredTables,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
+
import type { Logger } from '@doubletie/logger';
|
|
1
2
|
import { type Kysely, type Migration, sql } from 'kysely';
|
|
2
3
|
import { beforeEach, expect, test } from 'vitest';
|
|
3
|
-
|
|
4
|
-
import type { Logger } from '@doubletie/logger';
|
|
5
4
|
import type { Adapter } from '~/pkgs/db-adapters';
|
|
6
5
|
import type { C15TOptions } from '~/types';
|
|
7
6
|
import type { KyselyDatabaseType } from '../index';
|
|
@@ -351,16 +350,12 @@ export async function runAdapterTests(opts: {
|
|
|
351
350
|
},
|
|
352
351
|
});
|
|
353
352
|
|
|
354
|
-
// biome-ignore lint/suspicious/noMisplacedAssertion: its in a harness test suite
|
|
355
353
|
expect(res).toBeDefined();
|
|
356
354
|
// @ts-expect-error - id is not a field on the subject model
|
|
357
|
-
// biome-ignore lint/suspicious/noMisplacedAssertion: its in a harness test suite
|
|
358
355
|
expect(res.id).toBeDefined();
|
|
359
356
|
// @ts-expect-error - id is not a field on the subject model
|
|
360
|
-
// biome-ignore lint/suspicious/noMisplacedAssertion: its in a harness test suite
|
|
361
357
|
expect(typeof res.id).toBe('string');
|
|
362
358
|
// @ts-expect-error - id is not a field on the subject model
|
|
363
|
-
// biome-ignore lint/suspicious/noMisplacedAssertion: its in a harness test suite
|
|
364
359
|
expect(res.id.length).toBeGreaterThan(0);
|
|
365
360
|
}
|
|
366
361
|
);
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
type EntityOutput,
|
|
5
5
|
type EntityTypeMap,
|
|
6
6
|
type Field,
|
|
7
|
-
type Primitive,
|
|
8
7
|
generateId,
|
|
8
|
+
type Primitive,
|
|
9
9
|
} from '~/pkgs/data-model';
|
|
10
10
|
import { getConsentTables } from '~/schema';
|
|
11
11
|
import type { C15TOptions } from '~/types';
|
|
@@ -336,6 +336,9 @@ const createEntityTransformer = (options: C15TOptions) => {
|
|
|
336
336
|
* // You can also inspect the database during development
|
|
337
337
|
* console.log(db);
|
|
338
338
|
* ```
|
|
339
|
+
*
|
|
340
|
+
* @deprecated Will be removed in the next major version. Update to `@c15t/backend/v2`, view migration guide for more details.
|
|
341
|
+
* @see https://c15t.com/docs/self-host/migrate-from-v1
|
|
339
342
|
*/
|
|
340
343
|
export const memoryAdapter =
|
|
341
344
|
(db: MemoryDB) =>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { type PrismaConfig, prismaAdapter } from './prisma-adapter';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
//@ts-nocheck
|
|
2
|
-
import { DoubleTieError, ERROR_CODES } from '~/pkgs/results';
|
|
3
|
-
import type { C15TOptions } from '~/types';
|
|
4
2
|
|
|
5
3
|
import { type EntityName, generateId } from '~/pkgs/data-model';
|
|
4
|
+
import { DoubleTieError, ERROR_CODES } from '~/pkgs/results';
|
|
6
5
|
import { getConsentTables } from '~/schema/definition';
|
|
6
|
+
import type { C15TOptions } from '~/types';
|
|
7
7
|
import type { Adapter, Where } from '../../types';
|
|
8
8
|
import { applyDefaultValue } from '../../utils';
|
|
9
9
|
|
|
@@ -324,6 +324,9 @@ const createEntityTransformer = (
|
|
|
324
324
|
* // Use in your application
|
|
325
325
|
* export default c15tInstance.handler;
|
|
326
326
|
* ```
|
|
327
|
+
*
|
|
328
|
+
* @deprecated Will be removed in the next major version. Update to `@c15t/backend/v2`, view migration guide for more details.
|
|
329
|
+
* @see https://c15t.com/docs/self-host/migrate-from-v1
|
|
327
330
|
*/
|
|
328
331
|
export const prismaAdapter =
|
|
329
332
|
(prisma: PrismaClient, config: PrismaConfig) => (options: C15TOptions) => {
|
|
@@ -6,24 +6,23 @@
|
|
|
6
6
|
* allowing for easy switching between different database backends.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
// Export the adapter factory
|
|
10
|
+
export { getAdapter } from './adapter-factory';
|
|
11
|
+
export { drizzleAdapter } from './adapters/drizzle-adapter';
|
|
12
|
+
|
|
13
|
+
// Export all adapters and related utilities
|
|
14
|
+
export { kyselyAdapter } from './adapters/kysely-adapter';
|
|
15
|
+
export { createKyselyAdapter } from './adapters/kysely-adapter/dialect';
|
|
16
|
+
export { memoryAdapter } from './adapters/memory-adapter';
|
|
17
|
+
export { prismaAdapter } from './adapters/prisma-adapter';
|
|
9
18
|
// Export core types and utilities
|
|
10
19
|
export type {
|
|
11
20
|
Adapter,
|
|
12
|
-
KyselyAdapterConfig,
|
|
13
|
-
AdapterSchemaCreation,
|
|
14
21
|
AdapterInstance,
|
|
15
|
-
|
|
22
|
+
AdapterSchemaCreation,
|
|
23
|
+
KyselyAdapterConfig,
|
|
16
24
|
TableFields,
|
|
25
|
+
Where,
|
|
17
26
|
WhereCondition,
|
|
18
27
|
} from './types';
|
|
19
28
|
export { applyDefaultValue } from './utils';
|
|
20
|
-
|
|
21
|
-
// Export all adapters and related utilities
|
|
22
|
-
export { kyselyAdapter } from './adapters/kysely-adapter';
|
|
23
|
-
export { prismaAdapter } from './adapters/prisma-adapter';
|
|
24
|
-
export { memoryAdapter } from './adapters/memory-adapter';
|
|
25
|
-
export { drizzleAdapter } from './adapters/drizzle-adapter';
|
|
26
|
-
export { createKyselyAdapter } from './adapters/kysely-adapter/dialect';
|
|
27
|
-
|
|
28
|
-
// Export the adapter factory
|
|
29
|
-
export { getAdapter } from './adapter-factory';
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { createKyselyAdapter } from '~/pkgs/db-adapters';
|
|
2
2
|
import { getLogger } from '~/pkgs/utils/logger';
|
|
3
3
|
import type { C15TOptions } from '~/types';
|
|
4
|
-
import {
|
|
5
|
-
|
|
4
|
+
import {
|
|
5
|
+
buildColumnAddMigrations,
|
|
6
|
+
buildTableCreateMigrations,
|
|
7
|
+
} from './migration-builders';
|
|
6
8
|
import { createMigrationExecutors } from './migration-execution';
|
|
7
9
|
import { analyzeSchemaChanges } from './schema-comparison';
|
|
8
10
|
import type { MigrationResult } from './types';
|
|
@@ -35,7 +35,6 @@ export function getSchema(config: C15TOptions): SchemaDefinition {
|
|
|
35
35
|
return processTablesIntoSchema(tables);
|
|
36
36
|
} catch (error) {
|
|
37
37
|
// Log the error or handle it according to your application's needs
|
|
38
|
-
// biome-ignore lint/suspicious/noConsole: <explanation>
|
|
39
38
|
console.error('Failed to generate schema:', error);
|
|
40
39
|
throw new Error(
|
|
41
40
|
`Schema generation failed: ${error instanceof Error ? error.message : String(error)}`
|
|
@@ -51,10 +51,10 @@ export function processFields<T extends EntityName>(
|
|
|
51
51
|
};
|
|
52
52
|
} else {
|
|
53
53
|
// Log warning and remove invalid reference if table not found
|
|
54
|
-
// biome-ignore lint/suspicious/noConsole: no Logger implementation
|
|
55
54
|
console.warn(
|
|
56
55
|
`Warning: Referenced table '${EntityName}' not found for field '${fieldName}'. The reference will be removed to prevent inconsistent state.`
|
|
57
56
|
);
|
|
57
|
+
// biome-ignore lint/correctness/noUnusedVariables: a
|
|
58
58
|
const { references, ...fieldWithoutRef } = typedField;
|
|
59
59
|
actualFields[fieldName as keyof typeof actualFields] = fieldWithoutRef;
|
|
60
60
|
}
|
|
@@ -29,7 +29,6 @@ export function processTablesIntoSchema(
|
|
|
29
29
|
try {
|
|
30
30
|
const fields = table.fields;
|
|
31
31
|
if (typeof fields !== 'object' || fields === null) {
|
|
32
|
-
// biome-ignore lint/suspicious/noConsole: its okay
|
|
33
32
|
console.warn(
|
|
34
33
|
`Invalid fields for table ${key}: Expected object, got ${typeof fields}`
|
|
35
34
|
);
|
|
@@ -37,7 +36,6 @@ export function processTablesIntoSchema(
|
|
|
37
36
|
}
|
|
38
37
|
actualFields = processFields(fields, tables);
|
|
39
38
|
} catch (error) {
|
|
40
|
-
// biome-ignore lint/suspicious/noConsole: its okay
|
|
41
39
|
console.error(`Error processing fields for table ${key}:`, error);
|
|
42
40
|
continue; // Skip this table if field processing fails
|
|
43
41
|
}
|
|
@@ -11,21 +11,20 @@
|
|
|
11
11
|
|
|
12
12
|
// Core migration functionality
|
|
13
13
|
export { getMigrations } from './get-migration';
|
|
14
|
-
|
|
14
|
+
// Schema generation utilities
|
|
15
|
+
export { getSchema } from './get-schema';
|
|
15
16
|
export {
|
|
16
|
-
buildTableCreateMigrations,
|
|
17
17
|
buildColumnAddMigrations,
|
|
18
|
+
buildTableCreateMigrations,
|
|
18
19
|
} from './migration-builders';
|
|
20
|
+
export { createMigrationExecutors } from './migration-execution';
|
|
19
21
|
export { analyzeSchemaChanges } from './schema-comparison';
|
|
20
|
-
export {
|
|
21
|
-
|
|
22
|
-
// Schema generation utilities
|
|
23
|
-
export { getSchema } from './get-schema';
|
|
22
|
+
export { getType, matchType } from './type-mapping';
|
|
24
23
|
|
|
25
24
|
// Types
|
|
26
25
|
export type {
|
|
27
|
-
MigrationResult,
|
|
28
|
-
MigrationOperation,
|
|
29
26
|
ColumnsToAdd,
|
|
27
|
+
MigrationOperation,
|
|
28
|
+
MigrationResult,
|
|
30
29
|
TableToCreate,
|
|
31
30
|
} from './types';
|
|
@@ -73,18 +73,37 @@
|
|
|
73
73
|
|
|
74
74
|
// Re-export everything from neverthrow that we use
|
|
75
75
|
export {
|
|
76
|
-
ok,
|
|
77
76
|
err,
|
|
78
|
-
okAsync,
|
|
79
77
|
errAsync,
|
|
80
78
|
fromPromise,
|
|
79
|
+
ok,
|
|
80
|
+
okAsync,
|
|
81
81
|
Result,
|
|
82
82
|
ResultAsync,
|
|
83
83
|
} from 'neverthrow';
|
|
84
84
|
|
|
85
85
|
// Export our error class
|
|
86
86
|
export { DoubleTieError } from './core/error-class';
|
|
87
|
-
|
|
87
|
+
// Export our error classes, codes, and categories
|
|
88
|
+
export { ERROR_CATEGORIES, ERROR_CODES } from './core/error-codes';
|
|
89
|
+
// Export telemetry options
|
|
90
|
+
export {
|
|
91
|
+
createTelemetryOptions,
|
|
92
|
+
type TelemetryConfig,
|
|
93
|
+
} from './create-telemetry-options';
|
|
94
|
+
// Export recovery utilities
|
|
95
|
+
export {
|
|
96
|
+
withFallbackForCategory,
|
|
97
|
+
withFallbackForCodes,
|
|
98
|
+
} from './results/recovery-utils';
|
|
99
|
+
// Export result handling utilities
|
|
100
|
+
export {
|
|
101
|
+
fail,
|
|
102
|
+
failAsync,
|
|
103
|
+
promiseToResult,
|
|
104
|
+
tryCatch,
|
|
105
|
+
tryCatchAsync,
|
|
106
|
+
} from './results/result-helpers';
|
|
88
107
|
// Export our types
|
|
89
108
|
export type {
|
|
90
109
|
DoubleTieErrorOptions,
|
|
@@ -94,27 +113,3 @@ export type {
|
|
|
94
113
|
SDKResult,
|
|
95
114
|
SDKResultAsync,
|
|
96
115
|
} from './types';
|
|
97
|
-
|
|
98
|
-
// Export our error classes, codes, and categories
|
|
99
|
-
export { ERROR_CODES, ERROR_CATEGORIES } from './core/error-codes';
|
|
100
|
-
|
|
101
|
-
// Export result handling utilities
|
|
102
|
-
export {
|
|
103
|
-
fail,
|
|
104
|
-
failAsync,
|
|
105
|
-
tryCatch,
|
|
106
|
-
tryCatchAsync,
|
|
107
|
-
promiseToResult,
|
|
108
|
-
} from './results/result-helpers';
|
|
109
|
-
|
|
110
|
-
// Export recovery utilities
|
|
111
|
-
export {
|
|
112
|
-
withFallbackForCodes,
|
|
113
|
-
withFallbackForCategory,
|
|
114
|
-
} from './results/recovery-utils';
|
|
115
|
-
|
|
116
|
-
// Export telemetry options
|
|
117
|
-
export {
|
|
118
|
-
createTelemetryOptions,
|
|
119
|
-
type TelemetryConfig,
|
|
120
|
-
} from './create-telemetry-options';
|
|
@@ -25,7 +25,7 @@ import { ERROR_CODES } from './core/error-codes';
|
|
|
25
25
|
*/
|
|
26
26
|
export function createORPCErrorHandler() {
|
|
27
27
|
return (
|
|
28
|
-
|
|
28
|
+
_request: Request,
|
|
29
29
|
context: { logger?: { error: (message: string, data?: object) => void } }
|
|
30
30
|
) => {
|
|
31
31
|
// Add error handler to context
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { err, errAsync, ok, ResultAsync } from 'neverthrow';
|
|
2
2
|
import { DoubleTieError } from '../core/error-class';
|
|
3
3
|
import { ERROR_CODES } from '../core/error-codes';
|
|
4
4
|
import { withSpan } from '../core/tracing';
|
package/src/pkgs/types/index.ts
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
export type {
|
|
10
|
-
HookEndpointContext,
|
|
11
|
-
GenericEndpointContext,
|
|
12
10
|
BaseContext,
|
|
13
|
-
RegistryContext,
|
|
14
11
|
BaseDoubleTieContext,
|
|
12
|
+
DoubleTieContext,
|
|
13
|
+
GenericEndpointContext,
|
|
14
|
+
HookEndpointContext,
|
|
15
|
+
RegistryContext,
|
|
15
16
|
} from './context';
|
|
16
17
|
export type { DoubleTieOptions } from './options';
|
|
17
|
-
export type { DoubleTieContext } from './context';
|
|
18
18
|
export type { PluginHookContext } from './plugins';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { DatabaseHook } from '~/pkgs/data-model';
|
|
2
|
-
import type { DatabaseConfiguration } from '~/pkgs/db-adapters/adapters/kysely-adapter/types';
|
|
3
|
-
|
|
4
1
|
import type { Translations } from '@c15t/translations';
|
|
5
2
|
import type { LoggerOptions } from '@doubletie/logger';
|
|
6
3
|
import type { Tracer } from '@opentelemetry/api';
|
|
4
|
+
import type { DatabaseHook } from '~/pkgs/data-model';
|
|
5
|
+
import type { DatabaseConfiguration } from '~/pkgs/db-adapters/adapters/kysely-adapter/types';
|
|
7
6
|
|
|
8
7
|
// Import table configuration types from the schema module
|
|
9
8
|
import type { TablesConfig } from '~/schema/types';
|
|
9
|
+
import type { Branding } from '~/types';
|
|
10
10
|
import type { DoubleTiePlugin } from './plugins';
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -107,6 +107,13 @@ export interface DoubleTieOptions {
|
|
|
107
107
|
*/
|
|
108
108
|
customTranslations?: Record<string, Partial<Translations>>;
|
|
109
109
|
|
|
110
|
+
/**
|
|
111
|
+
* Select which branding to show in the consent banner.
|
|
112
|
+
* Use "none" to hide branding.
|
|
113
|
+
* @default "c15t"
|
|
114
|
+
*/
|
|
115
|
+
branding?: Branding;
|
|
116
|
+
|
|
110
117
|
/**
|
|
111
118
|
* Ip address configuration
|
|
112
119
|
*/
|
package/src/pkgs/utils/index.ts
CHANGED
package/src/pkgs/utils/logger.ts
CHANGED
|
@@ -31,9 +31,9 @@ export const auditLogSchema = z.object({
|
|
|
31
31
|
subjectId: z.string().optional(),
|
|
32
32
|
ipAddress: z.string().optional(),
|
|
33
33
|
userAgent: z.string().optional(),
|
|
34
|
-
changes: z.record(z.unknown()).optional(),
|
|
35
|
-
metadata: z.record(z.unknown()).optional(),
|
|
36
|
-
createdAt: z.date().
|
|
34
|
+
changes: z.record(z.string(), z.unknown()).optional(),
|
|
35
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
36
|
+
createdAt: z.date().prefault(() => new Date()),
|
|
37
37
|
});
|
|
38
38
|
|
|
39
39
|
/**
|
|
@@ -30,15 +30,15 @@ export const consentSchema = z.object({
|
|
|
30
30
|
subjectId: z.string(),
|
|
31
31
|
domainId: z.string(),
|
|
32
32
|
purposeIds: z.array(z.string()),
|
|
33
|
-
metadata: z.record(z.unknown()).nullable().optional(),
|
|
33
|
+
metadata: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
34
34
|
policyId: z.string().optional(),
|
|
35
35
|
ipAddress: z.string().nullable().optional(),
|
|
36
36
|
userAgent: z.string().nullable().optional(),
|
|
37
|
-
status: z.enum(['active', 'withdrawn', 'expired']).
|
|
37
|
+
status: z.enum(['active', 'withdrawn', 'expired']).prefault('active'),
|
|
38
38
|
withdrawalReason: z.string().nullable().optional(),
|
|
39
|
-
givenAt: z.date().
|
|
39
|
+
givenAt: z.date().prefault(() => new Date()),
|
|
40
40
|
validUntil: z.date().nullable().optional(),
|
|
41
|
-
isActive: z.boolean().
|
|
41
|
+
isActive: z.boolean().prefault(true),
|
|
42
42
|
});
|
|
43
43
|
|
|
44
44
|
/**
|
|
@@ -45,9 +45,9 @@ export const consentPolicySchema = z.object({
|
|
|
45
45
|
expirationDate: z.date().nullable().optional(),
|
|
46
46
|
content: z.string(),
|
|
47
47
|
contentHash: z.string(),
|
|
48
|
-
isActive: z.boolean().
|
|
49
|
-
createdAt: z.date().
|
|
50
|
-
updatedAt: z.date().
|
|
48
|
+
isActive: z.boolean().prefault(true),
|
|
49
|
+
createdAt: z.date().prefault(() => new Date()),
|
|
50
|
+
updatedAt: z.date().prefault(() => new Date()),
|
|
51
51
|
});
|
|
52
52
|
|
|
53
53
|
/**
|
|
@@ -40,12 +40,12 @@ export const purposeSchema = z.object({
|
|
|
40
40
|
code: z.string(),
|
|
41
41
|
name: z.string(),
|
|
42
42
|
description: z.string(),
|
|
43
|
-
isEssential: z.boolean().
|
|
43
|
+
isEssential: z.boolean().prefault(false),
|
|
44
44
|
dataCategory: z.string().nullish(),
|
|
45
45
|
legalBasis: z.string().nullish(),
|
|
46
|
-
isActive: z.boolean().
|
|
47
|
-
createdAt: z.date().
|
|
48
|
-
updatedAt: z.date().
|
|
46
|
+
isActive: z.boolean().prefault(true),
|
|
47
|
+
createdAt: z.date().prefault(() => new Date()),
|
|
48
|
+
updatedAt: z.date().prefault(() => new Date()),
|
|
49
49
|
});
|
|
50
50
|
|
|
51
51
|
/**
|
|
@@ -27,9 +27,9 @@ export const consentRecordSchema = z.object({
|
|
|
27
27
|
subjectId: z.string(),
|
|
28
28
|
consentId: z.string().optional(),
|
|
29
29
|
actionType: z.string(),
|
|
30
|
-
details: z.record(z.unknown()).optional(),
|
|
31
|
-
createdAt: z.date().
|
|
32
|
-
updatedAt: z.date().
|
|
30
|
+
details: z.record(z.string(), z.unknown()).optional(),
|
|
31
|
+
createdAt: z.date().prefault(() => new Date()),
|
|
32
|
+
updatedAt: z.date().prefault(() => new Date()),
|
|
33
33
|
});
|
|
34
34
|
|
|
35
35
|
/**
|
package/src/schema/definition.ts
CHANGED
|
@@ -3,10 +3,10 @@ import { ZodError } from 'zod';
|
|
|
3
3
|
import type { Field, PluginSchema } from '~/pkgs/data-model';
|
|
4
4
|
import type { C15TOptions } from '~/types';
|
|
5
5
|
import { getAuditLogTable } from './audit-log/table';
|
|
6
|
+
import { getConsentTable } from './consent/table';
|
|
6
7
|
import { getConsentPolicyTable } from './consent-policy/table';
|
|
7
8
|
import { getPurposeTable } from './consent-purpose/table';
|
|
8
9
|
import { getConsentRecordTable } from './consent-record/table';
|
|
9
|
-
import { getConsentTable } from './consent/table';
|
|
10
10
|
import { getDomainTable } from './domain/table';
|
|
11
11
|
import type { InferTableShape } from './schemas';
|
|
12
12
|
import { getSubjectTable } from './subject/table';
|
|
@@ -26,11 +26,11 @@ export const domainSchema = z.object({
|
|
|
26
26
|
id: z.string(),
|
|
27
27
|
name: z.string().min(1),
|
|
28
28
|
description: z.string().optional(),
|
|
29
|
-
allowedOrigins: z.array(z.string()).optional().
|
|
30
|
-
isVerified: z.boolean().
|
|
31
|
-
isActive: z.boolean().
|
|
32
|
-
createdAt: z.date().
|
|
33
|
-
updatedAt: z.date().
|
|
29
|
+
allowedOrigins: z.array(z.string()).optional().prefault([]),
|
|
30
|
+
isVerified: z.boolean().prefault(true),
|
|
31
|
+
isActive: z.boolean().prefault(true),
|
|
32
|
+
createdAt: z.date().prefault(() => new Date()),
|
|
33
|
+
updatedAt: z.date().prefault(() => new Date()),
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
/**
|
package/src/schema/index.ts
CHANGED
|
@@ -42,13 +42,25 @@
|
|
|
42
42
|
* Each table definition includes field specifications, relationships, and metadata.
|
|
43
43
|
*/
|
|
44
44
|
export * from './audit-log';
|
|
45
|
+
export * from './consent';
|
|
45
46
|
export * from './consent-policy';
|
|
46
47
|
export * from './consent-purpose';
|
|
47
48
|
export * from './consent-record';
|
|
48
|
-
|
|
49
|
+
// Schema Utility Exports
|
|
50
|
+
/**
|
|
51
|
+
* Schema utilities for working with the complete database schema
|
|
52
|
+
*
|
|
53
|
+
* These exports provide functions for retrieving the complete schema and
|
|
54
|
+
* working with table definitions at a higher level.
|
|
55
|
+
*
|
|
56
|
+
* @see {@link getConsentTables} - Main function to get the complete schema
|
|
57
|
+
* @see {@link C15TDBSchema} - Type representing the complete database schema
|
|
58
|
+
*/
|
|
59
|
+
export { type C15TDBSchema, getConsentTables } from './definition';
|
|
49
60
|
export * from './domain';
|
|
61
|
+
// Schemas export
|
|
62
|
+
export * from './schemas';
|
|
50
63
|
export * from './subject';
|
|
51
|
-
|
|
52
64
|
// Schema Type Exports
|
|
53
65
|
/**
|
|
54
66
|
* Type definitions for database schema configuration
|
|
@@ -60,18 +72,3 @@ export * from './subject';
|
|
|
60
72
|
* @see {@link TablesConfig} - Configuration for all database tables
|
|
61
73
|
*/
|
|
62
74
|
export * from './types';
|
|
63
|
-
|
|
64
|
-
// Schema Utility Exports
|
|
65
|
-
/**
|
|
66
|
-
* Schema utilities for working with the complete database schema
|
|
67
|
-
*
|
|
68
|
-
* These exports provide functions for retrieving the complete schema and
|
|
69
|
-
* working with table definitions at a higher level.
|
|
70
|
-
*
|
|
71
|
-
* @see {@link getConsentTables} - Main function to get the complete schema
|
|
72
|
-
* @see {@link C15TDBSchema} - Type representing the complete database schema
|
|
73
|
-
*/
|
|
74
|
-
export { getConsentTables, type C15TDBSchema } from './definition';
|
|
75
|
-
|
|
76
|
-
// Schemas export
|
|
77
|
-
export * from './schemas';
|