@buenojs/bueno 0.8.7 → 0.8.9
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/dist/index.js +15 -12
- package/dist/modules/index.js +2 -2
- package/dist/template/index.js +13 -10
- package/dist/templates/index.js +13 -10
- package/package.json +3 -3
- package/src/templates/loader.ts +1 -1
- package/src/templates/renderers/simple.ts +13 -10
- package/src/validation/index.ts +20 -21
- package/tsconfig.json +1 -1
- package/dist/cache/index.d.ts +0 -187
- package/dist/cache/index.d.ts.map +0 -1
- package/dist/cli/bin.d.ts +0 -8
- package/dist/cli/bin.d.ts.map +0 -1
- package/dist/cli/commands/add-frontend.d.ts +0 -7
- package/dist/cli/commands/add-frontend.d.ts.map +0 -1
- package/dist/cli/commands/build.d.ts +0 -7
- package/dist/cli/commands/build.d.ts.map +0 -1
- package/dist/cli/commands/dev.d.ts +0 -7
- package/dist/cli/commands/dev.d.ts.map +0 -1
- package/dist/cli/commands/generate.d.ts +0 -7
- package/dist/cli/commands/generate.d.ts.map +0 -1
- package/dist/cli/commands/help.d.ts +0 -7
- package/dist/cli/commands/help.d.ts.map +0 -1
- package/dist/cli/commands/index.d.ts +0 -59
- package/dist/cli/commands/index.d.ts.map +0 -1
- package/dist/cli/commands/migration.d.ts +0 -7
- package/dist/cli/commands/migration.d.ts.map +0 -1
- package/dist/cli/commands/new.d.ts +0 -7
- package/dist/cli/commands/new.d.ts.map +0 -1
- package/dist/cli/commands/start.d.ts +0 -7
- package/dist/cli/commands/start.d.ts.map +0 -1
- package/dist/cli/core/args.d.ts +0 -61
- package/dist/cli/core/args.d.ts.map +0 -1
- package/dist/cli/core/console.d.ts +0 -135
- package/dist/cli/core/console.d.ts.map +0 -1
- package/dist/cli/core/index.d.ts +0 -10
- package/dist/cli/core/index.d.ts.map +0 -1
- package/dist/cli/core/prompt.d.ts +0 -63
- package/dist/cli/core/prompt.d.ts.map +0 -1
- package/dist/cli/core/spinner.d.ts +0 -111
- package/dist/cli/core/spinner.d.ts.map +0 -1
- package/dist/cli/index.d.ts +0 -47
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/templates/database/index.d.ts +0 -24
- package/dist/cli/templates/database/index.d.ts.map +0 -1
- package/dist/cli/templates/database/mysql.d.ts +0 -6
- package/dist/cli/templates/database/mysql.d.ts.map +0 -1
- package/dist/cli/templates/database/none.d.ts +0 -8
- package/dist/cli/templates/database/none.d.ts.map +0 -1
- package/dist/cli/templates/database/postgresql.d.ts +0 -6
- package/dist/cli/templates/database/postgresql.d.ts.map +0 -1
- package/dist/cli/templates/database/sqlite.d.ts +0 -6
- package/dist/cli/templates/database/sqlite.d.ts.map +0 -1
- package/dist/cli/templates/deploy.d.ts +0 -41
- package/dist/cli/templates/deploy.d.ts.map +0 -1
- package/dist/cli/templates/docker.d.ts +0 -30
- package/dist/cli/templates/docker.d.ts.map +0 -1
- package/dist/cli/templates/frontend/index.d.ts +0 -25
- package/dist/cli/templates/frontend/index.d.ts.map +0 -1
- package/dist/cli/templates/frontend/none.d.ts +0 -8
- package/dist/cli/templates/frontend/none.d.ts.map +0 -1
- package/dist/cli/templates/frontend/react.d.ts +0 -6
- package/dist/cli/templates/frontend/react.d.ts.map +0 -1
- package/dist/cli/templates/frontend/solid.d.ts +0 -6
- package/dist/cli/templates/frontend/solid.d.ts.map +0 -1
- package/dist/cli/templates/frontend/svelte.d.ts +0 -6
- package/dist/cli/templates/frontend/svelte.d.ts.map +0 -1
- package/dist/cli/templates/frontend/vue.d.ts +0 -6
- package/dist/cli/templates/frontend/vue.d.ts.map +0 -1
- package/dist/cli/templates/generators/index.d.ts +0 -29
- package/dist/cli/templates/generators/index.d.ts.map +0 -1
- package/dist/cli/templates/generators/types.d.ts +0 -32
- package/dist/cli/templates/generators/types.d.ts.map +0 -1
- package/dist/cli/templates/index.d.ts +0 -12
- package/dist/cli/templates/index.d.ts.map +0 -1
- package/dist/cli/templates/project/api.d.ts +0 -6
- package/dist/cli/templates/project/api.d.ts.map +0 -1
- package/dist/cli/templates/project/default.d.ts +0 -6
- package/dist/cli/templates/project/default.d.ts.map +0 -1
- package/dist/cli/templates/project/fullstack.d.ts +0 -14
- package/dist/cli/templates/project/fullstack.d.ts.map +0 -1
- package/dist/cli/templates/project/index.d.ts +0 -26
- package/dist/cli/templates/project/index.d.ts.map +0 -1
- package/dist/cli/templates/project/minimal.d.ts +0 -6
- package/dist/cli/templates/project/minimal.d.ts.map +0 -1
- package/dist/cli/templates/project/types.d.ts +0 -80
- package/dist/cli/templates/project/types.d.ts.map +0 -1
- package/dist/cli/templates/project/website.d.ts +0 -8
- package/dist/cli/templates/project/website.d.ts.map +0 -1
- package/dist/cli/utils/fs.d.ts +0 -137
- package/dist/cli/utils/fs.d.ts.map +0 -1
- package/dist/cli/utils/index.d.ts +0 -9
- package/dist/cli/utils/index.d.ts.map +0 -1
- package/dist/cli/utils/strings.d.ts +0 -86
- package/dist/cli/utils/strings.d.ts.map +0 -1
- package/dist/cli/utils/version.d.ts +0 -15
- package/dist/cli/utils/version.d.ts.map +0 -1
- package/dist/config/env-validation.d.ts +0 -49
- package/dist/config/env-validation.d.ts.map +0 -1
- package/dist/config/env.d.ts +0 -167
- package/dist/config/env.d.ts.map +0 -1
- package/dist/config/index.d.ts +0 -168
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/loader.d.ts +0 -81
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/merge.d.ts +0 -66
- package/dist/config/merge.d.ts.map +0 -1
- package/dist/config/types.d.ts +0 -322
- package/dist/config/types.d.ts.map +0 -1
- package/dist/config/validation.d.ts +0 -100
- package/dist/config/validation.d.ts.map +0 -1
- package/dist/container/forward-ref.d.ts +0 -116
- package/dist/container/forward-ref.d.ts.map +0 -1
- package/dist/container/index.d.ts +0 -95
- package/dist/container/index.d.ts.map +0 -1
- package/dist/context/index.d.ts +0 -143
- package/dist/context/index.d.ts.map +0 -1
- package/dist/database/index.d.ts +0 -219
- package/dist/database/index.d.ts.map +0 -1
- package/dist/database/migrations/index.d.ts +0 -146
- package/dist/database/migrations/index.d.ts.map +0 -1
- package/dist/database/orm/builder.d.ts +0 -122
- package/dist/database/orm/builder.d.ts.map +0 -1
- package/dist/database/orm/casts/index.d.ts +0 -16
- package/dist/database/orm/casts/index.d.ts.map +0 -1
- package/dist/database/orm/casts/types.d.ts +0 -16
- package/dist/database/orm/casts/types.d.ts.map +0 -1
- package/dist/database/orm/compiler.d.ts +0 -90
- package/dist/database/orm/compiler.d.ts.map +0 -1
- package/dist/database/orm/hooks/index.d.ts +0 -53
- package/dist/database/orm/hooks/index.d.ts.map +0 -1
- package/dist/database/orm/index.d.ts +0 -21
- package/dist/database/orm/index.d.ts.map +0 -1
- package/dist/database/orm/model-registry.d.ts +0 -33
- package/dist/database/orm/model-registry.d.ts.map +0 -1
- package/dist/database/orm/model.d.ts +0 -245
- package/dist/database/orm/model.d.ts.map +0 -1
- package/dist/database/orm/relationships/base.d.ts +0 -69
- package/dist/database/orm/relationships/base.d.ts.map +0 -1
- package/dist/database/orm/relationships/belongs-to-many.d.ts +0 -47
- package/dist/database/orm/relationships/belongs-to-many.d.ts.map +0 -1
- package/dist/database/orm/relationships/belongs-to.d.ts +0 -17
- package/dist/database/orm/relationships/belongs-to.d.ts.map +0 -1
- package/dist/database/orm/relationships/has-many.d.ts +0 -14
- package/dist/database/orm/relationships/has-many.d.ts.map +0 -1
- package/dist/database/orm/relationships/has-one.d.ts +0 -14
- package/dist/database/orm/relationships/has-one.d.ts.map +0 -1
- package/dist/database/orm/relationships/index.d.ts +0 -10
- package/dist/database/orm/relationships/index.d.ts.map +0 -1
- package/dist/database/orm/scopes/index.d.ts +0 -36
- package/dist/database/orm/scopes/index.d.ts.map +0 -1
- package/dist/database/schema/index.d.ts +0 -155
- package/dist/database/schema/index.d.ts.map +0 -1
- package/dist/events/__tests__/event-system.test.d.ts +0 -2
- package/dist/events/__tests__/event-system.test.d.ts.map +0 -1
- package/dist/events/config.d.ts +0 -16
- package/dist/events/config.d.ts.map +0 -1
- package/dist/events/example-usage.d.ts +0 -12
- package/dist/events/example-usage.d.ts.map +0 -1
- package/dist/events/index.d.ts +0 -27
- package/dist/events/index.d.ts.map +0 -1
- package/dist/events/manager.d.ts +0 -33
- package/dist/events/manager.d.ts.map +0 -1
- package/dist/events/registry.d.ts +0 -31
- package/dist/events/registry.d.ts.map +0 -1
- package/dist/events/types.d.ts +0 -105
- package/dist/events/types.d.ts.map +0 -1
- package/dist/frontend/api-routes.d.ts +0 -189
- package/dist/frontend/api-routes.d.ts.map +0 -1
- package/dist/frontend/bundler.d.ts +0 -99
- package/dist/frontend/bundler.d.ts.map +0 -1
- package/dist/frontend/console-client.d.ts +0 -11
- package/dist/frontend/console-client.d.ts.map +0 -1
- package/dist/frontend/console-stream.d.ts +0 -138
- package/dist/frontend/console-stream.d.ts.map +0 -1
- package/dist/frontend/dev-server.d.ts +0 -174
- package/dist/frontend/dev-server.d.ts.map +0 -1
- package/dist/frontend/file-router.d.ts +0 -170
- package/dist/frontend/file-router.d.ts.map +0 -1
- package/dist/frontend/frameworks/index.d.ts +0 -41
- package/dist/frontend/frameworks/index.d.ts.map +0 -1
- package/dist/frontend/frameworks/react.d.ts +0 -32
- package/dist/frontend/frameworks/react.d.ts.map +0 -1
- package/dist/frontend/frameworks/solid.d.ts +0 -42
- package/dist/frontend/frameworks/solid.d.ts.map +0 -1
- package/dist/frontend/frameworks/svelte.d.ts +0 -57
- package/dist/frontend/frameworks/svelte.d.ts.map +0 -1
- package/dist/frontend/frameworks/vue.d.ts +0 -36
- package/dist/frontend/frameworks/vue.d.ts.map +0 -1
- package/dist/frontend/hmr-client.d.ts +0 -22
- package/dist/frontend/hmr-client.d.ts.map +0 -1
- package/dist/frontend/hmr.d.ts +0 -185
- package/dist/frontend/hmr.d.ts.map +0 -1
- package/dist/frontend/index.d.ts +0 -34
- package/dist/frontend/index.d.ts.map +0 -1
- package/dist/frontend/islands.d.ts +0 -135
- package/dist/frontend/islands.d.ts.map +0 -1
- package/dist/frontend/isr.d.ts +0 -143
- package/dist/frontend/isr.d.ts.map +0 -1
- package/dist/frontend/layout.d.ts +0 -140
- package/dist/frontend/layout.d.ts.map +0 -1
- package/dist/frontend/ssr/react.d.ts +0 -118
- package/dist/frontend/ssr/react.d.ts.map +0 -1
- package/dist/frontend/ssr/solid.d.ts +0 -141
- package/dist/frontend/ssr/solid.d.ts.map +0 -1
- package/dist/frontend/ssr/svelte.d.ts +0 -158
- package/dist/frontend/ssr/svelte.d.ts.map +0 -1
- package/dist/frontend/ssr/vue.d.ts +0 -161
- package/dist/frontend/ssr/vue.d.ts.map +0 -1
- package/dist/frontend/ssr.d.ts +0 -147
- package/dist/frontend/ssr.d.ts.map +0 -1
- package/dist/frontend/types.d.ts +0 -1902
- package/dist/frontend/types.d.ts.map +0 -1
- package/dist/graphql/built-in-engine.d.ts +0 -36
- package/dist/graphql/built-in-engine.d.ts.map +0 -1
- package/dist/graphql/context-builder.d.ts +0 -44
- package/dist/graphql/context-builder.d.ts.map +0 -1
- package/dist/graphql/decorators.d.ts +0 -162
- package/dist/graphql/decorators.d.ts.map +0 -1
- package/dist/graphql/execution-pipeline.d.ts +0 -67
- package/dist/graphql/execution-pipeline.d.ts.map +0 -1
- package/dist/graphql/graphql-module.d.ts +0 -70
- package/dist/graphql/graphql-module.d.ts.map +0 -1
- package/dist/graphql/index.d.ts +0 -48
- package/dist/graphql/index.d.ts.map +0 -1
- package/dist/graphql/metadata.d.ts +0 -37
- package/dist/graphql/metadata.d.ts.map +0 -1
- package/dist/graphql/schema-builder.d.ts +0 -34
- package/dist/graphql/schema-builder.d.ts.map +0 -1
- package/dist/graphql/subscription-handler.d.ts +0 -47
- package/dist/graphql/subscription-handler.d.ts.map +0 -1
- package/dist/graphql/types.d.ts +0 -252
- package/dist/graphql/types.d.ts.map +0 -1
- package/dist/health/index.d.ts +0 -176
- package/dist/health/index.d.ts.map +0 -1
- package/dist/i18n/engine.d.ts +0 -105
- package/dist/i18n/engine.d.ts.map +0 -1
- package/dist/i18n/index.d.ts +0 -13
- package/dist/i18n/index.d.ts.map +0 -1
- package/dist/i18n/loader.d.ts +0 -79
- package/dist/i18n/loader.d.ts.map +0 -1
- package/dist/i18n/middleware.d.ts +0 -96
- package/dist/i18n/middleware.d.ts.map +0 -1
- package/dist/i18n/negotiator.d.ts +0 -84
- package/dist/i18n/negotiator.d.ts.map +0 -1
- package/dist/i18n/types.d.ts +0 -129
- package/dist/i18n/types.d.ts.map +0 -1
- package/dist/index.d.ts +0 -48
- package/dist/index.d.ts.map +0 -1
- package/dist/jobs/drivers/memory.d.ts +0 -38
- package/dist/jobs/drivers/memory.d.ts.map +0 -1
- package/dist/jobs/drivers/redis.d.ts +0 -34
- package/dist/jobs/drivers/redis.d.ts.map +0 -1
- package/dist/jobs/index.d.ts +0 -12
- package/dist/jobs/index.d.ts.map +0 -1
- package/dist/jobs/queue.d.ts +0 -93
- package/dist/jobs/queue.d.ts.map +0 -1
- package/dist/jobs/types.d.ts +0 -193
- package/dist/jobs/types.d.ts.map +0 -1
- package/dist/jobs/worker.d.ts +0 -91
- package/dist/jobs/worker.d.ts.map +0 -1
- package/dist/lock/index.d.ts +0 -141
- package/dist/lock/index.d.ts.map +0 -1
- package/dist/logger/index.d.ts +0 -156
- package/dist/logger/index.d.ts.map +0 -1
- package/dist/logger/transports/index.d.ts +0 -371
- package/dist/logger/transports/index.d.ts.map +0 -1
- package/dist/metrics/index.d.ts +0 -163
- package/dist/metrics/index.d.ts.map +0 -1
- package/dist/middleware/built-in.d.ts +0 -50
- package/dist/middleware/built-in.d.ts.map +0 -1
- package/dist/middleware/index.d.ts +0 -40
- package/dist/middleware/index.d.ts.map +0 -1
- package/dist/migrations/index.d.ts +0 -10
- package/dist/migrations/index.d.ts.map +0 -1
- package/dist/modules/filters.d.ts +0 -150
- package/dist/modules/filters.d.ts.map +0 -1
- package/dist/modules/guards.d.ts +0 -188
- package/dist/modules/guards.d.ts.map +0 -1
- package/dist/modules/index.d.ts +0 -266
- package/dist/modules/index.d.ts.map +0 -1
- package/dist/modules/interceptors.d.ts +0 -242
- package/dist/modules/interceptors.d.ts.map +0 -1
- package/dist/modules/lazy.d.ts +0 -187
- package/dist/modules/lazy.d.ts.map +0 -1
- package/dist/modules/lifecycle.d.ts +0 -221
- package/dist/modules/lifecycle.d.ts.map +0 -1
- package/dist/modules/metadata.d.ts +0 -32
- package/dist/modules/metadata.d.ts.map +0 -1
- package/dist/modules/pipes.d.ts +0 -287
- package/dist/modules/pipes.d.ts.map +0 -1
- package/dist/notification/channels/base.d.ts +0 -32
- package/dist/notification/channels/base.d.ts.map +0 -1
- package/dist/notification/channels/email.d.ts +0 -37
- package/dist/notification/channels/email.d.ts.map +0 -1
- package/dist/notification/channels/push.d.ts +0 -37
- package/dist/notification/channels/push.d.ts.map +0 -1
- package/dist/notification/channels/sms.d.ts +0 -37
- package/dist/notification/channels/sms.d.ts.map +0 -1
- package/dist/notification/channels/whatsapp.d.ts +0 -37
- package/dist/notification/channels/whatsapp.d.ts.map +0 -1
- package/dist/notification/index.d.ts +0 -15
- package/dist/notification/index.d.ts.map +0 -1
- package/dist/notification/service.d.ts +0 -100
- package/dist/notification/service.d.ts.map +0 -1
- package/dist/notification/types.d.ts +0 -253
- package/dist/notification/types.d.ts.map +0 -1
- package/dist/observability/__tests__/observability.test.d.ts +0 -2
- package/dist/observability/__tests__/observability.test.d.ts.map +0 -1
- package/dist/observability/breadcrumbs.d.ts +0 -48
- package/dist/observability/breadcrumbs.d.ts.map +0 -1
- package/dist/observability/index.d.ts +0 -95
- package/dist/observability/index.d.ts.map +0 -1
- package/dist/observability/interceptor.d.ts +0 -19
- package/dist/observability/interceptor.d.ts.map +0 -1
- package/dist/observability/service.d.ts +0 -101
- package/dist/observability/service.d.ts.map +0 -1
- package/dist/observability/trace.d.ts +0 -21
- package/dist/observability/trace.d.ts.map +0 -1
- package/dist/observability/types.d.ts +0 -172
- package/dist/observability/types.d.ts.map +0 -1
- package/dist/openapi/__tests__/decorators.test.d.ts +0 -2
- package/dist/openapi/__tests__/decorators.test.d.ts.map +0 -1
- package/dist/openapi/__tests__/document-builder.test.d.ts +0 -2
- package/dist/openapi/__tests__/document-builder.test.d.ts.map +0 -1
- package/dist/openapi/__tests__/route-scanner.test.d.ts +0 -2
- package/dist/openapi/__tests__/route-scanner.test.d.ts.map +0 -1
- package/dist/openapi/__tests__/schema-generator.test.d.ts +0 -2
- package/dist/openapi/__tests__/schema-generator.test.d.ts.map +0 -1
- package/dist/openapi/decorators.d.ts +0 -173
- package/dist/openapi/decorators.d.ts.map +0 -1
- package/dist/openapi/document-builder.d.ts +0 -82
- package/dist/openapi/document-builder.d.ts.map +0 -1
- package/dist/openapi/index.d.ts +0 -48
- package/dist/openapi/index.d.ts.map +0 -1
- package/dist/openapi/metadata.d.ts +0 -36
- package/dist/openapi/metadata.d.ts.map +0 -1
- package/dist/openapi/route-scanner.d.ts +0 -34
- package/dist/openapi/route-scanner.d.ts.map +0 -1
- package/dist/openapi/schema-generator.d.ts +0 -53
- package/dist/openapi/schema-generator.d.ts.map +0 -1
- package/dist/openapi/swagger-module.d.ts +0 -57
- package/dist/openapi/swagger-module.d.ts.map +0 -1
- package/dist/openapi/types.d.ts +0 -344
- package/dist/openapi/types.d.ts.map +0 -1
- package/dist/orm/index.d.ts +0 -10
- package/dist/orm/index.d.ts.map +0 -1
- package/dist/router/index.d.ts +0 -73
- package/dist/router/index.d.ts.map +0 -1
- package/dist/router/linear.d.ts +0 -54
- package/dist/router/linear.d.ts.map +0 -1
- package/dist/router/regex.d.ts +0 -49
- package/dist/router/regex.d.ts.map +0 -1
- package/dist/router/tree.d.ts +0 -112
- package/dist/router/tree.d.ts.map +0 -1
- package/dist/rpc/index.d.ts +0 -321
- package/dist/rpc/index.d.ts.map +0 -1
- package/dist/schema/index.d.ts +0 -10
- package/dist/schema/index.d.ts.map +0 -1
- package/dist/security/index.d.ts +0 -126
- package/dist/security/index.d.ts.map +0 -1
- package/dist/ssg/index.d.ts +0 -73
- package/dist/ssg/index.d.ts.map +0 -1
- package/dist/storage/index.d.ts +0 -99
- package/dist/storage/index.d.ts.map +0 -1
- package/dist/telemetry/index.d.ts +0 -376
- package/dist/telemetry/index.d.ts.map +0 -1
- package/dist/template/index.d.ts +0 -7
- package/dist/template/index.d.ts.map +0 -1
- package/dist/templates/engine.d.ts +0 -60
- package/dist/templates/engine.d.ts.map +0 -1
- package/dist/templates/index.d.ts +0 -9
- package/dist/templates/index.d.ts.map +0 -1
- package/dist/templates/loader.d.ts +0 -45
- package/dist/templates/loader.d.ts.map +0 -1
- package/dist/templates/renderers/markdown.d.ts +0 -46
- package/dist/templates/renderers/markdown.d.ts.map +0 -1
- package/dist/templates/renderers/simple.d.ts +0 -35
- package/dist/templates/renderers/simple.d.ts.map +0 -1
- package/dist/templates/types.d.ts +0 -138
- package/dist/templates/types.d.ts.map +0 -1
- package/dist/testing/index.d.ts +0 -539
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -116
- package/dist/types/index.d.ts.map +0 -1
- package/dist/validation/index.d.ts +0 -89
- package/dist/validation/index.d.ts.map +0 -1
- package/dist/validation/schemas.d.ts +0 -243
- package/dist/validation/schemas.d.ts.map +0 -1
- package/dist/websocket/index.d.ts +0 -252
- package/dist/websocket/index.d.ts.map +0 -1
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cast Type Definitions
|
|
3
|
-
*/
|
|
4
|
-
export type BuiltInCastName = "json" | "boolean" | "integer" | "float" | "date" | "datetime" | "timestamp";
|
|
5
|
-
export interface CastObject {
|
|
6
|
-
/**
|
|
7
|
-
* Transform value from database to model attribute
|
|
8
|
-
*/
|
|
9
|
-
get(value: unknown): unknown;
|
|
10
|
-
/**
|
|
11
|
-
* Transform value from model attribute to database
|
|
12
|
-
*/
|
|
13
|
-
set(value: unknown): unknown;
|
|
14
|
-
}
|
|
15
|
-
export type CastDefinition = BuiltInCastName | CastObject;
|
|
16
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/database/orm/casts/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,eAAe,GACxB,MAAM,GACN,SAAS,GACT,SAAS,GACT,OAAO,GACP,MAAM,GACN,UAAU,GACV,WAAW,CAAC;AAEf,MAAM,WAAW,UAAU;IAC1B;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7B;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,UAAU,CAAC"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQL Query Compiler
|
|
3
|
-
*
|
|
4
|
-
* Converts a QueryState into SQL strings and parameters,
|
|
5
|
-
* handling driver differences (PostgreSQL $1 vs SQLite/MySQL ?)
|
|
6
|
-
*/
|
|
7
|
-
export type SqlDialect = "postgresql" | "mysql" | "sqlite";
|
|
8
|
-
export interface CompiledQuery {
|
|
9
|
-
sql: string;
|
|
10
|
-
params: unknown[];
|
|
11
|
-
}
|
|
12
|
-
export interface WhereClause {
|
|
13
|
-
type: "and" | "or";
|
|
14
|
-
column?: string;
|
|
15
|
-
operator?: string;
|
|
16
|
-
value?: unknown;
|
|
17
|
-
raw?: string;
|
|
18
|
-
rawParams?: unknown[];
|
|
19
|
-
nested?: WhereClause[];
|
|
20
|
-
}
|
|
21
|
-
export interface OrderClause {
|
|
22
|
-
column: string;
|
|
23
|
-
direction: "ASC" | "DESC";
|
|
24
|
-
}
|
|
25
|
-
export interface JoinClause {
|
|
26
|
-
type: "INNER" | "LEFT" | "RIGHT" | "CROSS";
|
|
27
|
-
table: string;
|
|
28
|
-
on: string;
|
|
29
|
-
}
|
|
30
|
-
export interface QueryState {
|
|
31
|
-
table: string;
|
|
32
|
-
alias?: string;
|
|
33
|
-
selects: string[];
|
|
34
|
-
wheres: WhereClause[];
|
|
35
|
-
orders: OrderClause[];
|
|
36
|
-
joins: JoinClause[];
|
|
37
|
-
limitVal?: number;
|
|
38
|
-
offsetVal?: number;
|
|
39
|
-
groupBys: string[];
|
|
40
|
-
havings: string[];
|
|
41
|
-
distinct: boolean;
|
|
42
|
-
lockMode?: "share" | "update";
|
|
43
|
-
}
|
|
44
|
-
export declare class QueryCompiler {
|
|
45
|
-
private dialect;
|
|
46
|
-
private paramIndex;
|
|
47
|
-
private params;
|
|
48
|
-
constructor(dialect: SqlDialect);
|
|
49
|
-
/**
|
|
50
|
-
* Reset state for a new compilation
|
|
51
|
-
*/
|
|
52
|
-
private reset;
|
|
53
|
-
/**
|
|
54
|
-
* Add a parameter and return the placeholder for this dialect
|
|
55
|
-
*/
|
|
56
|
-
private addParam;
|
|
57
|
-
/**
|
|
58
|
-
* Compile a SELECT query
|
|
59
|
-
*/
|
|
60
|
-
compileSelect(state: QueryState): CompiledQuery;
|
|
61
|
-
/**
|
|
62
|
-
* Compile WHERE clauses into SQL
|
|
63
|
-
*/
|
|
64
|
-
private compileWheres;
|
|
65
|
-
/**
|
|
66
|
-
* Compile an INSERT query
|
|
67
|
-
*/
|
|
68
|
-
compileInsert(table: string, data: Record<string, unknown>): CompiledQuery;
|
|
69
|
-
/**
|
|
70
|
-
* Compile a batch INSERT query
|
|
71
|
-
*/
|
|
72
|
-
compileBatchInsert(table: string, rows: Record<string, unknown>[]): CompiledQuery;
|
|
73
|
-
/**
|
|
74
|
-
* Compile an UPDATE query
|
|
75
|
-
*/
|
|
76
|
-
compileUpdate(state: QueryState, data: Record<string, unknown>): CompiledQuery;
|
|
77
|
-
/**
|
|
78
|
-
* Compile a DELETE query
|
|
79
|
-
*/
|
|
80
|
-
compileDelete(state: QueryState): CompiledQuery;
|
|
81
|
-
/**
|
|
82
|
-
* Compile a COUNT query
|
|
83
|
-
*/
|
|
84
|
-
compileCount(state: QueryState, column?: string): CompiledQuery;
|
|
85
|
-
/**
|
|
86
|
-
* Compile an EXISTS query
|
|
87
|
-
*/
|
|
88
|
-
compileExists(state: QueryState): CompiledQuery;
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=compiler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/database/orm/compiler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC9B;AAED,qBAAa,aAAa;IAIb,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,MAAM,CAAiB;gBAEX,OAAO,EAAE,UAAU;IAEvC;;OAEG;IACH,OAAO,CAAC,KAAK;IAKb;;OAEG;IACH,OAAO,CAAC,QAAQ;IAShB;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa;IAwD/C;;OAEG;IACH,OAAO,CAAC,aAAa;IA8CrB;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa;IAa1E;;OAEG;IACH,kBAAkB,CACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAC7B,aAAa;IAsBhB;;OAEG;IACH,aAAa,CACZ,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,aAAa;IAkBhB;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa;IAY/C;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,SAAM,GAAG,aAAa;IAmB5D;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa;CAW/C"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Model Hooks / Lifecycle Events
|
|
3
|
-
*
|
|
4
|
-
* Provides lifecycle callbacks for model events:
|
|
5
|
-
* creating, created, updating, updated, saving, saved,
|
|
6
|
-
* deleting, deleted, restoring, restored
|
|
7
|
-
*/
|
|
8
|
-
export type ModelHookName = "creating" | "created" | "updating" | "updated" | "saving" | "saved" | "deleting" | "deleted" | "restoring" | "restored";
|
|
9
|
-
export type ModelHookCallback<M> = (model: M) => void | Promise<void> | boolean | Promise<boolean>;
|
|
10
|
-
/**
|
|
11
|
-
* Model hook registry for a specific model class
|
|
12
|
-
*/
|
|
13
|
-
export declare class HookRunner<M> {
|
|
14
|
-
private modelClass;
|
|
15
|
-
private hooks;
|
|
16
|
-
constructor(modelClass: typeof Model);
|
|
17
|
-
/**
|
|
18
|
-
* Initialize hooks from model class static definitions
|
|
19
|
-
*/
|
|
20
|
-
private initializeHooks;
|
|
21
|
-
/**
|
|
22
|
-
* Register a hook callback
|
|
23
|
-
*/
|
|
24
|
-
on(hookName: ModelHookName, callback: ModelHookCallback<M>): void;
|
|
25
|
-
/**
|
|
26
|
-
* Run all callbacks for a hook
|
|
27
|
-
* Returns false if any callback explicitly returns false (to abort operation)
|
|
28
|
-
*/
|
|
29
|
-
run(hookName: ModelHookName, model: M): Promise<boolean>;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Placeholder to avoid circular dependency issues
|
|
33
|
-
*/
|
|
34
|
-
export declare abstract class Model {
|
|
35
|
-
private static hookRegistry;
|
|
36
|
-
/**
|
|
37
|
-
* Get or create the hook registry for this model class
|
|
38
|
-
*/
|
|
39
|
-
private static getHookRegistry;
|
|
40
|
-
/**
|
|
41
|
-
* Register a hook callback on the model class
|
|
42
|
-
*/
|
|
43
|
-
static on<M extends Model>(this: {
|
|
44
|
-
new (): M;
|
|
45
|
-
} & typeof Model, hookName: ModelHookName, callback: ModelHookCallback<M>): void;
|
|
46
|
-
/**
|
|
47
|
-
* Get all callbacks for a hook
|
|
48
|
-
*/
|
|
49
|
-
static getHookCallbacks<M extends Model>(this: {
|
|
50
|
-
new (): M;
|
|
51
|
-
} & typeof Model, hookName: ModelHookName): ModelHookCallback<M>[];
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/database/orm/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,aAAa,GACtB,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,GACT,QAAQ,GACR,OAAO,GACP,UAAU,GACV,SAAS,GACT,WAAW,GACX,UAAU,CAAC;AAEd,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAClC,KAAK,EAAE,CAAC,KACJ,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEvD;;GAEG;AACH,qBAAa,UAAU,CAAC,CAAC;IAGZ,OAAO,CAAC,UAAU;IAF9B,OAAO,CAAC,KAAK,CAAyD;gBAElD,UAAU,EAAE,OAAO,KAAK;IAI5C;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI;IAOjE;;;OAGG;IACG,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAY9D;AAED;;GAEG;AACH,8BAAsB,KAAK;IAC1B,OAAO,CAAC,MAAM,CAAC,YAAY,CAA8C;IAEzE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAS9B;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,EACxB,IAAI,EAAE;QAAE,QAAQ,CAAC,CAAA;KAAE,GAAG,OAAO,KAAK,EAClC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC5B,IAAI;IAQP;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,KAAK,EACtC,IAAI,EAAE;QAAE,QAAQ,CAAC,CAAA;KAAE,GAAG,OAAO,KAAK,EAClC,QAAQ,EAAE,aAAa,GACrB,iBAAiB,CAAC,CAAC,CAAC,EAAE;CAIzB"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bueno ORM
|
|
3
|
-
*
|
|
4
|
-
* Eloquent-inspired ORM for the Bueno framework.
|
|
5
|
-
* Provides Model, QueryBuilder, relationships, and lifecycle management.
|
|
6
|
-
*/
|
|
7
|
-
export { OrmQueryBuilder, query } from "./builder";
|
|
8
|
-
export type { PaginationResult } from "./builder";
|
|
9
|
-
export { Model, ModelNotFoundError, ModelOperationAbortedError, ModelQueryBuilder, } from "./model";
|
|
10
|
-
export { setDefaultDatabase, getDefaultDatabase, registerModelDatabase, getModelDatabase, clearModelDatabaseRegistry, clearDefaultDatabase, } from "./model-registry";
|
|
11
|
-
export { Relationship, HasOne, HasMany, BelongsTo, BelongsToMany, } from "./relationships";
|
|
12
|
-
export type { RelationshipOptions } from "./relationships/base";
|
|
13
|
-
export { CastRegistry } from "./casts";
|
|
14
|
-
export type { CastDefinition, CastObject, BuiltInCastName } from "./casts";
|
|
15
|
-
export { ScopeRegistry, SoftDeleteScope } from "./scopes";
|
|
16
|
-
export type { ScopeDefinition } from "./scopes";
|
|
17
|
-
export { HookRunner } from "./hooks";
|
|
18
|
-
export type { ModelHookName, ModelHookCallback } from "./hooks";
|
|
19
|
-
export { QueryCompiler } from "./compiler";
|
|
20
|
-
export type { SqlDialect, CompiledQuery, WhereClause, OrderClause, JoinClause, QueryState, } from "./compiler";
|
|
21
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/database/orm/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGlD,OAAO,EACN,KAAK,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,iBAAiB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,GACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACN,YAAY,EACZ,MAAM,EACN,OAAO,EACP,SAAS,EACT,aAAa,GACb,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG3E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,GACV,MAAM,YAAY,CAAC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Model Registry
|
|
3
|
-
*
|
|
4
|
-
* Global registry mapping model names to their Database instances.
|
|
5
|
-
* Allows per-model connection selection and a default connection fallback.
|
|
6
|
-
*/
|
|
7
|
-
import type { Database } from "../index";
|
|
8
|
-
/**
|
|
9
|
-
* Set the default database for all models
|
|
10
|
-
*/
|
|
11
|
-
export declare function setDefaultDatabase(db: Database): void;
|
|
12
|
-
/**
|
|
13
|
-
* Get the default database
|
|
14
|
-
*/
|
|
15
|
-
export declare function getDefaultDatabase(): Database;
|
|
16
|
-
/**
|
|
17
|
-
* Register a database connection for a specific model by name
|
|
18
|
-
*/
|
|
19
|
-
export declare function registerModelDatabase(modelName: string, db: Database): void;
|
|
20
|
-
/**
|
|
21
|
-
* Get the database for a model by name
|
|
22
|
-
* Falls back to default database if model-specific one not registered
|
|
23
|
-
*/
|
|
24
|
-
export declare function getModelDatabase(modelName: string): Database;
|
|
25
|
-
/**
|
|
26
|
-
* Clear all model database registrations (mainly for testing)
|
|
27
|
-
*/
|
|
28
|
-
export declare function clearModelDatabaseRegistry(): void;
|
|
29
|
-
/**
|
|
30
|
-
* Clear the default database (mainly for testing)
|
|
31
|
-
*/
|
|
32
|
-
export declare function clearDefaultDatabase(): void;
|
|
33
|
-
//# sourceMappingURL=model-registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-registry.d.ts","sourceRoot":"","sources":["../../../src/database/orm/model-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAKzC;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAErD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,QAAQ,CAO7C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI,CAE3E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAE5D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
|
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
import { OrmQueryBuilder } from "./builder";
|
|
2
|
-
import { type CastDefinition } from "./casts";
|
|
3
|
-
import { type ModelHookCallback, type ModelHookName } from "./hooks";
|
|
4
|
-
import { BelongsTo, BelongsToMany, HasMany, HasOne } from "./relationships";
|
|
5
|
-
export declare class ModelNotFoundError extends Error {
|
|
6
|
-
constructor(message: string);
|
|
7
|
-
}
|
|
8
|
-
export declare class ModelOperationAbortedError extends Error {
|
|
9
|
-
constructor(message: string);
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Base Model class
|
|
13
|
-
*
|
|
14
|
-
* Generic over TAttributes (the shape of model attributes)
|
|
15
|
-
*/
|
|
16
|
-
export declare abstract class Model<TAttributes extends Record<string, unknown> = Record<string, unknown>> {
|
|
17
|
-
static readonly table: string;
|
|
18
|
-
static readonly primaryKey: string;
|
|
19
|
-
static readonly timestamps: boolean;
|
|
20
|
-
static readonly createdAtColumn: string;
|
|
21
|
-
static readonly updatedAtColumn: string;
|
|
22
|
-
static readonly softDeletes: boolean;
|
|
23
|
-
static readonly deletedAtColumn: string;
|
|
24
|
-
static readonly fillable: string[];
|
|
25
|
-
static readonly guarded: string[];
|
|
26
|
-
static readonly casts: Record<string, CastDefinition>;
|
|
27
|
-
private static scopeRegistry;
|
|
28
|
-
private static hookRegistry;
|
|
29
|
-
protected _attributes: TAttributes;
|
|
30
|
-
protected _original: TAttributes;
|
|
31
|
-
protected _relations: Map<string, unknown>;
|
|
32
|
-
protected _exists: boolean;
|
|
33
|
-
protected _isDirty: boolean;
|
|
34
|
-
constructor(attributes?: Partial<TAttributes>);
|
|
35
|
-
/**
|
|
36
|
-
* Create a query builder for this model
|
|
37
|
-
*/
|
|
38
|
-
static query<M extends Model>(this: {
|
|
39
|
-
new (): M;
|
|
40
|
-
} & typeof Model): ModelQueryBuilder<M>;
|
|
41
|
-
/**
|
|
42
|
-
* Find a model by ID
|
|
43
|
-
*/
|
|
44
|
-
static find<M extends Model>(this: {
|
|
45
|
-
new (): M;
|
|
46
|
-
} & typeof Model, id: unknown): Promise<M | null>;
|
|
47
|
-
/**
|
|
48
|
-
* Find a model by ID or throw
|
|
49
|
-
*/
|
|
50
|
-
static findOrFail<M extends Model>(this: {
|
|
51
|
-
new (): M;
|
|
52
|
-
} & typeof Model, id: unknown): Promise<M>;
|
|
53
|
-
/**
|
|
54
|
-
* Create a where clause
|
|
55
|
-
*/
|
|
56
|
-
static where<M extends Model>(this: {
|
|
57
|
-
new (): M;
|
|
58
|
-
} & typeof Model, column: string, operator: unknown, value?: unknown): ModelQueryBuilder<M>;
|
|
59
|
-
/**
|
|
60
|
-
* Get all records
|
|
61
|
-
*/
|
|
62
|
-
static all<M extends Model>(this: {
|
|
63
|
-
new (): M;
|
|
64
|
-
} & typeof Model): Promise<M[]>;
|
|
65
|
-
/**
|
|
66
|
-
* Create and persist a new model
|
|
67
|
-
*/
|
|
68
|
-
static create<M extends Model>(this: {
|
|
69
|
-
new (): M;
|
|
70
|
-
} & typeof Model, data: Record<string, unknown>): Promise<M>;
|
|
71
|
-
/**
|
|
72
|
-
* First or create — get or create based on conditions
|
|
73
|
-
*/
|
|
74
|
-
static firstOrCreate<M extends Model>(this: {
|
|
75
|
-
new (): M;
|
|
76
|
-
} & typeof Model, conditions: Partial<TAttributes>, values?: Partial<TAttributes>): Promise<M>;
|
|
77
|
-
/**
|
|
78
|
-
* Update or create — update or create based on conditions
|
|
79
|
-
*/
|
|
80
|
-
static updateOrCreate<M extends Model>(this: {
|
|
81
|
-
new (): M;
|
|
82
|
-
} & typeof Model, conditions: Partial<TAttributes>, values: Partial<TAttributes>): Promise<M>;
|
|
83
|
-
/**
|
|
84
|
-
* Get an attribute value
|
|
85
|
-
*/
|
|
86
|
-
getAttribute<K extends keyof TAttributes>(key: K): TAttributes[K];
|
|
87
|
-
/**
|
|
88
|
-
* Set an attribute value
|
|
89
|
-
*/
|
|
90
|
-
setAttribute<K extends keyof TAttributes>(key: K, value: TAttributes[K]): void;
|
|
91
|
-
/**
|
|
92
|
-
* Fill attributes from data (respects fillable/guarded)
|
|
93
|
-
*/
|
|
94
|
-
fill(data: Partial<TAttributes>): this;
|
|
95
|
-
/**
|
|
96
|
-
* Force fill (bypass fillable/guarded)
|
|
97
|
-
*/
|
|
98
|
-
forceFill(data: Partial<TAttributes>): this;
|
|
99
|
-
/**
|
|
100
|
-
* Convert to JSON
|
|
101
|
-
*/
|
|
102
|
-
toJSON(): TAttributes;
|
|
103
|
-
/**
|
|
104
|
-
* Convert to plain object
|
|
105
|
-
*/
|
|
106
|
-
toObject(): TAttributes;
|
|
107
|
-
/**
|
|
108
|
-
* Check if model or specific attribute is dirty
|
|
109
|
-
*/
|
|
110
|
-
isDirty(key?: string): boolean;
|
|
111
|
-
/**
|
|
112
|
-
* Check if model or specific attribute is clean
|
|
113
|
-
*/
|
|
114
|
-
isClean(key?: string): boolean;
|
|
115
|
-
/**
|
|
116
|
-
* Get dirty attributes
|
|
117
|
-
*/
|
|
118
|
-
getDirty(): Partial<TAttributes>;
|
|
119
|
-
/**
|
|
120
|
-
* Get original attribute values
|
|
121
|
-
*/
|
|
122
|
-
getOriginal<K extends keyof TAttributes>(key?: K): TAttributes[K] | Partial<TAttributes>;
|
|
123
|
-
/**
|
|
124
|
-
* Save the model (create or update)
|
|
125
|
-
*/
|
|
126
|
-
save(): Promise<void>;
|
|
127
|
-
/**
|
|
128
|
-
* Delete the model (soft or hard)
|
|
129
|
-
*/
|
|
130
|
-
delete(): Promise<void>;
|
|
131
|
-
/**
|
|
132
|
-
* Restore a soft-deleted model
|
|
133
|
-
*/
|
|
134
|
-
restore(): Promise<void>;
|
|
135
|
-
/**
|
|
136
|
-
* Refresh the model from the database
|
|
137
|
-
*/
|
|
138
|
-
refresh(): Promise<void>;
|
|
139
|
-
/**
|
|
140
|
-
* Get a fresh instance of this model
|
|
141
|
-
*/
|
|
142
|
-
fresh(): Promise<this>;
|
|
143
|
-
/**
|
|
144
|
-
* Define a one-to-one relationship
|
|
145
|
-
*/
|
|
146
|
-
hasOne<TRelated extends Model>(relatedClass: {
|
|
147
|
-
new (): TRelated;
|
|
148
|
-
} & typeof Model, foreignKey: string, localKey?: string): HasOne<TRelated>;
|
|
149
|
-
/**
|
|
150
|
-
* Define a one-to-many relationship
|
|
151
|
-
*/
|
|
152
|
-
hasMany<TRelated extends Model>(relatedClass: {
|
|
153
|
-
new (): TRelated;
|
|
154
|
-
} & typeof Model, foreignKey: string, localKey?: string): HasMany<TRelated>;
|
|
155
|
-
/**
|
|
156
|
-
* Define the inverse of a one-to-one or one-to-many relationship
|
|
157
|
-
*/
|
|
158
|
-
belongsTo<TRelated extends Model>(relatedClass: {
|
|
159
|
-
new (): TRelated;
|
|
160
|
-
} & typeof Model, foreignKey: string, ownerKey?: string): BelongsTo<TRelated>;
|
|
161
|
-
/**
|
|
162
|
-
* Define a many-to-many relationship
|
|
163
|
-
*/
|
|
164
|
-
belongsToMany<TRelated extends Model>(relatedClass: {
|
|
165
|
-
new (): TRelated;
|
|
166
|
-
} & typeof Model, pivotTable: string, foreignPivotKey: string, relatedPivotKey: string, parentKey?: string, relatedKey?: string): BelongsToMany<TRelated>;
|
|
167
|
-
/**
|
|
168
|
-
* Create model instances from database rows
|
|
169
|
-
*/
|
|
170
|
-
static hydrate<M extends Model>(this: {
|
|
171
|
-
new (): M;
|
|
172
|
-
} & typeof Model, rows: Record<string, unknown>[]): M[];
|
|
173
|
-
/**
|
|
174
|
-
* Register a hook callback
|
|
175
|
-
*/
|
|
176
|
-
static on<M extends Model>(this: {
|
|
177
|
-
new (): M;
|
|
178
|
-
} & typeof Model, hookName: ModelHookName, callback: ModelHookCallback<M>): void;
|
|
179
|
-
/**
|
|
180
|
-
* Get all callbacks for a hook
|
|
181
|
-
*/
|
|
182
|
-
static getHookCallbacks<M extends Model>(this: {
|
|
183
|
-
new (): M;
|
|
184
|
-
} & typeof Model, hookName: ModelHookName): ModelHookCallback<M>[];
|
|
185
|
-
/**
|
|
186
|
-
* Called when model class is first used (for static initialization)
|
|
187
|
-
*/
|
|
188
|
-
static booting(): void;
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* ModelQueryBuilder — extended OrmQueryBuilder with Model-specific features
|
|
192
|
-
*/
|
|
193
|
-
export declare class ModelQueryBuilder<M extends Model> extends OrmQueryBuilder<any> {
|
|
194
|
-
private modelClass;
|
|
195
|
-
private eagerLoads;
|
|
196
|
-
constructor(modelClass: {
|
|
197
|
-
new (): M;
|
|
198
|
-
} & typeof Model);
|
|
199
|
-
/**
|
|
200
|
-
* Eager load a relationship
|
|
201
|
-
*/
|
|
202
|
-
with(relation: string, callback?: (q: OrmQueryBuilder<any>) => void): this;
|
|
203
|
-
/**
|
|
204
|
-
* Override get() to hydrate Model instances
|
|
205
|
-
*/
|
|
206
|
-
get(): Promise<M[]>;
|
|
207
|
-
/**
|
|
208
|
-
* Override first() to hydrate Model instance
|
|
209
|
-
* Note: We must fetch raw data directly to avoid double-hydration
|
|
210
|
-
* (since get() is overridden to already hydrate)
|
|
211
|
-
*/
|
|
212
|
-
first(): Promise<M | null>;
|
|
213
|
-
/**
|
|
214
|
-
* Override paginate() to return hydrated Model instances
|
|
215
|
-
* Note: super.paginate() calls get() which already hydrates,
|
|
216
|
-
* so we just need to return the result as-is
|
|
217
|
-
*/
|
|
218
|
-
paginate(page: number, limit: number): Promise<{
|
|
219
|
-
data: any[];
|
|
220
|
-
total: number;
|
|
221
|
-
page: number;
|
|
222
|
-
limit: number;
|
|
223
|
-
totalPages: number;
|
|
224
|
-
}>;
|
|
225
|
-
/**
|
|
226
|
-
* Find first or create — find by conditions or create with values
|
|
227
|
-
*/
|
|
228
|
-
firstOrCreate(conditions: Record<string, unknown>, values?: Record<string, unknown>): Promise<M>;
|
|
229
|
-
/**
|
|
230
|
-
* Update or create — update if exists or create if not
|
|
231
|
-
*/
|
|
232
|
-
updateOrCreate(conditions: Record<string, unknown>, values: Record<string, unknown>): Promise<M>;
|
|
233
|
-
/**
|
|
234
|
-
* Load eager relationships
|
|
235
|
-
* Supports nested dot-notation like "posts.comments"
|
|
236
|
-
*/
|
|
237
|
-
private loadRelation;
|
|
238
|
-
/**
|
|
239
|
-
* Support local scopes via Proxy
|
|
240
|
-
*/
|
|
241
|
-
static createScoped<M extends Model>(modelClass: {
|
|
242
|
-
new (): M;
|
|
243
|
-
} & typeof Model): ModelQueryBuilder<M>;
|
|
244
|
-
}
|
|
245
|
-
//# sourceMappingURL=model.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/database/orm/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Base Relationship Class
|
|
3
|
-
*
|
|
4
|
-
* Abstract base for all relationship types (HasOne, HasMany, etc.)
|
|
5
|
-
*/
|
|
6
|
-
import type { Database } from "../../index";
|
|
7
|
-
import { OrmQueryBuilder } from "../builder";
|
|
8
|
-
import type { Model } from "../model";
|
|
9
|
-
export interface RelationshipOptions {
|
|
10
|
-
foreignKey?: string;
|
|
11
|
-
localKey?: string;
|
|
12
|
-
ownerKey?: string;
|
|
13
|
-
relatedKey?: string;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Abstract base relationship class
|
|
17
|
-
*/
|
|
18
|
-
export declare abstract class Relationship<TParent extends Model, TRelated extends Model> {
|
|
19
|
-
protected parentModel: TParent;
|
|
20
|
-
protected relatedClass: {
|
|
21
|
-
new (): TRelated;
|
|
22
|
-
} & typeof Model;
|
|
23
|
-
protected foreignKey: string;
|
|
24
|
-
protected localKey: string;
|
|
25
|
-
protected query: OrmQueryBuilder<any>;
|
|
26
|
-
protected db: Database;
|
|
27
|
-
constructor(parentModel: TParent, relatedClass: {
|
|
28
|
-
new (): TRelated;
|
|
29
|
-
} & typeof Model, foreignKey: string, localKey?: string);
|
|
30
|
-
/**
|
|
31
|
-
* Initialize constraints — call this in subclass constructors after all
|
|
32
|
-
* private fields are assigned, if the subclass needs them in addConstraints().
|
|
33
|
-
*/
|
|
34
|
-
protected initConstraints(): void;
|
|
35
|
-
/**
|
|
36
|
-
* Add WHERE clause for this relationship
|
|
37
|
-
* (override in subclasses)
|
|
38
|
-
*/
|
|
39
|
-
abstract addConstraints(): void;
|
|
40
|
-
/**
|
|
41
|
-
* Add eager load constraints
|
|
42
|
-
* (override in subclasses)
|
|
43
|
-
*/
|
|
44
|
-
abstract addEagerConstraints(parents: TParent[]): void;
|
|
45
|
-
/**
|
|
46
|
-
* Match eager-loaded results to parent models
|
|
47
|
-
* (override in subclasses)
|
|
48
|
-
*/
|
|
49
|
-
abstract match(parents: TParent[], results: TRelated[], relation: string): void;
|
|
50
|
-
/**
|
|
51
|
-
* Get the results for this relationship
|
|
52
|
-
*/
|
|
53
|
-
abstract getResults(): Promise<TRelated | TRelated[] | null>;
|
|
54
|
-
/**
|
|
55
|
-
* Reset the query builder to a fresh state
|
|
56
|
-
* Used during eager loading to clear single-model constraints from constructor
|
|
57
|
-
*/
|
|
58
|
-
protected resetQuery(): void;
|
|
59
|
-
where(column: string, operator: unknown, value?: unknown): this;
|
|
60
|
-
orWhere(column: string, operator: unknown, value?: unknown): this;
|
|
61
|
-
orderBy(column: string, direction?: "ASC" | "DESC"): this;
|
|
62
|
-
limit(n: number): this;
|
|
63
|
-
get(): Promise<TRelated[]>;
|
|
64
|
-
first(): Promise<TRelated | null>;
|
|
65
|
-
count(): Promise<number>;
|
|
66
|
-
exists(): Promise<boolean>;
|
|
67
|
-
create(data: Record<string, unknown>): Promise<TRelated>;
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/database/orm/relationships/base.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGtC,MAAM,WAAW,mBAAmB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,8BAAsB,YAAY,CACjC,OAAO,SAAS,KAAK,EACrB,QAAQ,SAAS,KAAK;IAMrB,SAAS,CAAC,WAAW,EAAE,OAAO;IAC9B,SAAS,CAAC,YAAY,EAAE;QAAE,QAAQ,QAAQ,CAAA;KAAE,GAAG,OAAO,KAAK;IAC3D,SAAS,CAAC,UAAU,EAAE,MAAM;IAC5B,SAAS,CAAC,QAAQ;IAPnB,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC;gBAGZ,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE;QAAE,QAAQ,QAAQ,CAAA;KAAE,GAAG,OAAO,KAAK,EACjD,UAAU,EAAE,MAAM,EAClB,QAAQ,SAAO;IAS1B;;;OAGG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;IAQjC;;;OAGG;IACH,QAAQ,CAAC,cAAc,IAAI,IAAI;IAE/B;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI;IAEtD;;;OAGG;IACH,QAAQ,CAAC,KAAK,CACb,OAAO,EAAE,OAAO,EAAE,EAClB,OAAO,EAAE,QAAQ,EAAE,EACnB,QAAQ,EAAE,MAAM,GACd,IAAI;IAEP;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;IAE5D;;;OAGG;IACH,SAAS,CAAC,UAAU,IAAI,IAAI;IAS5B,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAK/D,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAKjE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI;IAKzD,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAOhB,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAK1B,KAAK,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAMjC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAI1B,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;CAQ9D"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BelongsToMany Relationship
|
|
3
|
-
*
|
|
4
|
-
* Model belongs to many related models through a pivot table (n:m)
|
|
5
|
-
*/
|
|
6
|
-
import type { Model } from "../model";
|
|
7
|
-
import { Relationship } from "./base";
|
|
8
|
-
export declare class BelongsToMany<TRelated extends Model> extends Relationship<any, TRelated> {
|
|
9
|
-
private pivotTable;
|
|
10
|
-
private foreignPivotKey;
|
|
11
|
-
private relatedPivotKey;
|
|
12
|
-
private parentKey;
|
|
13
|
-
private relatedKey;
|
|
14
|
-
private pivotData;
|
|
15
|
-
constructor(parentModel: Model, relatedClass: {
|
|
16
|
-
new (): TRelated;
|
|
17
|
-
} & typeof Model, pivotTable: string, foreignPivotKey: string, relatedPivotKey: string, parentKey?: string, relatedKey?: string);
|
|
18
|
-
addConstraints(): void;
|
|
19
|
-
addEagerConstraints(parents: Model[]): void;
|
|
20
|
-
match(parents: Model[], results: TRelated[], relation: string): void;
|
|
21
|
-
/**
|
|
22
|
-
* Include specific pivot columns in results
|
|
23
|
-
*/
|
|
24
|
-
withPivot(...columns: string[]): this;
|
|
25
|
-
/**
|
|
26
|
-
* Attach related models to the pivot table
|
|
27
|
-
*/
|
|
28
|
-
attach(ids: unknown | unknown[], pivotData?: Record<string, unknown>): Promise<void>;
|
|
29
|
-
/**
|
|
30
|
-
* Detach related models from the pivot table
|
|
31
|
-
*/
|
|
32
|
-
detach(ids?: unknown | unknown[]): Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* Sync related models (replace all with given IDs)
|
|
35
|
-
*/
|
|
36
|
-
sync(ids: unknown[], detaching?: boolean): Promise<void>;
|
|
37
|
-
/**
|
|
38
|
-
* Toggle related models
|
|
39
|
-
*/
|
|
40
|
-
toggle(ids: unknown | unknown[]): Promise<void>;
|
|
41
|
-
/**
|
|
42
|
-
* Update pivot data
|
|
43
|
-
*/
|
|
44
|
-
updateExistingPivot(id: unknown, data: Record<string, unknown>): Promise<void>;
|
|
45
|
-
getResults(): Promise<TRelated[]>;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=belongs-to-many.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"belongs-to-many.d.ts","sourceRoot":"","sources":["../../../../src/database/orm/relationships/belongs-to-many.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,qBAAa,aAAa,CAAC,QAAQ,SAAS,KAAK,CAAE,SAAQ,YAAY,CACtE,GAAG,EACH,QAAQ,CACR;IAMC,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,UAAU;IATnB,OAAO,CAAC,SAAS,CAA0B;gBAG1C,WAAW,EAAE,KAAK,EAClB,YAAY,EAAE;QAAE,QAAQ,QAAQ,CAAA;KAAE,GAAG,OAAO,KAAK,EACzC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,SAAS,SAAO,EAChB,UAAU,SAAO;IAQ1B,cAAc,IAAI,IAAI;IAatB,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI;IAK3C,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAmBpE;;OAEG;IACH,SAAS,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAOrC;;OAEG;IACG,MAAM,CACX,GAAG,EAAE,OAAO,GAAG,OAAO,EAAE,EACxB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;IA2BhB;;OAEG;IACG,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBtD;;OAEG;IACG,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,SAAS,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3D;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAarD;;OAEG;IACG,mBAAmB,CACxB,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,OAAO,CAAC,IAAI,CAAC;IAUV,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CAGvC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BelongsTo Relationship
|
|
3
|
-
*
|
|
4
|
-
* Model belongs to a parent model (reverse of HasOne/HasMany)
|
|
5
|
-
*/
|
|
6
|
-
import type { Model } from "../model";
|
|
7
|
-
import { Relationship } from "./base";
|
|
8
|
-
export declare class BelongsTo<TRelated extends Model> extends Relationship<any, TRelated> {
|
|
9
|
-
constructor(parentModel: Model, relatedClass: {
|
|
10
|
-
new (): TRelated;
|
|
11
|
-
} & typeof Model, foreignKey: string, ownerKey?: string);
|
|
12
|
-
addConstraints(): void;
|
|
13
|
-
addEagerConstraints(parents: Model[]): void;
|
|
14
|
-
match(parents: Model[], results: TRelated[], relation: string): void;
|
|
15
|
-
getResults(): Promise<TRelated | null>;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=belongs-to.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"belongs-to.d.ts","sourceRoot":"","sources":["../../../../src/database/orm/relationships/belongs-to.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,qBAAa,SAAS,CAAC,QAAQ,SAAS,KAAK,CAAE,SAAQ,YAAY,CAClE,GAAG,EACH,QAAQ,CACR;gBAEC,WAAW,EAAE,KAAK,EAClB,YAAY,EAAE;QAAE,QAAQ,QAAQ,CAAA;KAAE,GAAG,OAAO,KAAK,EACjD,UAAU,EAAE,MAAM,EAClB,QAAQ,SAAO;IAOhB,cAAc,IAAI,IAAI;IAQtB,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI;IAK3C,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAe9D,UAAU,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAG5C"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HasMany Relationship
|
|
3
|
-
*
|
|
4
|
-
* Model has many related models (1:n)
|
|
5
|
-
*/
|
|
6
|
-
import type { Model } from "../model";
|
|
7
|
-
import { Relationship } from "./base";
|
|
8
|
-
export declare class HasMany<TRelated extends Model> extends Relationship<any, TRelated> {
|
|
9
|
-
addConstraints(): void;
|
|
10
|
-
addEagerConstraints(parents: Model[]): void;
|
|
11
|
-
match(parents: Model[], results: TRelated[], relation: string): void;
|
|
12
|
-
getResults(): Promise<TRelated[]>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=has-many.d.ts.map
|