@c15t/backend 0.0.1-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +11 -0
- package/.turbo/turbo-check-types.log +5 -0
- package/.turbo/turbo-fmt.log +7 -0
- package/.turbo/turbo-lint.log +6 -0
- package/.turbo/turbo-test.log +26 -0
- package/README-next.md +223 -0
- package/README.md +164 -0
- package/dist/api/call.d.ts +176 -0
- package/dist/api/call.d.ts.map +1 -0
- package/dist/api/index.d.ts +935 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/middlewares/index.d.ts +39 -0
- package/dist/api/middlewares/index.d.ts.map +1 -0
- package/dist/api/middlewares/origin-check.d.ts +82 -0
- package/dist/api/middlewares/origin-check.d.ts.map +1 -0
- package/dist/api/middlewares/validate-context.d.ts +38 -0
- package/dist/api/middlewares/validate-context.d.ts.map +1 -0
- package/dist/api/routes/__tests__/consent.test.d.ts +2 -0
- package/dist/api/routes/__tests__/consent.test.d.ts.map +1 -0
- package/dist/api/routes/__tests__/status.test.d.ts +2 -0
- package/dist/api/routes/__tests__/status.test.d.ts.map +1 -0
- package/dist/api/routes/error.d.ts +57 -0
- package/dist/api/routes/error.d.ts.map +1 -0
- package/dist/api/routes/generate-consent-receipt.d.ts +130 -0
- package/dist/api/routes/generate-consent-receipt.d.ts.map +1 -0
- package/dist/api/routes/get-consent-history.d.ts +133 -0
- package/dist/api/routes/get-consent-history.d.ts.map +1 -0
- package/dist/api/routes/get-consent-policy.d.ts +164 -0
- package/dist/api/routes/get-consent-policy.d.ts.map +1 -0
- package/dist/api/routes/get-consent.d.ts +148 -0
- package/dist/api/routes/get-consent.d.ts.map +1 -0
- package/dist/api/routes/index.d.ts +339 -0
- package/dist/api/routes/index.d.ts.map +1 -0
- package/dist/api/routes/ok.d.ts +87 -0
- package/dist/api/routes/ok.d.ts.map +1 -0
- package/dist/api/routes/set-consent.d.ts +245 -0
- package/dist/api/routes/set-consent.d.ts.map +1 -0
- package/dist/api/routes/show-consent-banner.d.ts +127 -0
- package/dist/api/routes/show-consent-banner.d.ts.map +1 -0
- package/dist/api/routes/status.d.ts +61 -0
- package/dist/api/routes/status.d.ts.map +1 -0
- package/dist/api/routes/verify-consent.d.ts +179 -0
- package/dist/api/routes/verify-consent.d.ts.map +1 -0
- package/dist/api/routes/withdraw-consent.d.ts +194 -0
- package/dist/api/routes/withdraw-consent.d.ts.map +1 -0
- package/dist/api/to-endpoints.d.ts +35 -0
- package/dist/api/to-endpoints.d.ts.map +1 -0
- package/dist/client/index.cjs +139 -0
- package/dist/client/index.d.ts +203 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +106 -0
- package/dist/client/types.d.ts +431 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/core.d.ts +124 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.test.d.ts +2 -0
- package/dist/core.test.d.ts.map +1 -0
- package/dist/db/adapters/drizzle-adapter/drizzle-adapter.d.ts +122 -0
- package/dist/db/adapters/drizzle-adapter/drizzle-adapter.d.ts.map +1 -0
- package/dist/db/adapters/drizzle-adapter/index.d.ts +2 -0
- package/dist/db/adapters/drizzle-adapter/index.d.ts.map +1 -0
- package/dist/db/adapters/drizzle.cjs +1531 -0
- package/dist/db/adapters/drizzle.js +1489 -0
- package/dist/db/adapters/kysely-adapter/dialect.d.ts +72 -0
- package/dist/db/adapters/kysely-adapter/dialect.d.ts.map +1 -0
- package/dist/db/adapters/kysely-adapter/index.d.ts +4 -0
- package/dist/db/adapters/kysely-adapter/index.d.ts.map +1 -0
- package/dist/db/adapters/kysely-adapter/kysely-adapter.d.ts +98 -0
- package/dist/db/adapters/kysely-adapter/kysely-adapter.d.ts.map +1 -0
- package/dist/db/adapters/kysely-adapter/types.d.ts +281 -0
- package/dist/db/adapters/kysely-adapter/types.d.ts.map +1 -0
- package/dist/db/adapters/kysely.cjs +1551 -0
- package/dist/db/adapters/kysely.js +1508 -0
- package/dist/db/adapters/memory-adapter/index.d.ts +2 -0
- package/dist/db/adapters/memory-adapter/index.d.ts.map +1 -0
- package/dist/db/adapters/memory-adapter/memory-adapter.d.ts +56 -0
- package/dist/db/adapters/memory-adapter/memory-adapter.d.ts.map +1 -0
- package/dist/db/adapters/memory.cjs +1391 -0
- package/dist/db/adapters/memory.js +1349 -0
- package/dist/db/adapters/prisma-adapter/index.d.ts +2 -0
- package/dist/db/adapters/prisma-adapter/index.d.ts.map +1 -0
- package/dist/db/adapters/prisma-adapter/prisma-adapter.d.ts +143 -0
- package/dist/db/adapters/prisma-adapter/prisma-adapter.d.ts.map +1 -0
- package/dist/db/adapters/prisma.cjs +1503 -0
- package/dist/db/adapters/prisma.js +1461 -0
- package/dist/db/adapters/types.d.ts +154 -0
- package/dist/db/adapters/types.d.ts.map +1 -0
- package/dist/db/adapters/utils.d.ts +36 -0
- package/dist/db/adapters/utils.d.ts.map +1 -0
- package/dist/db/core/fields/field-factory.d.ts +383 -0
- package/dist/db/core/fields/field-factory.d.ts.map +1 -0
- package/dist/db/core/fields/field-inference.d.ts +218 -0
- package/dist/db/core/fields/field-inference.d.ts.map +1 -0
- package/dist/db/core/fields/field-options-integration.d.ts +90 -0
- package/dist/db/core/fields/field-options-integration.d.ts.map +1 -0
- package/dist/db/core/fields/field-types.d.ts +182 -0
- package/dist/db/core/fields/field-types.d.ts.map +1 -0
- package/dist/db/core/fields/id-generator.d.ts +19 -0
- package/dist/db/core/fields/id-generator.d.ts.map +1 -0
- package/dist/db/core/fields/index.d.ts +8 -0
- package/dist/db/core/fields/index.d.ts.map +1 -0
- package/dist/db/core/fields/superjson-utils.d.ts +34 -0
- package/dist/db/core/fields/superjson-utils.d.ts.map +1 -0
- package/dist/db/core/fields/zod-fields.d.ts +1011 -0
- package/dist/db/core/fields/zod-fields.d.ts.map +1 -0
- package/dist/db/core/get-schema.d.ts +36 -0
- package/dist/db/core/get-schema.d.ts.map +1 -0
- package/dist/db/core/types.d.ts +41 -0
- package/dist/db/core/types.d.ts.map +1 -0
- package/dist/db/create-registry.d.ts +760 -0
- package/dist/db/create-registry.d.ts.map +1 -0
- package/dist/db/hooks/create-hooks.d.ts +32 -0
- package/dist/db/hooks/create-hooks.d.ts.map +1 -0
- package/dist/db/hooks/index.d.ts +40 -0
- package/dist/db/hooks/index.d.ts.map +1 -0
- package/dist/db/hooks/types.d.ts +133 -0
- package/dist/db/hooks/types.d.ts.map +1 -0
- package/dist/db/hooks/update-hooks.d.ts +33 -0
- package/dist/db/hooks/update-hooks.d.ts.map +1 -0
- package/dist/db/hooks/update-many-hooks.d.ts +55 -0
- package/dist/db/hooks/update-many-hooks.d.ts.map +1 -0
- package/dist/db/hooks/utils.d.ts +62 -0
- package/dist/db/hooks/utils.d.ts.map +1 -0
- package/dist/db/hooks/with-hooks-factory.d.ts +33 -0
- package/dist/db/hooks/with-hooks-factory.d.ts.map +1 -0
- package/dist/db/index.cjs +2458 -0
- package/dist/db/index.d.ts +11 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +2404 -0
- package/dist/db/migration/get-migration.d.ts +32 -0
- package/dist/db/migration/get-migration.d.ts.map +1 -0
- package/dist/db/migration/get-schema/get-schema.d.ts +27 -0
- package/dist/db/migration/get-schema/get-schema.d.ts.map +1 -0
- package/dist/db/migration/get-schema/index.d.ts +21 -0
- package/dist/db/migration/get-schema/index.d.ts.map +1 -0
- package/dist/db/migration/get-schema/process-fields.d.ts +16 -0
- package/dist/db/migration/get-schema/process-fields.d.ts.map +1 -0
- package/dist/db/migration/get-schema/process-tables.d.ts +13 -0
- package/dist/db/migration/get-schema/process-tables.d.ts.map +1 -0
- package/dist/db/migration/get-schema/types.d.ts +17 -0
- package/dist/db/migration/get-schema/types.d.ts.map +1 -0
- package/dist/db/migration/index.cjs +1613 -0
- package/dist/db/migration/index.d.ts +14 -0
- package/dist/db/migration/index.d.ts.map +1 -0
- package/dist/db/migration/index.js +1571 -0
- package/dist/db/migration/migration-builders.d.ts +28 -0
- package/dist/db/migration/migration-builders.d.ts.map +1 -0
- package/dist/db/migration/migration-execution.d.ts +12 -0
- package/dist/db/migration/migration-execution.d.ts.map +1 -0
- package/dist/db/migration/schema-comparison.d.ts +54 -0
- package/dist/db/migration/schema-comparison.d.ts.map +1 -0
- package/dist/db/migration/type-mapping.d.ts +86 -0
- package/dist/db/migration/type-mapping.d.ts.map +1 -0
- package/dist/db/migration/types.d.ts +37 -0
- package/dist/db/migration/types.d.ts.map +1 -0
- package/dist/db/schema/audit-log/index.d.ts +4 -0
- package/dist/db/schema/audit-log/index.d.ts.map +1 -0
- package/dist/db/schema/audit-log/registry.d.ts +128 -0
- package/dist/db/schema/audit-log/registry.d.ts.map +1 -0
- package/dist/db/schema/audit-log/schema.d.ts +67 -0
- package/dist/db/schema/audit-log/schema.d.ts.map +1 -0
- package/dist/db/schema/audit-log/table.d.ts +175 -0
- package/dist/db/schema/audit-log/table.d.ts.map +1 -0
- package/dist/db/schema/audit-log/types.d.ts +29 -0
- package/dist/db/schema/audit-log/types.d.ts.map +1 -0
- package/dist/db/schema/consent/index.d.ts +4 -0
- package/dist/db/schema/consent/index.d.ts.map +1 -0
- package/dist/db/schema/consent/registry.d.ts +318 -0
- package/dist/db/schema/consent/registry.d.ts.map +1 -0
- package/dist/db/schema/consent/schema.d.ts +135 -0
- package/dist/db/schema/consent/schema.d.ts.map +1 -0
- package/dist/db/schema/consent/table.d.ts +245 -0
- package/dist/db/schema/consent/table.d.ts.map +1 -0
- package/dist/db/schema/consent/types.d.ts +37 -0
- package/dist/db/schema/consent/types.d.ts.map +1 -0
- package/dist/db/schema/consent-geo-location/index.d.ts +4 -0
- package/dist/db/schema/consent-geo-location/index.d.ts.map +1 -0
- package/dist/db/schema/consent-geo-location/registry.d.ts +96 -0
- package/dist/db/schema/consent-geo-location/registry.d.ts.map +1 -0
- package/dist/db/schema/consent-geo-location/schema.d.ts +71 -0
- package/dist/db/schema/consent-geo-location/schema.d.ts.map +1 -0
- package/dist/db/schema/consent-geo-location/table.d.ts +167 -0
- package/dist/db/schema/consent-geo-location/table.d.ts.map +1 -0
- package/dist/db/schema/consent-geo-location/types.d.ts +21 -0
- package/dist/db/schema/consent-geo-location/types.d.ts.map +1 -0
- package/dist/db/schema/consent-policy/index.d.ts +4 -0
- package/dist/db/schema/consent-policy/index.d.ts.map +1 -0
- package/dist/db/schema/consent-policy/registry.d.ts +186 -0
- package/dist/db/schema/consent-policy/registry.d.ts.map +1 -0
- package/dist/db/schema/consent-policy/schema.d.ts +68 -0
- package/dist/db/schema/consent-policy/schema.d.ts.map +1 -0
- package/dist/db/schema/consent-policy/table.d.ts +147 -0
- package/dist/db/schema/consent-policy/table.d.ts.map +1 -0
- package/dist/db/schema/consent-policy/types.d.ts +28 -0
- package/dist/db/schema/consent-policy/types.d.ts.map +1 -0
- package/dist/db/schema/consent-purpose/index.d.ts +4 -0
- package/dist/db/schema/consent-purpose/index.d.ts.map +1 -0
- package/dist/db/schema/consent-purpose/registry.d.ts +136 -0
- package/dist/db/schema/consent-purpose/registry.d.ts.map +1 -0
- package/dist/db/schema/consent-purpose/schema.d.ts +79 -0
- package/dist/db/schema/consent-purpose/schema.d.ts.map +1 -0
- package/dist/db/schema/consent-purpose/table.d.ts +161 -0
- package/dist/db/schema/consent-purpose/table.d.ts.map +1 -0
- package/dist/db/schema/consent-purpose/types.d.ts +16 -0
- package/dist/db/schema/consent-purpose/types.d.ts.map +1 -0
- package/dist/db/schema/consent-purpose-junction/index.d.ts +4 -0
- package/dist/db/schema/consent-purpose-junction/index.d.ts.map +1 -0
- package/dist/db/schema/consent-purpose-junction/registry.d.ts +109 -0
- package/dist/db/schema/consent-purpose-junction/registry.d.ts.map +1 -0
- package/dist/db/schema/consent-purpose-junction/schema.d.ts +57 -0
- package/dist/db/schema/consent-purpose-junction/schema.d.ts.map +1 -0
- package/dist/db/schema/consent-purpose-junction/table.d.ts +138 -0
- package/dist/db/schema/consent-purpose-junction/table.d.ts.map +1 -0
- package/dist/db/schema/consent-purpose-junction/types.d.ts +14 -0
- package/dist/db/schema/consent-purpose-junction/types.d.ts.map +1 -0
- package/dist/db/schema/consent-record/index.d.ts +4 -0
- package/dist/db/schema/consent-record/index.d.ts.map +1 -0
- package/dist/db/schema/consent-record/registry.d.ts +119 -0
- package/dist/db/schema/consent-record/registry.d.ts.map +1 -0
- package/dist/db/schema/consent-record/schema.d.ts +57 -0
- package/dist/db/schema/consent-record/schema.d.ts.map +1 -0
- package/dist/db/schema/consent-record/table.d.ts +123 -0
- package/dist/db/schema/consent-record/table.d.ts.map +1 -0
- package/dist/db/schema/consent-record/types.d.ts +21 -0
- package/dist/db/schema/consent-record/types.d.ts.map +1 -0
- package/dist/db/schema/consent-withdrawal/index.d.ts +4 -0
- package/dist/db/schema/consent-withdrawal/index.d.ts.map +1 -0
- package/dist/db/schema/consent-withdrawal/registry.d.ts +134 -0
- package/dist/db/schema/consent-withdrawal/registry.d.ts.map +1 -0
- package/dist/db/schema/consent-withdrawal/schema.d.ts +67 -0
- package/dist/db/schema/consent-withdrawal/schema.d.ts.map +1 -0
- package/dist/db/schema/consent-withdrawal/table.d.ts +170 -0
- package/dist/db/schema/consent-withdrawal/table.d.ts.map +1 -0
- package/dist/db/schema/consent-withdrawal/types.d.ts +28 -0
- package/dist/db/schema/consent-withdrawal/types.d.ts.map +1 -0
- package/dist/db/schema/definition.d.ts +1100 -0
- package/dist/db/schema/definition.d.ts.map +1 -0
- package/dist/db/schema/domain/index.d.ts +4 -0
- package/dist/db/schema/domain/index.d.ts.map +1 -0
- package/dist/db/schema/domain/registry.d.ts +169 -0
- package/dist/db/schema/domain/registry.d.ts.map +1 -0
- package/dist/db/schema/domain/schema.d.ts +60 -0
- package/dist/db/schema/domain/schema.d.ts.map +1 -0
- package/dist/db/schema/domain/table.d.ts +140 -0
- package/dist/db/schema/domain/table.d.ts.map +1 -0
- package/dist/db/schema/domain/types.d.ts +27 -0
- package/dist/db/schema/domain/types.d.ts.map +1 -0
- package/dist/db/schema/geo-location/index.d.ts +4 -0
- package/dist/db/schema/geo-location/index.d.ts.map +1 -0
- package/dist/db/schema/geo-location/registry.d.ts +114 -0
- package/dist/db/schema/geo-location/registry.d.ts.map +1 -0
- package/dist/db/schema/geo-location/schema.d.ts +58 -0
- package/dist/db/schema/geo-location/schema.d.ts.map +1 -0
- package/dist/db/schema/geo-location/table.d.ts +132 -0
- package/dist/db/schema/geo-location/table.d.ts.map +1 -0
- package/dist/db/schema/geo-location/types.d.ts +17 -0
- package/dist/db/schema/geo-location/types.d.ts.map +1 -0
- package/dist/db/schema/index.d.ts +85 -0
- package/dist/db/schema/index.d.ts.map +1 -0
- package/dist/db/schema/parser.d.ts +183 -0
- package/dist/db/schema/parser.d.ts.map +1 -0
- package/dist/db/schema/schemas.d.ts +383 -0
- package/dist/db/schema/schemas.d.ts.map +1 -0
- package/dist/db/schema/subject/index.d.ts +4 -0
- package/dist/db/schema/subject/index.d.ts.map +1 -0
- package/dist/db/schema/subject/registry.d.ts +141 -0
- package/dist/db/schema/subject/registry.d.ts.map +1 -0
- package/dist/db/schema/subject/schema.d.ts +56 -0
- package/dist/db/schema/subject/schema.d.ts.map +1 -0
- package/dist/db/schema/subject/table.d.ts +136 -0
- package/dist/db/schema/subject/table.d.ts.map +1 -0
- package/dist/db/schema/subject/types.d.ts +22 -0
- package/dist/db/schema/subject/types.d.ts.map +1 -0
- package/dist/db/schema/types.d.ts +136 -0
- package/dist/db/schema/types.d.ts.map +1 -0
- package/dist/db/utils/adapter-factory.d.ts +21 -0
- package/dist/db/utils/adapter-factory.d.ts.map +1 -0
- package/dist/db/utils/index.d.ts +10 -0
- package/dist/db/utils/index.d.ts.map +1 -0
- package/dist/db/utils.d.ts +4 -0
- package/dist/db/utils.d.ts.map +1 -0
- package/dist/error/codes.cjs +68 -0
- package/dist/error/codes.d.ts +175 -0
- package/dist/error/codes.d.ts.map +1 -0
- package/dist/error/codes.js +35 -0
- package/dist/error/error.d.ts +79 -0
- package/dist/error/error.d.ts.map +1 -0
- package/dist/error/index.cjs +172 -0
- package/dist/error/index.d.ts +9 -0
- package/dist/error/index.d.ts.map +1 -0
- package/dist/error/index.js +129 -0
- package/dist/error/logging.d.ts +25 -0
- package/dist/error/logging.d.ts.map +1 -0
- package/dist/error/pipeline.d.ts +19 -0
- package/dist/error/pipeline.d.ts.map +1 -0
- package/dist/error/recovery.d.ts +22 -0
- package/dist/error/recovery.d.ts.map +1 -0
- package/dist/error/results.d.ts +56 -0
- package/dist/error/results.d.ts.map +1 -0
- package/dist/index.cjs +4777 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4708 -0
- package/dist/init.d.ts +52 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.test.d.ts +2 -0
- package/dist/init.test.d.ts.map +1 -0
- package/dist/integrations/index.cjs +281 -0
- package/dist/integrations/index.d.ts +7 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +248 -0
- package/dist/integrations/next.cjs +131 -0
- package/dist/integrations/next.d.ts +29 -0
- package/dist/integrations/next.d.ts.map +1 -0
- package/dist/integrations/next.js +99 -0
- package/dist/integrations/react.cjs +182 -0
- package/dist/integrations/react.d.ts +257 -0
- package/dist/integrations/react.d.ts.map +1 -0
- package/dist/integrations/react.js +150 -0
- package/dist/plugins/geo/index.d.ts +2 -0
- package/dist/plugins/geo/index.d.ts.map +1 -0
- package/dist/test/utils.d.ts +65 -0
- package/dist/test/utils.d.ts.map +1 -0
- package/dist/types/api.d.ts +89 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/context.d.ts +205 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/helper.d.ts +78 -0
- package/dist/types/helper.d.ts.map +1 -0
- package/dist/types/index.cjs +19 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +0 -0
- package/dist/types/options.d.ts +172 -0
- package/dist/types/options.d.ts.map +1 -0
- package/dist/types/plugins.d.ts +442 -0
- package/dist/types/plugins.d.ts.map +1 -0
- package/dist/utils/env.d.ts +77 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/hide-metadata.d.ts +22 -0
- package/dist/utils/hide-metadata.d.ts.map +1 -0
- package/dist/utils/index.cjs +268 -0
- package/dist/utils/index.d.ts +18 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +210 -0
- package/dist/utils/ip.d.ts +10 -0
- package/dist/utils/ip.d.ts.map +1 -0
- package/dist/utils/json.d.ts +14 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +108 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/url.d.ts +87 -0
- package/dist/utils/url.d.ts.map +1 -0
- package/dist/utils/wildcard.d.ts +46 -0
- package/dist/utils/wildcard.d.ts.map +1 -0
- package/knip.json +37 -0
- package/package.json +146 -0
- package/rslib.config.ts +104 -0
- package/src/api/call.ts +177 -0
- package/src/api/index.ts +303 -0
- package/src/api/middlewares/index.ts +38 -0
- package/src/api/middlewares/origin-check.ts +260 -0
- package/src/api/middlewares/validate-context.ts +175 -0
- package/src/api/routes/__tests__/consent.test.ts +270 -0
- package/src/api/routes/__tests__/status.test.ts +36 -0
- package/src/api/routes/error.ts +130 -0
- package/src/api/routes/generate-consent-receipt.ts +244 -0
- package/src/api/routes/get-consent-history.ts +128 -0
- package/src/api/routes/get-consent-policy.ts +327 -0
- package/src/api/routes/get-consent.ts +230 -0
- package/src/api/routes/index.ts +12 -0
- package/src/api/routes/ok.ts +45 -0
- package/src/api/routes/set-consent.ts +328 -0
- package/src/api/routes/show-consent-banner.ts +149 -0
- package/src/api/routes/status.ts +62 -0
- package/src/api/routes/verify-consent.ts +272 -0
- package/src/api/routes/withdraw-consent.ts +293 -0
- package/src/api/to-endpoints.ts +371 -0
- package/src/client/index.ts +471 -0
- package/src/client/types.ts +458 -0
- package/src/core.test.ts +303 -0
- package/src/core.ts +267 -0
- package/src/db/adapters/drizzle-adapter/drizzle-adapter.ts +711 -0
- package/src/db/adapters/drizzle-adapter/index.ts +1 -0
- package/src/db/adapters/kysely-adapter/dialect.ts +192 -0
- package/src/db/adapters/kysely-adapter/index.ts +3 -0
- package/src/db/adapters/kysely-adapter/kysely-adapter.ts +1168 -0
- package/src/db/adapters/kysely-adapter/types.ts +307 -0
- package/src/db/adapters/memory-adapter/index.ts +1 -0
- package/src/db/adapters/memory-adapter/memory-adapter.ts +648 -0
- package/src/db/adapters/prisma-adapter/index.ts +1 -0
- package/src/db/adapters/prisma-adapter/prisma-adapter.ts +586 -0
- package/src/db/adapters/types.ts +203 -0
- package/src/db/adapters/utils.ts +51 -0
- package/src/db/core/fields/field-factory.ts +804 -0
- package/src/db/core/fields/field-inference.ts +298 -0
- package/src/db/core/fields/field-options-integration.ts +135 -0
- package/src/db/core/fields/field-types.ts +233 -0
- package/src/db/core/fields/id-generator.ts +57 -0
- package/src/db/core/fields/index.ts +56 -0
- package/src/db/core/fields/superjson-utils.ts +155 -0
- package/src/db/core/fields/zod-fields.ts +269 -0
- package/src/db/core/get-schema.ts +102 -0
- package/src/db/core/types.ts +52 -0
- package/src/db/create-registry.ts +31 -0
- package/src/db/hooks/create-hooks.ts +88 -0
- package/src/db/hooks/index.ts +39 -0
- package/src/db/hooks/types.ts +164 -0
- package/src/db/hooks/update-hooks.ts +91 -0
- package/src/db/hooks/update-many-hooks.ts +176 -0
- package/src/db/hooks/utils.ts +151 -0
- package/src/db/hooks/with-hooks-factory.ts +68 -0
- package/src/db/index.ts +32 -0
- package/src/db/migration/get-migration.ts +89 -0
- package/src/db/migration/get-schema/get-schema.ts +44 -0
- package/src/db/migration/get-schema/index.ts +20 -0
- package/src/db/migration/get-schema/process-fields.ts +66 -0
- package/src/db/migration/get-schema/process-tables.ts +68 -0
- package/src/db/migration/get-schema/types.ts +18 -0
- package/src/db/migration/index.ts +18 -0
- package/src/db/migration/migration-builders.ts +170 -0
- package/src/db/migration/migration-execution.ts +79 -0
- package/src/db/migration/schema-comparison.ts +216 -0
- package/src/db/migration/type-mapping.ts +255 -0
- package/src/db/migration/types.ts +46 -0
- package/src/db/schema/audit-log/index.ts +3 -0
- package/src/db/schema/audit-log/registry.ts +228 -0
- package/src/db/schema/audit-log/schema.ts +46 -0
- package/src/db/schema/audit-log/table.ts +185 -0
- package/src/db/schema/audit-log/types.ts +29 -0
- package/src/db/schema/consent/index.ts +3 -0
- package/src/db/schema/consent/registry.ts +381 -0
- package/src/db/schema/consent/schema.ts +65 -0
- package/src/db/schema/consent/table.ts +220 -0
- package/src/db/schema/consent/types.ts +39 -0
- package/src/db/schema/consent-geo-location/index.ts +3 -0
- package/src/db/schema/consent-geo-location/registry.ts +124 -0
- package/src/db/schema/consent-geo-location/schema.ts +51 -0
- package/src/db/schema/consent-geo-location/table.ts +169 -0
- package/src/db/schema/consent-geo-location/types.ts +21 -0
- package/src/db/schema/consent-policy/index.ts +3 -0
- package/src/db/schema/consent-policy/registry.ts +313 -0
- package/src/db/schema/consent-policy/schema.ts +47 -0
- package/src/db/schema/consent-policy/table.ts +141 -0
- package/src/db/schema/consent-policy/types.ts +28 -0
- package/src/db/schema/consent-purpose/index.ts +3 -0
- package/src/db/schema/consent-purpose/registry.ts +188 -0
- package/src/db/schema/consent-purpose/schema.ts +58 -0
- package/src/db/schema/consent-purpose/table.ts +154 -0
- package/src/db/schema/consent-purpose/types.ts +16 -0
- package/src/db/schema/consent-purpose-junction/index.ts +3 -0
- package/src/db/schema/consent-purpose-junction/registry.ts +189 -0
- package/src/db/schema/consent-purpose-junction/schema.ts +49 -0
- package/src/db/schema/consent-purpose-junction/table.ts +142 -0
- package/src/db/schema/consent-purpose-junction/types.ts +14 -0
- package/src/db/schema/consent-record/index.ts +3 -0
- package/src/db/schema/consent-record/registry.ts +209 -0
- package/src/db/schema/consent-record/schema.ts +42 -0
- package/src/db/schema/consent-record/table.ts +124 -0
- package/src/db/schema/consent-record/types.ts +21 -0
- package/src/db/schema/consent-withdrawal/index.ts +3 -0
- package/src/db/schema/consent-withdrawal/registry.ts +219 -0
- package/src/db/schema/consent-withdrawal/schema.ts +48 -0
- package/src/db/schema/consent-withdrawal/table.ts +181 -0
- package/src/db/schema/consent-withdrawal/types.ts +29 -0
- package/src/db/schema/definition.ts +196 -0
- package/src/db/schema/domain/index.ts +3 -0
- package/src/db/schema/domain/registry.ts +272 -0
- package/src/db/schema/domain/schema.ts +43 -0
- package/src/db/schema/domain/table.ts +137 -0
- package/src/db/schema/domain/types.ts +27 -0
- package/src/db/schema/geo-location/index.ts +3 -0
- package/src/db/schema/geo-location/registry.ts +159 -0
- package/src/db/schema/geo-location/schema.ts +45 -0
- package/src/db/schema/geo-location/table.ts +148 -0
- package/src/db/schema/geo-location/types.ts +18 -0
- package/src/db/schema/index.ts +96 -0
- package/src/db/schema/parser.ts +417 -0
- package/src/db/schema/schemas.ts +35 -0
- package/src/db/schema/subject/index.ts +3 -0
- package/src/db/schema/subject/registry.ts +371 -0
- package/src/db/schema/subject/schema.ts +41 -0
- package/src/db/schema/subject/table.ts +139 -0
- package/src/db/schema/subject/types.ts +22 -0
- package/src/db/schema/types.ts +154 -0
- package/src/db/utils/adapter-factory.ts +64 -0
- package/src/db/utils/index.ts +10 -0
- package/src/db/utils.ts +42 -0
- package/src/docs/ADVANCED_JSON_HANDLING.md +99 -0
- package/src/docs/neverthrow.md +171 -0
- package/src/error/codes.ts +201 -0
- package/src/error/error.ts +145 -0
- package/src/error/index.ts +23 -0
- package/src/error/logging.ts +52 -0
- package/src/error/pipeline.ts +57 -0
- package/src/error/recovery.ts +45 -0
- package/src/error/results.ts +100 -0
- package/src/index.ts +79 -0
- package/src/init.test.ts +235 -0
- package/src/init.ts +261 -0
- package/src/integrations/index.ts +10 -0
- package/src/integrations/next.ts +136 -0
- package/src/integrations/react.ts +567 -0
- package/src/plugins/geo/index.ts +563 -0
- package/src/test/utils.ts +244 -0
- package/src/types/api.ts +101 -0
- package/src/types/context.ts +235 -0
- package/src/types/helper.ts +87 -0
- package/src/types/index.ts +5 -0
- package/src/types/options.ts +189 -0
- package/src/types/plugins.ts +538 -0
- package/src/utils/env.ts +103 -0
- package/src/utils/hide-metadata.ts +21 -0
- package/src/utils/index.ts +17 -0
- package/src/utils/ip.ts +45 -0
- package/src/utils/json.ts +19 -0
- package/src/utils/logger.ts +252 -0
- package/src/utils/url.ts +194 -0
- package/src/utils/wildcard.ts +253 -0
- package/tsconfig.json +12 -0
- package/vitest.config.ts +14 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Kysely } from 'kysely';
|
|
2
|
+
import type { C15TOptions } from '../../../types';
|
|
3
|
+
import type { Database, KyselyDatabaseType } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Creates a Kysely adapter from the provided configuration
|
|
6
|
+
*
|
|
7
|
+
* This function analyzes the database configuration in C15TOptions and creates
|
|
8
|
+
* an appropriate Kysely instance with the correct dialect. It handles several
|
|
9
|
+
* different configuration formats including:
|
|
10
|
+
* - Direct Kysely instances
|
|
11
|
+
* - Dialect configurations
|
|
12
|
+
* - Raw database connections (SQLite, MySQL, PostgreSQL)
|
|
13
|
+
* - Kysely dialect instances
|
|
14
|
+
*
|
|
15
|
+
* @param config - The C15T configuration options containing database settings
|
|
16
|
+
* @returns An object containing the initialized Kysely instance and database type
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* // Using with a pre-configured Kysely instance
|
|
21
|
+
* import { Kysely, PostgresDialect } from 'kysely';
|
|
22
|
+
* import { Pool } from 'pg';
|
|
23
|
+
* import { c15tInstance } from '@c15t/backend';
|
|
24
|
+
*
|
|
25
|
+
* // Create a Postgres connection pool
|
|
26
|
+
* const pool = new Pool({
|
|
27
|
+
* host: 'localhost',
|
|
28
|
+
* database: 'consent_db',
|
|
29
|
+
* user: 'postgres',
|
|
30
|
+
* password: 'password'
|
|
31
|
+
* });
|
|
32
|
+
*
|
|
33
|
+
* // Create Kysely instance
|
|
34
|
+
* const db = new Kysely({
|
|
35
|
+
* dialect: new PostgresDialect({ pool })
|
|
36
|
+
* });
|
|
37
|
+
*
|
|
38
|
+
* // Use in c15t configuration
|
|
39
|
+
* const c15t = c15tInstance({
|
|
40
|
+
* secret: process.env.SECRET_KEY,
|
|
41
|
+
* database: { db, type: 'postgres' } // Pre-configured Kysely instance
|
|
42
|
+
* });
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* // Using with a direct connection pool
|
|
48
|
+
* import { Pool } from 'pg';
|
|
49
|
+
* import { c15tInstance } from '@c15t/backend';
|
|
50
|
+
*
|
|
51
|
+
* // Create a Postgres connection pool
|
|
52
|
+
* const pool = new Pool({
|
|
53
|
+
* host: 'localhost',
|
|
54
|
+
* database: 'consent_db',
|
|
55
|
+
* user: 'postgres',
|
|
56
|
+
* password: 'password'
|
|
57
|
+
* });
|
|
58
|
+
*
|
|
59
|
+
* // Pass the pool directly to c15t
|
|
60
|
+
* const c15t = c15tInstance({
|
|
61
|
+
* secret: process.env.SECRET_KEY,
|
|
62
|
+
* database: pool // The adapter will detect it's a Postgres pool
|
|
63
|
+
* });
|
|
64
|
+
* ```
|
|
65
|
+
*
|
|
66
|
+
* @throws {Error} Will throw an error if the database configuration is invalid or if a connection cannot be established
|
|
67
|
+
*/
|
|
68
|
+
export declare const createKyselyAdapter: (config: C15TOptions) => Promise<{
|
|
69
|
+
kysely: Kysely<Database> | null;
|
|
70
|
+
databaseType: KyselyDatabaseType | null;
|
|
71
|
+
}>;
|
|
72
|
+
//# sourceMappingURL=dialect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../../../../src/db/adapters/kysely-adapter/dialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,MAAM,EAKN,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EACX,QAAQ,EAGR,kBAAkB,EAElB,MAAM,SAAS,CAAC;AAmDjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,eAAO,MAAM,mBAAmB,GAC/B,QAAQ,WAAW,KACjB,OAAO,CAAC;IACV,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACxC,CAwDA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/db/adapters/kysely-adapter/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { Kysely } from 'kysely';
|
|
2
|
+
import type { EntityName, EntityTypeMap } from '../../core/types';
|
|
3
|
+
import type { C15TOptions } from '../../../types';
|
|
4
|
+
import type { Adapter } from '../types';
|
|
5
|
+
import type { Database, KyselyDatabaseType } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* Interface for where conditions in Kysely queries
|
|
8
|
+
*
|
|
9
|
+
* This interface defines the structure of query conditions used
|
|
10
|
+
* in database operations. It supports various operators and connectors
|
|
11
|
+
* for building complex query conditions.
|
|
12
|
+
*
|
|
13
|
+
* @typeParam EntityType - The entity type being queried
|
|
14
|
+
*/
|
|
15
|
+
export interface WhereCondition<EntityType extends EntityName> {
|
|
16
|
+
/**
|
|
17
|
+
* The field to apply the condition to
|
|
18
|
+
*/
|
|
19
|
+
field: keyof EntityTypeMap[EntityType] | 'id';
|
|
20
|
+
/**
|
|
21
|
+
* The value to compare against
|
|
22
|
+
*/
|
|
23
|
+
value: unknown;
|
|
24
|
+
/**
|
|
25
|
+
* The operator to use for comparison
|
|
26
|
+
*
|
|
27
|
+
* @default "="
|
|
28
|
+
*/
|
|
29
|
+
operator?: 'in' | 'eq' | 'ne' | 'lt' | 'lte' | 'gt' | 'gte' | 'contains' | 'starts_with' | 'ends_with' | 'ilike' | '=';
|
|
30
|
+
/**
|
|
31
|
+
* The logical connector to use with previous conditions
|
|
32
|
+
*
|
|
33
|
+
* @default "AND"
|
|
34
|
+
*/
|
|
35
|
+
connector?: 'AND' | 'OR';
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Configuration options for the Kysely adapter
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* const config: KyselyAdapterConfig = {
|
|
43
|
+
* type: 'postgres' // Explicitly set the database type
|
|
44
|
+
* };
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export interface KyselyAdapterConfig {
|
|
48
|
+
/**
|
|
49
|
+
* Database type to use with the adapter
|
|
50
|
+
*
|
|
51
|
+
* Setting this explicitly can override the auto-detected type
|
|
52
|
+
* and can be necessary in some environments where detection fails.
|
|
53
|
+
*/
|
|
54
|
+
type?: KyselyDatabaseType;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Creates a c15t adapter for Kysely ORM
|
|
58
|
+
*
|
|
59
|
+
* This factory function creates an adapter that allows c15t to use Kysely ORM
|
|
60
|
+
* as its database layer. It supports PostgreSQL, MySQL, SQLite, and MSSQL.
|
|
61
|
+
*
|
|
62
|
+
* @param db - The Kysely database instance
|
|
63
|
+
* @param config - Optional configuration for the Kysely adapter
|
|
64
|
+
* @returns A c15t adapter factory function
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* import { Kysely, PostgresDialect } from 'kysely';
|
|
69
|
+
* import { Pool } from 'pg';
|
|
70
|
+
* import { c15tInstance } from '@c15t/backend';
|
|
71
|
+
* import { kyselyAdapter } from '@c15t/adapters/kysely';
|
|
72
|
+
*
|
|
73
|
+
* // Create a Postgres connection pool
|
|
74
|
+
* const pool = new Pool({
|
|
75
|
+
* host: 'localhost',
|
|
76
|
+
* database: 'consent_db',
|
|
77
|
+
* user: 'postgres',
|
|
78
|
+
* password: 'password'
|
|
79
|
+
* });
|
|
80
|
+
*
|
|
81
|
+
* // Create Kysely instance
|
|
82
|
+
* const db = new Kysely({
|
|
83
|
+
* dialect: new PostgresDialect({ pool })
|
|
84
|
+
* });
|
|
85
|
+
*
|
|
86
|
+
* // Create the c15t instance with Kysely adapter
|
|
87
|
+
* const c15t = c15tInstance({
|
|
88
|
+
* storage: kyselyAdapter(db, { type: 'postgres' }),
|
|
89
|
+
* // Other c15t options...
|
|
90
|
+
* secret: process.env.SECRET
|
|
91
|
+
* });
|
|
92
|
+
*
|
|
93
|
+
* // Use in your application
|
|
94
|
+
* export default c15tInstance.handler;
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export declare const kyselyAdapter: (db: Kysely<Database>, config?: KyselyAdapterConfig) => (opts: C15TOptions) => Adapter;
|
|
98
|
+
//# sourceMappingURL=kysely-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kysely-adapter.d.ts","sourceRoot":"","sources":["../../../../src/db/adapters/kysely-adapter/kysely-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKX,MAAM,EAKN,MAAM,QAAQ,CAAC;AAShB,OAAO,KAAK,EAEX,UAAU,EAEV,aAAa,EACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,UAAU,CAAC;AAE5D,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAqB5D;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc,CAAC,UAAU,SAAS,UAAU;IAC5D;;OAEG;IACH,KAAK,EAAE,MAAM,aAAa,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAE9C;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,QAAQ,CAAC,EACN,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,UAAU,GACV,aAAa,GACb,WAAW,GACX,OAAO,GACP,GAAG,CAAC;IAEP;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,mBAAmB;IACnC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC1B;AAydD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,aAAa,GACxB,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,mBAAmB,MAClD,MAAM,WAAW,KAAG,OAwhBpB,CAAC"}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import type { Database as SQLiteDatabase } from 'better-sqlite3';
|
|
2
|
+
import type { Dialect, Kysely, MysqlPool, PostgresPool } from 'kysely';
|
|
3
|
+
import type { Database as KyselyDatabase } from './types';
|
|
4
|
+
import type { AdapterInstance } from '../types';
|
|
5
|
+
import type { EntityTypeMap } from '../../core/types';
|
|
6
|
+
/**
|
|
7
|
+
* Database interface for Kysely that uses the EntityTypeMap
|
|
8
|
+
* to ensure all table names and record types are properly typed.
|
|
9
|
+
*
|
|
10
|
+
* This allows Kysely operations to be type-safe throughout the adapter.
|
|
11
|
+
*
|
|
12
|
+
* @remarks
|
|
13
|
+
* The Database interface is extended from EntityTypeMap, which contains
|
|
14
|
+
* all the entity types defined in your c15t configuration. This provides
|
|
15
|
+
* strong typing for database operations across the entire adapter.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* // The interface is used internally by the adapter to provide
|
|
20
|
+
* // type safety for database operations
|
|
21
|
+
* const query = db
|
|
22
|
+
* .selectFrom('consent') // Type-safe table name
|
|
23
|
+
* .select(['id', 'subjectId', 'purposeId']) // Type-safe column names
|
|
24
|
+
* .where('subjectId', '=', subjectId)
|
|
25
|
+
* .executeTakeFirst();
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export interface Database extends EntityTypeMap {
|
|
29
|
+
/**
|
|
30
|
+
* Migration history table used by the adapter to track schema changes
|
|
31
|
+
*/
|
|
32
|
+
migrations: {
|
|
33
|
+
id: string;
|
|
34
|
+
name: string;
|
|
35
|
+
applied_at: Date;
|
|
36
|
+
batch: number;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Temporary tables used during migrations
|
|
40
|
+
* These are created and dropped during the migration process
|
|
41
|
+
*/
|
|
42
|
+
_migration_temp: {
|
|
43
|
+
id: string;
|
|
44
|
+
table_name: string;
|
|
45
|
+
created_at: Date;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Database types supported by the Kysely adapter
|
|
50
|
+
*
|
|
51
|
+
* These represent the major SQL database engines that can be used with the adapter.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* // Explicitly specify the database type when creating an adapter
|
|
56
|
+
* const adapter = kyselyAdapter(db, { type: 'postgres' });
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export type KyselyDatabaseType = 'postgres' | 'mysql' | 'sqlite' | 'mssql';
|
|
60
|
+
/**
|
|
61
|
+
* Type alias for PostgreSQL connection pool configuration
|
|
62
|
+
*
|
|
63
|
+
* Used when configuring a PostgreSQL database connection.
|
|
64
|
+
*
|
|
65
|
+
* @see {@link https://node-postgres.com/apis/pool | PostgreSQL Pool documentation}
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```typescript
|
|
69
|
+
* import { Pool } from 'pg';
|
|
70
|
+
*
|
|
71
|
+
* // Create a PostgreSQL connection pool
|
|
72
|
+
* const pool: PostgresPoolConfig = new Pool({
|
|
73
|
+
* host: 'localhost',
|
|
74
|
+
* database: 'consent_db',
|
|
75
|
+
* user: 'postgres',
|
|
76
|
+
* password: 'password'
|
|
77
|
+
* });
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export type PostgresPoolConfig = PostgresPool;
|
|
81
|
+
/**
|
|
82
|
+
* Type alias for MySQL connection pool configuration
|
|
83
|
+
*
|
|
84
|
+
* Used when configuring a MySQL database connection.
|
|
85
|
+
*
|
|
86
|
+
* @see {@link https://github.com/sidorares/node-mysql2#using-connection-pools | MySQL Pool documentation}
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* import mysql from 'mysql2';
|
|
91
|
+
*
|
|
92
|
+
* // Create a MySQL connection pool
|
|
93
|
+
* const pool: MysqlPoolConfig = mysql.createPool({
|
|
94
|
+
* host: 'localhost',
|
|
95
|
+
* user: 'user',
|
|
96
|
+
* database: 'consent_db',
|
|
97
|
+
* password: 'password',
|
|
98
|
+
* waitForConnections: true,
|
|
99
|
+
* connectionLimit: 10,
|
|
100
|
+
* queueLimit: 0
|
|
101
|
+
* });
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
export type MysqlPoolConfig = MysqlPool;
|
|
105
|
+
/**
|
|
106
|
+
* Type alias for SQLite database configuration
|
|
107
|
+
*
|
|
108
|
+
* Used when configuring a SQLite database connection.
|
|
109
|
+
*
|
|
110
|
+
* @see {@link https://github.com/WiseLibs/better-sqlite3/blob/master/docs/api.md | Better-SQLite3 documentation}
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* import Database from 'better-sqlite3';
|
|
115
|
+
*
|
|
116
|
+
* // Create a SQLite database connection
|
|
117
|
+
* const db: SQLiteDatabaseConfig = new Database('consent.db', {
|
|
118
|
+
* readonly: false,
|
|
119
|
+
* fileMustExist: false
|
|
120
|
+
* });
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
export type SQLiteDatabaseConfig = SQLiteDatabase;
|
|
124
|
+
/**
|
|
125
|
+
* Configuration for a Kysely dialect
|
|
126
|
+
*
|
|
127
|
+
* This interface allows direct configuration of a Kysely dialect
|
|
128
|
+
* with explicit type information.
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ```typescript
|
|
132
|
+
* import { PostgresDialect } from 'kysely';
|
|
133
|
+
* import { Pool } from 'pg';
|
|
134
|
+
* import { c15tInstance } from '@c15t/backend';
|
|
135
|
+
*
|
|
136
|
+
* // Create a PostgreSQL connection pool
|
|
137
|
+
* const pool = new Pool({
|
|
138
|
+
* host: 'localhost',
|
|
139
|
+
* database: 'consent_db'
|
|
140
|
+
* });
|
|
141
|
+
*
|
|
142
|
+
* // Create a dialect config
|
|
143
|
+
* const dialectConfig: DialectConfig = {
|
|
144
|
+
* dialect: new PostgresDialect({ pool }),
|
|
145
|
+
* type: 'postgres',
|
|
146
|
+
* casing: 'camel'
|
|
147
|
+
* };
|
|
148
|
+
*
|
|
149
|
+
* // Use in c15t configuration
|
|
150
|
+
* const c15t = c15tInstance({
|
|
151
|
+
* storage: kyselyAdapter(dialectConfig),
|
|
152
|
+
* secret: process.env.SECRET_KEY
|
|
153
|
+
* });
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
export interface DialectConfig {
|
|
157
|
+
/**
|
|
158
|
+
* The Kysely dialect instance to use for database operations
|
|
159
|
+
*
|
|
160
|
+
* @see {@link https://kysely.dev/docs/dialects | Kysely dialects documentation}
|
|
161
|
+
*/
|
|
162
|
+
dialect: Dialect;
|
|
163
|
+
/**
|
|
164
|
+
* The type of database being connected to
|
|
165
|
+
*
|
|
166
|
+
* This is used by the adapter to adjust query behavior for different database engines.
|
|
167
|
+
*/
|
|
168
|
+
type: KyselyDatabaseType;
|
|
169
|
+
/**
|
|
170
|
+
* Casing style for table names in the database
|
|
171
|
+
*
|
|
172
|
+
* This affects how table names are transformed when interacting with the database.
|
|
173
|
+
* For example, with 'camel' casing, 'subjectProfile' becomes 'subject_profile' in the database.
|
|
174
|
+
* With 'snake' casing, it remains as 'subject_profile'.
|
|
175
|
+
*
|
|
176
|
+
* @default "camel"
|
|
177
|
+
*/
|
|
178
|
+
casing?: 'snake' | 'camel';
|
|
179
|
+
/**
|
|
180
|
+
* Whether to apply the casing transformation to column names as well
|
|
181
|
+
*
|
|
182
|
+
* When true, column names will be transformed according to the casing setting.
|
|
183
|
+
* When false, column names will remain in their original case.
|
|
184
|
+
*
|
|
185
|
+
* @default true
|
|
186
|
+
*/
|
|
187
|
+
applyCasingToColumns?: boolean;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Configuration for an existing Kysely instance
|
|
191
|
+
*
|
|
192
|
+
* This allows using a pre-configured Kysely instance with the adapter.
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```typescript
|
|
196
|
+
* import { Kysely, PostgresDialect } from 'kysely';
|
|
197
|
+
* import { Pool } from 'pg';
|
|
198
|
+
* import { c15tInstance } from '@c15t/backend';
|
|
199
|
+
*
|
|
200
|
+
* // Create a Postgres connection pool
|
|
201
|
+
* const pool = new Pool({
|
|
202
|
+
* host: 'localhost',
|
|
203
|
+
* database: 'consent_db'
|
|
204
|
+
* });
|
|
205
|
+
*
|
|
206
|
+
* // Create a Kysely instance
|
|
207
|
+
* const db = new Kysely<Database>({
|
|
208
|
+
* dialect: new PostgresDialect({ pool })
|
|
209
|
+
* });
|
|
210
|
+
*
|
|
211
|
+
* // Use the pre-configured instance
|
|
212
|
+
* const config: KyselyInstanceConfig = {
|
|
213
|
+
* db,
|
|
214
|
+
* type: 'postgres',
|
|
215
|
+
* casing: 'camel'
|
|
216
|
+
* };
|
|
217
|
+
*
|
|
218
|
+
* // Pass to c15t configuration
|
|
219
|
+
* const c15t = c15tInstance({
|
|
220
|
+
* storage: kyselyAdapter(config),
|
|
221
|
+
* secret: process.env.SECRET_KEY
|
|
222
|
+
* });
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
export interface KyselyInstanceConfig {
|
|
226
|
+
/**
|
|
227
|
+
* Pre-configured Kysely instance to use for database operations
|
|
228
|
+
*
|
|
229
|
+
* This should be a fully initialized Kysely instance with the correct
|
|
230
|
+
* dialect and configuration for your database.
|
|
231
|
+
*/
|
|
232
|
+
db: Kysely<KyselyDatabase>;
|
|
233
|
+
/**
|
|
234
|
+
* The type of database the Kysely instance is connected to
|
|
235
|
+
*
|
|
236
|
+
* This is used to adjust query behavior for different database engines.
|
|
237
|
+
*/
|
|
238
|
+
type: KyselyDatabaseType;
|
|
239
|
+
/**
|
|
240
|
+
* Casing style for table names in the database
|
|
241
|
+
*
|
|
242
|
+
* This affects how table names are transformed when interacting with the database.
|
|
243
|
+
* For example, with 'camel' casing, 'subjectProfile' becomes 'subject_profile' in the database.
|
|
244
|
+
* With 'snake' casing, it remains as 'subject_profile'.
|
|
245
|
+
*
|
|
246
|
+
* @default "camel"
|
|
247
|
+
*/
|
|
248
|
+
casing?: 'snake' | 'camel';
|
|
249
|
+
/**
|
|
250
|
+
* Whether to apply the casing transformation to column names as well
|
|
251
|
+
*
|
|
252
|
+
* When true, column names will be transformed according to the casing setting.
|
|
253
|
+
* When false, column names will remain in their original case.
|
|
254
|
+
*
|
|
255
|
+
* @default true
|
|
256
|
+
*/
|
|
257
|
+
applyCasingToColumns?: boolean;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Union type representing all possible database configurations
|
|
261
|
+
*
|
|
262
|
+
* This comprehensive type allows various ways to configure the database:
|
|
263
|
+
* - Direct connection pools (PostgreSQL, MySQL)
|
|
264
|
+
* - SQLite database instance
|
|
265
|
+
* - Kysely dialect
|
|
266
|
+
* - Custom adapter instance
|
|
267
|
+
* - Dialect configuration
|
|
268
|
+
* - Kysely instance configuration
|
|
269
|
+
*
|
|
270
|
+
* @remarks
|
|
271
|
+
* This flexible approach allows you to use the configuration pattern that
|
|
272
|
+
* works best for your application. You can pass direct database connections,
|
|
273
|
+
* pre-configured Kysely instances, or dialect configurations.
|
|
274
|
+
*
|
|
275
|
+
* @see {@link kyselyAdapter} The function that consumes this configuration
|
|
276
|
+
*/
|
|
277
|
+
export type DatabaseConfiguration = PostgresPoolConfig | MysqlPoolConfig | SQLiteDatabaseConfig | Dialect | AdapterInstance | DialectConfig | KyselyInstanceConfig | {
|
|
278
|
+
provider: string;
|
|
279
|
+
options: DatabaseConfiguration;
|
|
280
|
+
};
|
|
281
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/db/adapters/kysely-adapter/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,QAAS,SAAQ,aAAa;IAK9C;;OAEG;IACH,UAAU,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,IAAI,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IAEF;;;OAGG;IACH,eAAe,EAAE;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,IAAI,CAAC;KACjB,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC;AAExC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,aAAa;IAC7B;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,IAAI,EAAE,kBAAkB,CAAC;IAEzB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAE3B;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,oBAAoB;IACpC;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAE3B;;;;OAIG;IACH,IAAI,EAAE,kBAAkB,CAAC;IAEzB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAE3B;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,qBAAqB,GAC9B,kBAAkB,GAClB,eAAe,GACf,oBAAoB,GACpB,OAAO,GACP,eAAe,GACf,aAAa,GACb,oBAAoB,GACpB;IACA,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,qBAAqB,CAAC;CAC9B,CAAC"}
|