@c15t/backend 1.8.0 → 2.0.0-rc.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 +44 -78
- package/CHANGELOG.md +13 -0
- package/dist/cache/adapters/cloudflare-kv.d.ts +46 -0
- package/dist/cache/adapters/cloudflare-kv.d.ts.map +1 -0
- package/dist/cache/adapters/index.d.ts +11 -0
- package/dist/cache/adapters/index.d.ts.map +1 -0
- package/dist/cache/adapters/memory.d.ts +47 -0
- package/dist/cache/adapters/memory.d.ts.map +1 -0
- package/dist/cache/adapters/upstash-redis.d.ts +75 -0
- package/dist/cache/adapters/upstash-redis.d.ts.map +1 -0
- package/dist/cache/gvl-resolver.d.ts +86 -0
- package/dist/cache/gvl-resolver.d.ts.map +1 -0
- package/dist/cache/index.d.ts +13 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/keys.d.ts +51 -0
- package/dist/cache/keys.d.ts.map +1 -0
- package/dist/cache/types.d.ts +61 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cache.cjs +530 -0
- package/dist/cache.js +467 -0
- package/dist/core.cjs +2569 -3840
- package/dist/core.d.ts +19 -409
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +2378 -3680
- package/dist/db/adapters/drizzle.cjs +36 -0
- package/dist/db/adapters/drizzle.d.ts.map +1 -0
- package/dist/db/adapters/index.d.ts.map +1 -0
- package/dist/db/adapters/kysely.cjs +36 -0
- package/dist/db/adapters/kysely.d.ts.map +1 -0
- package/dist/db/adapters/mongo.cjs +36 -0
- package/dist/db/adapters/mongo.d.ts.map +1 -0
- package/dist/db/adapters/prisma.cjs +36 -0
- package/dist/db/adapters/prisma.d.ts.map +1 -0
- package/dist/db/adapters/typeorm.cjs +36 -0
- package/dist/db/adapters/typeorm.d.ts.map +1 -0
- package/dist/db/adapters.cjs +18 -0
- package/dist/db/migrator/index.d.ts.map +1 -0
- package/dist/db/migrator.cjs +61 -0
- package/dist/db/registry/consent-policy.d.ts +23 -0
- package/dist/db/registry/consent-policy.d.ts.map +1 -0
- package/dist/db/registry/consent-purpose.d.ts +11 -0
- package/dist/db/registry/consent-purpose.d.ts.map +1 -0
- package/dist/db/registry/domain.d.ts +18 -0
- package/dist/db/registry/domain.d.ts.map +1 -0
- package/dist/db/registry/index.d.ts +57 -0
- package/dist/db/registry/index.d.ts.map +1 -0
- package/dist/db/registry/subject.d.ts +32 -0
- package/dist/db/registry/subject.d.ts.map +1 -0
- package/dist/db/registry/types.d.ts +10 -0
- package/dist/db/registry/types.d.ts.map +1 -0
- package/dist/db/registry/utils/generate-id.d.ts +25 -0
- package/dist/db/registry/utils/generate-id.d.ts.map +1 -0
- package/dist/db/registry/utils.d.ts +25 -0
- package/dist/db/registry/utils.d.ts.map +1 -0
- package/dist/db/schema/1.0.0/audit-log.d.ts +14 -0
- package/dist/db/schema/1.0.0/audit-log.d.ts.map +1 -0
- package/dist/db/schema/1.0.0/consent-policy.d.ts +13 -0
- package/dist/db/schema/1.0.0/consent-policy.d.ts.map +1 -0
- package/dist/db/schema/1.0.0/consent-purpose.d.ts +13 -0
- package/dist/db/schema/1.0.0/consent-purpose.d.ts.map +1 -0
- package/dist/db/schema/1.0.0/consent-record.d.ts +9 -0
- package/dist/db/schema/1.0.0/consent-record.d.ts.map +1 -0
- package/dist/db/schema/1.0.0/consent.d.ts +18 -0
- package/dist/db/schema/1.0.0/consent.d.ts.map +1 -0
- package/dist/db/schema/1.0.0/domain.d.ts +11 -0
- package/dist/db/schema/1.0.0/domain.d.ts.map +1 -0
- package/dist/db/schema/1.0.0/index.d.ts +1506 -0
- package/dist/db/schema/1.0.0/index.d.ts.map +1 -0
- package/dist/db/schema/1.0.0/subject.d.ts +11 -0
- package/dist/db/schema/1.0.0/subject.d.ts.map +1 -0
- package/dist/db/schema/2.0.0/audit-log.d.ts +16 -0
- package/dist/db/schema/2.0.0/audit-log.d.ts.map +1 -0
- package/dist/db/schema/2.0.0/consent-policy.d.ts +13 -0
- package/dist/db/schema/2.0.0/consent-policy.d.ts.map +1 -0
- package/dist/db/schema/2.0.0/consent-purpose.d.ts +10 -0
- package/dist/db/schema/2.0.0/consent-purpose.d.ts.map +1 -0
- package/dist/db/schema/2.0.0/consent.d.ts +24 -0
- package/dist/db/schema/2.0.0/consent.d.ts.map +1 -0
- package/dist/db/schema/2.0.0/domain.d.ts +10 -0
- package/dist/db/schema/2.0.0/domain.d.ts.map +1 -0
- package/dist/db/schema/2.0.0/index.d.ts +586 -0
- package/dist/db/schema/2.0.0/index.d.ts.map +1 -0
- package/dist/db/schema/2.0.0/subject.d.ts +12 -0
- package/dist/db/schema/2.0.0/subject.d.ts.map +1 -0
- package/dist/db/schema/index.d.ts +2664 -0
- package/dist/db/schema/index.d.ts.map +1 -0
- package/dist/db/schema.cjs +359 -0
- package/dist/db/schema.js +261 -0
- package/dist/db/tenant-scope.d.ts +20 -0
- package/dist/db/tenant-scope.d.ts.map +1 -0
- package/dist/define-config.cjs +36 -0
- package/dist/define-config.d.ts.map +1 -0
- package/dist/handlers/consent/check.handler.d.ts +24 -0
- package/dist/handlers/consent/check.handler.d.ts.map +1 -0
- package/dist/handlers/consent/index.d.ts +11 -339
- package/dist/handlers/consent/index.d.ts.map +1 -1
- package/dist/handlers/init/geo.d.ts +34 -0
- package/dist/handlers/init/geo.d.ts.map +1 -0
- package/dist/handlers/init/index.d.ts +157 -0
- package/dist/handlers/init/index.d.ts.map +1 -0
- package/dist/handlers/init/translations.d.ts +28 -0
- package/dist/handlers/init/translations.d.ts.map +1 -0
- package/dist/handlers/status/index.d.ts +7 -0
- package/dist/handlers/status/index.d.ts.map +1 -0
- package/dist/handlers/status/status.handler.d.ts +26 -0
- package/dist/handlers/status/status.handler.d.ts.map +1 -0
- package/dist/handlers/subject/get.handler.d.ts +32 -0
- package/dist/handlers/subject/get.handler.d.ts.map +1 -0
- package/dist/handlers/subject/index.d.ts +10 -0
- package/dist/handlers/subject/index.d.ts.map +1 -0
- package/dist/handlers/subject/list.handler.d.ts +31 -0
- package/dist/handlers/subject/list.handler.d.ts.map +1 -0
- package/dist/handlers/subject/patch.handler.d.ts +22 -0
- package/dist/handlers/subject/patch.handler.d.ts.map +1 -0
- package/dist/handlers/subject/post.handler.d.ts +25 -0
- package/dist/handlers/subject/post.handler.d.ts.map +1 -0
- package/dist/handlers/utils/consent-enrichment.d.ts +52 -0
- package/dist/handlers/utils/consent-enrichment.d.ts.map +1 -0
- package/dist/init.d.ts +20 -26
- package/dist/init.d.ts.map +1 -1
- package/dist/middleware/auth/index.d.ts +7 -0
- package/dist/middleware/auth/index.d.ts.map +1 -0
- package/dist/middleware/auth/validate-api-key.d.ts +49 -0
- package/dist/middleware/auth/validate-api-key.d.ts.map +1 -0
- package/dist/middleware/cors/cors.d.ts +13 -17
- package/dist/middleware/cors/cors.d.ts.map +1 -1
- package/dist/middleware/cors/is-origin-trusted.d.ts.map +1 -1
- package/dist/middleware/cors/process-cors.d.ts +1 -1
- package/dist/middleware/cors/process-cors.d.ts.map +1 -1
- package/dist/middleware/openapi/config.d.ts +16 -2
- package/dist/middleware/openapi/config.d.ts.map +1 -1
- package/dist/middleware/openapi/handlers.d.ts +1 -24
- package/dist/middleware/openapi/handlers.d.ts.map +1 -1
- package/dist/middleware/openapi/index.d.ts +3 -2
- package/dist/middleware/openapi/index.d.ts.map +1 -1
- package/dist/middleware/process-ip/index.d.ts +12 -0
- package/dist/middleware/process-ip/index.d.ts.map +1 -0
- package/dist/router.cjs +1288 -1776
- package/dist/router.d.ts +9 -363
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +1277 -1658
- package/dist/routes/consent.d.ts +16 -0
- package/dist/routes/consent.d.ts.map +1 -0
- package/dist/routes/index.d.ts +10 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/init.d.ts +16 -0
- package/dist/routes/init.d.ts.map +1 -0
- package/dist/routes/status.d.ts +16 -0
- package/dist/routes/status.d.ts.map +1 -0
- package/dist/routes/subject.d.ts +16 -0
- package/dist/routes/subject.d.ts.map +1 -0
- package/dist/types/api.d.ts +5 -1
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/index.d.ts +253 -14
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types.cjs +37 -0
- package/dist/types.js +3 -0
- package/dist/utils/create-telemetry-options.d.ts +71 -0
- package/dist/utils/create-telemetry-options.d.ts.map +1 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/extract-error-message.d.ts +9 -0
- package/dist/utils/extract-error-message.d.ts.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/instrumentation.d.ts +70 -0
- package/dist/utils/instrumentation.d.ts.map +1 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/metrics.d.ts +133 -0
- package/dist/utils/metrics.d.ts.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/package.json +143 -224
- package/rslib.config.ts +11 -34
- package/src/cache/adapters/cloudflare-kv.ts +71 -0
- package/src/cache/adapters/index.ts +22 -0
- package/src/cache/adapters/memory.ts +111 -0
- package/src/cache/adapters/upstash-redis.ts +113 -0
- package/src/cache/gvl-resolver.ts +289 -0
- package/src/cache/index.ts +34 -0
- package/src/cache/keys.ts +68 -0
- package/src/cache/types.ts +66 -0
- package/src/core.ts +254 -352
- package/src/db/migrator/index.ts +80 -0
- package/src/db/registry/consent-policy.test.ts +451 -0
- package/src/db/registry/consent-policy.ts +82 -0
- package/src/db/registry/consent-purpose.test.ts +428 -0
- package/src/db/registry/consent-purpose.ts +61 -0
- package/src/db/registry/domain.test.ts +445 -0
- package/src/db/registry/domain.ts +91 -0
- package/src/db/registry/index.ts +14 -0
- package/src/db/registry/subject.test.ts +388 -0
- package/src/db/registry/subject.ts +129 -0
- package/src/db/registry/types.ts +10 -0
- package/src/db/registry/utils/generate-id.test.ts +216 -0
- package/src/db/registry/utils/generate-id.ts +133 -0
- package/src/db/registry/utils.ts +133 -0
- package/src/db/schema/1.0.0/audit-log.ts +15 -0
- package/src/db/schema/1.0.0/consent-policy.ts +14 -0
- package/src/db/schema/1.0.0/consent-purpose.ts +14 -0
- package/src/db/schema/1.0.0/consent-record.ts +10 -0
- package/src/db/schema/1.0.0/consent.ts +20 -0
- package/src/db/schema/1.0.0/domain.ts +12 -0
- package/src/db/schema/1.0.0/index.ts +48 -0
- package/src/db/schema/1.0.0/subject.ts +12 -0
- package/src/db/schema/2.0.0/audit-log.ts +18 -0
- package/src/db/schema/2.0.0/consent-policy.ts +28 -0
- package/src/db/schema/2.0.0/consent-purpose.ts +12 -0
- package/src/db/schema/2.0.0/consent.ts +26 -0
- package/src/db/schema/2.0.0/domain.ts +12 -0
- package/src/db/schema/2.0.0/index.ts +47 -0
- package/src/db/schema/2.0.0/subject.ts +14 -0
- package/src/db/schema/index.ts +15 -0
- package/src/db/tenant-scope.test.ts +750 -0
- package/src/db/tenant-scope.ts +103 -0
- package/src/handlers/consent/check.handler.ts +126 -0
- package/src/handlers/consent/index.ts +11 -10
- package/src/handlers/init/geo.test.ts +317 -0
- package/src/handlers/init/geo.ts +195 -0
- package/src/handlers/init/index.test.ts +205 -0
- package/src/handlers/init/index.ts +114 -0
- package/src/handlers/init/translations.test.ts +121 -0
- package/src/handlers/init/translations.ts +72 -0
- package/src/handlers/status/index.ts +7 -0
- package/src/handlers/status/status.handler.test.ts +155 -0
- package/src/handlers/status/status.handler.ts +51 -0
- package/src/handlers/subject/get.handler.ts +93 -0
- package/src/handlers/subject/index.ts +10 -0
- package/src/handlers/subject/list.handler.ts +93 -0
- package/src/handlers/subject/patch.handler.ts +122 -0
- package/src/handlers/subject/post.handler.test.ts +294 -0
- package/src/handlers/subject/post.handler.ts +254 -0
- package/src/handlers/utils/consent-enrichment.test.ts +380 -0
- package/src/handlers/utils/consent-enrichment.ts +218 -0
- package/src/init.test.ts +126 -0
- package/src/init.ts +70 -297
- package/src/middleware/auth/index.ts +11 -0
- package/src/middleware/auth/validate-api-key.test.ts +86 -0
- package/src/middleware/auth/validate-api-key.ts +107 -0
- package/src/middleware/cors/cors.test.ts +96 -380
- package/src/middleware/cors/cors.ts +88 -97
- package/src/middleware/cors/is-origin-trusted.ts +2 -1
- package/src/middleware/cors/process-cors.ts +1 -1
- package/src/middleware/openapi/config.ts +8 -6
- package/src/middleware/openapi/handlers.ts +2 -100
- package/src/middleware/openapi/index.ts +3 -2
- package/src/middleware/process-ip/index.test.ts +195 -0
- package/src/middleware/process-ip/index.ts +199 -0
- package/src/router.ts +14 -7
- package/src/routes/consent.ts +52 -0
- package/src/routes/index.ts +10 -0
- package/src/routes/init.ts +102 -0
- package/src/routes/status.ts +46 -0
- package/src/routes/subject.ts +152 -0
- package/src/types/api.ts +17 -2
- package/src/types/index.ts +288 -23
- package/src/utils/create-telemetry-options.test.ts +302 -0
- package/src/utils/create-telemetry-options.ts +229 -0
- package/src/utils/extract-error-message.ts +21 -0
- package/src/utils/index.ts +3 -0
- package/src/utils/instrumentation.test.ts +185 -0
- package/src/utils/instrumentation.ts +196 -0
- package/src/utils/logger.ts +41 -0
- package/src/utils/metrics.test.ts +323 -0
- package/src/utils/metrics.ts +402 -0
- package/src/utils/telemetry-pii.test.ts +325 -0
- package/src/version.ts +1 -1
- package/tsconfig.json +2 -4
- package/LICENSE.md +0 -595
- package/dist/__tests__/server.test.d.ts +0 -2
- package/dist/__tests__/server.test.d.ts.map +0 -1
- package/dist/contracts/consent/identify.contract.d.ts +0 -24
- package/dist/contracts/consent/identify.contract.d.ts.map +0 -1
- package/dist/contracts/consent/index.d.ts +0 -340
- package/dist/contracts/consent/index.d.ts.map +0 -1
- package/dist/contracts/consent/index.test.d.ts +0 -2
- package/dist/contracts/consent/index.test.d.ts.map +0 -1
- package/dist/contracts/consent/post.contract.d.ts +0 -117
- package/dist/contracts/consent/post.contract.d.ts.map +0 -1
- package/dist/contracts/consent/post.contract.test.d.ts +0 -2
- package/dist/contracts/consent/post.contract.test.d.ts.map +0 -1
- package/dist/contracts/consent/show-banner.contract.d.ts +0 -123
- package/dist/contracts/consent/show-banner.contract.d.ts.map +0 -1
- package/dist/contracts/consent/show-banner.contract.test.d.ts +0 -2
- package/dist/contracts/consent/show-banner.contract.test.d.ts.map +0 -1
- package/dist/contracts/consent/verify.contract.d.ts +0 -81
- package/dist/contracts/consent/verify.contract.d.ts.map +0 -1
- package/dist/contracts/consent/verify.contract.test.d.ts +0 -2
- package/dist/contracts/consent/verify.contract.test.d.ts.map +0 -1
- package/dist/contracts/index.d.ts +0 -731
- package/dist/contracts/index.d.ts.map +0 -1
- package/dist/contracts/meta/index.d.ts +0 -23
- package/dist/contracts/meta/index.d.ts.map +0 -1
- package/dist/contracts/meta/index.test.d.ts +0 -2
- package/dist/contracts/meta/index.test.d.ts.map +0 -1
- package/dist/contracts/meta/status.contract.d.ts +0 -22
- package/dist/contracts/meta/status.contract.d.ts.map +0 -1
- package/dist/contracts/meta/status.contract.test.d.ts +0 -2
- package/dist/contracts/meta/status.contract.test.d.ts.map +0 -1
- package/dist/contracts/shared/jurisdiction.schema.d.ts +0 -36
- package/dist/contracts/shared/jurisdiction.schema.d.ts.map +0 -1
- package/dist/contracts.cjs +0 -799
- package/dist/contracts.js +0 -636
- package/dist/handlers/consent/identify.handler.d.ts +0 -23
- package/dist/handlers/consent/identify.handler.d.ts.map +0 -1
- package/dist/handlers/consent/identify.handler.test.d.ts +0 -2
- package/dist/handlers/consent/identify.handler.test.d.ts.map +0 -1
- package/dist/handlers/consent/post.handler.d.ts +0 -139
- package/dist/handlers/consent/post.handler.d.ts.map +0 -1
- package/dist/handlers/consent/show-banner/geo.d.ts +0 -10
- package/dist/handlers/consent/show-banner/geo.d.ts.map +0 -1
- package/dist/handlers/consent/show-banner/geo.test.d.ts +0 -2
- package/dist/handlers/consent/show-banner/geo.test.d.ts.map +0 -1
- package/dist/handlers/consent/show-banner/handler.d.ts +0 -126
- package/dist/handlers/consent/show-banner/handler.d.ts.map +0 -1
- package/dist/handlers/consent/show-banner/handler.test.d.ts +0 -2
- package/dist/handlers/consent/show-banner/handler.test.d.ts.map +0 -1
- package/dist/handlers/consent/show-banner/translations.d.ts +0 -13
- package/dist/handlers/consent/show-banner/translations.d.ts.map +0 -1
- package/dist/handlers/consent/show-banner/translations.test.d.ts +0 -2
- package/dist/handlers/consent/show-banner/translations.test.d.ts.map +0 -1
- package/dist/handlers/consent/verify.handler.d.ts +0 -103
- package/dist/handlers/consent/verify.handler.d.ts.map +0 -1
- package/dist/handlers/meta/index.d.ts +0 -23
- package/dist/handlers/meta/index.d.ts.map +0 -1
- package/dist/handlers/meta/status.handler.d.ts +0 -21
- package/dist/handlers/meta/status.handler.d.ts.map +0 -1
- package/dist/middleware/cors/cors.test.d.ts +0 -2
- package/dist/middleware/cors/cors.test.d.ts.map +0 -1
- package/dist/middleware/cors/is-origin-trusted.test.d.ts +0 -2
- package/dist/middleware/cors/is-origin-trusted.test.d.ts.map +0 -1
- package/dist/pkgs/api-router/hooks/__tests__/processor.test.d.ts +0 -2
- package/dist/pkgs/api-router/hooks/__tests__/processor.test.d.ts.map +0 -1
- package/dist/pkgs/api-router/hooks/processor.d.ts +0 -87
- package/dist/pkgs/api-router/hooks/processor.d.ts.map +0 -1
- package/dist/pkgs/api-router/telemetry.d.ts +0 -15
- package/dist/pkgs/api-router/telemetry.d.ts.map +0 -1
- package/dist/pkgs/api-router/types/router-props.d.ts +0 -32
- package/dist/pkgs/api-router/types/router-props.d.ts.map +0 -1
- package/dist/pkgs/api-router/utils/ip.d.ts +0 -44
- package/dist/pkgs/api-router/utils/ip.d.ts.map +0 -1
- package/dist/pkgs/data-model/fields/field-factory.d.ts +0 -151
- package/dist/pkgs/data-model/fields/field-factory.d.ts.map +0 -1
- package/dist/pkgs/data-model/fields/field-inference.d.ts +0 -76
- package/dist/pkgs/data-model/fields/field-inference.d.ts.map +0 -1
- package/dist/pkgs/data-model/fields/field-types.d.ts +0 -182
- package/dist/pkgs/data-model/fields/field-types.d.ts.map +0 -1
- package/dist/pkgs/data-model/fields/id-generator.d.ts +0 -19
- package/dist/pkgs/data-model/fields/id-generator.d.ts.map +0 -1
- package/dist/pkgs/data-model/fields/index.cjs +0 -159
- package/dist/pkgs/data-model/fields/index.d.ts +0 -13
- package/dist/pkgs/data-model/fields/index.d.ts.map +0 -1
- package/dist/pkgs/data-model/fields/index.js +0 -106
- package/dist/pkgs/data-model/fields/superjson-utils.d.ts +0 -12
- package/dist/pkgs/data-model/fields/superjson-utils.d.ts.map +0 -1
- package/dist/pkgs/data-model/fields/zod-fields.d.ts +0 -331
- package/dist/pkgs/data-model/fields/zod-fields.d.ts.map +0 -1
- package/dist/pkgs/data-model/hooks/create-hooks.d.ts +0 -32
- package/dist/pkgs/data-model/hooks/create-hooks.d.ts.map +0 -1
- package/dist/pkgs/data-model/hooks/index.d.ts +0 -40
- package/dist/pkgs/data-model/hooks/index.d.ts.map +0 -1
- package/dist/pkgs/data-model/hooks/types.d.ts +0 -134
- package/dist/pkgs/data-model/hooks/types.d.ts.map +0 -1
- package/dist/pkgs/data-model/hooks/update-hooks.d.ts +0 -33
- package/dist/pkgs/data-model/hooks/update-hooks.d.ts.map +0 -1
- package/dist/pkgs/data-model/hooks/update-many-hooks.d.ts +0 -55
- package/dist/pkgs/data-model/hooks/update-many-hooks.d.ts.map +0 -1
- package/dist/pkgs/data-model/hooks/utils.d.ts +0 -62
- package/dist/pkgs/data-model/hooks/utils.d.ts.map +0 -1
- package/dist/pkgs/data-model/hooks/with-hooks-factory.d.ts +0 -33
- package/dist/pkgs/data-model/hooks/with-hooks-factory.d.ts.map +0 -1
- package/dist/pkgs/data-model/index.cjs +0 -1603
- package/dist/pkgs/data-model/index.d.ts +0 -10
- package/dist/pkgs/data-model/index.d.ts.map +0 -1
- package/dist/pkgs/data-model/index.js +0 -1469
- package/dist/pkgs/data-model/schema/index.cjs +0 -1550
- package/dist/pkgs/data-model/schema/index.d.ts +0 -8
- package/dist/pkgs/data-model/schema/index.d.ts.map +0 -1
- package/dist/pkgs/data-model/schema/index.js +0 -1446
- package/dist/pkgs/data-model/schema/schemas.d.ts +0 -14
- package/dist/pkgs/data-model/schema/schemas.d.ts.map +0 -1
- package/dist/pkgs/data-model/schema/types.d.ts +0 -86
- package/dist/pkgs/data-model/schema/types.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapter-factory.d.ts +0 -21
- package/dist/pkgs/db-adapters/adapter-factory.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts +0 -122
- package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.cjs +0 -1183
- package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.d.ts +0 -2
- package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.js +0 -1139
- package/dist/pkgs/db-adapters/adapters/index.d.ts +0 -10
- package/dist/pkgs/db-adapters/adapters/index.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/dialect.d.ts +0 -70
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/dialect.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.cjs +0 -1296
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.d.ts +0 -4
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.js +0 -1132
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts +0 -99
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/postgres.test.d.ts +0 -2
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/postgres.test.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/sqlite.test.d.ts +0 -2
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/sqlite.test.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts +0 -49
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/types.d.ts +0 -278
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/types.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapters/memory-adapter/index.cjs +0 -1076
- package/dist/pkgs/db-adapters/adapters/memory-adapter/index.d.ts +0 -2
- package/dist/pkgs/db-adapters/adapters/memory-adapter/index.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapters/memory-adapter/index.js +0 -916
- package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts +0 -58
- package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.cjs +0 -1155
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.d.ts +0 -2
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.js +0 -1111
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts +0 -145
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/adapters/test.d.ts +0 -11
- package/dist/pkgs/db-adapters/adapters/test.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/index.cjs +0 -2035
- package/dist/pkgs/db-adapters/index.d.ts +0 -16
- package/dist/pkgs/db-adapters/index.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/index.js +0 -1972
- package/dist/pkgs/db-adapters/types.d.ts +0 -160
- package/dist/pkgs/db-adapters/types.d.ts.map +0 -1
- package/dist/pkgs/db-adapters/utils.d.ts +0 -36
- package/dist/pkgs/db-adapters/utils.d.ts.map +0 -1
- package/dist/pkgs/migrations/get-migration.d.ts +0 -4
- package/dist/pkgs/migrations/get-migration.d.ts.map +0 -1
- package/dist/pkgs/migrations/get-schema/get-schema.d.ts +0 -27
- package/dist/pkgs/migrations/get-schema/get-schema.d.ts.map +0 -1
- package/dist/pkgs/migrations/get-schema/index.d.ts +0 -21
- package/dist/pkgs/migrations/get-schema/index.d.ts.map +0 -1
- package/dist/pkgs/migrations/get-schema/process-fields.d.ts +0 -15
- package/dist/pkgs/migrations/get-schema/process-fields.d.ts.map +0 -1
- package/dist/pkgs/migrations/get-schema/process-tables.d.ts +0 -13
- package/dist/pkgs/migrations/get-schema/process-tables.d.ts.map +0 -1
- package/dist/pkgs/migrations/get-schema/types.d.ts +0 -17
- package/dist/pkgs/migrations/get-schema/types.d.ts.map +0 -1
- package/dist/pkgs/migrations/index.cjs +0 -1352
- package/dist/pkgs/migrations/index.d.ts +0 -18
- package/dist/pkgs/migrations/index.d.ts.map +0 -1
- package/dist/pkgs/migrations/index.js +0 -1171
- package/dist/pkgs/migrations/migration-builders.d.ts +0 -28
- package/dist/pkgs/migrations/migration-builders.d.ts.map +0 -1
- package/dist/pkgs/migrations/migration-execution.d.ts +0 -12
- package/dist/pkgs/migrations/migration-execution.d.ts.map +0 -1
- package/dist/pkgs/migrations/schema-comparison.d.ts +0 -35
- package/dist/pkgs/migrations/schema-comparison.d.ts.map +0 -1
- package/dist/pkgs/migrations/type-mapping.d.ts +0 -75
- package/dist/pkgs/migrations/type-mapping.d.ts.map +0 -1
- package/dist/pkgs/migrations/types.d.ts +0 -36
- package/dist/pkgs/migrations/types.d.ts.map +0 -1
- package/dist/pkgs/results/__tests__/error-class.test.d.ts +0 -2
- package/dist/pkgs/results/__tests__/error-class.test.d.ts.map +0 -1
- package/dist/pkgs/results/__tests__/error-codes.test.d.ts +0 -2
- package/dist/pkgs/results/__tests__/error-codes.test.d.ts.map +0 -1
- package/dist/pkgs/results/__tests__/neverthrow-integration.test.d.ts +0 -2
- package/dist/pkgs/results/__tests__/neverthrow-integration.test.d.ts.map +0 -1
- package/dist/pkgs/results/__tests__/recovery-utils.test.d.ts +0 -2
- package/dist/pkgs/results/__tests__/recovery-utils.test.d.ts.map +0 -1
- package/dist/pkgs/results/__tests__/result-helpers.test.d.ts +0 -2
- package/dist/pkgs/results/__tests__/result-helpers.test.d.ts.map +0 -1
- package/dist/pkgs/results/core/error-class.d.ts +0 -128
- package/dist/pkgs/results/core/error-class.d.ts.map +0 -1
- package/dist/pkgs/results/core/error-codes.d.ts +0 -178
- package/dist/pkgs/results/core/error-codes.d.ts.map +0 -1
- package/dist/pkgs/results/core/tracing.d.ts +0 -11
- package/dist/pkgs/results/core/tracing.d.ts.map +0 -1
- package/dist/pkgs/results/create-telemetry-options.d.ts +0 -31
- package/dist/pkgs/results/create-telemetry-options.d.ts.map +0 -1
- package/dist/pkgs/results/index.cjs +0 -462
- package/dist/pkgs/results/index.d.ts +0 -80
- package/dist/pkgs/results/index.d.ts.map +0 -1
- package/dist/pkgs/results/index.js +0 -377
- package/dist/pkgs/results/orpc-error-handler.d.ts +0 -65
- package/dist/pkgs/results/orpc-error-handler.d.ts.map +0 -1
- package/dist/pkgs/results/results/recovery-utils.d.ts +0 -115
- package/dist/pkgs/results/results/recovery-utils.d.ts.map +0 -1
- package/dist/pkgs/results/results/result-helpers.d.ts +0 -214
- package/dist/pkgs/results/results/result-helpers.d.ts.map +0 -1
- package/dist/pkgs/results/types.d.ts +0 -200
- package/dist/pkgs/results/types.d.ts.map +0 -1
- package/dist/pkgs/types/context.d.ts +0 -160
- package/dist/pkgs/types/context.d.ts.map +0 -1
- package/dist/pkgs/types/endpoints.d.ts +0 -30
- package/dist/pkgs/types/endpoints.d.ts.map +0 -1
- package/dist/pkgs/types/helper.d.ts +0 -55
- package/dist/pkgs/types/helper.d.ts.map +0 -1
- package/dist/pkgs/types/index.cjs +0 -18
- package/dist/pkgs/types/index.d.ts +0 -11
- package/dist/pkgs/types/index.d.ts.map +0 -1
- package/dist/pkgs/types/options.d.ts +0 -228
- package/dist/pkgs/types/options.d.ts.map +0 -1
- package/dist/pkgs/types/plugins.d.ts +0 -171
- package/dist/pkgs/types/plugins.d.ts.map +0 -1
- package/dist/pkgs/utils/env.d.ts.map +0 -1
- package/dist/pkgs/utils/index.d.ts +0 -4
- package/dist/pkgs/utils/index.d.ts.map +0 -1
- package/dist/pkgs/utils/logger.d.ts.map +0 -1
- package/dist/pkgs/utils/url.d.ts +0 -28
- package/dist/pkgs/utils/url.d.ts.map +0 -1
- package/dist/schema/audit-log/index.d.ts +0 -4
- package/dist/schema/audit-log/index.d.ts.map +0 -1
- package/dist/schema/audit-log/registry.d.ts +0 -96
- package/dist/schema/audit-log/registry.d.ts.map +0 -1
- package/dist/schema/audit-log/schema.d.ts +0 -45
- package/dist/schema/audit-log/schema.d.ts.map +0 -1
- package/dist/schema/audit-log/table.d.ts +0 -153
- package/dist/schema/audit-log/table.d.ts.map +0 -1
- package/dist/schema/audit-log/types.d.ts +0 -29
- package/dist/schema/audit-log/types.d.ts.map +0 -1
- package/dist/schema/consent/index.d.ts +0 -4
- package/dist/schema/consent/index.d.ts.map +0 -1
- package/dist/schema/consent/registry.d.ts +0 -150
- package/dist/schema/consent/registry.d.ts.map +0 -1
- package/dist/schema/consent/schema.d.ts +0 -53
- package/dist/schema/consent/schema.d.ts.map +0 -1
- package/dist/schema/consent/table.d.ts +0 -183
- package/dist/schema/consent/table.d.ts.map +0 -1
- package/dist/schema/consent/types.d.ts +0 -37
- package/dist/schema/consent/types.d.ts.map +0 -1
- package/dist/schema/consent-policy/index.d.ts +0 -4
- package/dist/schema/consent-policy/index.d.ts.map +0 -1
- package/dist/schema/consent-policy/registry.d.ts +0 -200
- package/dist/schema/consent-policy/registry.d.ts.map +0 -1
- package/dist/schema/consent-policy/schema.d.ts +0 -65
- package/dist/schema/consent-policy/schema.d.ts.map +0 -1
- package/dist/schema/consent-policy/table.d.ts +0 -142
- package/dist/schema/consent-policy/table.d.ts.map +0 -1
- package/dist/schema/consent-policy/types.d.ts +0 -29
- package/dist/schema/consent-policy/types.d.ts.map +0 -1
- package/dist/schema/consent-purpose/index.d.ts +0 -4
- package/dist/schema/consent-purpose/index.d.ts.map +0 -1
- package/dist/schema/consent-purpose/registry.d.ts +0 -138
- package/dist/schema/consent-purpose/registry.d.ts.map +0 -1
- package/dist/schema/consent-purpose/schema.d.ts +0 -57
- package/dist/schema/consent-purpose/schema.d.ts.map +0 -1
- package/dist/schema/consent-purpose/table.d.ts +0 -139
- package/dist/schema/consent-purpose/table.d.ts.map +0 -1
- package/dist/schema/consent-purpose/types.d.ts +0 -16
- package/dist/schema/consent-purpose/types.d.ts.map +0 -1
- package/dist/schema/consent-record/index.d.ts +0 -3
- package/dist/schema/consent-record/index.d.ts.map +0 -1
- package/dist/schema/consent-record/schema.d.ts +0 -41
- package/dist/schema/consent-record/schema.d.ts.map +0 -1
- package/dist/schema/consent-record/table.d.ts +0 -107
- package/dist/schema/consent-record/table.d.ts.map +0 -1
- package/dist/schema/consent-record/types.d.ts +0 -21
- package/dist/schema/consent-record/types.d.ts.map +0 -1
- package/dist/schema/create-registry.d.ts +0 -218
- package/dist/schema/create-registry.d.ts.map +0 -1
- package/dist/schema/definition.d.ts +0 -586
- package/dist/schema/definition.d.ts.map +0 -1
- package/dist/schema/domain/index.d.ts +0 -4
- package/dist/schema/domain/index.d.ts.map +0 -1
- package/dist/schema/domain/registry.d.ts +0 -222
- package/dist/schema/domain/registry.d.ts.map +0 -1
- package/dist/schema/domain/schema.d.ts +0 -42
- package/dist/schema/domain/schema.d.ts.map +0 -1
- package/dist/schema/domain/table.d.ts +0 -122
- package/dist/schema/domain/table.d.ts.map +0 -1
- package/dist/schema/domain/types.d.ts +0 -27
- package/dist/schema/domain/types.d.ts.map +0 -1
- package/dist/schema/index.cjs +0 -1565
- package/dist/schema/index.d.ts +0 -70
- package/dist/schema/index.d.ts.map +0 -1
- package/dist/schema/index.js +0 -1455
- package/dist/schema/schemas.d.ts +0 -98
- package/dist/schema/schemas.d.ts.map +0 -1
- package/dist/schema/subject/index.d.ts +0 -4
- package/dist/schema/subject/index.d.ts.map +0 -1
- package/dist/schema/subject/registry.d.ts +0 -110
- package/dist/schema/subject/registry.d.ts.map +0 -1
- package/dist/schema/subject/schema.d.ts +0 -40
- package/dist/schema/subject/schema.d.ts.map +0 -1
- package/dist/schema/subject/table.d.ts +0 -120
- package/dist/schema/subject/table.d.ts.map +0 -1
- package/dist/schema/subject/types.d.ts +0 -22
- package/dist/schema/subject/types.d.ts.map +0 -1
- package/dist/schema/types.d.ts +0 -108
- package/dist/schema/types.d.ts.map +0 -1
- package/dist/server.d.ts +0 -2
- package/dist/server.d.ts.map +0 -1
- package/dist/testing/contract-testing.d.ts +0 -38
- package/dist/testing/contract-testing.d.ts.map +0 -1
- package/dist/types/context.d.ts +0 -12
- package/dist/types/context.d.ts.map +0 -1
- package/dist/types/options.d.ts +0 -91
- package/dist/types/options.d.ts.map +0 -1
- package/dist/types/plugins.d.ts +0 -126
- package/dist/types/plugins.d.ts.map +0 -1
- package/dist/v2/contracts/consent/identify.contract.d.ts +0 -24
- package/dist/v2/contracts/consent/identify.contract.d.ts.map +0 -1
- package/dist/v2/contracts/consent/index.d.ts +0 -340
- package/dist/v2/contracts/consent/index.d.ts.map +0 -1
- package/dist/v2/contracts/consent/index.test.d.ts +0 -2
- package/dist/v2/contracts/consent/index.test.d.ts.map +0 -1
- package/dist/v2/contracts/consent/post.contract.d.ts +0 -117
- package/dist/v2/contracts/consent/post.contract.d.ts.map +0 -1
- package/dist/v2/contracts/consent/post.contract.test.d.ts +0 -2
- package/dist/v2/contracts/consent/post.contract.test.d.ts.map +0 -1
- package/dist/v2/contracts/consent/show-banner.contract.d.ts +0 -123
- package/dist/v2/contracts/consent/show-banner.contract.d.ts.map +0 -1
- package/dist/v2/contracts/consent/show-banner.contract.test.d.ts +0 -2
- package/dist/v2/contracts/consent/show-banner.contract.test.d.ts.map +0 -1
- package/dist/v2/contracts/consent/verify.contract.d.ts +0 -81
- package/dist/v2/contracts/consent/verify.contract.d.ts.map +0 -1
- package/dist/v2/contracts/consent/verify.contract.test.d.ts +0 -2
- package/dist/v2/contracts/consent/verify.contract.test.d.ts.map +0 -1
- package/dist/v2/contracts/index.cjs +0 -716
- package/dist/v2/contracts/index.d.ts +0 -723
- package/dist/v2/contracts/index.d.ts.map +0 -1
- package/dist/v2/contracts/index.js +0 -679
- package/dist/v2/contracts/meta/index.d.ts +0 -19
- package/dist/v2/contracts/meta/index.d.ts.map +0 -1
- package/dist/v2/contracts/meta/index.test.d.ts +0 -2
- package/dist/v2/contracts/meta/index.test.d.ts.map +0 -1
- package/dist/v2/contracts/meta/status.contract.d.ts +0 -18
- package/dist/v2/contracts/meta/status.contract.d.ts.map +0 -1
- package/dist/v2/contracts/meta/status.contract.test.d.ts +0 -2
- package/dist/v2/contracts/meta/status.contract.test.d.ts.map +0 -1
- package/dist/v2/contracts/shared/jurisdiction.schema.d.ts +0 -36
- package/dist/v2/contracts/shared/jurisdiction.schema.d.ts.map +0 -1
- package/dist/v2/contracts/test.utils.d.ts +0 -38
- package/dist/v2/contracts/test.utils.d.ts.map +0 -1
- package/dist/v2/core.cjs +0 -2350
- package/dist/v2/core.d.ts +0 -444
- package/dist/v2/core.d.ts.map +0 -1
- package/dist/v2/core.js +0 -2300
- package/dist/v2/db/adapters/drizzle.cjs +0 -36
- package/dist/v2/db/adapters/drizzle.d.ts.map +0 -1
- package/dist/v2/db/adapters/index.cjs +0 -18
- package/dist/v2/db/adapters/index.d.ts.map +0 -1
- package/dist/v2/db/adapters/index.js +0 -0
- package/dist/v2/db/adapters/kysely.cjs +0 -36
- package/dist/v2/db/adapters/kysely.d.ts.map +0 -1
- package/dist/v2/db/adapters/mongo.cjs +0 -36
- package/dist/v2/db/adapters/mongo.d.ts.map +0 -1
- package/dist/v2/db/adapters/prisma.cjs +0 -36
- package/dist/v2/db/adapters/prisma.d.ts.map +0 -1
- package/dist/v2/db/adapters/typeorm.cjs +0 -36
- package/dist/v2/db/adapters/typeorm.d.ts.map +0 -1
- package/dist/v2/db/migrator/index.cjs +0 -61
- package/dist/v2/db/migrator/index.d.ts.map +0 -1
- package/dist/v2/db/registry/audit-log.d.ts +0 -21
- package/dist/v2/db/registry/audit-log.d.ts.map +0 -1
- package/dist/v2/db/registry/audit-log.test.d.ts +0 -2
- package/dist/v2/db/registry/audit-log.test.d.ts.map +0 -1
- package/dist/v2/db/registry/consent-policy.d.ts +0 -29
- package/dist/v2/db/registry/consent-policy.d.ts.map +0 -1
- package/dist/v2/db/registry/consent-policy.test.d.ts +0 -2
- package/dist/v2/db/registry/consent-policy.test.d.ts.map +0 -1
- package/dist/v2/db/registry/consent-purpose.d.ts +0 -16
- package/dist/v2/db/registry/consent-purpose.d.ts.map +0 -1
- package/dist/v2/db/registry/consent-purpose.test.d.ts +0 -2
- package/dist/v2/db/registry/consent-purpose.test.d.ts.map +0 -1
- package/dist/v2/db/registry/consent.d.ts +0 -20
- package/dist/v2/db/registry/consent.d.ts.map +0 -1
- package/dist/v2/db/registry/consent.test.d.ts +0 -2
- package/dist/v2/db/registry/consent.test.d.ts.map +0 -1
- package/dist/v2/db/registry/domain.d.ts +0 -24
- package/dist/v2/db/registry/domain.d.ts.map +0 -1
- package/dist/v2/db/registry/domain.test.d.ts +0 -2
- package/dist/v2/db/registry/domain.test.d.ts.map +0 -1
- package/dist/v2/db/registry/index.d.ts +0 -103
- package/dist/v2/db/registry/index.d.ts.map +0 -1
- package/dist/v2/db/registry/subject.d.ts +0 -19
- package/dist/v2/db/registry/subject.d.ts.map +0 -1
- package/dist/v2/db/registry/subject.test.d.ts +0 -2
- package/dist/v2/db/registry/subject.test.d.ts.map +0 -1
- package/dist/v2/db/registry/types.d.ts +0 -10
- package/dist/v2/db/registry/types.d.ts.map +0 -1
- package/dist/v2/db/registry/utils/generate-id.d.ts +0 -25
- package/dist/v2/db/registry/utils/generate-id.d.ts.map +0 -1
- package/dist/v2/db/registry/utils/generate-id.test.d.ts +0 -2
- package/dist/v2/db/registry/utils/generate-id.test.d.ts.map +0 -1
- package/dist/v2/db/registry/utils.d.ts +0 -25
- package/dist/v2/db/registry/utils.d.ts.map +0 -1
- package/dist/v2/db/schema/1.0.0/audit-log.d.ts +0 -29
- package/dist/v2/db/schema/1.0.0/audit-log.d.ts.map +0 -1
- package/dist/v2/db/schema/1.0.0/consent-policy.d.ts +0 -45
- package/dist/v2/db/schema/1.0.0/consent-policy.d.ts.map +0 -1
- package/dist/v2/db/schema/1.0.0/consent-purpose.d.ts +0 -27
- package/dist/v2/db/schema/1.0.0/consent-purpose.d.ts.map +0 -1
- package/dist/v2/db/schema/1.0.0/consent-record.d.ts +0 -19
- package/dist/v2/db/schema/1.0.0/consent-record.d.ts.map +0 -1
- package/dist/v2/db/schema/1.0.0/consent.d.ts +0 -42
- package/dist/v2/db/schema/1.0.0/consent.d.ts.map +0 -1
- package/dist/v2/db/schema/1.0.0/domain.d.ts +0 -23
- package/dist/v2/db/schema/1.0.0/domain.d.ts.map +0 -1
- package/dist/v2/db/schema/1.0.0/index.d.ts +0 -1513
- package/dist/v2/db/schema/1.0.0/index.d.ts.map +0 -1
- package/dist/v2/db/schema/1.0.0/subject.d.ts +0 -23
- package/dist/v2/db/schema/1.0.0/subject.d.ts.map +0 -1
- package/dist/v2/db/schema/index.cjs +0 -326
- package/dist/v2/db/schema/index.d.ts +0 -1507
- package/dist/v2/db/schema/index.d.ts.map +0 -1
- package/dist/v2/db/schema/index.js +0 -241
- package/dist/v2/define-config.cjs +0 -36
- package/dist/v2/define-config.d.ts.map +0 -1
- package/dist/v2/handlers/consent/identify.handler.d.ts +0 -23
- package/dist/v2/handlers/consent/identify.handler.d.ts.map +0 -1
- package/dist/v2/handlers/consent/identify.handler.test.d.ts +0 -2
- package/dist/v2/handlers/consent/identify.handler.test.d.ts.map +0 -1
- package/dist/v2/handlers/consent/index.d.ts +0 -340
- package/dist/v2/handlers/consent/index.d.ts.map +0 -1
- package/dist/v2/handlers/consent/post.handler.d.ts +0 -139
- package/dist/v2/handlers/consent/post.handler.d.ts.map +0 -1
- package/dist/v2/handlers/consent/show-banner/geo.d.ts +0 -10
- package/dist/v2/handlers/consent/show-banner/geo.d.ts.map +0 -1
- package/dist/v2/handlers/consent/show-banner/geo.test.d.ts +0 -2
- package/dist/v2/handlers/consent/show-banner/geo.test.d.ts.map +0 -1
- package/dist/v2/handlers/consent/show-banner/handler.d.ts +0 -126
- package/dist/v2/handlers/consent/show-banner/handler.d.ts.map +0 -1
- package/dist/v2/handlers/consent/show-banner/handler.test.d.ts +0 -2
- package/dist/v2/handlers/consent/show-banner/handler.test.d.ts.map +0 -1
- package/dist/v2/handlers/consent/show-banner/translations.d.ts +0 -13
- package/dist/v2/handlers/consent/show-banner/translations.d.ts.map +0 -1
- package/dist/v2/handlers/consent/show-banner/translations.test.d.ts +0 -2
- package/dist/v2/handlers/consent/show-banner/translations.test.d.ts.map +0 -1
- package/dist/v2/handlers/consent/verify.handler.d.ts +0 -103
- package/dist/v2/handlers/consent/verify.handler.d.ts.map +0 -1
- package/dist/v2/handlers/meta/index.d.ts +0 -19
- package/dist/v2/handlers/meta/index.d.ts.map +0 -1
- package/dist/v2/handlers/meta/status.handler.d.ts +0 -17
- package/dist/v2/handlers/meta/status.handler.d.ts.map +0 -1
- package/dist/v2/init.d.ts +0 -3
- package/dist/v2/init.d.ts.map +0 -1
- package/dist/v2/init.test.d.ts +0 -2
- package/dist/v2/init.test.d.ts.map +0 -1
- package/dist/v2/middleware/cors/cors.d.ts +0 -37
- package/dist/v2/middleware/cors/cors.d.ts.map +0 -1
- package/dist/v2/middleware/cors/cors.test.d.ts +0 -2
- package/dist/v2/middleware/cors/cors.test.d.ts.map +0 -1
- package/dist/v2/middleware/cors/index.d.ts +0 -30
- package/dist/v2/middleware/cors/index.d.ts.map +0 -1
- package/dist/v2/middleware/cors/is-origin-trusted.d.ts +0 -49
- package/dist/v2/middleware/cors/is-origin-trusted.d.ts.map +0 -1
- package/dist/v2/middleware/cors/is-origin-trusted.test.d.ts +0 -2
- package/dist/v2/middleware/cors/is-origin-trusted.test.d.ts.map +0 -1
- package/dist/v2/middleware/cors/process-cors.d.ts +0 -31
- package/dist/v2/middleware/cors/process-cors.d.ts.map +0 -1
- package/dist/v2/middleware/openapi/config.d.ts +0 -28
- package/dist/v2/middleware/openapi/config.d.ts.map +0 -1
- package/dist/v2/middleware/openapi/handlers.d.ts +0 -29
- package/dist/v2/middleware/openapi/handlers.d.ts.map +0 -1
- package/dist/v2/middleware/openapi/index.d.ts +0 -11
- package/dist/v2/middleware/openapi/index.d.ts.map +0 -1
- package/dist/v2/middleware/process-ip/index.d.ts +0 -3
- package/dist/v2/middleware/process-ip/index.d.ts.map +0 -1
- package/dist/v2/router.cjs +0 -1442
- package/dist/v2/router.d.ts +0 -360
- package/dist/v2/router.d.ts.map +0 -1
- package/dist/v2/router.js +0 -1398
- package/dist/v2/types/api.d.ts +0 -27
- package/dist/v2/types/api.d.ts.map +0 -1
- package/dist/v2/types/index.cjs +0 -40
- package/dist/v2/types/index.d.ts +0 -104
- package/dist/v2/types/index.d.ts.map +0 -1
- package/dist/v2/types/index.js +0 -6
- package/dist/v2/utils/create-telemetry-options.d.ts +0 -28
- package/dist/v2/utils/create-telemetry-options.d.ts.map +0 -1
- package/dist/v2/utils/env.d.ts +0 -60
- package/dist/v2/utils/env.d.ts.map +0 -1
- package/dist/v2/utils/index.d.ts +0 -3
- package/dist/v2/utils/index.d.ts.map +0 -1
- package/dist/v2/utils/logger.d.ts +0 -16
- package/dist/v2/utils/logger.d.ts.map +0 -1
- package/src/__tests__/server.test.ts +0 -100
- package/src/contracts/consent/identify.contract.ts +0 -38
- package/src/contracts/consent/index.test.ts +0 -5
- package/src/contracts/consent/index.ts +0 -11
- package/src/contracts/consent/post.contract.test.ts +0 -521
- package/src/contracts/consent/post.contract.ts +0 -156
- package/src/contracts/consent/show-banner.contract.test.ts +0 -260
- package/src/contracts/consent/show-banner.contract.ts +0 -136
- package/src/contracts/consent/verify.contract.test.ts +0 -185
- package/src/contracts/consent/verify.contract.ts +0 -122
- package/src/contracts/index.ts +0 -20
- package/src/contracts/meta/index.test.ts +0 -5
- package/src/contracts/meta/index.ts +0 -5
- package/src/contracts/meta/status.contract.test.ts +0 -338
- package/src/contracts/meta/status.contract.ts +0 -37
- package/src/contracts/shared/jurisdiction.schema.ts +0 -30
- package/src/handlers/consent/identify.handler.test.ts +0 -473
- package/src/handlers/consent/identify.handler.ts +0 -176
- package/src/handlers/consent/post.handler.ts +0 -277
- package/src/handlers/consent/show-banner/geo.test.ts +0 -281
- package/src/handlers/consent/show-banner/geo.ts +0 -96
- package/src/handlers/consent/show-banner/handler.test.ts +0 -376
- package/src/handlers/consent/show-banner/handler.ts +0 -123
- package/src/handlers/consent/show-banner/translations.test.ts +0 -121
- package/src/handlers/consent/show-banner/translations.ts +0 -79
- package/src/handlers/consent/verify.handler.ts +0 -305
- package/src/handlers/meta/index.ts +0 -5
- package/src/handlers/meta/status.handler.ts +0 -47
- package/src/pkgs/api-router/hooks/__tests__/processor.test.ts +0 -290
- package/src/pkgs/api-router/hooks/processor.ts +0 -153
- package/src/pkgs/api-router/telemetry.ts +0 -83
- package/src/pkgs/api-router/types/router-props.ts +0 -36
- package/src/pkgs/api-router/utils/ip.ts +0 -92
- package/src/pkgs/data-model/fields/field-factory.ts +0 -208
- package/src/pkgs/data-model/fields/field-inference.ts +0 -93
- package/src/pkgs/data-model/fields/field-types.ts +0 -233
- package/src/pkgs/data-model/fields/id-generator.ts +0 -57
- package/src/pkgs/data-model/fields/index.ts +0 -37
- package/src/pkgs/data-model/fields/superjson-utils.ts +0 -17
- package/src/pkgs/data-model/fields/zod-fields.ts +0 -125
- package/src/pkgs/data-model/hooks/create-hooks.ts +0 -88
- package/src/pkgs/data-model/hooks/index.ts +0 -40
- package/src/pkgs/data-model/hooks/types.ts +0 -165
- package/src/pkgs/data-model/hooks/update-hooks.ts +0 -91
- package/src/pkgs/data-model/hooks/update-many-hooks.ts +0 -176
- package/src/pkgs/data-model/hooks/utils.ts +0 -151
- package/src/pkgs/data-model/hooks/with-hooks-factory.ts +0 -68
- package/src/pkgs/data-model/index.ts +0 -13
- package/src/pkgs/data-model/schema/index.ts +0 -19
- package/src/pkgs/data-model/schema/schemas.ts +0 -15
- package/src/pkgs/data-model/schema/types.ts +0 -105
- package/src/pkgs/db-adapters/README.md +0 -95
- package/src/pkgs/db-adapters/adapter-factory.ts +0 -68
- package/src/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.ts +0 -709
- package/src/pkgs/db-adapters/adapters/drizzle-adapter/index.ts +0 -1
- package/src/pkgs/db-adapters/adapters/index.ts +0 -10
- package/src/pkgs/db-adapters/adapters/kysely-adapter/dialect.ts +0 -195
- package/src/pkgs/db-adapters/adapters/kysely-adapter/index.ts +0 -10
- package/src/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.ts +0 -1182
- package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/postgres.test.ts +0 -214
- package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/sqlite.test.ts +0 -227
- package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.ts +0 -439
- package/src/pkgs/db-adapters/adapters/kysely-adapter/types.ts +0 -304
- package/src/pkgs/db-adapters/adapters/memory-adapter/index.ts +0 -1
- package/src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts +0 -665
- package/src/pkgs/db-adapters/adapters/prisma-adapter/index.ts +0 -1
- package/src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts +0 -586
- package/src/pkgs/db-adapters/adapters/test.ts +0 -77
- package/src/pkgs/db-adapters/index.ts +0 -28
- package/src/pkgs/db-adapters/types.ts +0 -211
- package/src/pkgs/db-adapters/utils.ts +0 -51
- package/src/pkgs/migrations/README.md +0 -73
- package/src/pkgs/migrations/get-migration.ts +0 -88
- package/src/pkgs/migrations/get-schema/get-schema.ts +0 -43
- package/src/pkgs/migrations/get-schema/index.ts +0 -20
- package/src/pkgs/migrations/get-schema/process-fields.ts +0 -65
- package/src/pkgs/migrations/get-schema/process-tables.ts +0 -66
- package/src/pkgs/migrations/get-schema/types.ts +0 -18
- package/src/pkgs/migrations/index.ts +0 -30
- package/src/pkgs/migrations/migration-builders.ts +0 -170
- package/src/pkgs/migrations/migration-execution.ts +0 -72
- package/src/pkgs/migrations/schema-comparison.ts +0 -203
- package/src/pkgs/migrations/type-mapping.ts +0 -244
- package/src/pkgs/migrations/types.ts +0 -48
- package/src/pkgs/results/README.md +0 -345
- package/src/pkgs/results/__tests__/error-class.test.ts +0 -183
- package/src/pkgs/results/__tests__/error-codes.test.ts +0 -81
- package/src/pkgs/results/__tests__/neverthrow-integration.test.ts +0 -92
- package/src/pkgs/results/__tests__/recovery-utils.test.ts +0 -140
- package/src/pkgs/results/__tests__/result-helpers.test.ts +0 -206
- package/src/pkgs/results/core/error-class.ts +0 -297
- package/src/pkgs/results/core/error-codes.ts +0 -206
- package/src/pkgs/results/core/tracing.ts +0 -65
- package/src/pkgs/results/create-telemetry-options.ts +0 -62
- package/src/pkgs/results/index.ts +0 -115
- package/src/pkgs/results/orpc-error-handler.ts +0 -137
- package/src/pkgs/results/results/recovery-utils.ts +0 -181
- package/src/pkgs/results/results/result-helpers.ts +0 -383
- package/src/pkgs/results/types.ts +0 -217
- package/src/pkgs/types/context.ts +0 -178
- package/src/pkgs/types/endpoints.ts +0 -35
- package/src/pkgs/types/helper.ts +0 -57
- package/src/pkgs/types/index.ts +0 -18
- package/src/pkgs/types/options.ts +0 -252
- package/src/pkgs/types/plugins.ts +0 -191
- package/src/pkgs/utils/index.ts +0 -3
- package/src/pkgs/utils/logger.ts +0 -35
- package/src/pkgs/utils/url.ts +0 -105
- package/src/schema/audit-log/index.ts +0 -3
- package/src/schema/audit-log/registry.ts +0 -117
- package/src/schema/audit-log/schema.ts +0 -46
- package/src/schema/audit-log/table.ts +0 -185
- package/src/schema/audit-log/types.ts +0 -29
- package/src/schema/consent/index.ts +0 -3
- package/src/schema/consent/registry.ts +0 -177
- package/src/schema/consent/schema.ts +0 -51
- package/src/schema/consent/table.ts +0 -221
- package/src/schema/consent/types.ts +0 -39
- package/src/schema/consent-policy/index.ts +0 -3
- package/src/schema/consent-policy/registry.ts +0 -352
- package/src/schema/consent-policy/schema.ts +0 -60
- package/src/schema/consent-policy/table.ts +0 -150
- package/src/schema/consent-policy/types.ts +0 -29
- package/src/schema/consent-purpose/index.ts +0 -3
- package/src/schema/consent-purpose/registry.ts +0 -168
- package/src/schema/consent-purpose/schema.ts +0 -58
- package/src/schema/consent-purpose/table.ts +0 -154
- package/src/schema/consent-purpose/types.ts +0 -16
- package/src/schema/consent-record/index.ts +0 -2
- package/src/schema/consent-record/schema.ts +0 -42
- package/src/schema/consent-record/table.ts +0 -124
- package/src/schema/consent-record/types.ts +0 -21
- package/src/schema/create-registry.ts +0 -21
- package/src/schema/definition.ts +0 -200
- package/src/schema/domain/index.ts +0 -3
- package/src/schema/domain/registry.ts +0 -296
- package/src/schema/domain/schema.ts +0 -43
- package/src/schema/domain/table.ts +0 -137
- package/src/schema/domain/types.ts +0 -27
- package/src/schema/index.ts +0 -74
- package/src/schema/schemas.ts +0 -27
- package/src/schema/subject/index.ts +0 -3
- package/src/schema/subject/registry.ts +0 -298
- package/src/schema/subject/schema.ts +0 -41
- package/src/schema/subject/table.ts +0 -138
- package/src/schema/subject/types.ts +0 -22
- package/src/schema/types.ts +0 -121
- package/src/server.ts +0 -126
- package/src/testing/contract-testing.ts +0 -400
- package/src/types/context.ts +0 -16
- package/src/types/options.ts +0 -103
- package/src/types/plugins.ts +0 -154
- package/src/v2/contracts/consent/identify.contract.ts +0 -38
- package/src/v2/contracts/consent/index.test.ts +0 -5
- package/src/v2/contracts/consent/index.ts +0 -11
- package/src/v2/contracts/consent/post.contract.test.ts +0 -521
- package/src/v2/contracts/consent/post.contract.ts +0 -156
- package/src/v2/contracts/consent/show-banner.contract.test.ts +0 -252
- package/src/v2/contracts/consent/show-banner.contract.ts +0 -136
- package/src/v2/contracts/consent/verify.contract.test.ts +0 -185
- package/src/v2/contracts/consent/verify.contract.ts +0 -122
- package/src/v2/contracts/index.ts +0 -20
- package/src/v2/contracts/meta/index.test.ts +0 -5
- package/src/v2/contracts/meta/index.ts +0 -5
- package/src/v2/contracts/meta/status.contract.test.ts +0 -226
- package/src/v2/contracts/meta/status.contract.ts +0 -34
- package/src/v2/contracts/shared/jurisdiction.schema.ts +0 -30
- package/src/v2/contracts/test.utils.ts +0 -400
- package/src/v2/core.ts +0 -379
- package/src/v2/db/migrator/index.ts +0 -80
- package/src/v2/db/registry/audit-log.test.ts +0 -77
- package/src/v2/db/registry/audit-log.ts +0 -46
- package/src/v2/db/registry/consent-policy.test.ts +0 -778
- package/src/v2/db/registry/consent-policy.ts +0 -74
- package/src/v2/db/registry/consent-purpose.test.ts +0 -485
- package/src/v2/db/registry/consent-purpose.ts +0 -41
- package/src/v2/db/registry/consent.test.ts +0 -843
- package/src/v2/db/registry/consent.ts +0 -42
- package/src/v2/db/registry/domain.test.ts +0 -463
- package/src/v2/db/registry/domain.ts +0 -51
- package/src/v2/db/registry/index.ts +0 -18
- package/src/v2/db/registry/subject.test.ts +0 -497
- package/src/v2/db/registry/subject.ts +0 -103
- package/src/v2/db/registry/types.ts +0 -10
- package/src/v2/db/registry/utils/generate-id.test.ts +0 -217
- package/src/v2/db/registry/utils/generate-id.ts +0 -134
- package/src/v2/db/registry/utils.ts +0 -134
- package/src/v2/db/schema/1.0.0/audit-log.ts +0 -32
- package/src/v2/db/schema/1.0.0/consent-policy.ts +0 -41
- package/src/v2/db/schema/1.0.0/consent-purpose.ts +0 -30
- package/src/v2/db/schema/1.0.0/consent-record.ts +0 -22
- package/src/v2/db/schema/1.0.0/consent.ts +0 -38
- package/src/v2/db/schema/1.0.0/domain.ts +0 -26
- package/src/v2/db/schema/1.0.0/index.ts +0 -56
- package/src/v2/db/schema/1.0.0/subject.ts +0 -26
- package/src/v2/db/schema/index.ts +0 -9
- package/src/v2/handlers/consent/identify.handler.test.ts +0 -453
- package/src/v2/handlers/consent/identify.handler.ts +0 -125
- package/src/v2/handlers/consent/index.ts +0 -11
- package/src/v2/handlers/consent/post.handler.ts +0 -258
- package/src/v2/handlers/consent/show-banner/geo.test.ts +0 -281
- package/src/v2/handlers/consent/show-banner/geo.ts +0 -96
- package/src/v2/handlers/consent/show-banner/handler.test.ts +0 -374
- package/src/v2/handlers/consent/show-banner/handler.ts +0 -123
- package/src/v2/handlers/consent/show-banner/translations.test.ts +0 -121
- package/src/v2/handlers/consent/show-banner/translations.ts +0 -79
- package/src/v2/handlers/consent/verify.handler.ts +0 -288
- package/src/v2/handlers/meta/index.ts +0 -5
- package/src/v2/handlers/meta/status.handler.ts +0 -43
- package/src/v2/init.test.ts +0 -120
- package/src/v2/init.ts +0 -126
- package/src/v2/middleware/cors/cors.test.ts +0 -114
- package/src/v2/middleware/cors/cors.ts +0 -195
- package/src/v2/middleware/cors/index.ts +0 -30
- package/src/v2/middleware/cors/is-origin-trusted.test.ts +0 -164
- package/src/v2/middleware/cors/is-origin-trusted.ts +0 -129
- package/src/v2/middleware/cors/process-cors.ts +0 -91
- package/src/v2/middleware/openapi/config.ts +0 -27
- package/src/v2/middleware/openapi/handlers.ts +0 -132
- package/src/v2/middleware/openapi/index.ts +0 -11
- package/src/v2/middleware/process-ip/index.ts +0 -39
- package/src/v2/router.ts +0 -8
- package/src/v2/types/api.ts +0 -32
- package/src/v2/types/index.ts +0 -121
- package/src/v2/utils/create-telemetry-options.ts +0 -115
- package/src/v2/utils/env.ts +0 -84
- package/src/v2/utils/index.ts +0 -2
- package/src/v2/utils/logger.ts +0 -35
- /package/dist/{v2/db → db}/adapters/drizzle.d.ts +0 -0
- /package/dist/{v2/db → db}/adapters/drizzle.js +0 -0
- /package/dist/{v2/db → db}/adapters/index.d.ts +0 -0
- /package/dist/{v2/db → db}/adapters/kysely.d.ts +0 -0
- /package/dist/{v2/db → db}/adapters/kysely.js +0 -0
- /package/dist/{v2/db → db}/adapters/mongo.d.ts +0 -0
- /package/dist/{v2/db → db}/adapters/mongo.js +0 -0
- /package/dist/{v2/db → db}/adapters/prisma.d.ts +0 -0
- /package/dist/{v2/db → db}/adapters/prisma.js +0 -0
- /package/dist/{v2/db → db}/adapters/typeorm.d.ts +0 -0
- /package/dist/{v2/db → db}/adapters/typeorm.js +0 -0
- /package/dist/{pkgs/types/index.js → db/adapters.js} +0 -0
- /package/dist/{v2/db → db}/migrator/index.d.ts +0 -0
- /package/dist/{v2/db/migrator/index.js → db/migrator.js} +0 -0
- /package/dist/{v2/define-config.d.ts → define-config.d.ts} +0 -0
- /package/dist/{v2/define-config.js → define-config.js} +0 -0
- /package/dist/{pkgs/utils → utils}/env.d.ts +0 -0
- /package/dist/{pkgs/utils → utils}/logger.d.ts +0 -0
- /package/src/{v2/db → db}/adapters/drizzle.ts +0 -0
- /package/src/{v2/db → db}/adapters/index.ts +0 -0
- /package/src/{v2/db → db}/adapters/kysely.ts +0 -0
- /package/src/{v2/db → db}/adapters/mongo.ts +0 -0
- /package/src/{v2/db → db}/adapters/prisma.ts +0 -0
- /package/src/{v2/db → db}/adapters/typeorm.ts +0 -0
- /package/src/{v2/define-config.ts → define-config.ts} +0 -0
- /package/src/{pkgs/utils → utils}/env.ts +0 -0
|
@@ -1,709 +0,0 @@
|
|
|
1
|
-
//@ts-nocheck
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
and,
|
|
5
|
-
asc,
|
|
6
|
-
count,
|
|
7
|
-
desc,
|
|
8
|
-
eq,
|
|
9
|
-
inArray,
|
|
10
|
-
like,
|
|
11
|
-
or,
|
|
12
|
-
type SQL,
|
|
13
|
-
} from 'drizzle-orm';
|
|
14
|
-
import { type EntityName, generateId } from '~/pkgs/data-model';
|
|
15
|
-
import { DoubleTieError, ERROR_CODES } from '~/pkgs/results';
|
|
16
|
-
import type { Adapter, C15TOptions, Where } from '~/pkgs/types';
|
|
17
|
-
import { getConsentTables } from '~/schema/definition';
|
|
18
|
-
import { applyDefaultValue } from '../../utils';
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Database interface for Drizzle ORM integration
|
|
22
|
-
*
|
|
23
|
-
* This generic interface represents a Drizzle ORM database connection.
|
|
24
|
-
* It allows the adapter to work with different Drizzle providers.
|
|
25
|
-
*
|
|
26
|
-
* @remarks
|
|
27
|
-
* The interface uses an index signature to allow for dynamic access to
|
|
28
|
-
* the database's properties and methods.
|
|
29
|
-
*/
|
|
30
|
-
export interface DB {
|
|
31
|
-
[key: string]: unknown;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Creates a transformer for converting between c15t data models and Drizzle schema
|
|
36
|
-
*
|
|
37
|
-
* This function creates an object with utility methods for converting data between
|
|
38
|
-
* the c15t internal representation and the Drizzle ORM schema representation.
|
|
39
|
-
*
|
|
40
|
-
* @internal This function is primarily used internally by the drizzleAdapter
|
|
41
|
-
* @param db - The Drizzle database instance
|
|
42
|
-
* @param config - Configuration options for the Drizzle adapter
|
|
43
|
-
* @param options - c15t options
|
|
44
|
-
* @returns An object containing entity transformation utilities
|
|
45
|
-
* @throws {DoubleTieError} If the schema is not found or if a model or field doesn't exist
|
|
46
|
-
*/
|
|
47
|
-
const createEntityTransformer = (
|
|
48
|
-
db: DB,
|
|
49
|
-
config: DrizzleAdapterConfig,
|
|
50
|
-
options: C15TOptions
|
|
51
|
-
) => {
|
|
52
|
-
const schema = getConsentTables(options);
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Gets the field name in the database schema
|
|
56
|
-
*
|
|
57
|
-
* @internal
|
|
58
|
-
* @param model - The model name
|
|
59
|
-
* @param field - The field name in the c15t model
|
|
60
|
-
* @returns The corresponding field name in the database schema
|
|
61
|
-
*/
|
|
62
|
-
function getField(model: string, field: string) {
|
|
63
|
-
if (field === 'id') {
|
|
64
|
-
return field;
|
|
65
|
-
}
|
|
66
|
-
const f = schema[model].fields[field];
|
|
67
|
-
return f.fieldName || field;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Gets the schema model for a given entity name
|
|
72
|
-
*
|
|
73
|
-
* @internal
|
|
74
|
-
* @param entityName - The entity name to get the schema for
|
|
75
|
-
* @returns The schema model for the entity
|
|
76
|
-
* @throws {DoubleTieError} If the schema is not found or the model doesn't exist in the schema
|
|
77
|
-
*/
|
|
78
|
-
function getSchema(entityName: string) {
|
|
79
|
-
const schema = config.schema || db._.fullSchema;
|
|
80
|
-
if (!schema) {
|
|
81
|
-
throw new DoubleTieError(
|
|
82
|
-
'The schema could not be found. Please ensure the schema is properly configured in the adapter.',
|
|
83
|
-
{
|
|
84
|
-
code: ERROR_CODES.DATABASE_CONNECTION_ERROR,
|
|
85
|
-
status: 500,
|
|
86
|
-
meta: {
|
|
87
|
-
provider: config.provider,
|
|
88
|
-
},
|
|
89
|
-
}
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
-
const model = getEntityName(entityName);
|
|
93
|
-
const schemaModel = schema[model];
|
|
94
|
-
if (!schemaModel) {
|
|
95
|
-
throw new DoubleTieError(
|
|
96
|
-
`The model "${model}" does not exist in the schema. Please verify the model name and ensure it is defined in your schema.`,
|
|
97
|
-
{
|
|
98
|
-
code: ERROR_CODES.DATABASE_QUERY_ERROR,
|
|
99
|
-
status: 404,
|
|
100
|
-
meta: {
|
|
101
|
-
model,
|
|
102
|
-
availableModels: Object.keys(schema),
|
|
103
|
-
},
|
|
104
|
-
}
|
|
105
|
-
);
|
|
106
|
-
}
|
|
107
|
-
return schemaModel;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Converts a model name to its corresponding entity name in the database
|
|
112
|
-
*
|
|
113
|
-
* @internal
|
|
114
|
-
* @param model - The model name to convert
|
|
115
|
-
* @returns The database entity name
|
|
116
|
-
*/
|
|
117
|
-
const getEntityName = (model: string) => {
|
|
118
|
-
if (schema[model].entityName !== model) {
|
|
119
|
-
return schema[model].entityName;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
if (config.usePlural) {
|
|
123
|
-
return `${model}s`;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
return model;
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Converts c15t where clauses to Drizzle ORM conditions
|
|
131
|
-
*
|
|
132
|
-
* @internal
|
|
133
|
-
* @typeParam EntityType - The type of entity being queried
|
|
134
|
-
* @param where - Array of where conditions from c15t
|
|
135
|
-
* @param model - The model name
|
|
136
|
-
* @returns Array of Drizzle ORM conditions
|
|
137
|
-
* @throws {DoubleTieError} If a field doesn't exist or if the operator value is invalid
|
|
138
|
-
*/
|
|
139
|
-
function convertWhereClause<EntityType extends EntityName>(
|
|
140
|
-
where: Where<EntityType>[],
|
|
141
|
-
model: EntityType
|
|
142
|
-
) {
|
|
143
|
-
const schemaModel = getSchema(model);
|
|
144
|
-
if (!where) {
|
|
145
|
-
return [];
|
|
146
|
-
}
|
|
147
|
-
if (where.length === 1) {
|
|
148
|
-
const w = where[0];
|
|
149
|
-
if (!w) {
|
|
150
|
-
return [];
|
|
151
|
-
}
|
|
152
|
-
const field = getField(model, w.field);
|
|
153
|
-
if (!schemaModel[field]) {
|
|
154
|
-
throw new DoubleTieError(
|
|
155
|
-
`The field "${field}" does not exist in model "${model}". Please verify the field name and ensure it is defined in your schema.`,
|
|
156
|
-
{
|
|
157
|
-
code: ERROR_CODES.DATABASE_QUERY_ERROR,
|
|
158
|
-
status: 404,
|
|
159
|
-
meta: {
|
|
160
|
-
model,
|
|
161
|
-
field,
|
|
162
|
-
availableFields: Object.keys(schemaModel),
|
|
163
|
-
},
|
|
164
|
-
}
|
|
165
|
-
);
|
|
166
|
-
}
|
|
167
|
-
if (w.operator === 'in') {
|
|
168
|
-
if (!Array.isArray(w.value)) {
|
|
169
|
-
throw new DoubleTieError(
|
|
170
|
-
`The value for the field "${field}" must be an array when using the "in" operator.`,
|
|
171
|
-
{
|
|
172
|
-
code: ERROR_CODES.BAD_REQUEST,
|
|
173
|
-
status: 400,
|
|
174
|
-
meta: {
|
|
175
|
-
field,
|
|
176
|
-
operator: w.operator,
|
|
177
|
-
expectedType: 'array',
|
|
178
|
-
actualType: typeof w.value,
|
|
179
|
-
},
|
|
180
|
-
}
|
|
181
|
-
);
|
|
182
|
-
}
|
|
183
|
-
return [inArray(schemaModel[field], w.value)];
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
if (w.operator === 'contains') {
|
|
187
|
-
return [like(schemaModel[field], `%${w.value}%`)];
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
if (w.operator === 'starts_with') {
|
|
191
|
-
return [like(schemaModel[field], `${w.value}%`)];
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
if (w.operator === 'ends_with') {
|
|
195
|
-
return [like(schemaModel[field], `%${w.value}`)];
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
return [eq(schemaModel[field], w.value)];
|
|
199
|
-
}
|
|
200
|
-
const andGroup = where.filter((w) => w.connector === 'AND' || !w.connector);
|
|
201
|
-
const orGroup = where.filter((w) => w.connector === 'OR');
|
|
202
|
-
|
|
203
|
-
const andClause = and(
|
|
204
|
-
...andGroup.map((w) => {
|
|
205
|
-
const field = getField(model, w.field);
|
|
206
|
-
if (w.operator === 'in') {
|
|
207
|
-
if (!Array.isArray(w.value)) {
|
|
208
|
-
throw new DoubleTieError(
|
|
209
|
-
`The value for the field "${field}" must be an array when using the "in" operator.`,
|
|
210
|
-
{
|
|
211
|
-
code: ERROR_CODES.BAD_REQUEST,
|
|
212
|
-
status: 400,
|
|
213
|
-
meta: {
|
|
214
|
-
field,
|
|
215
|
-
operator: w.operator,
|
|
216
|
-
expectedType: 'array',
|
|
217
|
-
actualType: typeof w.value,
|
|
218
|
-
},
|
|
219
|
-
}
|
|
220
|
-
);
|
|
221
|
-
}
|
|
222
|
-
return inArray(schemaModel[field], w.value);
|
|
223
|
-
}
|
|
224
|
-
return eq(schemaModel[field], w.value);
|
|
225
|
-
})
|
|
226
|
-
);
|
|
227
|
-
const orClause = or(
|
|
228
|
-
...orGroup.map((w) => {
|
|
229
|
-
const field = getField(model, w.field);
|
|
230
|
-
return eq(schemaModel[field], w.value);
|
|
231
|
-
})
|
|
232
|
-
);
|
|
233
|
-
|
|
234
|
-
const clause: SQL<unknown>[] = [];
|
|
235
|
-
if (andGroup.length && andClause) {
|
|
236
|
-
clause.push(andClause);
|
|
237
|
-
}
|
|
238
|
-
if (orGroup.length && orClause) {
|
|
239
|
-
clause.push(orClause);
|
|
240
|
-
}
|
|
241
|
-
return clause;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
const useDatabaseGeneratedId = options?.advanced?.generateId === false;
|
|
245
|
-
return {
|
|
246
|
-
getSchema,
|
|
247
|
-
/**
|
|
248
|
-
* Transforms input data from c15t format to Drizzle format
|
|
249
|
-
*
|
|
250
|
-
* @internal
|
|
251
|
-
* @param data - The data to transform
|
|
252
|
-
* @param model - The model name
|
|
253
|
-
* @param action - Whether this is a create or update operation
|
|
254
|
-
* @returns Transformed data for Drizzle ORM
|
|
255
|
-
*/
|
|
256
|
-
transformInput(
|
|
257
|
-
data: Record<string, unknown>,
|
|
258
|
-
model: string,
|
|
259
|
-
action: 'create' | 'update'
|
|
260
|
-
) {
|
|
261
|
-
const transformedData: Record<string, unknown> =
|
|
262
|
-
useDatabaseGeneratedId || action === 'update'
|
|
263
|
-
? {}
|
|
264
|
-
: {
|
|
265
|
-
id: options.advanced?.generateId
|
|
266
|
-
? options.advanced.generateId({
|
|
267
|
-
model,
|
|
268
|
-
})
|
|
269
|
-
: data.id || generateId(schema[model].entityPrefix),
|
|
270
|
-
};
|
|
271
|
-
const fields = schema[model].fields;
|
|
272
|
-
for (const field in fields) {
|
|
273
|
-
if (Object.hasOwn(fields, field)) {
|
|
274
|
-
const value = data[field];
|
|
275
|
-
if (value === undefined && !fields[field].defaultValue) {
|
|
276
|
-
continue;
|
|
277
|
-
}
|
|
278
|
-
transformedData[fields[field].fieldName || field] = applyDefaultValue(
|
|
279
|
-
value,
|
|
280
|
-
fields[field],
|
|
281
|
-
action
|
|
282
|
-
);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
return transformedData;
|
|
286
|
-
},
|
|
287
|
-
/**
|
|
288
|
-
* Transforms output data from Drizzle format to c15t format
|
|
289
|
-
*
|
|
290
|
-
* @internal
|
|
291
|
-
* @param data - The data to transform
|
|
292
|
-
* @param model - The model name
|
|
293
|
-
* @param select - Optional array of fields to select
|
|
294
|
-
* @returns Transformed data for c15t or null if no data
|
|
295
|
-
*/
|
|
296
|
-
transformOutput(
|
|
297
|
-
data: Record<string, unknown>,
|
|
298
|
-
model: string,
|
|
299
|
-
select: string[] = []
|
|
300
|
-
) {
|
|
301
|
-
if (!data) {
|
|
302
|
-
return null;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
let transformedData: Record<string, unknown> = {};
|
|
306
|
-
|
|
307
|
-
if (
|
|
308
|
-
(data.id || data._id) &&
|
|
309
|
-
(select.length === 0 || select.includes('id'))
|
|
310
|
-
) {
|
|
311
|
-
transformedData = { id: data.id };
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
const tableSchema = schema[model].fields;
|
|
315
|
-
for (const key in tableSchema) {
|
|
316
|
-
if (select.length && !select.includes(key)) {
|
|
317
|
-
continue;
|
|
318
|
-
}
|
|
319
|
-
const field = tableSchema[key];
|
|
320
|
-
if (field) {
|
|
321
|
-
transformedData[key] = data[field.fieldName || key];
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
return transformedData;
|
|
325
|
-
},
|
|
326
|
-
convertWhereClause,
|
|
327
|
-
/**
|
|
328
|
-
* Helper for returning data from operations in MySQL
|
|
329
|
-
*
|
|
330
|
-
* @internal
|
|
331
|
-
* @param model - The model name
|
|
332
|
-
* @param builder - The query builder
|
|
333
|
-
* @param data - The data being operated on
|
|
334
|
-
* @param where - Optional where conditions
|
|
335
|
-
* @returns The result of the operation
|
|
336
|
-
*/
|
|
337
|
-
withReturning: async (
|
|
338
|
-
model: string,
|
|
339
|
-
builder: unknown,
|
|
340
|
-
data: Record<string, unknown>,
|
|
341
|
-
where?: Where<string>[]
|
|
342
|
-
) => {
|
|
343
|
-
if (config.provider !== 'mysql') {
|
|
344
|
-
const c = await builder.returning();
|
|
345
|
-
return c[0];
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
await builder.execute();
|
|
349
|
-
const schemaModel = getSchema(model);
|
|
350
|
-
const builderVal = builder.config?.values;
|
|
351
|
-
|
|
352
|
-
if (where?.length) {
|
|
353
|
-
const clause = convertWhereClause(where, model);
|
|
354
|
-
const res = await db
|
|
355
|
-
.select()
|
|
356
|
-
.from(schemaModel)
|
|
357
|
-
.where(...clause);
|
|
358
|
-
return res[0];
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
if (builderVal) {
|
|
362
|
-
const tId = builderVal[0]?.id.value;
|
|
363
|
-
const res = await db
|
|
364
|
-
.select()
|
|
365
|
-
.from(schemaModel)
|
|
366
|
-
.where(eq(schemaModel.id, tId));
|
|
367
|
-
return res[0];
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
if (data.id) {
|
|
371
|
-
const res = await db
|
|
372
|
-
.select()
|
|
373
|
-
.from(schemaModel)
|
|
374
|
-
.where(eq(schemaModel.id, data.id));
|
|
375
|
-
return res[0];
|
|
376
|
-
}
|
|
377
|
-
},
|
|
378
|
-
getField,
|
|
379
|
-
getEntityName,
|
|
380
|
-
};
|
|
381
|
-
};
|
|
382
|
-
|
|
383
|
-
/**
|
|
384
|
-
* Configuration options for the Drizzle adapter
|
|
385
|
-
*
|
|
386
|
-
* @example
|
|
387
|
-
* ```typescript
|
|
388
|
-
* // Basic Drizzle adapter configuration
|
|
389
|
-
* const config: DrizzleAdapterConfig = {
|
|
390
|
-
* provider: 'pg', // PostgreSQL
|
|
391
|
-
* usePlural: true // Use plural table names
|
|
392
|
-
* };
|
|
393
|
-
*
|
|
394
|
-
* // Configuration with explicit schema
|
|
395
|
-
* const configWithSchema: DrizzleAdapterConfig = {
|
|
396
|
-
* provider: 'mysql',
|
|
397
|
-
* schema: {
|
|
398
|
-
* subjects: subjects, // Drizzle schema objects
|
|
399
|
-
* consents: consents,
|
|
400
|
-
* purposes: purposes
|
|
401
|
-
* }
|
|
402
|
-
* };
|
|
403
|
-
* ```
|
|
404
|
-
*/
|
|
405
|
-
export interface DrizzleAdapterConfig {
|
|
406
|
-
/**
|
|
407
|
-
* The schema object that defines the tables and fields
|
|
408
|
-
*
|
|
409
|
-
* @remarks
|
|
410
|
-
* If not provided, the adapter will attempt to use `db._.fullSchema`
|
|
411
|
-
*/
|
|
412
|
-
schema?: Record<string, unknown>;
|
|
413
|
-
|
|
414
|
-
/**
|
|
415
|
-
* The database provider
|
|
416
|
-
*
|
|
417
|
-
* @remarks
|
|
418
|
-
* Different providers have different SQL dialects and features
|
|
419
|
-
*/
|
|
420
|
-
provider: 'pg' | 'mysql' | 'sqlite';
|
|
421
|
-
|
|
422
|
-
/**
|
|
423
|
-
* If the table names in the schema are plural
|
|
424
|
-
* set this to true. For example, if the schema
|
|
425
|
-
* has an object with a key "subjects" instead of "subject"
|
|
426
|
-
*
|
|
427
|
-
* @default false
|
|
428
|
-
*/
|
|
429
|
-
usePlural?: boolean;
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
/**
|
|
433
|
-
* Validates that the schema contains all required fields
|
|
434
|
-
*
|
|
435
|
-
* @internal
|
|
436
|
-
* @param schema - The schema to check
|
|
437
|
-
* @param model - The model name
|
|
438
|
-
* @param values - The values to validate against the schema
|
|
439
|
-
* @throws {DoubleTieError} If the schema is missing or a field doesn't exist
|
|
440
|
-
*/
|
|
441
|
-
function checkMissingFields(
|
|
442
|
-
schema: Record<string, unknown>,
|
|
443
|
-
model: string,
|
|
444
|
-
values: Record<string, unknown>
|
|
445
|
-
) {
|
|
446
|
-
if (!schema) {
|
|
447
|
-
throw new DoubleTieError(
|
|
448
|
-
'The schema could not be found. Please ensure the schema is properly configured in the adapter.',
|
|
449
|
-
{
|
|
450
|
-
code: ERROR_CODES.DATABASE_CONNECTION_ERROR,
|
|
451
|
-
status: 500,
|
|
452
|
-
}
|
|
453
|
-
);
|
|
454
|
-
}
|
|
455
|
-
for (const key in values) {
|
|
456
|
-
if (!schema[key]) {
|
|
457
|
-
throw new DoubleTieError(
|
|
458
|
-
`The field "${key}" does not exist in the "${model}" schema. Please update your drizzle schema or re-generate using "npx @c15t/cli generate".`
|
|
459
|
-
);
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
/**
|
|
465
|
-
* Creates a c15t adapter for Drizzle ORM
|
|
466
|
-
*
|
|
467
|
-
* This factory function creates an adapter that allows c15t to use Drizzle ORM
|
|
468
|
-
* as its database layer. It supports PostgreSQL, MySQL, and SQLite.
|
|
469
|
-
*
|
|
470
|
-
* @param db - The Drizzle database instance
|
|
471
|
-
* @param config - Configuration options for the Drizzle adapter
|
|
472
|
-
* @returns A c15t adapter factory function
|
|
473
|
-
*
|
|
474
|
-
* @example
|
|
475
|
-
* ```typescript
|
|
476
|
-
* import { drizzle } from 'drizzle-orm/postgres-js';
|
|
477
|
-
* import postgres from 'postgres';
|
|
478
|
-
* import { drizzleAdapter } from '@c15t/db/adapters/drizzle';
|
|
479
|
-
* import * as schema from './schema';
|
|
480
|
-
* import { c15tInstance } from '@c15t/backend';
|
|
481
|
-
*
|
|
482
|
-
* // Create a Postgres connection
|
|
483
|
-
* const connection = postgres('postgresql://user:password@localhost:5432/db');
|
|
484
|
-
* const db = drizzle(connection, { schema });
|
|
485
|
-
*
|
|
486
|
-
* // Create the c15t instance with Drizzle adapter
|
|
487
|
-
* const c15t = c15tInstance({
|
|
488
|
-
* storage: drizzleAdapter(db, {
|
|
489
|
-
* provider: 'pg',
|
|
490
|
-
* schema, // Pass your Drizzle schema
|
|
491
|
-
* usePlural: true
|
|
492
|
-
* }),
|
|
493
|
-
* });
|
|
494
|
-
*
|
|
495
|
-
* // Use in your application
|
|
496
|
-
* export default c15tInstance.handler;
|
|
497
|
-
* ```
|
|
498
|
-
*
|
|
499
|
-
* @example
|
|
500
|
-
* ```typescript
|
|
501
|
-
* // Using with MySQL
|
|
502
|
-
* import { drizzle } from 'drizzle-orm/mysql2';
|
|
503
|
-
* import mysql from 'mysql2/promise';
|
|
504
|
-
* import { c15tInstance } from '@c15t/backend';
|
|
505
|
-
*
|
|
506
|
-
* const connection = await mysql.createConnection({
|
|
507
|
-
* host: 'localhost',
|
|
508
|
-
* user: 'root',
|
|
509
|
-
* database: 'c15t'
|
|
510
|
-
* });
|
|
511
|
-
*
|
|
512
|
-
* const db = drizzle(connection);
|
|
513
|
-
*
|
|
514
|
-
* const c15t = c15tInstance({
|
|
515
|
-
* storage: drizzleAdapter(db, {
|
|
516
|
-
* provider: 'mysql'
|
|
517
|
-
* }),
|
|
518
|
-
* });
|
|
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
|
|
523
|
-
*/
|
|
524
|
-
export const drizzleAdapter =
|
|
525
|
-
(db: DB, config: DrizzleAdapterConfig) => (options: C15TOptions) => {
|
|
526
|
-
const {
|
|
527
|
-
transformInput,
|
|
528
|
-
transformOutput,
|
|
529
|
-
convertWhereClause,
|
|
530
|
-
getSchema,
|
|
531
|
-
withReturning,
|
|
532
|
-
getField,
|
|
533
|
-
getEntityName,
|
|
534
|
-
} = createEntityTransformer(db, config, options);
|
|
535
|
-
return {
|
|
536
|
-
id: 'drizzle',
|
|
537
|
-
/**
|
|
538
|
-
* Creates a new record in the database
|
|
539
|
-
*
|
|
540
|
-
* @param data - The data for the create operation
|
|
541
|
-
* @returns The created record
|
|
542
|
-
* @throws {DoubleTieError} If the model or fields don't exist
|
|
543
|
-
*/
|
|
544
|
-
async create(data) {
|
|
545
|
-
const { model, data: values } = data;
|
|
546
|
-
const transformed = transformInput(values, model, 'create');
|
|
547
|
-
const schemaModel = getSchema(model);
|
|
548
|
-
checkMissingFields(schemaModel, getEntityName(model), transformed);
|
|
549
|
-
const builder = db.insert(schemaModel).values(transformed);
|
|
550
|
-
const returned = await withReturning(model, builder, transformed);
|
|
551
|
-
return transformOutput(returned, model);
|
|
552
|
-
},
|
|
553
|
-
/**
|
|
554
|
-
* Finds a single record matching the where conditions
|
|
555
|
-
*
|
|
556
|
-
* @param data - The data for the find operation
|
|
557
|
-
* @returns The found record or null if not found
|
|
558
|
-
* @throws {DoubleTieError} If the model or fields don't exist
|
|
559
|
-
*/
|
|
560
|
-
async findOne(data) {
|
|
561
|
-
const { model, where, select } = data;
|
|
562
|
-
const schemaModel = getSchema(model);
|
|
563
|
-
const clause = convertWhereClause(where, model);
|
|
564
|
-
const res = await db
|
|
565
|
-
.select()
|
|
566
|
-
.from(schemaModel)
|
|
567
|
-
.where(...clause);
|
|
568
|
-
|
|
569
|
-
if (!res.length) {
|
|
570
|
-
return null;
|
|
571
|
-
}
|
|
572
|
-
return transformOutput(res[0], model, select);
|
|
573
|
-
},
|
|
574
|
-
/**
|
|
575
|
-
* Finds multiple records matching the where conditions
|
|
576
|
-
*
|
|
577
|
-
* @param data - The data for the find operation
|
|
578
|
-
* @returns Array of matching records
|
|
579
|
-
* @throws {DoubleTieError} If the model or fields don't exist
|
|
580
|
-
*/
|
|
581
|
-
async findMany(data) {
|
|
582
|
-
const { model, where, sortBy, limit, offset } = data;
|
|
583
|
-
const schemaModel = getSchema(model);
|
|
584
|
-
const clause = where ? convertWhereClause(where, model) : [];
|
|
585
|
-
|
|
586
|
-
const sortFn = sortBy?.direction === 'desc' ? desc : asc;
|
|
587
|
-
const builder = db
|
|
588
|
-
.select()
|
|
589
|
-
.from(schemaModel)
|
|
590
|
-
.limit(limit || 100)
|
|
591
|
-
.offset(offset || 0);
|
|
592
|
-
if (sortBy?.field) {
|
|
593
|
-
builder.orderBy(sortFn(schemaModel[getField(model, sortBy?.field)]));
|
|
594
|
-
}
|
|
595
|
-
const res = await builder.where(...clause);
|
|
596
|
-
return res.map((r) => transformOutput(r, model));
|
|
597
|
-
},
|
|
598
|
-
/**
|
|
599
|
-
* Counts records matching the where conditions
|
|
600
|
-
*
|
|
601
|
-
* @param data - The data for the count operation
|
|
602
|
-
* @returns The count of matching records
|
|
603
|
-
* @throws {DoubleTieError} If the model or fields don't exist
|
|
604
|
-
*/
|
|
605
|
-
async count(data) {
|
|
606
|
-
const { model, where } = data;
|
|
607
|
-
const schemaModel = getSchema(model);
|
|
608
|
-
const clause = where ? convertWhereClause(where, model) : [];
|
|
609
|
-
const res = await db
|
|
610
|
-
.select({ count: count() })
|
|
611
|
-
.from(schemaModel)
|
|
612
|
-
.where(...clause);
|
|
613
|
-
return res[0].count;
|
|
614
|
-
},
|
|
615
|
-
/**
|
|
616
|
-
* Updates a single record matching the where conditions
|
|
617
|
-
*
|
|
618
|
-
* @param data - The data for the update operation
|
|
619
|
-
* @returns The updated record
|
|
620
|
-
* @throws {DoubleTieError} If the model or fields don't exist
|
|
621
|
-
*/
|
|
622
|
-
async update(data) {
|
|
623
|
-
const { model, where, update } = data;
|
|
624
|
-
const schemaModel = getSchema(model);
|
|
625
|
-
const clause = convertWhereClause(where, model);
|
|
626
|
-
const transformed = transformInput(update, model, 'update');
|
|
627
|
-
const result = await db
|
|
628
|
-
.update(schemaModel)
|
|
629
|
-
.set(transformed)
|
|
630
|
-
.where(clause)
|
|
631
|
-
.returning();
|
|
632
|
-
return result.length ? transformOutput(result[0], model) : null;
|
|
633
|
-
},
|
|
634
|
-
/**
|
|
635
|
-
* Updates multiple records matching the where conditions
|
|
636
|
-
*
|
|
637
|
-
* @param data - The data for the update operation
|
|
638
|
-
* @returns The number of records updated
|
|
639
|
-
* @throws {DoubleTieError} If the model or fields don't exist
|
|
640
|
-
*/
|
|
641
|
-
async updateMany(data) {
|
|
642
|
-
const { model, where, update: values } = data;
|
|
643
|
-
const schemaModel = getSchema(model);
|
|
644
|
-
const clause = convertWhereClause(where, model);
|
|
645
|
-
const transformed = transformInput(values, model, 'update');
|
|
646
|
-
const builder = db
|
|
647
|
-
.update(schemaModel)
|
|
648
|
-
.set(transformed)
|
|
649
|
-
.where(...clause);
|
|
650
|
-
const res = await builder;
|
|
651
|
-
return res ? res.changes : 0;
|
|
652
|
-
},
|
|
653
|
-
/**
|
|
654
|
-
* Deletes a single record matching the where conditions
|
|
655
|
-
*
|
|
656
|
-
* @param data - The data for the delete operation
|
|
657
|
-
* @throws {DoubleTieError} If the model or fields don't exist
|
|
658
|
-
*/
|
|
659
|
-
async delete(data) {
|
|
660
|
-
const { model, where } = data;
|
|
661
|
-
const schemaModel = getSchema(model);
|
|
662
|
-
const clause = convertWhereClause(where, model);
|
|
663
|
-
const builder = db.delete(schemaModel).where(...clause);
|
|
664
|
-
await builder;
|
|
665
|
-
},
|
|
666
|
-
/**
|
|
667
|
-
* Deletes multiple records matching the where conditions
|
|
668
|
-
*
|
|
669
|
-
* @param data - The data for the delete operation
|
|
670
|
-
* @returns The number of records deleted
|
|
671
|
-
* @throws {DoubleTieError} If the model or fields don't exist
|
|
672
|
-
*/
|
|
673
|
-
async deleteMany(data) {
|
|
674
|
-
const { model, where } = data;
|
|
675
|
-
const schemaModel = getSchema(model);
|
|
676
|
-
const clause = convertWhereClause(where, model);
|
|
677
|
-
const result = await db.delete(schemaModel).where(clause);
|
|
678
|
-
return result ? (result.rowCount as number) : 0;
|
|
679
|
-
},
|
|
680
|
-
/**
|
|
681
|
-
* Executes a function within a database transaction
|
|
682
|
-
*
|
|
683
|
-
* This method wraps Drizzle's transaction functionality to provide a consistent interface
|
|
684
|
-
* for executing multiple database operations atomically.
|
|
685
|
-
*
|
|
686
|
-
* @typeParam ResultType - The type of data returned by the transaction
|
|
687
|
-
* @param data - The transaction data containing the callback function
|
|
688
|
-
* @returns A promise that resolves with the result of the callback function
|
|
689
|
-
* @throws {Error} If the transaction fails to complete
|
|
690
|
-
*/
|
|
691
|
-
async transaction<ResultType>(data: {
|
|
692
|
-
callback: (transactionAdapter: Adapter) => Promise<ResultType>;
|
|
693
|
-
}): Promise<ResultType> {
|
|
694
|
-
const { callback } = data;
|
|
695
|
-
|
|
696
|
-
return await db.transaction(async (tx) => {
|
|
697
|
-
// Create a new adapter instance that uses the transaction connection
|
|
698
|
-
const transactionAdapter = drizzleAdapter(
|
|
699
|
-
tx as unknown as DB,
|
|
700
|
-
config
|
|
701
|
-
)(options);
|
|
702
|
-
|
|
703
|
-
// Execute the callback function with the transaction adapter
|
|
704
|
-
return await callback(transactionAdapter);
|
|
705
|
-
});
|
|
706
|
-
},
|
|
707
|
-
options: config,
|
|
708
|
-
} satisfies Adapter;
|
|
709
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { drizzleAdapter } from './drizzle-adapter';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Re-exports all database adapters
|
|
3
|
-
*
|
|
4
|
-
* This provides a convenient way to import any adapter from a single location.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
export * from './drizzle-adapter';
|
|
8
|
-
export * from './kysely-adapter';
|
|
9
|
-
export * from './memory-adapter';
|
|
10
|
-
export * from './prisma-adapter';
|