@venizia/ignis 0.1.1-9 → 0.1.1
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/base/controllers/grpc/abstract.d.ts +5 -1
- package/dist/base/controllers/grpc/abstract.d.ts.map +1 -1
- package/dist/base/controllers/grpc/abstract.js +5 -1
- package/dist/base/controllers/grpc/abstract.js.map +1 -1
- package/dist/base/controllers/grpc/adapter.d.ts +2 -1
- package/dist/base/controllers/grpc/adapter.d.ts.map +1 -1
- package/dist/base/controllers/grpc/adapter.js +10 -2
- package/dist/base/controllers/grpc/adapter.js.map +1 -1
- package/dist/base/controllers/grpc/common/types.d.ts +20 -0
- package/dist/base/controllers/grpc/common/types.d.ts.map +1 -1
- package/dist/base/datasources/common/types.d.ts +11 -2
- package/dist/base/datasources/common/types.d.ts.map +1 -1
- package/dist/base/datasources/common/types.js +11 -2
- package/dist/base/datasources/common/types.js.map +1 -1
- package/dist/base/metadata/persistents.d.ts.map +1 -1
- package/dist/base/metadata/persistents.js +8 -0
- package/dist/base/metadata/persistents.js.map +1 -1
- package/dist/base/middlewares/app-error/app-error.middleware.d.ts +4 -0
- package/dist/base/middlewares/app-error/app-error.middleware.d.ts.map +1 -1
- package/dist/base/middlewares/app-error/app-error.middleware.js +10 -2
- package/dist/base/middlewares/app-error/app-error.middleware.js.map +1 -1
- package/dist/base/middlewares/common/errors.d.ts +18 -0
- package/dist/base/middlewares/common/errors.d.ts.map +1 -0
- package/dist/base/middlewares/common/errors.js +13 -0
- package/dist/base/middlewares/common/errors.js.map +1 -0
- package/dist/base/middlewares/common/index.d.ts +2 -0
- package/dist/base/middlewares/common/index.d.ts.map +1 -0
- package/dist/base/middlewares/common/index.js +18 -0
- package/dist/base/middlewares/common/index.js.map +1 -0
- package/dist/base/middlewares/index.d.ts +1 -0
- package/dist/base/middlewares/index.d.ts.map +1 -1
- package/dist/base/middlewares/index.js +1 -0
- package/dist/base/middlewares/index.js.map +1 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.d.ts.map +1 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.js +2 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.js.map +1 -1
- package/dist/base/repositories/common/constants.d.ts +12 -0
- package/dist/base/repositories/common/constants.d.ts.map +1 -1
- package/dist/base/repositories/common/constants.js +13 -1
- package/dist/base/repositories/common/constants.js.map +1 -1
- package/dist/base/repositories/common/errors.d.ts +18 -0
- package/dist/base/repositories/common/errors.d.ts.map +1 -0
- package/dist/base/repositories/common/errors.js +13 -0
- package/dist/base/repositories/common/errors.js.map +1 -0
- package/dist/base/repositories/common/index.d.ts +3 -1
- package/dist/base/repositories/common/index.d.ts.map +1 -1
- package/dist/base/repositories/common/index.js +3 -1
- package/dist/base/repositories/common/index.js.map +1 -1
- package/dist/base/repositories/common/types.d.ts +33 -8
- package/dist/base/repositories/common/types.d.ts.map +1 -1
- package/dist/base/repositories/common/types.js +1 -1
- package/dist/base/repositories/common/types.js.map +1 -1
- package/dist/base/repositories/core/abstract.d.ts +29 -7
- package/dist/base/repositories/core/abstract.d.ts.map +1 -1
- package/dist/base/repositories/core/abstract.js +31 -8
- package/dist/base/repositories/core/abstract.js.map +1 -1
- package/dist/base/repositories/query-schemas/index.d.ts +3 -7
- package/dist/base/repositories/query-schemas/index.d.ts.map +1 -1
- package/dist/base/repositories/query-schemas/index.js +10 -21
- package/dist/base/repositories/query-schemas/index.js.map +1 -1
- package/dist/components/auth/authenticate/common/errors.d.ts +91 -0
- package/dist/components/auth/authenticate/common/errors.d.ts.map +1 -0
- package/dist/components/auth/authenticate/common/errors.js +80 -0
- package/dist/components/auth/authenticate/common/errors.js.map +1 -0
- package/dist/components/auth/authenticate/common/index.d.ts +1 -0
- package/dist/components/auth/authenticate/common/index.d.ts.map +1 -1
- package/dist/components/auth/authenticate/common/index.js +1 -0
- package/dist/components/auth/authenticate/common/index.js.map +1 -1
- package/dist/components/auth/authenticate/common/types.d.ts +7 -1
- package/dist/components/auth/authenticate/common/types.d.ts.map +1 -1
- package/dist/components/auth/authenticate/providers/authentication.provider.d.ts.map +1 -1
- package/dist/components/auth/authenticate/providers/authentication.provider.js +8 -6
- package/dist/components/auth/authenticate/providers/authentication.provider.js.map +1 -1
- package/dist/components/auth/authenticate/services/basic/service.d.ts.map +1 -1
- package/dist/components/auth/authenticate/services/basic/service.js +5 -5
- package/dist/components/auth/authenticate/services/basic/service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts +4 -3
- package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/abstract.service.js +11 -9
- package/dist/components/auth/authenticate/services/bearer/abstract.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js +1 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js +1 -0
- package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts.map +1 -1
- package/dist/components/auth/authenticate/services/bearer/jws.service.js +1 -0
- package/dist/components/auth/authenticate/services/bearer/jws.service.js.map +1 -1
- package/dist/components/auth/authorize/common/errors.d.ts +51 -0
- package/dist/components/auth/authorize/common/errors.d.ts.map +1 -0
- package/dist/components/auth/authorize/common/errors.js +43 -0
- package/dist/components/auth/authorize/common/errors.js.map +1 -0
- package/dist/components/auth/authorize/common/index.d.ts +1 -0
- package/dist/components/auth/authorize/common/index.d.ts.map +1 -1
- package/dist/components/auth/authorize/common/index.js +1 -0
- package/dist/components/auth/authorize/common/index.js.map +1 -1
- package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts.map +1 -1
- package/dist/components/auth/authorize/enforcers/casbin.enforcer.js +1 -1
- package/dist/components/auth/authorize/enforcers/casbin.enforcer.js.map +1 -1
- package/dist/components/auth/authorize/providers/authorization.provider.d.ts.map +1 -1
- package/dist/components/auth/authorize/providers/authorization.provider.js +6 -4
- package/dist/components/auth/authorize/providers/authorization.provider.js.map +1 -1
- package/dist/components/controller/grpc/common/types.d.ts +4 -0
- package/dist/components/controller/grpc/common/types.d.ts.map +1 -1
- package/dist/components/controller/grpc/common/types.js.map +1 -1
- package/dist/components/controller/grpc/grpc.component.d.ts.map +1 -1
- package/dist/components/controller/grpc/grpc.component.js +6 -0
- package/dist/components/controller/grpc/grpc.component.js.map +1 -1
- package/dist/components/mail/common/errors.d.ts +35 -0
- package/dist/components/mail/common/errors.d.ts.map +1 -0
- package/dist/components/mail/common/errors.js +24 -0
- package/dist/components/mail/common/errors.js.map +1 -0
- package/dist/components/mail/common/index.d.ts +1 -0
- package/dist/components/mail/common/index.d.ts.map +1 -1
- package/dist/components/mail/common/index.js +1 -0
- package/dist/components/mail/common/index.js.map +1 -1
- package/dist/components/mail/common/types.d.ts +14 -1
- package/dist/components/mail/common/types.d.ts.map +1 -1
- package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts +6 -2
- package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts.map +1 -1
- package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js +4 -3
- package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js.map +1 -1
- package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts +6 -2
- package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts.map +1 -1
- package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js +4 -3
- package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js.map +1 -1
- package/dist/components/mail/providers/mail-transporter.provider.js +2 -2
- package/dist/components/mail/providers/mail-transporter.provider.js.map +1 -1
- package/dist/components/mail/services/mail.service.d.ts.map +1 -1
- package/dist/components/mail/services/mail.service.js +3 -6
- package/dist/components/mail/services/mail.service.js.map +1 -1
- package/dist/components/mail/services/template.service.d.ts.map +1 -1
- package/dist/components/mail/services/template.service.js +2 -4
- package/dist/components/mail/services/template.service.js.map +1 -1
- package/dist/components/static-asset/common/errors.d.ts +66 -0
- package/dist/components/static-asset/common/errors.d.ts.map +1 -0
- package/dist/components/static-asset/common/errors.js +55 -0
- package/dist/components/static-asset/common/errors.js.map +1 -0
- package/dist/components/static-asset/common/index.d.ts +1 -0
- package/dist/components/static-asset/common/index.d.ts.map +1 -1
- package/dist/components/static-asset/common/index.js +1 -0
- package/dist/components/static-asset/common/index.js.map +1 -1
- package/dist/components/static-asset/common/types.d.ts +2 -2
- package/dist/components/static-asset/common/types.d.ts.map +1 -1
- package/dist/components/static-asset/controller/factory.d.ts.map +1 -1
- package/dist/components/static-asset/controller/factory.js +18 -60
- package/dist/components/static-asset/controller/factory.js.map +1 -1
- package/dist/components/static-asset/repositories/base.repository.d.ts +3 -3
- package/dist/components/static-asset/repositories/base.repository.d.ts.map +1 -1
- package/dist/components/static-asset/repositories/base.repository.js +2 -2
- package/dist/components/static-asset/repositories/base.repository.js.map +1 -1
- package/dist/connectors/meilisearch/connector.d.ts.map +1 -1
- package/dist/connectors/meilisearch/connector.js +2 -2
- package/dist/connectors/meilisearch/connector.js.map +1 -1
- package/dist/connectors/meilisearch/repositories/dialect/query-dialect.d.ts +27 -6
- package/dist/connectors/meilisearch/repositories/dialect/query-dialect.d.ts.map +1 -1
- package/dist/connectors/meilisearch/repositories/dialect/query-dialect.js +181 -64
- package/dist/connectors/meilisearch/repositories/dialect/query-dialect.js.map +1 -1
- package/dist/connectors/postgres/datasources/abstract.d.ts +11 -34
- package/dist/connectors/postgres/datasources/abstract.d.ts.map +1 -1
- package/dist/connectors/postgres/datasources/abstract.js +16 -128
- package/dist/connectors/postgres/datasources/abstract.js.map +1 -1
- package/dist/connectors/postgres/datasources/base.d.ts +9 -15
- package/dist/connectors/postgres/datasources/base.d.ts.map +1 -1
- package/dist/connectors/postgres/datasources/base.js +20 -94
- package/dist/connectors/postgres/datasources/base.js.map +1 -1
- package/dist/connectors/postgres/datasources/common/guards.d.ts +4 -1
- package/dist/connectors/postgres/datasources/common/guards.d.ts.map +1 -1
- package/dist/connectors/postgres/datasources/common/guards.js +6 -2
- package/dist/connectors/postgres/datasources/common/guards.js.map +1 -1
- package/dist/connectors/postgres/datasources/common/types.d.ts +19 -19
- package/dist/connectors/postgres/datasources/common/types.d.ts.map +1 -1
- package/dist/connectors/postgres/datasources/common/types.js.map +1 -1
- package/dist/connectors/postgres/datasources/index.d.ts +1 -2
- package/dist/connectors/postgres/datasources/index.d.ts.map +1 -1
- package/dist/connectors/postgres/datasources/index.js +6 -6
- package/dist/connectors/postgres/datasources/index.js.map +1 -1
- package/dist/connectors/postgres/drivers/driver.d.ts +10 -32
- package/dist/connectors/postgres/drivers/driver.d.ts.map +1 -1
- package/dist/connectors/postgres/drivers/node-postgres.d.ts +3 -3
- package/dist/connectors/postgres/drivers/node-postgres.d.ts.map +1 -1
- package/dist/connectors/postgres/drivers/node-postgres.js +2 -1
- package/dist/connectors/postgres/drivers/node-postgres.js.map +1 -1
- package/dist/connectors/postgres/drivers/pglite.d.ts +49 -0
- package/dist/connectors/postgres/drivers/pglite.d.ts.map +1 -0
- package/dist/connectors/postgres/drivers/pglite.js +126 -0
- package/dist/connectors/postgres/drivers/pglite.js.map +1 -0
- package/dist/connectors/postgres/drivers/postgres-js.d.ts +3 -3
- package/dist/connectors/postgres/models/base.d.ts +1 -28
- package/dist/connectors/postgres/models/base.d.ts.map +1 -1
- package/dist/connectors/postgres/models/base.js +2 -40
- package/dist/connectors/postgres/models/base.js.map +1 -1
- package/dist/connectors/postgres/models/common/types.d.ts +1 -3
- package/dist/connectors/postgres/models/common/types.d.ts.map +1 -1
- package/dist/connectors/postgres/models/common/types.js +4 -4
- package/dist/connectors/postgres/models/common/types.js.map +1 -1
- package/dist/connectors/postgres/models/enrichers/data-type.enricher.d.ts.map +1 -1
- package/dist/connectors/postgres/models/enrichers/data-type.enricher.js +9 -6
- package/dist/connectors/postgres/models/enrichers/data-type.enricher.js.map +1 -1
- package/dist/connectors/postgres/models/enrichers/tz.enricher.d.ts +1 -3
- package/dist/connectors/postgres/models/enrichers/tz.enricher.d.ts.map +1 -1
- package/dist/connectors/postgres/models/enrichers/tz.enricher.js +2 -2
- package/dist/connectors/postgres/models/enrichers/tz.enricher.js.map +1 -1
- package/dist/connectors/postgres/repositories/common/shared.d.ts +2 -3
- package/dist/connectors/postgres/repositories/common/shared.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/common/shared.js +4 -11
- package/dist/connectors/postgres/repositories/common/shared.js.map +1 -1
- package/dist/connectors/postgres/repositories/common/types.d.ts +13 -35
- package/dist/connectors/postgres/repositories/common/types.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/core/base.d.ts +12 -243
- package/dist/connectors/postgres/repositories/core/base.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/core/base.js +9 -194
- package/dist/connectors/postgres/repositories/core/base.js.map +1 -1
- package/dist/connectors/postgres/repositories/core/default.d.ts +7 -5
- package/dist/connectors/postgres/repositories/core/default.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/core/default.js +5 -5
- package/dist/connectors/postgres/repositories/core/default.js.map +1 -1
- package/dist/connectors/postgres/repositories/core/index.d.ts +2 -7
- package/dist/connectors/postgres/repositories/core/index.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/core/index.js +2 -14
- package/dist/connectors/postgres/repositories/core/index.js.map +1 -1
- package/dist/connectors/postgres/repositories/core/persistable.d.ts +7 -179
- package/dist/connectors/postgres/repositories/core/persistable.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/core/persistable.js +5 -180
- package/dist/connectors/postgres/repositories/core/persistable.js.map +1 -1
- package/dist/connectors/postgres/repositories/core/readable.d.ts +7 -161
- package/dist/connectors/postgres/repositories/core/readable.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/core/readable.js +5 -210
- package/dist/connectors/postgres/repositories/core/readable.js.map +1 -1
- package/dist/connectors/postgres/repositories/core/soft-deletable.d.ts +15 -110
- package/dist/connectors/postgres/repositories/core/soft-deletable.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/core/soft-deletable.js +5 -79
- package/dist/connectors/postgres/repositories/core/soft-deletable.js.map +1 -1
- package/dist/connectors/postgres/repositories/dialect/filter.d.ts +18 -84
- package/dist/connectors/postgres/repositories/dialect/filter.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/dialect/filter.js +17 -490
- package/dist/connectors/postgres/repositories/dialect/filter.js.map +1 -1
- package/dist/connectors/postgres/repositories/dialect/index.d.ts +1 -0
- package/dist/connectors/postgres/repositories/dialect/index.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/dialect/index.js +1 -0
- package/dist/connectors/postgres/repositories/dialect/index.js.map +1 -1
- package/dist/connectors/postgres/repositories/dialect/query-dialect.d.ts +23 -0
- package/dist/connectors/postgres/repositories/dialect/query-dialect.d.ts.map +1 -0
- package/dist/connectors/postgres/repositories/dialect/query-dialect.js +28 -0
- package/dist/connectors/postgres/repositories/dialect/query-dialect.js.map +1 -0
- package/dist/connectors/postgres/repositories/dialect/relation.d.ts +1 -10
- package/dist/connectors/postgres/repositories/dialect/relation.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/dialect/relation.js +4 -39
- package/dist/connectors/postgres/repositories/dialect/relation.js.map +1 -1
- package/dist/connectors/postgres/repositories/dialect/update.d.ts +18 -21
- package/dist/connectors/postgres/repositories/dialect/update.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/dialect/update.js +17 -113
- package/dist/connectors/postgres/repositories/dialect/update.js.map +1 -1
- package/dist/connectors/postgres/repositories/executor.d.ts +31 -0
- package/dist/connectors/postgres/repositories/executor.d.ts.map +1 -0
- package/dist/connectors/postgres/repositories/executor.js +158 -0
- package/dist/connectors/postgres/repositories/executor.js.map +1 -0
- package/dist/connectors/postgres/repositories/index.d.ts +1 -0
- package/dist/connectors/postgres/repositories/index.d.ts.map +1 -1
- package/dist/connectors/postgres/repositories/index.js +3 -0
- package/dist/connectors/postgres/repositories/index.js.map +1 -1
- package/dist/connectors/relational/datasources/abstract.d.ts +71 -0
- package/dist/connectors/relational/datasources/abstract.d.ts.map +1 -0
- package/dist/connectors/relational/datasources/abstract.js +173 -0
- package/dist/connectors/relational/datasources/abstract.js.map +1 -0
- package/dist/connectors/relational/datasources/base.d.ts +22 -0
- package/dist/connectors/relational/datasources/base.d.ts.map +1 -0
- package/dist/connectors/relational/datasources/base.js +99 -0
- package/dist/connectors/relational/datasources/base.js.map +1 -0
- package/dist/connectors/relational/datasources/common/guards.d.ts +5 -0
- package/dist/connectors/relational/datasources/common/guards.d.ts.map +1 -0
- package/dist/connectors/relational/datasources/common/guards.js +9 -0
- package/dist/connectors/relational/datasources/common/guards.js.map +1 -0
- package/dist/connectors/relational/datasources/common/index.d.ts +3 -0
- package/dist/connectors/relational/datasources/common/index.d.ts.map +1 -0
- package/dist/connectors/relational/datasources/common/index.js +19 -0
- package/dist/connectors/relational/datasources/common/index.js.map +1 -0
- package/dist/connectors/relational/datasources/common/types.d.ts +24 -0
- package/dist/connectors/relational/datasources/common/types.d.ts.map +1 -0
- package/dist/connectors/relational/datasources/common/types.js +3 -0
- package/dist/connectors/relational/datasources/common/types.js.map +1 -0
- package/dist/connectors/relational/datasources/index.d.ts +4 -0
- package/dist/connectors/relational/datasources/index.d.ts.map +1 -0
- package/dist/connectors/relational/datasources/index.js +20 -0
- package/dist/connectors/relational/datasources/index.js.map +1 -0
- package/dist/connectors/relational/drivers/driver.d.ts +31 -0
- package/dist/connectors/relational/drivers/driver.d.ts.map +1 -0
- package/dist/connectors/relational/drivers/driver.js +3 -0
- package/dist/connectors/relational/drivers/driver.js.map +1 -0
- package/dist/connectors/relational/drivers/index.d.ts +2 -0
- package/dist/connectors/relational/drivers/index.d.ts.map +1 -0
- package/dist/connectors/relational/drivers/index.js +18 -0
- package/dist/connectors/relational/drivers/index.js.map +1 -0
- package/dist/connectors/relational/index.d.ts +5 -0
- package/dist/connectors/relational/index.d.ts.map +1 -0
- package/dist/connectors/relational/index.js +21 -0
- package/dist/connectors/relational/index.js.map +1 -0
- package/dist/connectors/relational/models/base.d.ts +29 -0
- package/dist/connectors/relational/models/base.d.ts.map +1 -0
- package/dist/connectors/relational/models/base.js +44 -0
- package/dist/connectors/relational/models/base.js.map +1 -0
- package/dist/connectors/relational/models/common/index.d.ts +2 -0
- package/dist/connectors/relational/models/common/index.d.ts.map +1 -0
- package/dist/connectors/relational/models/common/index.js +18 -0
- package/dist/connectors/relational/models/common/index.js.map +1 -0
- package/dist/connectors/relational/models/common/types.d.ts +30 -0
- package/dist/connectors/relational/models/common/types.d.ts.map +1 -0
- package/dist/connectors/relational/models/common/types.js +8 -0
- package/dist/connectors/relational/models/common/types.js.map +1 -0
- package/dist/connectors/relational/models/index.d.ts +3 -0
- package/dist/connectors/relational/models/index.d.ts.map +1 -0
- package/dist/connectors/relational/models/index.js +19 -0
- package/dist/connectors/relational/models/index.js.map +1 -0
- package/dist/connectors/relational/repositories/common/executor.d.ts +69 -0
- package/dist/connectors/relational/repositories/common/executor.d.ts.map +1 -0
- package/dist/connectors/relational/repositories/common/executor.js +3 -0
- package/dist/connectors/relational/repositories/common/executor.js.map +1 -0
- package/dist/connectors/relational/repositories/common/index.d.ts +4 -0
- package/dist/connectors/relational/repositories/common/index.d.ts.map +1 -0
- package/dist/connectors/relational/repositories/common/index.js +20 -0
- package/dist/connectors/relational/repositories/common/index.js.map +1 -0
- package/dist/connectors/relational/repositories/common/shared.d.ts +4 -0
- package/dist/connectors/relational/repositories/common/shared.d.ts.map +1 -0
- package/dist/connectors/relational/repositories/common/shared.js +15 -0
- package/dist/connectors/relational/repositories/common/shared.js.map +1 -0
- package/dist/connectors/relational/repositories/common/types.d.ts +66 -0
- package/dist/connectors/relational/repositories/common/types.d.ts.map +1 -0
- package/dist/connectors/relational/repositories/common/types.js +3 -0
- package/dist/connectors/relational/repositories/common/types.js.map +1 -0
- package/dist/connectors/relational/repositories/core/base.d.ts +233 -0
- package/dist/connectors/relational/repositories/core/base.d.ts.map +1 -0
- package/dist/connectors/relational/repositories/core/base.js +185 -0
- package/dist/connectors/relational/repositories/core/base.js.map +1 -0
- package/dist/connectors/relational/repositories/core/default.d.ts +9 -0
- package/dist/connectors/relational/repositories/core/default.d.ts.map +1 -0
- package/dist/connectors/relational/repositories/core/default.js +9 -0
- package/dist/connectors/relational/repositories/core/default.js.map +1 -0
- package/dist/connectors/relational/repositories/core/index.d.ts +6 -0
- package/dist/connectors/relational/repositories/core/index.d.ts.map +1 -0
- package/dist/connectors/relational/repositories/core/index.js +22 -0
- package/dist/connectors/relational/repositories/core/index.js.map +1 -0
- package/dist/connectors/relational/repositories/core/persistable.d.ts +181 -0
- package/dist/connectors/relational/repositories/core/persistable.d.ts.map +1 -0
- package/dist/connectors/relational/repositories/core/persistable.js +185 -0
- package/dist/connectors/relational/repositories/core/persistable.js.map +1 -0
- package/dist/connectors/relational/repositories/core/readable.d.ts +164 -0
- package/dist/connectors/relational/repositories/core/readable.d.ts.map +1 -0
- package/dist/connectors/relational/repositories/core/readable.js +207 -0
- package/dist/connectors/relational/repositories/core/readable.js.map +1 -0
- package/dist/connectors/relational/repositories/core/soft-deletable.d.ts +119 -0
- package/dist/connectors/relational/repositories/core/soft-deletable.d.ts.map +1 -0
- package/dist/connectors/relational/repositories/core/soft-deletable.js +85 -0
- package/dist/connectors/relational/repositories/core/soft-deletable.js.map +1 -0
- package/dist/connectors/relational/repositories/dialect/filter.d.ts +191 -0
- package/dist/connectors/relational/repositories/dialect/filter.d.ts.map +1 -0
- package/dist/connectors/relational/repositories/dialect/filter.js +570 -0
- package/dist/connectors/relational/repositories/dialect/filter.js.map +1 -0
- package/dist/connectors/relational/repositories/dialect/index.d.ts +5 -0
- package/dist/connectors/relational/repositories/dialect/index.d.ts.map +1 -0
- package/dist/connectors/relational/repositories/dialect/index.js +23 -0
- package/dist/connectors/relational/repositories/dialect/index.js.map +1 -0
- package/dist/connectors/{postgres → relational}/repositories/dialect/internal/json-utils.d.ts +4 -1
- package/dist/connectors/relational/repositories/dialect/internal/json-utils.d.ts.map +1 -0
- package/dist/connectors/{postgres → relational}/repositories/dialect/internal/json-utils.js +5 -2
- package/dist/connectors/relational/repositories/dialect/internal/json-utils.js.map +1 -0
- package/dist/connectors/relational/repositories/dialect/relation.d.ts +11 -0
- package/dist/connectors/relational/repositories/dialect/relation.d.ts.map +1 -0
- package/dist/connectors/relational/repositories/dialect/relation.js +43 -0
- package/dist/connectors/relational/repositories/dialect/relation.js.map +1 -0
- package/dist/connectors/relational/repositories/dialect/update.d.ts +38 -0
- package/dist/connectors/relational/repositories/dialect/update.d.ts.map +1 -0
- package/dist/connectors/relational/repositories/dialect/update.js +92 -0
- package/dist/connectors/relational/repositories/dialect/update.js.map +1 -0
- package/dist/connectors/relational/repositories/index.d.ts +4 -0
- package/dist/connectors/relational/repositories/index.d.ts.map +1 -0
- package/dist/connectors/relational/repositories/index.js +20 -0
- package/dist/connectors/relational/repositories/index.js.map +1 -0
- package/dist/connectors/search/common/errors.d.ts +54 -0
- package/dist/connectors/search/common/errors.d.ts.map +1 -0
- package/dist/connectors/search/common/errors.js +40 -0
- package/dist/connectors/search/common/errors.js.map +1 -0
- package/dist/connectors/search/common/index.d.ts +2 -0
- package/dist/connectors/search/common/index.d.ts.map +1 -0
- package/dist/connectors/search/common/index.js +18 -0
- package/dist/connectors/search/common/index.js.map +1 -0
- package/dist/connectors/search/index.d.ts +1 -0
- package/dist/connectors/search/index.d.ts.map +1 -1
- package/dist/connectors/search/index.js +1 -0
- package/dist/connectors/search/index.js.map +1 -1
- package/dist/connectors/search/internal/search-connector-internal.d.ts.map +1 -1
- package/dist/connectors/search/internal/search-connector-internal.js +2 -2
- package/dist/connectors/search/internal/search-connector-internal.js.map +1 -1
- package/dist/connectors/search/models/define-search-collection.d.ts.map +1 -1
- package/dist/connectors/search/models/define-search-collection.js +25 -2
- package/dist/connectors/search/models/define-search-collection.js.map +1 -1
- package/dist/connectors/search/models/types.d.ts +1 -0
- package/dist/connectors/search/models/types.d.ts.map +1 -1
- package/dist/connectors/search/repositories/common/dialect-helpers.d.ts +63 -2
- package/dist/connectors/search/repositories/common/dialect-helpers.d.ts.map +1 -1
- package/dist/connectors/search/repositories/common/dialect-helpers.js +120 -3
- package/dist/connectors/search/repositories/common/dialect-helpers.js.map +1 -1
- package/dist/connectors/search/repositories/common/types.d.ts +75 -0
- package/dist/connectors/search/repositories/common/types.d.ts.map +1 -1
- package/dist/connectors/search/repositories/common/types.js +21 -0
- package/dist/connectors/search/repositories/common/types.js.map +1 -1
- package/dist/connectors/search/repositories/core/base.d.ts +52 -4
- package/dist/connectors/search/repositories/core/base.d.ts.map +1 -1
- package/dist/connectors/search/repositories/core/base.js +96 -16
- package/dist/connectors/search/repositories/core/base.js.map +1 -1
- package/dist/connectors/search/repositories/core/persistable.d.ts +14 -0
- package/dist/connectors/search/repositories/core/persistable.d.ts.map +1 -1
- package/dist/connectors/search/repositories/core/persistable.js +26 -6
- package/dist/connectors/search/repositories/core/persistable.js.map +1 -1
- package/dist/connectors/search/repositories/core/readable.d.ts +26 -3
- package/dist/connectors/search/repositories/core/readable.d.ts.map +1 -1
- package/dist/connectors/search/repositories/core/readable.js +74 -22
- package/dist/connectors/search/repositories/core/readable.js.map +1 -1
- package/dist/connectors/sqlite/datasources/abstract.d.ts +16 -0
- package/dist/connectors/sqlite/datasources/abstract.d.ts.map +1 -0
- package/dist/connectors/sqlite/datasources/abstract.js +23 -0
- package/dist/connectors/sqlite/datasources/abstract.js.map +1 -0
- package/dist/connectors/sqlite/datasources/base.d.ts +30 -0
- package/dist/connectors/sqlite/datasources/base.d.ts.map +1 -0
- package/dist/connectors/sqlite/datasources/base.js +78 -0
- package/dist/connectors/sqlite/datasources/base.js.map +1 -0
- package/dist/connectors/sqlite/datasources/common/guards.d.ts +8 -0
- package/dist/connectors/sqlite/datasources/common/guards.d.ts.map +1 -0
- package/dist/connectors/sqlite/datasources/common/guards.js +13 -0
- package/dist/connectors/sqlite/datasources/common/guards.js.map +1 -0
- package/dist/connectors/sqlite/datasources/common/index.d.ts +3 -0
- package/dist/connectors/sqlite/datasources/common/index.d.ts.map +1 -0
- package/dist/connectors/sqlite/datasources/common/index.js +19 -0
- package/dist/connectors/sqlite/datasources/common/index.js.map +1 -0
- package/dist/connectors/sqlite/datasources/common/types.d.ts +48 -0
- package/dist/connectors/sqlite/datasources/common/types.d.ts.map +1 -0
- package/dist/connectors/sqlite/datasources/common/types.js +18 -0
- package/dist/connectors/sqlite/datasources/common/types.js.map +1 -0
- package/dist/connectors/sqlite/datasources/index.d.ts +4 -0
- package/dist/connectors/sqlite/datasources/index.d.ts.map +1 -0
- package/dist/connectors/sqlite/datasources/index.js +20 -0
- package/dist/connectors/sqlite/datasources/index.js.map +1 -0
- package/dist/connectors/sqlite/drivers/driver.d.ts +20 -0
- package/dist/connectors/sqlite/drivers/driver.d.ts.map +1 -0
- package/dist/connectors/sqlite/drivers/driver.js +3 -0
- package/dist/connectors/sqlite/drivers/driver.js.map +1 -0
- package/dist/connectors/sqlite/drivers/index.d.ts +2 -0
- package/dist/connectors/sqlite/drivers/index.d.ts.map +1 -0
- package/dist/connectors/sqlite/drivers/index.js +18 -0
- package/dist/connectors/sqlite/drivers/index.js.map +1 -0
- package/dist/connectors/sqlite/drivers/libsql.d.ts +53 -0
- package/dist/connectors/sqlite/drivers/libsql.d.ts.map +1 -0
- package/dist/connectors/sqlite/drivers/libsql.js +151 -0
- package/dist/connectors/sqlite/drivers/libsql.js.map +1 -0
- package/dist/connectors/sqlite/index.d.ts +5 -0
- package/dist/connectors/sqlite/index.d.ts.map +1 -0
- package/dist/connectors/sqlite/index.js +21 -0
- package/dist/connectors/sqlite/index.js.map +1 -0
- package/dist/connectors/sqlite/models/base.d.ts +10 -0
- package/dist/connectors/sqlite/models/base.d.ts.map +1 -0
- package/dist/connectors/sqlite/models/base.js +13 -0
- package/dist/connectors/sqlite/models/base.js.map +1 -0
- package/dist/connectors/sqlite/models/common/columns.d.ts +18 -0
- package/dist/connectors/sqlite/models/common/columns.d.ts.map +1 -0
- package/dist/connectors/sqlite/models/common/columns.js +46 -0
- package/dist/connectors/sqlite/models/common/columns.js.map +1 -0
- package/dist/connectors/sqlite/models/common/index.d.ts +3 -0
- package/dist/connectors/sqlite/models/common/index.d.ts.map +1 -0
- package/dist/connectors/sqlite/models/common/index.js +19 -0
- package/dist/connectors/sqlite/models/common/index.js.map +1 -0
- package/dist/connectors/sqlite/models/common/types.d.ts +88 -0
- package/dist/connectors/sqlite/models/common/types.d.ts.map +1 -0
- package/dist/connectors/sqlite/models/common/types.js +8 -0
- package/dist/connectors/sqlite/models/common/types.js.map +1 -0
- package/dist/connectors/sqlite/models/enrichers/data-type.enricher.d.ts +22 -0
- package/dist/connectors/sqlite/models/enrichers/data-type.enricher.d.ts.map +1 -0
- package/dist/connectors/sqlite/models/enrichers/data-type.enricher.js +41 -0
- package/dist/connectors/sqlite/models/enrichers/data-type.enricher.js.map +1 -0
- package/dist/connectors/sqlite/models/enrichers/id.enricher.d.ts +25 -0
- package/dist/connectors/sqlite/models/enrichers/id.enricher.d.ts.map +1 -0
- package/dist/connectors/sqlite/models/enrichers/id.enricher.js +37 -0
- package/dist/connectors/sqlite/models/enrichers/id.enricher.js.map +1 -0
- package/dist/connectors/sqlite/models/enrichers/index.d.ts +6 -0
- package/dist/connectors/sqlite/models/enrichers/index.d.ts.map +1 -0
- package/dist/connectors/sqlite/models/enrichers/index.js +22 -0
- package/dist/connectors/sqlite/models/enrichers/index.js.map +1 -0
- package/dist/connectors/sqlite/models/enrichers/principal.enricher.d.ts +23 -0
- package/dist/connectors/sqlite/models/enrichers/principal.enricher.d.ts.map +1 -0
- package/dist/connectors/sqlite/models/enrichers/principal.enricher.js +49 -0
- package/dist/connectors/sqlite/models/enrichers/principal.enricher.js.map +1 -0
- package/dist/connectors/sqlite/models/enrichers/tz.enricher.d.ts +26 -0
- package/dist/connectors/sqlite/models/enrichers/tz.enricher.d.ts.map +1 -0
- package/dist/connectors/sqlite/models/enrichers/tz.enricher.js +36 -0
- package/dist/connectors/sqlite/models/enrichers/tz.enricher.js.map +1 -0
- package/dist/connectors/sqlite/models/enrichers/user-audit.enricher.d.ts +14 -0
- package/dist/connectors/sqlite/models/enrichers/user-audit.enricher.d.ts.map +1 -0
- package/dist/connectors/sqlite/models/enrichers/user-audit.enricher.js +70 -0
- package/dist/connectors/sqlite/models/enrichers/user-audit.enricher.js.map +1 -0
- package/dist/connectors/sqlite/models/index.d.ts +4 -0
- package/dist/connectors/sqlite/models/index.d.ts.map +1 -0
- package/dist/connectors/sqlite/models/index.js +20 -0
- package/dist/connectors/sqlite/models/index.js.map +1 -0
- package/dist/connectors/sqlite/repositories/common/index.d.ts +2 -0
- package/dist/connectors/sqlite/repositories/common/index.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/common/index.js +18 -0
- package/dist/connectors/sqlite/repositories/common/index.js.map +1 -0
- package/dist/connectors/sqlite/repositories/common/types.d.ts +15 -0
- package/dist/connectors/sqlite/repositories/common/types.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/common/types.js +3 -0
- package/dist/connectors/sqlite/repositories/common/types.js.map +1 -0
- package/dist/connectors/sqlite/repositories/core/base.d.ts +14 -0
- package/dist/connectors/sqlite/repositories/core/base.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/core/base.js +13 -0
- package/dist/connectors/sqlite/repositories/core/base.js.map +1 -0
- package/dist/connectors/sqlite/repositories/core/default.d.ts +13 -0
- package/dist/connectors/sqlite/repositories/core/default.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/core/default.js +12 -0
- package/dist/connectors/sqlite/repositories/core/default.js.map +1 -0
- package/dist/connectors/sqlite/repositories/core/index.d.ts +6 -0
- package/dist/connectors/sqlite/repositories/core/index.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/core/index.js +22 -0
- package/dist/connectors/sqlite/repositories/core/index.js.map +1 -0
- package/dist/connectors/sqlite/repositories/core/persistable.d.ts +12 -0
- package/dist/connectors/sqlite/repositories/core/persistable.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/core/persistable.js +11 -0
- package/dist/connectors/sqlite/repositories/core/persistable.js.map +1 -0
- package/dist/connectors/sqlite/repositories/core/readable.d.ts +10 -0
- package/dist/connectors/sqlite/repositories/core/readable.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/core/readable.js +9 -0
- package/dist/connectors/sqlite/repositories/core/readable.js.map +1 -0
- package/dist/connectors/sqlite/repositories/core/soft-deletable.d.ts +27 -0
- package/dist/connectors/sqlite/repositories/core/soft-deletable.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/core/soft-deletable.js +13 -0
- package/dist/connectors/sqlite/repositories/core/soft-deletable.js.map +1 -0
- package/dist/connectors/sqlite/repositories/dialect/filter.d.ts +43 -0
- package/dist/connectors/sqlite/repositories/dialect/filter.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/dialect/filter.js +71 -0
- package/dist/connectors/sqlite/repositories/dialect/filter.js.map +1 -0
- package/dist/connectors/sqlite/repositories/dialect/index.d.ts +5 -0
- package/dist/connectors/sqlite/repositories/dialect/index.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/dialect/index.js +21 -0
- package/dist/connectors/sqlite/repositories/dialect/index.js.map +1 -0
- package/dist/connectors/sqlite/repositories/dialect/internal/json-column.d.ts +14 -0
- package/dist/connectors/sqlite/repositories/dialect/internal/json-column.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/dialect/internal/json-column.js +22 -0
- package/dist/connectors/sqlite/repositories/dialect/internal/json-column.js.map +1 -0
- package/dist/connectors/sqlite/repositories/dialect/internal/json-path.d.ts +22 -0
- package/dist/connectors/sqlite/repositories/dialect/internal/json-path.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/dialect/internal/json-path.js +45 -0
- package/dist/connectors/sqlite/repositories/dialect/internal/json-path.js.map +1 -0
- package/dist/connectors/sqlite/repositories/dialect/query-dialect.d.ts +23 -0
- package/dist/connectors/sqlite/repositories/dialect/query-dialect.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/dialect/query-dialect.js +28 -0
- package/dist/connectors/sqlite/repositories/dialect/query-dialect.js.map +1 -0
- package/dist/connectors/sqlite/repositories/dialect/query.d.ts +42 -0
- package/dist/connectors/sqlite/repositories/dialect/query.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/dialect/query.js +103 -0
- package/dist/connectors/sqlite/repositories/dialect/query.js.map +1 -0
- package/dist/connectors/sqlite/repositories/dialect/update.d.ts +27 -0
- package/dist/connectors/sqlite/repositories/dialect/update.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/dialect/update.js +46 -0
- package/dist/connectors/sqlite/repositories/dialect/update.js.map +1 -0
- package/dist/connectors/sqlite/repositories/executor.d.ts +40 -0
- package/dist/connectors/sqlite/repositories/executor.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/executor.js +162 -0
- package/dist/connectors/sqlite/repositories/executor.js.map +1 -0
- package/dist/connectors/sqlite/repositories/index.d.ts +5 -0
- package/dist/connectors/sqlite/repositories/index.d.ts.map +1 -0
- package/dist/connectors/sqlite/repositories/index.js +23 -0
- package/dist/connectors/sqlite/repositories/index.js.map +1 -0
- package/dist/connectors/typesense/compiler.d.ts.map +1 -1
- package/dist/connectors/typesense/compiler.js +30 -0
- package/dist/connectors/typesense/compiler.js.map +1 -1
- package/dist/connectors/typesense/connector.d.ts +21 -0
- package/dist/connectors/typesense/connector.d.ts.map +1 -1
- package/dist/connectors/typesense/connector.js +205 -28
- package/dist/connectors/typesense/connector.js.map +1 -1
- package/dist/connectors/typesense/internal/connector-internal.d.ts +33 -0
- package/dist/connectors/typesense/internal/connector-internal.d.ts.map +1 -1
- package/dist/connectors/typesense/internal/connector-internal.js +47 -1
- package/dist/connectors/typesense/internal/connector-internal.js.map +1 -1
- package/dist/connectors/typesense/repositories/common/types.d.ts +7 -0
- package/dist/connectors/typesense/repositories/common/types.d.ts.map +1 -1
- package/dist/connectors/typesense/repositories/dialect/query-dialect.d.ts +28 -7
- package/dist/connectors/typesense/repositories/dialect/query-dialect.d.ts.map +1 -1
- package/dist/connectors/typesense/repositories/dialect/query-dialect.js +227 -84
- package/dist/connectors/typesense/repositories/dialect/query-dialect.js.map +1 -1
- package/dist/helpers/inversion/common/types.d.ts +9 -0
- package/dist/helpers/inversion/common/types.d.ts.map +1 -1
- package/dist/helpers/inversion/mixins/repository.mixin.d.ts +18 -4
- package/dist/helpers/inversion/mixins/repository.mixin.d.ts.map +1 -1
- package/dist/helpers/inversion/mixins/repository.mixin.js +25 -8
- package/dist/helpers/inversion/mixins/repository.mixin.js.map +1 -1
- package/package.json +48 -20
- package/dist/base/repositories/common/operators.d.ts +0 -49
- package/dist/base/repositories/common/operators.d.ts.map +0 -1
- package/dist/base/repositories/common/operators.js +0 -121
- package/dist/base/repositories/common/operators.js.map +0 -1
- package/dist/base/repositories/query-schemas/fields.d.ts +0 -6
- package/dist/base/repositories/query-schemas/fields.d.ts.map +0 -1
- package/dist/base/repositories/query-schemas/fields.js +0 -17
- package/dist/base/repositories/query-schemas/fields.js.map +0 -1
- package/dist/base/repositories/query-schemas/filter.d.ts +0 -23
- package/dist/base/repositories/query-schemas/filter.d.ts.map +0 -1
- package/dist/base/repositories/query-schemas/filter.js +0 -72
- package/dist/base/repositories/query-schemas/filter.js.map +0 -1
- package/dist/base/repositories/query-schemas/limit.d.ts +0 -4
- package/dist/base/repositories/query-schemas/limit.d.ts.map +0 -1
- package/dist/base/repositories/query-schemas/limit.js +0 -12
- package/dist/base/repositories/query-schemas/limit.js.map +0 -1
- package/dist/base/repositories/query-schemas/offset.d.ts +0 -4
- package/dist/base/repositories/query-schemas/offset.d.ts.map +0 -1
- package/dist/base/repositories/query-schemas/offset.js +0 -12
- package/dist/base/repositories/query-schemas/offset.js.map +0 -1
- package/dist/base/repositories/query-schemas/order-by.d.ts +0 -4
- package/dist/base/repositories/query-schemas/order-by.d.ts.map +0 -1
- package/dist/base/repositories/query-schemas/order-by.js +0 -18
- package/dist/base/repositories/query-schemas/order-by.js.map +0 -1
- package/dist/base/repositories/query-schemas/skip.d.ts +0 -4
- package/dist/base/repositories/query-schemas/skip.d.ts.map +0 -1
- package/dist/base/repositories/query-schemas/skip.js +0 -12
- package/dist/base/repositories/query-schemas/skip.js.map +0 -1
- package/dist/base/repositories/query-schemas/where.d.ts +0 -9
- package/dist/base/repositories/query-schemas/where.d.ts.map +0 -1
- package/dist/base/repositories/query-schemas/where.js +0 -27
- package/dist/base/repositories/query-schemas/where.js.map +0 -1
- package/dist/connectors/postgres/repositories/dialect/internal/json-utils.d.ts.map +0 -1
- package/dist/connectors/postgres/repositories/dialect/internal/json-utils.js.map +0 -1
|
@@ -108,5 +108,19 @@ export declare class PersistableSearchRepository<TDocument extends object = obje
|
|
|
108
108
|
where?: TWhere;
|
|
109
109
|
shouldSkipDefaultFilter?: boolean;
|
|
110
110
|
}): string | undefined;
|
|
111
|
+
/**
|
|
112
|
+
* The write-path filter as THREE outcomes, because two of them are catastrophically different
|
|
113
|
+
* here: `filterBy: undefined` means "no effective where", which `deleteAll` treats as licence to
|
|
114
|
+
* truncate when `force` is set. An absorbing where must never land there -
|
|
115
|
+
* `deleteAll({ where: { or: permittedIds.map(...) } })` on an EMPTY permission list has to
|
|
116
|
+
* delete nothing, not the entire collection. `matchNone` is what keeps the two apart.
|
|
117
|
+
*/
|
|
118
|
+
protected buildScopedFilter(opts: {
|
|
119
|
+
where?: TWhere;
|
|
120
|
+
shouldSkipDefaultFilter?: boolean;
|
|
121
|
+
}): {
|
|
122
|
+
filterBy?: string;
|
|
123
|
+
matchNone: boolean;
|
|
124
|
+
};
|
|
111
125
|
}
|
|
112
126
|
//# sourceMappingURL=persistable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistable.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/persistable.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"persistable.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/persistable.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PersistableSearchRepository = void 0;
|
|
4
|
-
const common_1 = require("../../../../common");
|
|
4
|
+
const common_1 = require("../../../../connectors/search/common");
|
|
5
5
|
const common_2 = require("../../../../base/repositories/common");
|
|
6
6
|
const ignis_helpers_1 = require("@venizia/ignis-helpers");
|
|
7
7
|
const readable_1 = require("./readable");
|
|
@@ -52,8 +52,7 @@ class PersistableSearchRepository extends readable_1.ReadableSearchRepository {
|
|
|
52
52
|
const found = await this.findById({ id, options });
|
|
53
53
|
if (!found) {
|
|
54
54
|
throw (0, ignis_helpers_1.getError)({
|
|
55
|
-
|
|
56
|
-
messageCode: common_1.SearchErrorCodes.NOT_FOUND,
|
|
55
|
+
error: common_1.SearchErrors.NOT_FOUND,
|
|
57
56
|
message: `[${this.constructor.name}][updateById] Document not found or excluded by the default filter | Collection: ${this.collectionName} | Id: ${id}`,
|
|
58
57
|
});
|
|
59
58
|
}
|
|
@@ -73,10 +72,15 @@ class PersistableSearchRepository extends readable_1.ReadableSearchRepository {
|
|
|
73
72
|
this.assertNoTransaction(opts.options);
|
|
74
73
|
this.assertNoLock(opts.options);
|
|
75
74
|
const { data, where, options } = opts;
|
|
76
|
-
const filterBy = this.
|
|
75
|
+
const { filterBy, matchNone } = this.buildScopedFilter({
|
|
77
76
|
where,
|
|
78
77
|
shouldSkipDefaultFilter: options?.shouldSkipDefaultFilter,
|
|
79
78
|
});
|
|
79
|
+
// Checked BEFORE the undefined guard: an absorbing where selects no document, which is a
|
|
80
|
+
// well-formed request to update nothing - not the "no effective where" the guard refuses.
|
|
81
|
+
if (matchNone) {
|
|
82
|
+
return { count: 0, data: null };
|
|
83
|
+
}
|
|
80
84
|
if (filterBy === undefined) {
|
|
81
85
|
throw (0, ignis_helpers_1.getError)({
|
|
82
86
|
message: `[${this.constructor.name}][updateAll] DENY to perform | Collection: ${this.collectionName} | No effective where condition (no where and no @model defaultFilter) - refusing an unfiltered bulk update`,
|
|
@@ -118,10 +122,16 @@ class PersistableSearchRepository extends readable_1.ReadableSearchRepository {
|
|
|
118
122
|
this.assertNoLock(opts?.options);
|
|
119
123
|
const logger = this.logger.for(this.deleteAll.name);
|
|
120
124
|
const { where, options } = opts ?? {};
|
|
121
|
-
const filterBy = this.
|
|
125
|
+
const { filterBy, matchNone } = this.buildScopedFilter({
|
|
122
126
|
where,
|
|
123
127
|
shouldSkipDefaultFilter: options?.shouldSkipDefaultFilter,
|
|
124
128
|
});
|
|
129
|
+
// Checked BEFORE the undefined guard, and the reason `matchNone` exists as a distinct outcome:
|
|
130
|
+
// an absorbing where selects no document. Collapsing it to `undefined` would enter the branch
|
|
131
|
+
// below and, with `force`, TRUNCATE the collection - the exact inversion of what was asked.
|
|
132
|
+
if (matchNone) {
|
|
133
|
+
return { count: 0, data: null };
|
|
134
|
+
}
|
|
125
135
|
if (filterBy === undefined) {
|
|
126
136
|
// `where: {}` compiles to NO filter; wiping a collection must be asked for explicitly, exactly as Postgres demands `force` for an empty-where delete.
|
|
127
137
|
if (!options?.force) {
|
|
@@ -155,12 +165,22 @@ class PersistableSearchRepository extends readable_1.ReadableSearchRepository {
|
|
|
155
165
|
}
|
|
156
166
|
/** Resolves filterBy, AND-merging defaultWhere unless shouldSkipDefaultFilter. Returns undefined when there's no effective where - callers decide (updateAll refuses; deleteAll truncates). */
|
|
157
167
|
buildFilterBy(opts) {
|
|
168
|
+
return this.buildScopedFilter(opts).filterBy;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* The write-path filter as THREE outcomes, because two of them are catastrophically different
|
|
172
|
+
* here: `filterBy: undefined` means "no effective where", which `deleteAll` treats as licence to
|
|
173
|
+
* truncate when `force` is set. An absorbing where must never land there -
|
|
174
|
+
* `deleteAll({ where: { or: permittedIds.map(...) } })` on an EMPTY permission list has to
|
|
175
|
+
* delete nothing, not the entire collection. `matchNone` is what keeps the two apart.
|
|
176
|
+
*/
|
|
177
|
+
buildScopedFilter(opts) {
|
|
158
178
|
const { where, shouldSkipDefaultFilter } = opts;
|
|
159
179
|
const query = this.buildQuery({
|
|
160
180
|
filter: where !== undefined ? { where } : undefined,
|
|
161
181
|
shouldSkipDefaultFilter,
|
|
162
182
|
});
|
|
163
|
-
return query.filterBy;
|
|
183
|
+
return { filterBy: query.filterBy, matchNone: query.matchNone === true };
|
|
164
184
|
}
|
|
165
185
|
}
|
|
166
186
|
exports.PersistableSearchRepository = PersistableSearchRepository;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistable.js","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/persistable.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"persistable.js","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/persistable.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,13 @@ import type { IExtraOptions, TCount, TDataWithRange, TFilter, TFindOneOptions, T
|
|
|
3
3
|
import type { IdType } from '../../../../base/models';
|
|
4
4
|
import type { ISearchResult } from '../../../../connectors/search';
|
|
5
5
|
import type { TSearchInput } from '../../../../connectors/search/repositories/common';
|
|
6
|
+
import { SearchModes } from '../../../../connectors/search/repositories/common';
|
|
6
7
|
import type { AbstractSearchDataSource } from '../../../../connectors/search/datasources';
|
|
7
8
|
import { SearchBaseRepository } from './base';
|
|
9
|
+
/** The inputs the dialect translates - `raw` has already returned by the time these are resolved, and `applySearchInput` accepts only this narrowed union. */
|
|
10
|
+
type TTranslatableSearchInput = Exclude<TSearchInput, {
|
|
11
|
+
mode: typeof SearchModes.RAW;
|
|
12
|
+
}>;
|
|
8
13
|
/** Read-only search-repository tier - translates filters via the datasource's dialect and executes through the connector. */
|
|
9
14
|
export declare class ReadableSearchRepository<TDocument extends object = object, TDataSource extends AbstractSearchDataSource = AbstractSearchDataSource> extends SearchBaseRepository<TDocument, TDataSource> {
|
|
10
15
|
count(opts: {
|
|
@@ -27,15 +32,28 @@ export declare class ReadableSearchRepository<TDocument extends object = object,
|
|
|
27
32
|
filter: TFilter;
|
|
28
33
|
options?: TFindOneOptions<IExtraOptions, R>;
|
|
29
34
|
}): Promise<TNullable<R>>;
|
|
30
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* Delegates to findOne with id in where - routing through buildQuery is what makes
|
|
37
|
+
* hiddenFields/defaultFilter apply, so a soft-deleted document resolves to null. `where` is spread
|
|
38
|
+
* away last so a projection can never widen the id lookup.
|
|
39
|
+
*/
|
|
31
40
|
findById<R = TDocument>(opts: {
|
|
32
41
|
id: IdType;
|
|
42
|
+
filter?: Omit<TFilter, 'where'>;
|
|
33
43
|
options?: TFindOneOptions<IExtraOptions, R>;
|
|
34
44
|
}): Promise<TNullable<R>>;
|
|
35
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Unified search entry discriminated by `mode`: `raw` is a full passthrough - no dialect, no
|
|
47
|
+
* defaultFilter, no hiddenFields - while keyword/semantic/hybrid translate through the dialect
|
|
48
|
+
* like `find()`. Nothing engine-specific lives here; `ISearchQueryDialect.applySearchInput`
|
|
49
|
+
* owns it.
|
|
50
|
+
*/
|
|
36
51
|
search<R extends object = TDocument>(opts: TSearchInput & {
|
|
37
52
|
options?: IExtraOptions;
|
|
38
53
|
}): Promise<ISearchResult<R>>;
|
|
54
|
+
protected withDefaultQueryBy(opts: {
|
|
55
|
+
input: TTranslatableSearchInput;
|
|
56
|
+
}): TTranslatableSearchInput;
|
|
39
57
|
/** @throws Error - disabled in a read-only repository; unlocked progressively by Persistable/DefaultSearchRepository. */
|
|
40
58
|
create(opts: {
|
|
41
59
|
data: TDocument;
|
|
@@ -89,7 +107,11 @@ export declare class ReadableSearchRepository<TDocument extends object = object,
|
|
|
89
107
|
}): Promise<TCount & {
|
|
90
108
|
data: R;
|
|
91
109
|
}>;
|
|
92
|
-
/**
|
|
110
|
+
/**
|
|
111
|
+
* @throws Error - disabled in a read-only repository. `where` is optional where the base contract
|
|
112
|
+
* requires it: the `@model` defaultFilter alone can supply the effective filter, and Persistable
|
|
113
|
+
* refuses the write outright when neither is present.
|
|
114
|
+
*/
|
|
93
115
|
updateAll(_opts: {
|
|
94
116
|
data: Partial<TDocument>;
|
|
95
117
|
where?: TWhere;
|
|
@@ -126,4 +148,5 @@ export declare class ReadableSearchRepository<TDocument extends object = object,
|
|
|
126
148
|
data: null;
|
|
127
149
|
}>;
|
|
128
150
|
}
|
|
151
|
+
export {};
|
|
129
152
|
//# sourceMappingURL=readable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readable.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/readable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EACV,aAAa,EACb,MAAM,EACN,cAAc,EACd,OAAO,EACP,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,MAAM,EACP,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"readable.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/readable.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,8 @@ exports.ReadableSearchRepository = void 0;
|
|
|
4
4
|
const common_1 = require("../../../../base/repositories/common");
|
|
5
5
|
const common_2 = require("../../../../connectors/search/repositories/common");
|
|
6
6
|
const base_1 = require("./base");
|
|
7
|
+
/** The match-everything term. `build()` already seeds `query` with it, so a filter-only listing reaches the engine as `q: '*'` - naming fields for a term that ignores fields would mean nothing. */
|
|
8
|
+
const WILDCARD_QUERY = '*';
|
|
7
9
|
/** Read-only search-repository tier - translates filters via the datasource's dialect and executes through the connector. */
|
|
8
10
|
class ReadableSearchRepository extends base_1.SearchBaseRepository {
|
|
9
11
|
async count(opts) {
|
|
@@ -13,7 +15,13 @@ class ReadableSearchRepository extends base_1.SearchBaseRepository {
|
|
|
13
15
|
filter: { where: opts.where },
|
|
14
16
|
shouldSkipDefaultFilter: opts.options?.shouldSkipDefaultFilter,
|
|
15
17
|
});
|
|
16
|
-
//
|
|
18
|
+
// An absorbing where counts zero by definition. Asking the engine would mean sending NO
|
|
19
|
+
// filterBy at all, which counts the entire collection.
|
|
20
|
+
if (query.matchNone) {
|
|
21
|
+
return { count: 0 };
|
|
22
|
+
}
|
|
23
|
+
// Counted through the document endpoint, never search: an engine whose search total is capped
|
|
24
|
+
// or estimated would report a count that quietly lies.
|
|
17
25
|
const count = await this.connector.document.count({
|
|
18
26
|
collection: this.collectionName,
|
|
19
27
|
filterBy: query.filterBy,
|
|
@@ -24,7 +32,10 @@ class ReadableSearchRepository extends base_1.SearchBaseRepository {
|
|
|
24
32
|
const { count } = await this.count(opts);
|
|
25
33
|
return count > 0;
|
|
26
34
|
}
|
|
27
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* Bare array or `{ data, range }` per shouldQueryRange, postgres-shaped range. Typesense returns
|
|
37
|
+
* `found` in the same call as `hits`, so unlike SQL no second count query is needed.
|
|
38
|
+
*/
|
|
28
39
|
async find(opts) {
|
|
29
40
|
const { filter, options } = opts;
|
|
30
41
|
if (options?.retry) {
|
|
@@ -34,7 +45,8 @@ class ReadableSearchRepository extends base_1.SearchBaseRepository {
|
|
|
34
45
|
}
|
|
35
46
|
this.assertNoTransaction(options);
|
|
36
47
|
this.assertNoLock(options);
|
|
37
|
-
//
|
|
48
|
+
// An omitted limit falls back to @model settings.defaultLimit then DEFAULT_LIMIT - leaving
|
|
49
|
+
// `per_page` unset would be an unbounded query.
|
|
38
50
|
const effectiveFilter = {
|
|
39
51
|
...filter,
|
|
40
52
|
limit: filter?.limit ?? this.defaultLimit ?? common_1.DEFAULT_LIMIT,
|
|
@@ -43,13 +55,18 @@ class ReadableSearchRepository extends base_1.SearchBaseRepository {
|
|
|
43
55
|
filter: effectiveFilter,
|
|
44
56
|
shouldSkipDefaultFilter: options?.shouldSkipDefaultFilter,
|
|
45
57
|
});
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
58
|
+
// No round-trip for an absorbing where: with no filterBy the engine would happily return the
|
|
59
|
+
// whole collection, which is the opposite of what the filter asked for.
|
|
60
|
+
const result = query.matchNone
|
|
61
|
+
? { hits: [], found: 0 }
|
|
62
|
+
: await this.connector.search({
|
|
63
|
+
collection: this.collectionName,
|
|
64
|
+
params: this.queryDialect.toWireParams({ query }),
|
|
65
|
+
});
|
|
50
66
|
const { hits, found } = result;
|
|
51
|
-
//
|
|
52
|
-
//
|
|
67
|
+
// The cast is the caller's own unchecked assertion when they pass an explicit `find<Other>()`.
|
|
68
|
+
// Hidden fields are stripped in JS too, not only engine-side: Typesense honours
|
|
69
|
+
// `exclude_fields`, Meilisearch has no per-query exclusion at all.
|
|
53
70
|
const data = this.omitHiddenFieldsAll((hits ?? []).map(hit => hit.document));
|
|
54
71
|
if (!options?.shouldQueryRange) {
|
|
55
72
|
return data;
|
|
@@ -69,19 +86,29 @@ class ReadableSearchRepository extends base_1.SearchBaseRepository {
|
|
|
69
86
|
if (options?.retry) {
|
|
70
87
|
return this.findOneUntil({ filter, options });
|
|
71
88
|
}
|
|
72
|
-
// `retry` is handled above so it is absent here; TFindOneOptions's retry generic (TNullable<R>)
|
|
89
|
+
// `retry` is handled above so it is absent here; TFindOneOptions's retry generic (TNullable<R>)
|
|
90
|
+
// does not unify with find's own (Array<R>), hence the options-only cast.
|
|
73
91
|
const results = await this.find({
|
|
74
92
|
filter: { ...filter, limit: 1 },
|
|
75
93
|
options: options,
|
|
76
94
|
});
|
|
77
95
|
return results[0] ?? null;
|
|
78
96
|
}
|
|
79
|
-
/**
|
|
97
|
+
/**
|
|
98
|
+
* Delegates to findOne with id in where - routing through buildQuery is what makes
|
|
99
|
+
* hiddenFields/defaultFilter apply, so a soft-deleted document resolves to null. `where` is spread
|
|
100
|
+
* away last so a projection can never widen the id lookup.
|
|
101
|
+
*/
|
|
80
102
|
findById(opts) {
|
|
81
|
-
const { id, options } = opts;
|
|
82
|
-
return this.findOne({ filter: { where: { id } }, options });
|
|
103
|
+
const { id, filter, options } = opts;
|
|
104
|
+
return this.findOne({ filter: { ...filter, where: { id } }, options });
|
|
83
105
|
}
|
|
84
|
-
/**
|
|
106
|
+
/**
|
|
107
|
+
* Unified search entry discriminated by `mode`: `raw` is a full passthrough - no dialect, no
|
|
108
|
+
* defaultFilter, no hiddenFields - while keyword/semantic/hybrid translate through the dialect
|
|
109
|
+
* like `find()`. Nothing engine-specific lives here; `ISearchQueryDialect.applySearchInput`
|
|
110
|
+
* owns it.
|
|
111
|
+
*/
|
|
85
112
|
async search(opts) {
|
|
86
113
|
if (opts.mode === common_2.SearchModes.RAW) {
|
|
87
114
|
return this.connector.search({
|
|
@@ -95,7 +122,13 @@ class ReadableSearchRepository extends base_1.SearchBaseRepository {
|
|
|
95
122
|
filter: opts.filter,
|
|
96
123
|
shouldSkipDefaultFilter: opts.options?.shouldSkipDefaultFilter,
|
|
97
124
|
});
|
|
98
|
-
this.queryDialect.applySearchInput({ query, input: opts });
|
|
125
|
+
this.queryDialect.applySearchInput({ query, input: this.withDefaultQueryBy({ input: opts }) });
|
|
126
|
+
// Same short-circuit as find(): an absorbing filter cannot be expressed to the engine, and
|
|
127
|
+
// omitting it would search everything.
|
|
128
|
+
// `isFoundExact` is true because zero is not an estimate - nothing was searched to approximate.
|
|
129
|
+
if (query.matchNone) {
|
|
130
|
+
return { hits: [], found: 0, isFoundExact: true };
|
|
131
|
+
}
|
|
99
132
|
const result = await this.connector.search({
|
|
100
133
|
collection: this.collectionName,
|
|
101
134
|
params: this.queryDialect.toWireParams({ query }),
|
|
@@ -108,25 +141,44 @@ class ReadableSearchRepository extends base_1.SearchBaseRepository {
|
|
|
108
141
|
})),
|
|
109
142
|
};
|
|
110
143
|
}
|
|
144
|
+
withDefaultQueryBy(opts) {
|
|
145
|
+
const { input } = opts;
|
|
146
|
+
if (input.mode !== common_2.SearchModes.KEYWORD || input.queryBy) {
|
|
147
|
+
return input;
|
|
148
|
+
}
|
|
149
|
+
const term = input.query?.trim();
|
|
150
|
+
if (!term || term === WILDCARD_QUERY) {
|
|
151
|
+
return input;
|
|
152
|
+
}
|
|
153
|
+
const defaultQueryBy = this.entity?.schema?.defaultQueryBy;
|
|
154
|
+
if (!defaultQueryBy || defaultQueryBy.length === 0) {
|
|
155
|
+
return input;
|
|
156
|
+
}
|
|
157
|
+
return { ...input, queryBy: [...defaultQueryBy] };
|
|
158
|
+
}
|
|
111
159
|
create(_opts) {
|
|
112
|
-
return this.denyOperation(this.create.name);
|
|
160
|
+
return this.denyOperation({ methodName: this.create.name });
|
|
113
161
|
}
|
|
114
162
|
createAll(_opts) {
|
|
115
|
-
return this.denyOperation(this.createAll.name);
|
|
163
|
+
return this.denyOperation({ methodName: this.createAll.name });
|
|
116
164
|
}
|
|
117
165
|
updateById(_opts) {
|
|
118
|
-
return this.denyOperation(this.updateById.name);
|
|
166
|
+
return this.denyOperation({ methodName: this.updateById.name });
|
|
119
167
|
}
|
|
120
|
-
/**
|
|
168
|
+
/**
|
|
169
|
+
* @throws Error - disabled in a read-only repository. `where` is optional where the base contract
|
|
170
|
+
* requires it: the `@model` defaultFilter alone can supply the effective filter, and Persistable
|
|
171
|
+
* refuses the write outright when neither is present.
|
|
172
|
+
*/
|
|
121
173
|
updateAll(_opts) {
|
|
122
|
-
return this.denyOperation(this.updateAll.name);
|
|
174
|
+
return this.denyOperation({ methodName: this.updateAll.name });
|
|
123
175
|
}
|
|
124
176
|
deleteById(_opts) {
|
|
125
|
-
return this.denyOperation(this.deleteById.name);
|
|
177
|
+
return this.denyOperation({ methodName: this.deleteById.name });
|
|
126
178
|
}
|
|
127
179
|
/** @throws Error - disabled in a read-only repository. Unlocked by DefaultSearchRepository. */
|
|
128
180
|
deleteAll(_opts) {
|
|
129
|
-
return this.denyOperation(this.deleteAll.name);
|
|
181
|
+
return this.denyOperation({ methodName: this.deleteAll.name });
|
|
130
182
|
}
|
|
131
183
|
}
|
|
132
184
|
exports.ReadableSearchRepository = ReadableSearchRepository;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readable.js","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/readable.ts"],"names":[],"mappings":";;;AAWA,uDAA2E;AAI3E,oEAAsE;AAEtE,iCAA8C;AAE9C,6HAA6H;AAC7H,MAAa,wBAGX,SAAQ,2BAA4C;IACpD,KAAK,CAAC,KAAK,CAAC,IAAgD;QAC1D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5B,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YAC7B,uBAAuB,EAAE,IAAI,CAAC,OAAO,EAAE,uBAAuB;SAC/D,CAAC,CAAC;QAEH,
|
|
1
|
+
{"version":3,"file":"readable.js","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/readable.ts"],"names":[],"mappings":";;;AAWA,uDAA2E;AAI3E,oEAAsE;AAEtE,iCAA8C;AAE9C,qMAAqM;AACrM,MAAM,cAAc,GAAG,GAAG,CAAC;AAK3B,6HAA6H;AAC7H,MAAa,wBAGX,SAAQ,2BAA4C;IACpD,KAAK,CAAC,KAAK,CAAC,IAAgD;QAC1D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5B,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YAC7B,uBAAuB,EAAE,IAAI,CAAC,OAAO,EAAE,uBAAuB;SAC/D,CAAC,CAAC;QAEH,wFAAwF;QACxF,uDAAuD;QACvD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACtB,CAAC;QAED,8FAA8F;QAC9F,uDAAuD;QACvD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YAChD,UAAU,EAAE,IAAI,CAAC,cAAc;YAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAgD;QAC/D,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;IAYD;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAgB,IAGzB;QACC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAEjC,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,gBAAgB,KAAK,IAAI;gBACtC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC7C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE3B,2FAA2F;QAC3F,gDAAgD;QAChD,MAAM,eAAe,GAAY;YAC/B,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,YAAY,IAAI,sBAAa;SAC3D,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5B,MAAM,EAAE,eAAe;YACvB,uBAAuB,EAAE,OAAO,EAAE,uBAAuB;SAC1D,CAAC,CAAC;QAEH,6FAA6F;QAC7F,wEAAwE;QACxE,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS;YAC5B,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YACxB,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAY;gBACrC,UAAU,EAAE,IAAI,CAAC,cAAc;gBAC/B,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC;aAClD,CAAC,CAAC;QAEP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAE/B,+FAA+F;QAC/F,gFAAgF;QAChF,mEAAmE;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAQ,CAAC;QAEpF,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,IAAI;YACJ,KAAK,EAAE,IAAA,uBAAc,EAAC;gBACpB,IAAI,EAAE,eAAe,CAAC,IAAI;gBAC1B,MAAM,EAAE,eAAe,CAAC,MAAM;gBAC9B,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,KAAK,EAAE,KAAK;aACb,CAAC;SACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAgB,IAG5B;QACC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAEjC,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,YAAY,CAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,gGAAgG;QAChG,0EAA0E;QAC1E,MAAM,OAAO,GAAa,MAAM,IAAI,CAAC,IAAI,CAAI;YAC3C,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;YAC/B,OAAO,EAAE,OAAyC;SACnD,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAgB,IAIvB;QACC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAErC,OAAO,IAAI,CAAC,OAAO,CAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,IAAgD;QAEhD,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAW,CAAC,GAAG,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAI;gBAC9B,UAAU,EAAE,IAAI,CAAC,cAAc;gBAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,uBAAuB,EAAE,IAAI,CAAC,OAAO,EAAE,uBAAuB;SAC/D,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAE/F,2FAA2F;QAC3F,uCAAuC;QACvC,gGAAgG;QAChG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QACpD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAI;YAC5C,UAAU,EAAE,IAAI,CAAC,cAAc;YAC/B,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC;SAClD,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,MAAM;YACT,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpC,GAAG,GAAG;gBACN,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC;aAC9C,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAES,kBAAkB,CAAC,IAE5B;QACC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAEvB,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAW,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QAEjC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC;QAE3D,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC;IACpD,CAAC;IAWD,MAAM,CAAgB,KAGrB;QACC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAWD,SAAS,CAAgB,KAGxB;QACC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAaD,UAAU,CAAgB,KAIzB;QACC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,KAIT;QACC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAWD,UAAU,CAAgB,KAGzB;QACC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,+FAA+F;IAC/F,SAAS,CAAC,KAGT;QACC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;CACF;AA3SD,4DA2SC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { TAnyDataSourceSchema } from '../../../base/datasources';
|
|
2
|
+
import { BaseRelationalDataSource } from '../../../connectors/relational/datasources';
|
|
3
|
+
import type { IRelationalQueryDialect, IRelationalQueryExecutor } from '../../../connectors/relational/repositories/common';
|
|
4
|
+
import type { TSqliteConnector } from '../../../connectors/sqlite/drivers';
|
|
5
|
+
/**
|
|
6
|
+
* SQLite branch root: supplies the SQLite dialect and executor on
|
|
7
|
+
* top of the engine-neutral `BaseRelationalDataSource`. The BEGIN
|
|
8
|
+
* statement stays abstract - `BaseSqliteDataSource` supplies it.
|
|
9
|
+
*/
|
|
10
|
+
export declare abstract class AbstractSqliteDataSource<Settings extends object = {}, Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema, ConfigurableOptions extends object = {}, Client = unknown> extends BaseRelationalDataSource<Settings, Schema, ConfigurableOptions, Client, TSqliteConnector<Schema>> {
|
|
11
|
+
private static queryDialect?;
|
|
12
|
+
private static queryExecutor?;
|
|
13
|
+
getQueryDialect(): IRelationalQueryDialect;
|
|
14
|
+
getQueryExecutor(): IRelationalQueryExecutor<TSqliteConnector<Schema>>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=abstract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../../src/connectors/sqlite/datasources/abstract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAIpE;;;;GAIG;AACH,8BAAsB,wBAAwB,CAC5C,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,EAC1D,mBAAmB,SAAS,MAAM,GAAG,EAAE,EACvC,MAAM,GAAG,OAAO,CAChB,SAAQ,wBAAwB,CAChC,QAAQ,EACR,MAAM,EACN,mBAAmB,EACnB,MAAM,EACN,gBAAgB,CAAC,MAAM,CAAC,CACzB;IACC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAA0B;IACtD,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAA6C;IAEjE,eAAe,IAAI,uBAAuB;IAK1C,gBAAgB,IAAI,wBAAwB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;CAMhF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AbstractSqliteDataSource = void 0;
|
|
4
|
+
const datasources_1 = require("../../../connectors/relational/datasources");
|
|
5
|
+
const executor_1 = require("../../../connectors/sqlite/repositories/executor");
|
|
6
|
+
const query_dialect_1 = require("../../../connectors/sqlite/repositories/dialect/query-dialect");
|
|
7
|
+
/**
|
|
8
|
+
* SQLite branch root: supplies the SQLite dialect and executor on
|
|
9
|
+
* top of the engine-neutral `BaseRelationalDataSource`. The BEGIN
|
|
10
|
+
* statement stays abstract - `BaseSqliteDataSource` supplies it.
|
|
11
|
+
*/
|
|
12
|
+
class AbstractSqliteDataSource extends datasources_1.BaseRelationalDataSource {
|
|
13
|
+
getQueryDialect() {
|
|
14
|
+
AbstractSqliteDataSource.queryDialect ??= new query_dialect_1.SqliteQueryDialect();
|
|
15
|
+
return AbstractSqliteDataSource.queryDialect;
|
|
16
|
+
}
|
|
17
|
+
getQueryExecutor() {
|
|
18
|
+
AbstractSqliteDataSource.queryExecutor ??= new executor_1.SqliteQueryExecutor();
|
|
19
|
+
return AbstractSqliteDataSource.queryExecutor;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.AbstractSqliteDataSource = AbstractSqliteDataSource;
|
|
23
|
+
//# sourceMappingURL=abstract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/connectors/sqlite/datasources/abstract.ts"],"names":[],"mappings":";;;AACA,qEAA+E;AAM/E,wEAAgF;AAChF,0FAA4F;AAE5F;;;;GAIG;AACH,MAAsB,wBAKpB,SAAQ,sCAMT;IAIU,eAAe;QACtB,wBAAwB,CAAC,YAAY,KAAK,IAAI,kCAAkB,EAAE,CAAC;QACnE,OAAO,wBAAwB,CAAC,YAAY,CAAC;IAC/C,CAAC;IAEQ,gBAAgB;QACvB,wBAAwB,CAAC,aAAa,KAAK,IAAI,8BAAmB,EAAE,CAAC;QACrE,OAAO,wBAAwB,CAAC,aAE/B,CAAC;IACJ,CAAC;CACF;AA1BD,4DA0BC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { TAnyDataSourceSchema } from '../../../base/datasources';
|
|
2
|
+
import type { ValueOrPromise } from '@venizia/ignis-helpers';
|
|
3
|
+
import { AbstractSqliteDataSource } from './abstract';
|
|
4
|
+
import type { ISqliteDataSourceSettings, ISqliteTransaction, ISqliteTransactionOptions } from './common';
|
|
5
|
+
/**
|
|
6
|
+
* SQLite's half of the transaction seam: supplies the BEGIN statement the inherited
|
|
7
|
+
* `beginTransaction()` delegates to, then attaches `beginMode` - a SQLite-only field the neutral
|
|
8
|
+
* `IRelationalTransaction` has no concept of.
|
|
9
|
+
*/
|
|
10
|
+
export declare abstract class BaseSqliteDataSource<Settings extends object = ISqliteDataSourceSettings, Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema, ConfigurableOptions extends object = {}, Client = unknown> extends AbstractSqliteDataSource<Settings, Schema, ConfigurableOptions, Client> {
|
|
11
|
+
private resolveBeginMode;
|
|
12
|
+
/**
|
|
13
|
+
* The driver runs the BEGIN verbatim and never parameterized, so an
|
|
14
|
+
* unchecked mode is raw interpolation into SQL. Matched as written -
|
|
15
|
+
* SQLite's keywords are upper-case and nothing here normalises them.
|
|
16
|
+
*/
|
|
17
|
+
private assertBeginMode;
|
|
18
|
+
/**
|
|
19
|
+
* `beginTransaction()` settles the mode before delegating here; the assertion still runs so a
|
|
20
|
+
* subclass calling this directly cannot interpolate an unchecked mode.
|
|
21
|
+
*/
|
|
22
|
+
protected buildBeginStatement(opts?: ISqliteTransactionOptions): string;
|
|
23
|
+
beginTransaction(opts?: ISqliteTransactionOptions): Promise<ISqliteTransaction<Schema>>;
|
|
24
|
+
/**
|
|
25
|
+
* libsql's url IS SQLite's connection string; an app
|
|
26
|
+
* whose settings spell it differently overrides this.
|
|
27
|
+
*/
|
|
28
|
+
getConnectionString(): ValueOrPromise<string>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/connectors/sqlite/datasources/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EACV,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EAE1B,MAAM,UAAU,CAAC;AAGlB;;;;GAIG;AACH,8BAAsB,oBAAoB,CACxC,QAAQ,SAAS,MAAM,GAAG,yBAAyB,EACnD,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,EAC1D,mBAAmB,SAAS,MAAM,GAAG,EAAE,EACvC,MAAM,GAAG,OAAO,CAChB,SAAQ,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC;IAC/E,OAAO,CAAC,gBAAgB;IAiBxB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAYvB;;;OAGG;cACgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,yBAAyB,GAAG,MAAM;IAQjE,gBAAgB,CAC7B,IAAI,CAAC,EAAE,yBAAyB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IActC;;;OAGG;IACM,mBAAmB,IAAI,cAAc,CAAC,MAAM,CAAC;CAWvD"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseSqliteDataSource = void 0;
|
|
4
|
+
const utilities_1 = require("../../../utilities");
|
|
5
|
+
const ignis_helpers_1 = require("@venizia/ignis-helpers");
|
|
6
|
+
const abstract_1 = require("./abstract");
|
|
7
|
+
const common_1 = require("./common");
|
|
8
|
+
/**
|
|
9
|
+
* SQLite's half of the transaction seam: supplies the BEGIN statement the inherited
|
|
10
|
+
* `beginTransaction()` delegates to, then attaches `beginMode` - a SQLite-only field the neutral
|
|
11
|
+
* `IRelationalTransaction` has no concept of.
|
|
12
|
+
*/
|
|
13
|
+
class BaseSqliteDataSource extends abstract_1.AbstractSqliteDataSource {
|
|
14
|
+
resolveBeginMode(opts) {
|
|
15
|
+
// Silently ignoring it would leave the caller believing SERIALIZABLE was honoured; every SQLite
|
|
16
|
+
// transaction already is, so there is nothing to map it onto.
|
|
17
|
+
if (opts?.isolationLevel) {
|
|
18
|
+
(0, utilities_1.throwNotSupported)({
|
|
19
|
+
scope: this.constructor.name,
|
|
20
|
+
feature: `Isolation level '${opts.isolationLevel}' - SQLite has no isolation levels; pass \`beginMode\` (${common_1.SqliteBeginModes.DEFERRED} | ${common_1.SqliteBeginModes.IMMEDIATE} | ${common_1.SqliteBeginModes.EXCLUSIVE}) instead`,
|
|
21
|
+
logger: this.logger,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
// IMMEDIATE, not DEFERRED: a deferred transaction takes its write lock at
|
|
25
|
+
// the first write, and that upgrade fails outright with SQLITE_BUSY when
|
|
26
|
+
// another writer got there first, where IMMEDIATE waits on the busy timeout.
|
|
27
|
+
return this.assertBeginMode({ beginMode: opts?.beginMode ?? common_1.SqliteBeginModes.IMMEDIATE });
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The driver runs the BEGIN verbatim and never parameterized, so an
|
|
31
|
+
* unchecked mode is raw interpolation into SQL. Matched as written -
|
|
32
|
+
* SQLite's keywords are upper-case and nothing here normalises them.
|
|
33
|
+
*/
|
|
34
|
+
assertBeginMode(opts) {
|
|
35
|
+
const { beginMode } = opts;
|
|
36
|
+
if (!common_1.SqliteBeginModes.isValid(beginMode)) {
|
|
37
|
+
throw (0, ignis_helpers_1.getError)({
|
|
38
|
+
message: `[${this.constructor.name}][assertBeginMode] Unknown beginMode '${beginMode}' | Expected ${common_1.SqliteBeginModes.DEFERRED} | ${common_1.SqliteBeginModes.IMMEDIATE} | ${common_1.SqliteBeginModes.EXCLUSIVE}`,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return beginMode;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* `beginTransaction()` settles the mode before delegating here; the assertion still runs so a
|
|
45
|
+
* subclass calling this directly cannot interpolate an unchecked mode.
|
|
46
|
+
*/
|
|
47
|
+
buildBeginStatement(opts) {
|
|
48
|
+
const beginMode = this.assertBeginMode({
|
|
49
|
+
beginMode: opts?.beginMode ?? common_1.SqliteBeginModes.IMMEDIATE,
|
|
50
|
+
});
|
|
51
|
+
return `BEGIN ${beginMode}`;
|
|
52
|
+
}
|
|
53
|
+
async beginTransaction(opts) {
|
|
54
|
+
// Resolved once and handed down, so the refusal paths run a single time per
|
|
55
|
+
// transaction rather than once here and once inside buildBeginStatement().
|
|
56
|
+
const beginMode = this.resolveBeginMode(opts);
|
|
57
|
+
const beginOptions = { ...opts, beginMode };
|
|
58
|
+
const transaction = await super.beginTransaction(beginOptions);
|
|
59
|
+
// Annotated so `TSqliteBeginMode` survives fresh-object-literal widening back to `string`.
|
|
60
|
+
const patch = { beginMode };
|
|
61
|
+
return Object.assign(transaction, patch);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* libsql's url IS SQLite's connection string; an app
|
|
65
|
+
* whose settings spell it differently overrides this.
|
|
66
|
+
*/
|
|
67
|
+
getConnectionString() {
|
|
68
|
+
const { url } = this.settings;
|
|
69
|
+
if (!url) {
|
|
70
|
+
throw (0, ignis_helpers_1.getError)({
|
|
71
|
+
message: `[${this.constructor.name}][getConnectionString] No 'url' in settings | Carry the libsql url in config (\`:memory:\`, \`file:./data.db\`, \`libsql://...\`), or override getConnectionString()`,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return url;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.BaseSqliteDataSource = BaseSqliteDataSource;
|
|
78
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/connectors/sqlite/datasources/base.ts"],"names":[],"mappings":";;;AACA,2CAAgD;AAEhD,0DAAkD;AAClD,yCAAsD;AAOtD,qCAA4C;AAE5C;;;;GAIG;AACH,MAAsB,oBAKpB,SAAQ,mCAAuE;IACvE,gBAAgB,CAAC,IAAgC;QACvD,gGAAgG;QAChG,8DAA8D;QAC9D,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC;YACzB,IAAA,6BAAiB,EAAC;gBAChB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;gBAC5B,OAAO,EAAE,oBAAoB,IAAI,CAAC,cAAc,2DAA2D,yBAAgB,CAAC,QAAQ,MAAM,yBAAgB,CAAC,SAAS,MAAM,yBAAgB,CAAC,SAAS,WAAW;gBAC/M,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,6EAA6E;QAC7E,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,yBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED;;;;OAIG;IACK,eAAe,CAAC,IAA2B;QACjD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,yBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,yCAAyC,SAAS,gBAAgB,yBAAgB,CAAC,QAAQ,MAAM,yBAAgB,CAAC,SAAS,MAAM,yBAAgB,CAAC,SAAS,EAAE;aAChM,CAAC,CAAC;QACL,CAAC;QAED,OAAO,SAA6B,CAAC;IACvC,CAAC;IAED;;;OAGG;IACgB,mBAAmB,CAAC,IAAgC;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;YACrC,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,yBAAgB,CAAC,SAAS;SACzD,CAAC,CAAC;QAEH,OAAO,SAAS,SAAS,EAAE,CAAC;IAC9B,CAAC;IAEQ,KAAK,CAAC,gBAAgB,CAC7B,IAAgC;QAEhC,4EAA4E;QAC5E,2EAA2E;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE9C,MAAM,YAAY,GAA8B,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC;QACvE,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAE/D,2FAA2F;QAC3F,MAAM,KAAK,GAAoC,EAAE,SAAS,EAAE,CAAC;QAE7D,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACM,mBAAmB;QAC1B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,QAA8C,CAAC;QAEpE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,sKAAsK;aACzM,CAAC,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAnFD,oDAmFC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ITransaction } from '../../../../base/datasources';
|
|
2
|
+
import type { ISqliteTransaction } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Narrows the neutral `ITransaction` to the SQLite handle before accessing `.connector`.
|
|
5
|
+
* The runtime check is the neutral guard's; only the narrowed type differs.
|
|
6
|
+
*/
|
|
7
|
+
export declare const isSqliteTransaction: (transaction: ITransaction | undefined) => transaction is ISqliteTransaction;
|
|
8
|
+
//# sourceMappingURL=guards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/sqlite/datasources/common/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,aAAa,YAAY,GAAG,SAAS,KACpC,WAAW,IAAI,kBAEjB,CAAC"}
|