@c15t/backend 1.0.0 → 1.1.0-canary.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 +33 -39
- package/.turbo/turbo-fmt.log +7 -0
- package/.turbo/turbo-test.log +531 -0
- package/README.md +19 -7
- package/coverage/coverage-final.json +84 -0
- package/coverage/coverage-summary.json +85 -0
- package/coverage/html/backend/index.html +116 -0
- package/coverage/html/backend/rslib.config.ts.html +415 -0
- package/coverage/html/backend/src/contracts/consent/index.html +161 -0
- package/coverage/html/backend/src/contracts/consent/index.ts.html +112 -0
- package/coverage/html/backend/src/contracts/consent/post.contract.ts.html +559 -0
- package/coverage/html/backend/src/contracts/consent/show-banner.contract.ts.html +220 -0
- package/coverage/html/backend/src/contracts/consent/verify.contract.ts.html +463 -0
- package/coverage/html/backend/src/contracts/index.html +116 -0
- package/coverage/html/backend/src/contracts/index.ts.html +139 -0
- package/coverage/html/backend/src/contracts/meta/index.html +131 -0
- package/coverage/html/backend/src/contracts/meta/index.ts.html +100 -0
- package/coverage/html/backend/src/contracts/meta/status.contract.ts.html +196 -0
- package/coverage/html/backend/src/contracts/shared/index.html +116 -0
- package/coverage/html/backend/src/contracts/shared/jurisdiction.schema.ts.html +175 -0
- package/coverage/html/backend/src/core.ts.html +1624 -0
- package/coverage/html/backend/src/handlers/consent/index.html +161 -0
- package/coverage/html/backend/src/handlers/consent/index.ts.html +112 -0
- package/coverage/html/backend/src/handlers/consent/post.handler.ts.html +889 -0
- package/coverage/html/backend/src/handlers/consent/show-banner.handler.ts.html +535 -0
- package/coverage/html/backend/src/handlers/consent/verify.handler.ts.html +1000 -0
- package/coverage/html/backend/src/handlers/meta/index.html +131 -0
- package/coverage/html/backend/src/handlers/meta/index.ts.html +100 -0
- package/coverage/html/backend/src/handlers/meta/status.handler.ts.html +226 -0
- package/coverage/html/backend/src/index.html +161 -0
- package/coverage/html/backend/src/init.ts.html +1018 -0
- package/coverage/html/backend/src/pkgs/api-router/hooks/index.html +116 -0
- package/coverage/html/backend/src/pkgs/api-router/hooks/processor.ts.html +544 -0
- package/coverage/html/backend/src/pkgs/api-router/index.html +116 -0
- package/coverage/html/backend/src/pkgs/api-router/telemetry.ts.html +334 -0
- package/coverage/html/backend/src/pkgs/api-router/utils/cors.ts.html +304 -0
- package/coverage/html/backend/src/pkgs/api-router/utils/index.html +131 -0
- package/coverage/html/backend/src/pkgs/api-router/utils/ip.ts.html +361 -0
- package/coverage/html/backend/src/pkgs/data-model/fields/field-factory.ts.html +709 -0
- package/coverage/html/backend/src/pkgs/data-model/fields/id-generator.ts.html +256 -0
- package/coverage/html/backend/src/pkgs/data-model/fields/index.html +161 -0
- package/coverage/html/backend/src/pkgs/data-model/fields/superjson-utils.ts.html +136 -0
- package/coverage/html/backend/src/pkgs/data-model/fields/zod-fields.ts.html +496 -0
- package/coverage/html/backend/src/pkgs/data-model/hooks/create-hooks.ts.html +349 -0
- package/coverage/html/backend/src/pkgs/data-model/hooks/index.html +176 -0
- package/coverage/html/backend/src/pkgs/data-model/hooks/update-hooks.ts.html +358 -0
- package/coverage/html/backend/src/pkgs/data-model/hooks/update-many-hooks.ts.html +613 -0
- package/coverage/html/backend/src/pkgs/data-model/hooks/utils.ts.html +538 -0
- package/coverage/html/backend/src/pkgs/data-model/hooks/with-hooks-factory.ts.html +289 -0
- package/coverage/html/backend/src/pkgs/db-adapters/adapter-factory.ts.html +289 -0
- package/coverage/html/backend/src/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.ts.html +2203 -0
- package/coverage/html/backend/src/pkgs/db-adapters/adapters/drizzle-adapter/index.html +116 -0
- package/coverage/html/backend/src/pkgs/db-adapters/adapters/index.html +116 -0
- package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/dialect.ts.html +670 -0
- package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/index.html +131 -0
- package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.ts.html +3634 -0
- package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/tests/index.html +116 -0
- package/coverage/html/backend/src/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.ts.html +1417 -0
- package/coverage/html/backend/src/pkgs/db-adapters/adapters/memory-adapter/index.html +116 -0
- package/coverage/html/backend/src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts.html +2071 -0
- package/coverage/html/backend/src/pkgs/db-adapters/adapters/prisma-adapter/index.html +116 -0
- package/coverage/html/backend/src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts.html +1834 -0
- package/coverage/html/backend/src/pkgs/db-adapters/adapters/test.ts.html +316 -0
- package/coverage/html/backend/src/pkgs/db-adapters/index.html +131 -0
- package/coverage/html/backend/src/pkgs/db-adapters/utils.ts.html +238 -0
- package/coverage/html/backend/src/pkgs/migrations/get-migration.ts.html +343 -0
- package/coverage/html/backend/src/pkgs/migrations/get-schema/get-schema.ts.html +217 -0
- package/coverage/html/backend/src/pkgs/migrations/get-schema/index.html +146 -0
- package/coverage/html/backend/src/pkgs/migrations/get-schema/process-fields.ts.html +280 -0
- package/coverage/html/backend/src/pkgs/migrations/get-schema/process-tables.ts.html +289 -0
- package/coverage/html/backend/src/pkgs/migrations/index.html +176 -0
- package/coverage/html/backend/src/pkgs/migrations/migration-builders.ts.html +595 -0
- package/coverage/html/backend/src/pkgs/migrations/migration-execution.ts.html +301 -0
- package/coverage/html/backend/src/pkgs/migrations/schema-comparison.ts.html +694 -0
- package/coverage/html/backend/src/pkgs/migrations/type-mapping.ts.html +817 -0
- package/coverage/html/backend/src/pkgs/results/core/error-class.ts.html +976 -0
- package/coverage/html/backend/src/pkgs/results/core/error-codes.ts.html +703 -0
- package/coverage/html/backend/src/pkgs/results/core/index.html +146 -0
- package/coverage/html/backend/src/pkgs/results/core/tracing.ts.html +280 -0
- package/coverage/html/backend/src/pkgs/results/create-telemetry-options.ts.html +271 -0
- package/coverage/html/backend/src/pkgs/results/index.html +131 -0
- package/coverage/html/backend/src/pkgs/results/orpc-error-handler.ts.html +496 -0
- package/coverage/html/backend/src/pkgs/results/results/index.html +131 -0
- package/coverage/html/backend/src/pkgs/results/results/recovery-utils.ts.html +628 -0
- package/coverage/html/backend/src/pkgs/results/results/result-helpers.ts.html +1234 -0
- package/coverage/html/backend/src/pkgs/utils/env.ts.html +337 -0
- package/coverage/html/backend/src/pkgs/utils/index.html +146 -0
- package/coverage/html/backend/src/pkgs/utils/logger.ts.html +199 -0
- package/coverage/html/backend/src/pkgs/utils/url.ts.html +400 -0
- package/coverage/html/backend/src/router.ts.html +109 -0
- package/coverage/html/backend/src/schema/audit-log/index.html +146 -0
- package/coverage/html/backend/src/schema/audit-log/registry.ts.html +436 -0
- package/coverage/html/backend/src/schema/audit-log/schema.ts.html +223 -0
- package/coverage/html/backend/src/schema/audit-log/table.ts.html +640 -0
- package/coverage/html/backend/src/schema/consent/index.html +146 -0
- package/coverage/html/backend/src/schema/consent/registry.ts.html +616 -0
- package/coverage/html/backend/src/schema/consent/schema.ts.html +238 -0
- package/coverage/html/backend/src/schema/consent/table.ts.html +748 -0
- package/coverage/html/backend/src/schema/consent-policy/index.html +146 -0
- package/coverage/html/backend/src/schema/consent-policy/registry.ts.html +1063 -0
- package/coverage/html/backend/src/schema/consent-policy/schema.ts.html +265 -0
- package/coverage/html/backend/src/schema/consent-policy/table.ts.html +535 -0
- package/coverage/html/backend/src/schema/consent-purpose/index.html +146 -0
- package/coverage/html/backend/src/schema/consent-purpose/registry.ts.html +589 -0
- package/coverage/html/backend/src/schema/consent-purpose/schema.ts.html +259 -0
- package/coverage/html/backend/src/schema/consent-purpose/table.ts.html +547 -0
- package/coverage/html/backend/src/schema/consent-record/index.html +131 -0
- package/coverage/html/backend/src/schema/consent-record/schema.ts.html +211 -0
- package/coverage/html/backend/src/schema/consent-record/table.ts.html +457 -0
- package/coverage/html/backend/src/schema/create-registry.ts.html +148 -0
- package/coverage/html/backend/src/schema/definition.ts.html +685 -0
- package/coverage/html/backend/src/schema/domain/index.html +146 -0
- package/coverage/html/backend/src/schema/domain/registry.ts.html +973 -0
- package/coverage/html/backend/src/schema/domain/schema.ts.html +214 -0
- package/coverage/html/backend/src/schema/domain/table.ts.html +496 -0
- package/coverage/html/backend/src/schema/index.html +146 -0
- package/coverage/html/backend/src/schema/schemas.ts.html +166 -0
- package/coverage/html/backend/src/schema/subject/index.html +146 -0
- package/coverage/html/backend/src/schema/subject/registry.ts.html +973 -0
- package/coverage/html/backend/src/schema/subject/schema.ts.html +208 -0
- package/coverage/html/backend/src/schema/subject/table.ts.html +499 -0
- package/coverage/html/backend/src/server.ts.html +475 -0
- package/coverage/html/backend/src/testing/contract-testing.ts.html +1348 -0
- package/coverage/html/backend/src/testing/index.html +116 -0
- package/coverage/html/base.css +224 -0
- package/coverage/html/block-navigation.js +87 -0
- package/coverage/html/favicon.png +0 -0
- package/coverage/html/index.html +626 -0
- package/coverage/html/prettify.css +1 -0
- package/coverage/html/prettify.js +2 -0
- package/coverage/html/sort-arrow-sprite.png +0 -0
- package/coverage/html/sorter.js +196 -0
- package/dist/contracts/consent/index.d.ts +401 -0
- package/dist/contracts/consent/index.d.ts.map +1 -0
- package/dist/contracts/consent/index.test.d.ts +2 -0
- package/dist/contracts/consent/index.test.d.ts.map +1 -0
- package/dist/contracts/consent/post.contract.d.ts +212 -0
- package/dist/contracts/consent/post.contract.d.ts.map +1 -0
- package/dist/contracts/consent/post.contract.test.d.ts +2 -0
- package/dist/contracts/consent/post.contract.test.d.ts.map +1 -0
- package/dist/contracts/consent/show-banner.contract.d.ts +45 -0
- package/dist/contracts/consent/show-banner.contract.d.ts.map +1 -0
- package/dist/contracts/consent/show-banner.contract.test.d.ts +2 -0
- package/dist/contracts/consent/show-banner.contract.test.d.ts.map +1 -0
- package/dist/contracts/consent/verify.contract.d.ts +147 -0
- package/dist/contracts/consent/verify.contract.d.ts.map +1 -0
- package/dist/contracts/consent/verify.contract.test.d.ts +2 -0
- package/dist/contracts/consent/verify.contract.test.d.ts.map +1 -0
- package/dist/contracts/index.d.ts +963 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/meta/index.d.ts +78 -0
- package/dist/contracts/meta/index.d.ts.map +1 -0
- package/dist/contracts/meta/index.test.d.ts +2 -0
- package/dist/contracts/meta/index.test.d.ts.map +1 -0
- package/dist/contracts/meta/status.contract.d.ts +77 -0
- package/dist/contracts/meta/status.contract.d.ts.map +1 -0
- package/dist/contracts/meta/status.contract.test.d.ts +2 -0
- package/dist/contracts/meta/status.contract.test.d.ts.map +1 -0
- package/dist/contracts/shared/jurisdiction.schema.d.ts +24 -0
- package/dist/contracts/shared/jurisdiction.schema.d.ts.map +1 -0
- package/dist/core.cjs +3584 -0
- package/dist/core.d.ts +533 -78
- package/dist/core.d.ts.map +1 -1
- package/dist/{index.js → core.js} +1164 -1292
- package/dist/handlers/consent/index.d.ts +401 -0
- package/dist/handlers/consent/index.d.ts.map +1 -0
- package/dist/handlers/consent/post.handler.d.ts +234 -0
- package/dist/handlers/consent/post.handler.d.ts.map +1 -0
- package/dist/handlers/consent/show-banner.handler.d.ts +57 -0
- package/dist/handlers/consent/show-banner.handler.d.ts.map +1 -0
- package/dist/handlers/consent/show-banner.handler.test.d.ts +2 -0
- package/dist/handlers/consent/show-banner.handler.test.d.ts.map +1 -0
- package/dist/handlers/consent/verify.handler.d.ts +169 -0
- package/dist/handlers/consent/verify.handler.d.ts.map +1 -0
- package/dist/handlers/meta/index.d.ts +78 -0
- package/dist/handlers/meta/index.d.ts.map +1 -0
- package/dist/handlers/meta/status.handler.d.ts +76 -0
- package/dist/handlers/meta/status.handler.d.ts.map +1 -0
- package/dist/init.d.ts +0 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/pkgs/api-router/hooks/processor.d.ts.map +1 -1
- package/dist/pkgs/api-router/types/router-props.d.ts +1 -1
- package/dist/pkgs/api-router/types/router-props.d.ts.map +1 -1
- package/dist/pkgs/api-router/utils/cors.d.ts +1 -1
- package/dist/pkgs/api-router/utils/cors.d.ts.map +1 -1
- package/dist/pkgs/data-model/fields/field-types.d.ts +1 -1
- package/dist/pkgs/data-model/fields/zod-fields.d.ts +32 -32
- package/dist/pkgs/data-model/index.cjs +1433 -1799
- package/dist/pkgs/data-model/index.js +20 -385
- package/dist/pkgs/data-model/schema/index.cjs +1402 -1768
- package/dist/pkgs/data-model/schema/index.js +20 -385
- package/dist/pkgs/db-adapters/adapter-factory.d.ts +2 -2
- package/dist/pkgs/db-adapters/adapter-factory.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts +4 -7
- package/dist/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.cjs +19 -151
- package/dist/pkgs/db-adapters/adapters/drizzle-adapter/index.js +19 -151
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/dialect.d.ts +1 -3
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/dialect.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.cjs +17 -149
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/index.js +17 -149
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts +0 -1
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts +2 -2
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/types.d.ts +0 -2
- package/dist/pkgs/db-adapters/adapters/kysely-adapter/types.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/adapters/memory-adapter/index.cjs +17 -149
- package/dist/pkgs/db-adapters/adapters/memory-adapter/index.js +17 -149
- package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts +0 -1
- package/dist/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.cjs +19 -151
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/index.js +19 -151
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts +0 -1
- package/dist/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.d.ts.map +1 -1
- package/dist/pkgs/db-adapters/index.cjs +31 -153
- package/dist/pkgs/db-adapters/index.js +31 -153
- package/dist/pkgs/migrations/get-schema/get-schema.d.ts +2 -2
- package/dist/pkgs/migrations/get-schema/index.d.ts +1 -1
- package/dist/pkgs/migrations/index.cjs +30 -153
- package/dist/pkgs/migrations/index.js +30 -153
- package/dist/pkgs/migrations/schema-comparison.d.ts.map +1 -1
- package/dist/pkgs/results/core/error-class.d.ts +23 -21
- package/dist/pkgs/results/core/error-class.d.ts.map +1 -1
- package/dist/pkgs/results/index.cjs +17 -150
- package/dist/pkgs/results/index.d.ts +0 -3
- package/dist/pkgs/results/index.d.ts.map +1 -1
- package/dist/pkgs/results/index.js +17 -138
- package/dist/pkgs/results/orpc-error-handler.d.ts +65 -0
- package/dist/pkgs/results/orpc-error-handler.d.ts.map +1 -0
- package/dist/pkgs/results/types.d.ts +7 -7
- package/dist/pkgs/results/types.d.ts.map +1 -1
- package/dist/pkgs/types/context.d.ts +15 -8
- package/dist/pkgs/types/context.d.ts.map +1 -1
- package/dist/pkgs/types/endpoints.d.ts +3 -4
- package/dist/pkgs/types/endpoints.d.ts.map +1 -1
- package/dist/pkgs/types/options.d.ts +2 -4
- package/dist/pkgs/types/options.d.ts.map +1 -1
- package/dist/pkgs/types/plugins.d.ts +2 -3
- package/dist/pkgs/types/plugins.d.ts.map +1 -1
- package/dist/pkgs/utils/index.d.ts +1 -0
- package/dist/pkgs/utils/index.d.ts.map +1 -1
- package/dist/pkgs/utils/logger.d.ts +16 -0
- package/dist/pkgs/utils/logger.d.ts.map +1 -0
- package/dist/router.cjs +1213 -0
- package/dist/router.d.ts +480 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +1169 -0
- package/dist/schema/audit-log/table.d.ts +1 -1
- package/dist/schema/consent/table.d.ts +1 -1
- package/dist/schema/consent-policy/registry.d.ts +12 -12
- package/dist/schema/consent-policy/schema.d.ts +6 -6
- package/dist/schema/consent-policy/table.d.ts +7 -7
- package/dist/schema/consent-purpose/registry.d.ts +6 -6
- package/dist/schema/consent-purpose/schema.d.ts +6 -6
- package/dist/schema/consent-purpose/table.d.ts +7 -7
- package/dist/schema/consent-record/table.d.ts +1 -1
- package/dist/schema/create-registry.d.ts +32 -32
- package/dist/schema/definition.d.ts +19 -19
- package/dist/schema/domain/registry.d.ts +10 -10
- package/dist/schema/domain/schema.d.ts +5 -5
- package/dist/schema/domain/table.d.ts +6 -6
- package/dist/schema/index.cjs +1409 -1775
- package/dist/schema/index.js +20 -385
- package/dist/schema/schemas.d.ts +19 -19
- package/dist/schema/subject/registry.d.ts +4 -4
- package/dist/schema/subject/schema.d.ts +2 -2
- package/dist/schema/subject/table.d.ts +3 -3
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/testing/contract-testing.d.ts +37 -0
- package/dist/testing/contract-testing.d.ts.map +1 -0
- package/dist/types/context.d.ts +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/options.d.ts +33 -3
- package/dist/types/options.d.ts.map +1 -1
- package/dist/types/plugins.d.ts +3 -4
- package/dist/types/plugins.d.ts.map +1 -1
- package/package.json +20 -28
- package/rslib.config.ts +2 -5
- package/src/contracts/consent/index.test.ts +5 -0
- package/src/contracts/consent/index.ts +9 -0
- package/src/contracts/consent/post.contract.test.ts +526 -0
- package/src/contracts/consent/post.contract.ts +160 -0
- package/src/contracts/consent/show-banner.contract.test.ts +214 -0
- package/src/contracts/consent/show-banner.contract.ts +45 -0
- package/src/contracts/consent/verify.contract.test.ts +185 -0
- package/src/contracts/consent/verify.contract.ts +126 -0
- package/src/contracts/index.ts +18 -0
- package/src/contracts/meta/index.test.ts +5 -0
- package/src/contracts/meta/index.ts +5 -0
- package/src/contracts/meta/status.contract.test.ts +338 -0
- package/src/contracts/meta/status.contract.ts +37 -0
- package/src/contracts/shared/jurisdiction.schema.ts +30 -0
- package/src/core.ts +451 -161
- package/src/handlers/consent/index.ts +9 -0
- package/src/handlers/consent/post.handler.ts +273 -0
- package/src/handlers/consent/show-banner.handler.test.ts +148 -0
- package/src/handlers/consent/show-banner.handler.ts +150 -0
- package/src/handlers/consent/verify.handler.ts +305 -0
- package/src/handlers/meta/index.ts +5 -0
- package/src/handlers/meta/status.handler.ts +47 -0
- package/src/init.ts +8 -26
- package/src/pkgs/api-router/hooks/__tests__/processor.test.ts +6 -0
- package/src/pkgs/api-router/hooks/processor.ts +2 -0
- package/src/pkgs/api-router/types/router-props.ts +1 -1
- package/src/pkgs/api-router/utils/cors.ts +1 -1
- package/src/pkgs/data-model/fields/field-types.ts +1 -1
- package/src/pkgs/data-model/fields/id-generator.ts +1 -1
- package/src/pkgs/db-adapters/README.md +3 -3
- package/src/pkgs/db-adapters/adapter-factory.ts +8 -4
- package/src/pkgs/db-adapters/adapters/drizzle-adapter/drizzle-adapter.ts +13 -16
- package/src/pkgs/db-adapters/adapters/kysely-adapter/dialect.ts +1 -3
- package/src/pkgs/db-adapters/adapters/kysely-adapter/kysely-adapter.ts +0 -1
- package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/postgres.test.ts +1 -1
- package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/sqlite.test.ts +1 -1
- package/src/pkgs/db-adapters/adapters/kysely-adapter/tests/test-utils.ts +2 -2
- package/src/pkgs/db-adapters/adapters/kysely-adapter/types.ts +0 -2
- package/src/pkgs/db-adapters/adapters/memory-adapter/memory-adapter.ts +0 -1
- package/src/pkgs/db-adapters/adapters/prisma-adapter/prisma-adapter.ts +0 -1
- package/src/pkgs/migrations/get-migration.ts +3 -3
- package/src/pkgs/migrations/get-schema/get-schema.ts +2 -2
- package/src/pkgs/migrations/get-schema/index.ts +1 -1
- package/src/pkgs/migrations/migration-builders.ts +2 -2
- package/src/pkgs/migrations/migration-execution.ts +2 -2
- package/src/pkgs/migrations/schema-comparison.ts +5 -4
- package/src/pkgs/results/__tests__/error-class.test.ts +8 -7
- package/src/pkgs/results/core/error-class.ts +31 -43
- package/src/pkgs/results/index.ts +0 -10
- package/src/pkgs/results/orpc-error-handler.ts +137 -0
- package/src/pkgs/results/types.ts +8 -7
- package/src/pkgs/types/context.ts +18 -9
- package/src/pkgs/types/endpoints.ts +3 -5
- package/src/pkgs/types/options.ts +2 -4
- package/src/pkgs/types/plugins.ts +2 -3
- package/src/pkgs/utils/index.ts +1 -0
- package/src/pkgs/utils/logger.ts +38 -0
- package/src/router.ts +8 -0
- package/src/schema/audit-log/table.ts +1 -1
- package/src/schema/consent/table.ts +1 -1
- package/src/schema/consent-policy/table.ts +1 -1
- package/src/schema/consent-purpose/table.ts +1 -1
- package/src/schema/consent-record/table.ts +1 -1
- package/src/schema/definition.ts +2 -2
- package/src/schema/domain/table.ts +1 -1
- package/src/schema/subject/table.ts +1 -1
- package/src/server.ts +130 -0
- package/src/testing/contract-testing.ts +437 -0
- package/src/types/context.ts +1 -1
- package/src/types/index.ts +2 -2
- package/src/types/options.ts +38 -3
- package/src/types/plugins.ts +3 -4
- package/dist/index.cjs +0 -3706
- package/dist/index.d.ts +0 -11
- package/dist/index.d.ts.map +0 -1
- package/dist/init.test.d.ts +0 -2
- package/dist/init.test.d.ts.map +0 -1
- package/dist/integrations/cloudflare.cjs +0 -312
- package/dist/integrations/cloudflare.d.ts +0 -32
- package/dist/integrations/cloudflare.d.ts.map +0 -1
- package/dist/integrations/cloudflare.js +0 -278
- package/dist/integrations/next.cjs +0 -276
- package/dist/integrations/next.d.ts +0 -68
- package/dist/integrations/next.d.ts.map +0 -1
- package/dist/integrations/next.js +0 -239
- package/dist/integrations/node.cjs +0 -257
- package/dist/integrations/node.d.ts +0 -29
- package/dist/integrations/node.d.ts.map +0 -1
- package/dist/integrations/node.js +0 -223
- package/dist/pkgs/api-router/index.d.ts +0 -9
- package/dist/pkgs/api-router/index.d.ts.map +0 -1
- package/dist/pkgs/api-router/utils/define-route.d.ts +0 -87
- package/dist/pkgs/api-router/utils/define-route.d.ts.map +0 -1
- package/dist/pkgs/logger/__tests__/console-formatter.test.d.ts +0 -2
- package/dist/pkgs/logger/__tests__/console-formatter.test.d.ts.map +0 -1
- package/dist/pkgs/logger/__tests__/integration.test.d.ts +0 -2
- package/dist/pkgs/logger/__tests__/integration.test.d.ts.map +0 -1
- package/dist/pkgs/logger/__tests__/log-levels.test.d.ts +0 -2
- package/dist/pkgs/logger/__tests__/log-levels.test.d.ts.map +0 -1
- package/dist/pkgs/logger/__tests__/logger-factory.test.d.ts +0 -2
- package/dist/pkgs/logger/__tests__/logger-factory.test.d.ts.map +0 -1
- package/dist/pkgs/logger/__tests__/result-logging.test.d.ts +0 -2
- package/dist/pkgs/logger/__tests__/result-logging.test.d.ts.map +0 -1
- package/dist/pkgs/logger/__tests__/types.test.d.ts +0 -2
- package/dist/pkgs/logger/__tests__/types.test.d.ts.map +0 -1
- package/dist/pkgs/logger/console-formatter.d.ts +0 -56
- package/dist/pkgs/logger/console-formatter.d.ts.map +0 -1
- package/dist/pkgs/logger/index.cjs +0 -240
- package/dist/pkgs/logger/index.d.ts +0 -35
- package/dist/pkgs/logger/index.d.ts.map +0 -1
- package/dist/pkgs/logger/index.js +0 -185
- package/dist/pkgs/logger/log-levels.d.ts +0 -29
- package/dist/pkgs/logger/log-levels.d.ts.map +0 -1
- package/dist/pkgs/logger/logger-factory.d.ts +0 -42
- package/dist/pkgs/logger/logger-factory.d.ts.map +0 -1
- package/dist/pkgs/logger/result-logging.d.ts +0 -71
- package/dist/pkgs/logger/result-logging.d.ts.map +0 -1
- package/dist/pkgs/logger/telemetry.d.ts +0 -14
- package/dist/pkgs/logger/telemetry.d.ts.map +0 -1
- package/dist/pkgs/logger/types.d.ts +0 -121
- package/dist/pkgs/logger/types.d.ts.map +0 -1
- package/dist/pkgs/results/__tests__/retrieval-pipeline.test.d.ts +0 -2
- package/dist/pkgs/results/__tests__/retrieval-pipeline.test.d.ts.map +0 -1
- package/dist/pkgs/results/__tests__/validation-pipeline.test.d.ts +0 -2
- package/dist/pkgs/results/__tests__/validation-pipeline.test.d.ts.map +0 -1
- package/dist/pkgs/results/h3-integration.d.ts +0 -52
- package/dist/pkgs/results/h3-integration.d.ts.map +0 -1
- package/dist/pkgs/results/pipeline/retrieval-pipeline.d.ts +0 -101
- package/dist/pkgs/results/pipeline/retrieval-pipeline.d.ts.map +0 -1
- package/dist/pkgs/results/pipeline/validation-pipeline.d.ts +0 -89
- package/dist/pkgs/results/pipeline/validation-pipeline.d.ts.map +0 -1
- package/dist/response-types.d.ts +0 -19
- package/dist/response-types.d.ts.map +0 -1
- package/dist/routes/__test__/index.test.d.ts +0 -17
- package/dist/routes/__test__/index.test.d.ts.map +0 -1
- package/dist/routes/__test__/set-consent.test.d.ts +0 -2
- package/dist/routes/__test__/set-consent.test.d.ts.map +0 -1
- package/dist/routes/__test__/show-consent-banner.test.d.ts +0 -2
- package/dist/routes/__test__/show-consent-banner.test.d.ts.map +0 -1
- package/dist/routes/__test__/status.test.d.ts +0 -2
- package/dist/routes/__test__/status.test.d.ts.map +0 -1
- package/dist/routes/__test__/verify-consent.test.d.ts +0 -2
- package/dist/routes/__test__/verify-consent.test.d.ts.map +0 -1
- package/dist/routes/index.d.ts +0 -3
- package/dist/routes/index.d.ts.map +0 -1
- package/dist/routes/set-consent.d.ts +0 -89
- package/dist/routes/set-consent.d.ts.map +0 -1
- package/dist/routes/show-consent-banner.d.ts +0 -15
- package/dist/routes/show-consent-banner.d.ts.map +0 -1
- package/dist/routes/status.d.ts +0 -44
- package/dist/routes/status.d.ts.map +0 -1
- package/dist/routes/types.d.ts +0 -7
- package/dist/routes/types.d.ts.map +0 -1
- package/dist/routes/verify-consent.d.ts +0 -38
- package/dist/routes/verify-consent.d.ts.map +0 -1
- package/src/docs/ADVANCED_JSON_HANDLING.md +0 -99
- package/src/docs/neverthrow.md +0 -171
- package/src/index.ts +0 -34
- package/src/init.test.ts +0 -236
- package/src/integrations/cloudflare.ts +0 -269
- package/src/integrations/next.ts +0 -204
- package/src/integrations/node.ts +0 -141
- package/src/pkgs/api-router/index.ts +0 -148
- package/src/pkgs/api-router/types/h3.d.ts +0 -42
- package/src/pkgs/api-router/utils/define-route.ts +0 -410
- package/src/pkgs/logger/README.md +0 -213
- package/src/pkgs/logger/__tests__/console-formatter.test.ts +0 -67
- package/src/pkgs/logger/__tests__/integration.test.ts +0 -184
- package/src/pkgs/logger/__tests__/log-levels.test.ts +0 -77
- package/src/pkgs/logger/__tests__/logger-factory.test.ts +0 -156
- package/src/pkgs/logger/__tests__/result-logging.test.ts +0 -209
- package/src/pkgs/logger/__tests__/types.test.ts +0 -94
- package/src/pkgs/logger/console-formatter.ts +0 -75
- package/src/pkgs/logger/doc.md +0 -569
- package/src/pkgs/logger/index.ts +0 -59
- package/src/pkgs/logger/log-levels.ts +0 -46
- package/src/pkgs/logger/logger-factory.ts +0 -121
- package/src/pkgs/logger/result-logging.ts +0 -134
- package/src/pkgs/logger/telemetry.ts +0 -96
- package/src/pkgs/logger/types.ts +0 -138
- package/src/pkgs/results/__tests__/retrieval-pipeline.test.ts +0 -157
- package/src/pkgs/results/__tests__/validation-pipeline.test.ts +0 -151
- package/src/pkgs/results/h3-integration.ts +0 -142
- package/src/pkgs/results/pipeline/retrieval-pipeline.ts +0 -188
- package/src/pkgs/results/pipeline/validation-pipeline.ts +0 -164
- package/src/plugins/.keep +0 -0
- package/src/response-types.ts +0 -29
- package/src/routes/__test__/index.test.ts +0 -112
- package/src/routes/__test__/set-consent.test.ts +0 -242
- package/src/routes/__test__/show-consent-banner.test.ts +0 -98
- package/src/routes/__test__/status.test.ts +0 -64
- package/src/routes/__test__/verify-consent.test.ts +0 -266
- package/src/routes/index.ts +0 -12
- package/src/routes/set-consent.ts +0 -249
- package/src/routes/show-consent-banner.ts +0 -131
- package/src/routes/status.ts +0 -61
- package/src/routes/types.ts +0 -7
- package/src/routes/verify-consent.ts +0 -206
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as __WEBPACK_EXTERNAL_MODULE_neverthrow__ from "neverthrow";
|
|
2
|
-
import * as
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE__orpc_server_0dae8408__ from "@orpc/server";
|
|
3
3
|
import * as __WEBPACK_EXTERNAL_MODULE__opentelemetry_api_87359e78__ from "@opentelemetry/api";
|
|
4
4
|
const ERROR_CODES = Object.freeze({
|
|
5
5
|
NOT_FOUND: 'Resource not found',
|
|
@@ -66,10 +66,10 @@ async function withSpan(name, fn, attributes = {}) {
|
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
|
-
class DoubleTieError extends
|
|
70
|
-
code;
|
|
69
|
+
class DoubleTieError extends __WEBPACK_EXTERNAL_MODULE__orpc_server_0dae8408__.ORPCError {
|
|
71
70
|
category;
|
|
72
71
|
meta;
|
|
72
|
+
statusCode;
|
|
73
73
|
constructor(message, options = {
|
|
74
74
|
code: ERROR_CODES.UNKNOWN_ERROR,
|
|
75
75
|
status: 500,
|
|
@@ -77,22 +77,18 @@ class DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error {
|
|
|
77
77
|
cause: void 0,
|
|
78
78
|
meta: {}
|
|
79
79
|
}){
|
|
80
|
-
super(
|
|
81
|
-
|
|
80
|
+
super(options.code ?? ERROR_CODES.UNKNOWN_ERROR, {
|
|
81
|
+
message,
|
|
82
|
+
cause: options.cause,
|
|
83
|
+
data: options.meta ?? {}
|
|
82
84
|
});
|
|
83
|
-
this.name =
|
|
84
|
-
this.code = options.code ?? ERROR_CODES.UNKNOWN_ERROR;
|
|
85
|
-
this.statusCode = options.status ?? 500;
|
|
85
|
+
this.name = 'DoubleTieError';
|
|
86
86
|
this.category = options.category ?? ERROR_CATEGORIES.UNEXPECTED;
|
|
87
87
|
this.meta = options.meta ?? {};
|
|
88
|
-
this.
|
|
89
|
-
code: this.code,
|
|
90
|
-
category: this.category,
|
|
91
|
-
meta: this.meta
|
|
92
|
-
};
|
|
88
|
+
this.statusCode = options.status ?? 500;
|
|
93
89
|
withSpan('create_doubletie_error', async (span)=>{
|
|
94
90
|
span.setAttributes({
|
|
95
|
-
'error.name': this.name,
|
|
91
|
+
'error.name': this.constructor.name,
|
|
96
92
|
'error.message': message,
|
|
97
93
|
'error.code': this.code,
|
|
98
94
|
'error.status': this.statusCode,
|
|
@@ -112,11 +108,11 @@ class DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error {
|
|
|
112
108
|
const validationErrorMessage = this.meta?.validationErrors ? String(this.meta.validationErrors) : void 0;
|
|
113
109
|
const stackTrace = this.stack ? this.stack.split('\n').map((line)=>line.trim()).filter((line)=>line && !line.includes('Error: ')) : [];
|
|
114
110
|
return {
|
|
115
|
-
|
|
111
|
+
code: this.code,
|
|
116
112
|
message: validationErrorMessage || this.message,
|
|
117
|
-
|
|
113
|
+
status: this.statusCode,
|
|
114
|
+
defined: true,
|
|
118
115
|
data: {
|
|
119
|
-
code: this.code,
|
|
120
116
|
category: this.category,
|
|
121
117
|
meta: this.meta,
|
|
122
118
|
...'production' === process.env.NODE_ENV ? {} : {
|
|
@@ -167,7 +163,9 @@ class DoubleTieError extends __WEBPACK_EXTERNAL_MODULE_h3__.H3Error {
|
|
|
167
163
|
const ErrorSubclass = class extends DoubleTieError {
|
|
168
164
|
constructor(message, options){
|
|
169
165
|
super(message, options);
|
|
170
|
-
this
|
|
166
|
+
Object.defineProperty(this, 'name', {
|
|
167
|
+
value: name
|
|
168
|
+
});
|
|
171
169
|
}
|
|
172
170
|
};
|
|
173
171
|
Object.defineProperty(ErrorSubclass, 'name', {
|
|
@@ -363,125 +361,6 @@ const withFallbackForCategory = (result, category, defaultValue)=>{
|
|
|
363
361
|
return (0, __WEBPACK_EXTERNAL_MODULE_neverthrow__.err)(error);
|
|
364
362
|
});
|
|
365
363
|
};
|
|
366
|
-
const validationPipeline = (schema, transformer)=>(data)=>{
|
|
367
|
-
const preprocessData = (value)=>{
|
|
368
|
-
if ('object' != typeof value || null === value) {
|
|
369
|
-
if ('string' == typeof value) try {
|
|
370
|
-
if (value.startsWith('[') && value.endsWith(']')) return JSON.parse(value);
|
|
371
|
-
if ('true' === value.toLowerCase()) return true;
|
|
372
|
-
if ('false' === value.toLowerCase()) return false;
|
|
373
|
-
if (value.startsWith('{') && value.endsWith('}')) return JSON.parse(value);
|
|
374
|
-
} catch {}
|
|
375
|
-
return value;
|
|
376
|
-
}
|
|
377
|
-
if (Array.isArray(value)) return value.map(preprocessData);
|
|
378
|
-
const processed = {};
|
|
379
|
-
for (const [key, val] of Object.entries(value))processed[key] = preprocessData(val);
|
|
380
|
-
return processed;
|
|
381
|
-
};
|
|
382
|
-
const preprocessedData = preprocessData(data);
|
|
383
|
-
const parseResult = schema.safeParse(preprocessedData);
|
|
384
|
-
if (!parseResult.success) return fail('Validation failed', {
|
|
385
|
-
code: ERROR_CODES.INVALID_REQUEST,
|
|
386
|
-
status: 400,
|
|
387
|
-
meta: {
|
|
388
|
-
validationErrors: parseResult.error.issues
|
|
389
|
-
}
|
|
390
|
-
});
|
|
391
|
-
try {
|
|
392
|
-
return (0, __WEBPACK_EXTERNAL_MODULE_neverthrow__.ok)(transformer(parseResult.data));
|
|
393
|
-
} catch (error) {
|
|
394
|
-
return fail('Error transforming data after validation', {
|
|
395
|
-
code: ERROR_CODES.BAD_REQUEST,
|
|
396
|
-
status: 400,
|
|
397
|
-
cause: error instanceof Error ? error : void 0,
|
|
398
|
-
meta: {
|
|
399
|
-
inputData: parseResult.data
|
|
400
|
-
}
|
|
401
|
-
});
|
|
402
|
-
}
|
|
403
|
-
};
|
|
404
|
-
const retrievalPipeline = (fetcher, transformer, errorCode = ERROR_CODES.NOT_FOUND)=>()=>__WEBPACK_EXTERNAL_MODULE_neverthrow__.ResultAsync.fromPromise(fetcher().then((data)=>{
|
|
405
|
-
if (null == data) throw new Error('Resource not found');
|
|
406
|
-
try {
|
|
407
|
-
return transformer(data);
|
|
408
|
-
} catch (transformerError) {
|
|
409
|
-
throw new DoubleTieError(transformerError instanceof Error ? transformerError.message : 'Error transforming data', {
|
|
410
|
-
code: ERROR_CODES.BAD_REQUEST,
|
|
411
|
-
status: 400,
|
|
412
|
-
cause: transformerError instanceof Error ? transformerError : void 0
|
|
413
|
-
});
|
|
414
|
-
}
|
|
415
|
-
}), (error)=>{
|
|
416
|
-
if (error instanceof DoubleTieError) return error;
|
|
417
|
-
const useCustomErrorCode = errorCode !== ERROR_CODES.NOT_FOUND;
|
|
418
|
-
if (useCustomErrorCode) return new DoubleTieError(error instanceof Error ? error.message : 'Failed to retrieve resource', {
|
|
419
|
-
code: errorCode,
|
|
420
|
-
status: 400,
|
|
421
|
-
cause: error instanceof Error ? error : void 0
|
|
422
|
-
});
|
|
423
|
-
const isNotFoundError = error instanceof Error && error.message.toLowerCase().includes('not found');
|
|
424
|
-
if (isNotFoundError) return new DoubleTieError(error.message, {
|
|
425
|
-
code: ERROR_CODES.NOT_FOUND,
|
|
426
|
-
status: 404,
|
|
427
|
-
cause: error
|
|
428
|
-
});
|
|
429
|
-
return new DoubleTieError(error instanceof Error ? error.message : 'Failed to retrieve resource', {
|
|
430
|
-
code: ERROR_CODES.BAD_REQUEST,
|
|
431
|
-
status: 400,
|
|
432
|
-
cause: error instanceof Error ? error : void 0
|
|
433
|
-
});
|
|
434
|
-
});
|
|
435
|
-
function createH3ErrorHandler() {
|
|
436
|
-
return (0, __WEBPACK_EXTERNAL_MODULE_h3__.eventHandler)((event)=>{
|
|
437
|
-
event.context._onError = (error)=>{
|
|
438
|
-
event.context.logger.error('Error in H3 error handler', {
|
|
439
|
-
error
|
|
440
|
-
});
|
|
441
|
-
if (error instanceof DoubleTieError) {
|
|
442
|
-
event.context.logger.error('Handling DoubleTieError:', error.statusCode, error.message);
|
|
443
|
-
return (0, __WEBPACK_EXTERNAL_MODULE_h3__.sendError)(event, error);
|
|
444
|
-
}
|
|
445
|
-
event.context.logger.error('Handling generic error', {
|
|
446
|
-
error
|
|
447
|
-
});
|
|
448
|
-
const dtError = new DoubleTieError(error instanceof Error ? error.message : String(error), {
|
|
449
|
-
code: ERROR_CODES.INTERNAL_SERVER_ERROR,
|
|
450
|
-
status: 500,
|
|
451
|
-
cause: error instanceof Error ? error : void 0
|
|
452
|
-
});
|
|
453
|
-
return (0, __WEBPACK_EXTERNAL_MODULE_h3__.sendError)(event, dtError);
|
|
454
|
-
};
|
|
455
|
-
event.node.req.on('error', (err)=>{
|
|
456
|
-
event.context.logger.error('Request error event triggered:', {
|
|
457
|
-
err
|
|
458
|
-
});
|
|
459
|
-
if (event.context._onError) event.context._onError(err);
|
|
460
|
-
});
|
|
461
|
-
});
|
|
462
|
-
}
|
|
463
|
-
function withH3ErrorHandling(handler) {
|
|
464
|
-
return (0, __WEBPACK_EXTERNAL_MODULE_h3__.eventHandler)(async (event)=>{
|
|
465
|
-
try {
|
|
466
|
-
return await handler(event);
|
|
467
|
-
} catch (error) {
|
|
468
|
-
event.context.logger.error('Error caught in withH3ErrorHandling:', {
|
|
469
|
-
error
|
|
470
|
-
});
|
|
471
|
-
if (error instanceof DoubleTieError) {
|
|
472
|
-
event.context.logger.error('Handling DoubleTieError in wrapper:', error.statusCode, error.message);
|
|
473
|
-
return (0, __WEBPACK_EXTERNAL_MODULE_h3__.sendError)(event, error);
|
|
474
|
-
}
|
|
475
|
-
if (event.context._onError && 'function' == typeof event.context._onError) return event.context._onError(error);
|
|
476
|
-
const dtError = new DoubleTieError(error instanceof Error ? error.message : String(error), {
|
|
477
|
-
code: ERROR_CODES.INTERNAL_SERVER_ERROR,
|
|
478
|
-
status: 500,
|
|
479
|
-
cause: error instanceof Error ? error : void 0
|
|
480
|
-
});
|
|
481
|
-
return (0, __WEBPACK_EXTERNAL_MODULE_h3__.sendError)(event, dtError);
|
|
482
|
-
}
|
|
483
|
-
});
|
|
484
|
-
}
|
|
485
364
|
function createTelemetryOptions(appName = 'c15t', telemetryConfig) {
|
|
486
365
|
const serviceVersion = process.env.npm_package_version || '1.0.0';
|
|
487
366
|
const config = {
|
|
@@ -502,4 +381,4 @@ var __webpack_exports__errAsync = __WEBPACK_EXTERNAL_MODULE_neverthrow__.errAsyn
|
|
|
502
381
|
var __webpack_exports__fromPromise = __WEBPACK_EXTERNAL_MODULE_neverthrow__.fromPromise;
|
|
503
382
|
var __webpack_exports__ok = __WEBPACK_EXTERNAL_MODULE_neverthrow__.ok;
|
|
504
383
|
var __webpack_exports__okAsync = __WEBPACK_EXTERNAL_MODULE_neverthrow__.okAsync;
|
|
505
|
-
export { DoubleTieError, ERROR_CATEGORIES, ERROR_CODES,
|
|
384
|
+
export { DoubleTieError, ERROR_CATEGORIES, ERROR_CODES, createTelemetryOptions, fail, failAsync, promiseToResult, tryCatch, tryCatchAsync, withFallbackForCategory, withFallbackForCodes, __webpack_exports__Result as Result, __webpack_exports__ResultAsync as ResultAsync, __webpack_exports__err as err, __webpack_exports__errAsync as errAsync, __webpack_exports__fromPromise as fromPromise, __webpack_exports__ok as ok, __webpack_exports__okAsync as okAsync };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates an oRPC error handler middleware that properly handles DoubleTieError instances
|
|
3
|
+
*
|
|
4
|
+
* This utility ensures consistent error handling across your oRPC application and
|
|
5
|
+
* properly converts DoubleTieError objects to oRPC-compatible error responses.
|
|
6
|
+
*
|
|
7
|
+
* @returns An oRPC request handler middleware for error handling
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { createORPCErrorHandler } from '@doubletie/results';
|
|
12
|
+
* import { OpenAPIHandler } from '@orpc/server';
|
|
13
|
+
*
|
|
14
|
+
* const handler = new OpenAPIHandler(router);
|
|
15
|
+
*
|
|
16
|
+
* // Register the error handler middleware
|
|
17
|
+
* handler.use(createORPCErrorHandler());
|
|
18
|
+
*
|
|
19
|
+
* // Your routes...
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function createORPCErrorHandler(): (request: Request, context: {
|
|
23
|
+
logger?: {
|
|
24
|
+
error: (message: string, data?: object) => void;
|
|
25
|
+
};
|
|
26
|
+
}) => {
|
|
27
|
+
context: {
|
|
28
|
+
_onError: (error: unknown) => never;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Wraps an oRPC handler with error handling for DoubleTieError
|
|
33
|
+
*
|
|
34
|
+
* @param handler - The handler function to wrap
|
|
35
|
+
* @returns A wrapped handler that automatically handles DoubleTieError instances
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* import { withORPCErrorHandling } from '@doubletie/results';
|
|
40
|
+
* import { os } from '@orpc/server';
|
|
41
|
+
*
|
|
42
|
+
* const getUserHandler = os.handler(async ({ input }) => {
|
|
43
|
+
* // Your handler code that might throw DoubleTieError
|
|
44
|
+
* throw new DoubleTieError('User not found', {
|
|
45
|
+
* code: ERROR_CODES.NOT_FOUND,
|
|
46
|
+
* status: 404
|
|
47
|
+
* });
|
|
48
|
+
* });
|
|
49
|
+
*
|
|
50
|
+
* // Wrap the handler with error handling
|
|
51
|
+
* const safeGetUserHandler = withORPCErrorHandling(getUserHandler);
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare function withORPCErrorHandling<TInput, TOutput>(handler: (input: TInput, context: {
|
|
55
|
+
logger?: {
|
|
56
|
+
error: (message: string, data?: object) => void;
|
|
57
|
+
};
|
|
58
|
+
_onError?: (error: unknown) => unknown;
|
|
59
|
+
}) => Promise<TOutput> | TOutput): (input: TInput, context: {
|
|
60
|
+
logger?: {
|
|
61
|
+
error: (message: string, data?: object) => void;
|
|
62
|
+
};
|
|
63
|
+
_onError?: (error: unknown) => unknown;
|
|
64
|
+
}) => Promise<unknown>;
|
|
65
|
+
//# sourceMappingURL=orpc-error-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orpc-error-handler.d.ts","sourceRoot":"","sources":["../../../src/pkgs/results/orpc-error-handler.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,KAEpC,SAAS,OAAO,EAChB,SAAS;IAAE,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAA;CAAE;;0BAKrD,OAAO;;EA4B5B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,EACpD,OAAO,EAAE,CACR,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IACR,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;IAC7D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACvC,KACG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,IAG9B,OAAO,MAAM,EACb,SAAS;IACR,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;IAC7D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACvC,sBAoCF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ORPCError } from '@orpc/server';
|
|
2
2
|
import type { Result, ResultAsync } from 'neverthrow';
|
|
3
3
|
/**
|
|
4
4
|
* Represents a category of errors for better organization and filtering.
|
|
@@ -43,16 +43,12 @@ export type ErrorMessageType = string;
|
|
|
43
43
|
*
|
|
44
44
|
* @remarks
|
|
45
45
|
* This interface defines the public API of the DoubleTieError class.
|
|
46
|
-
* It extends the
|
|
46
|
+
* It extends the ORPCError class with additional properties and methods
|
|
47
47
|
* specific to the DoubleTie error handling system.
|
|
48
48
|
*
|
|
49
49
|
* @see DoubleTieErrorOptions for the options used to construct a DoubleTieError
|
|
50
50
|
*/
|
|
51
|
-
export interface DoubleTieError extends
|
|
52
|
-
code: ErrorMessageType;
|
|
53
|
-
category?: ErrorCategory;
|
|
54
|
-
meta?: Record<string, unknown>;
|
|
55
|
-
}> {
|
|
51
|
+
export interface DoubleTieError extends ORPCError<string, Record<string, unknown>> {
|
|
56
52
|
/**
|
|
57
53
|
* Error code identifying the error type
|
|
58
54
|
*/
|
|
@@ -65,6 +61,10 @@ export interface DoubleTieError extends H3Error<{
|
|
|
65
61
|
* Additional metadata about the error
|
|
66
62
|
*/
|
|
67
63
|
readonly meta: Record<string, unknown>;
|
|
64
|
+
/**
|
|
65
|
+
* HTTP status code for the error
|
|
66
|
+
*/
|
|
67
|
+
readonly statusCode: number;
|
|
68
68
|
/**
|
|
69
69
|
* Creates a new error instance with additional metadata
|
|
70
70
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/pkgs/results/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/pkgs/results/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAChB,SAAQ,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,CAAC;CAClE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,qBAAqB;IACrC;;;OAGG;IACH,IAAI,EAAE,gBAAgB,CAAC;IAEvB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,cAAc,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,KAAK,GAAG,KAAK,IAAI,CAC5D,KAAK,EAAE,MAAM,KACT,cAAc,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { createLogger } from '@doubletie/logger';
|
|
2
2
|
import type { DatabaseHook, EntityName } from '../data-model';
|
|
3
3
|
import type { Adapter } from '../db-adapters/types';
|
|
4
|
-
import type { createLogger } from '../logger';
|
|
5
4
|
import type { createRegistry } from '../../schema/create-registry';
|
|
6
5
|
import type { getConsentTables } from '../../schema/definition';
|
|
7
6
|
import type { DoubleTieOptions } from './options';
|
|
@@ -11,7 +10,11 @@ import type { DoubleTieOptions } from './options';
|
|
|
11
10
|
* This type extends the standard endpoint context with additional properties
|
|
12
11
|
* specific to DoubleTie hooks, allowing hooks to access the complete DoubleTie context.
|
|
13
12
|
*/
|
|
14
|
-
export type HookEndpointContext =
|
|
13
|
+
export type HookEndpointContext = {
|
|
14
|
+
/**
|
|
15
|
+
* The request object
|
|
16
|
+
*/
|
|
17
|
+
request: Request;
|
|
15
18
|
/**
|
|
16
19
|
* The DoubleTie context with possible hook-specific extensions
|
|
17
20
|
*/
|
|
@@ -32,7 +35,11 @@ export type HookEndpointContext = H3Event & {
|
|
|
32
35
|
* A simplified context type for endpoint handlers that don't need
|
|
33
36
|
* access to input-specific context properties.
|
|
34
37
|
*/
|
|
35
|
-
export type GenericEndpointContext =
|
|
38
|
+
export type GenericEndpointContext = {
|
|
39
|
+
/**
|
|
40
|
+
* The request object
|
|
41
|
+
*/
|
|
42
|
+
request: Request;
|
|
36
43
|
/**
|
|
37
44
|
* The DoubleTie application context
|
|
38
45
|
*/
|
|
@@ -102,10 +109,6 @@ export interface BaseDoubleTieContext {
|
|
|
102
109
|
* Base URL for API requests
|
|
103
110
|
*/
|
|
104
111
|
baseURL: string;
|
|
105
|
-
/**
|
|
106
|
-
* Secret key used for signing cookies and tokens
|
|
107
|
-
*/
|
|
108
|
-
secret: string;
|
|
109
112
|
/**
|
|
110
113
|
* Logger instance for recording events and errors
|
|
111
114
|
*/
|
|
@@ -140,6 +143,10 @@ export interface BaseDoubleTieContext {
|
|
|
140
143
|
* User agent of the client
|
|
141
144
|
*/
|
|
142
145
|
userAgent?: string | null;
|
|
146
|
+
/**
|
|
147
|
+
* Headers of the request
|
|
148
|
+
*/
|
|
149
|
+
headers?: Headers;
|
|
143
150
|
}
|
|
144
151
|
/**
|
|
145
152
|
* Complete DoubleTie context type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/pkgs/types/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/pkgs/types/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,gBAAgB,GAAG;QAC3B;;WAEG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QAEnB;;WAEG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACpC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAE1B;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IACnD;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,YAAY,EAAE,CAAC;IAEtB;;;;;OAKG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;CACtE;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAE1B;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IAExC;;;;;OAKG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;IAEtE;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAE5C;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAE5C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,CAC3B,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACrE,oBAAoB,GAAG,cAAc,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { H3Event } from 'h3';
|
|
2
1
|
export interface EndpointOptions {
|
|
3
2
|
/**
|
|
4
3
|
* Whether authentication is required for this endpoint
|
|
@@ -9,10 +8,10 @@ export interface EndpointOptions {
|
|
|
9
8
|
*/
|
|
10
9
|
middleware?: EndpointMiddleware[];
|
|
11
10
|
}
|
|
12
|
-
export type EndpointMiddleware = (
|
|
13
|
-
export type EndpointHandler = (
|
|
11
|
+
export type EndpointMiddleware = (request: Request) => Promise<void>;
|
|
12
|
+
export type EndpointHandler = (request: Request) => Promise<unknown>;
|
|
14
13
|
/**
|
|
15
|
-
* Native
|
|
14
|
+
* Native endpoint interface
|
|
16
15
|
*/
|
|
17
16
|
export interface Endpoint {
|
|
18
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../src/pkgs/types/endpoints.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../src/pkgs/types/endpoints.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAClC;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAE1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { DatabaseHook } from '../data-model';
|
|
2
2
|
import type { DatabaseConfiguration } from '../db-adapters/adapters/kysely-adapter/types';
|
|
3
|
+
import type { LoggerOptions } from '@doubletie/logger';
|
|
3
4
|
import type { Tracer } from '@opentelemetry/api';
|
|
4
|
-
import type { H3Event } from 'h3';
|
|
5
5
|
import type { TablesConfig } from '../../schema/types';
|
|
6
|
-
import type { LoggerOptions } from '../logger';
|
|
7
6
|
import type { DoubleTiePlugin } from './plugins';
|
|
8
7
|
/**
|
|
9
8
|
* Main configuration options for the DoubleTie SDK framework
|
|
@@ -19,7 +18,6 @@ import type { DoubleTiePlugin } from './plugins';
|
|
|
19
18
|
* // Basic configuration
|
|
20
19
|
* const options: DoubleTieOptions = {
|
|
21
20
|
* appName: "My App",
|
|
22
|
-
* secret: process.env.SECRET_KEY,
|
|
23
21
|
* baseURL: "https://example.com",
|
|
24
22
|
* trustedOrigins: ["https://example.com"]
|
|
25
23
|
* };
|
|
@@ -209,5 +207,5 @@ export interface DoubleTieOptions {
|
|
|
209
207
|
/**
|
|
210
208
|
* Middleware function for processing API requests
|
|
211
209
|
*/
|
|
212
|
-
export type DoubleTieMiddleware = (
|
|
210
|
+
export type DoubleTieMiddleware = (request: Request, next: () => Promise<unknown>) => Promise<unknown>;
|
|
213
211
|
//# sourceMappingURL=options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/pkgs/types/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AAE9F,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/pkgs/types/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AAE9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,gBAAgB;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAEjC;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAE5B;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,EAAE;QACV;;WAEG;QACH,SAAS,CAAC,EAAE;YACX;;;;;;;;;eASG;YACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;YAC5B;;;;eAIG;YACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;SAC5B,CAAC;QAEF;;;WAGG;QACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,KAAK,MAAM,CAAC;QAEnE;;;;;;;WAOG;QACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC9B,CAAC;IAEF;;OAEG;IACH,KAAK,CAAC,EAAE;QACP;;WAEG;QACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B;;WAEG;QACH,KAAK,CAAC,EAAE,mBAAmB,CAAC;KAC5B,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,SAAS,CAAC,EAAE;QACX;;;;;WAKG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB;;;;;;;WAOG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QAEnB;;;;;;;;WAQG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;KAC9D,CAAC;IAEF;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CACjC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,KACxB,OAAO,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { H3Event } from 'h3';
|
|
2
1
|
import type { Migration } from 'kysely';
|
|
3
2
|
import type { Field } from '../data-model';
|
|
4
3
|
import type { DoubleTieContext, HookEndpointContext } from './context';
|
|
@@ -65,11 +64,11 @@ export interface DoubleTiePlugin {
|
|
|
65
64
|
/**
|
|
66
65
|
* Handler for intercepting and potentially modifying incoming requests
|
|
67
66
|
*/
|
|
68
|
-
onRequest?: (
|
|
67
|
+
onRequest?: (request: Request, ctx: DoubleTieContext) => Promise<unknown>;
|
|
69
68
|
/**
|
|
70
69
|
* Handler for intercepting and potentially modifying outgoing responses
|
|
71
70
|
*/
|
|
72
|
-
onResponse?: (
|
|
71
|
+
onResponse?: (response: Response, ctx: DoubleTieContext) => Promise<unknown>;
|
|
73
72
|
/**
|
|
74
73
|
* Request lifecycle hooks for executing code before or after endpoint handling
|
|
75
74
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/pkgs/types/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/pkgs/types/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,EAAE,EAAE,aAAa,CAAC;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAC1B;QACA,OAAO,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;KACnC,GACD,SAAS,CAAC;IAEb;;;OAGG;IACH,SAAS,CAAC,EAAE;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC;KACxB,CAAC;IAEF;;OAEG;IACH,WAAW,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,kBAAkB,CAAC;KAC/B,EAAE,CAAC;IAEJ;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1E;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7E;;OAEG;IACH,KAAK,CAAC,EAAE;QACP;;;WAGG;QACH,MAAM,CAAC,EAAE;YACR,OAAO,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC;YACnD,OAAO,EAAE,mBAAmB,CAAC;SAC7B,EAAE,CAAC;QAEJ;;;WAGG;QACH,KAAK,CAAC,EAAE;YACP,OAAO,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC;YACnD,OAAO,EAAE,mBAAmB,CAAC;SAC7B,EAAE,CAAC;KACJ,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAE/B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEvC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACrC,CAAC,SAAS,EAAE,MAAM,GAAG;QACpB;;;;;;;WAOG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAE3B;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KAC9B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pkgs/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pkgs/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type LoggerOptions, createLogger as createDTLogger } from '@doubletie/logger';
|
|
2
|
+
/**
|
|
3
|
+
* Gets or creates a global logger instance
|
|
4
|
+
*
|
|
5
|
+
* @param options - Optional logger configuration options
|
|
6
|
+
* @returns The global logger instance
|
|
7
|
+
*/
|
|
8
|
+
export declare function getLogger(options?: LoggerOptions): ReturnType<typeof createDTLogger>;
|
|
9
|
+
/**
|
|
10
|
+
* Initializes the global logger with specific options
|
|
11
|
+
*
|
|
12
|
+
* @param options - Logger configuration options
|
|
13
|
+
* @returns The initialized global logger instance
|
|
14
|
+
*/
|
|
15
|
+
export declare function initLogger(options: LoggerOptions): ReturnType<typeof createDTLogger>;
|
|
16
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/pkgs/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,aAAa,EAClB,YAAY,IAAI,cAAc,EAC9B,MAAM,mBAAmB,CAAC;AAI3B;;;;;GAKG;AACH,wBAAgB,SAAS,CACxB,OAAO,CAAC,EAAE,aAAa,GACrB,UAAU,CAAC,OAAO,cAAc,CAAC,CASnC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACzB,OAAO,EAAE,aAAa,GACpB,UAAU,CAAC,OAAO,cAAc,CAAC,CAGnC"}
|