@loopback/repository 4.0.0-alpha.8 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +25 -0
- package/README.md +93 -389
- package/dist/common-types.d.ts +96 -0
- package/dist/common-types.js +24 -0
- package/dist/common-types.js.map +1 -0
- package/dist/connectors/connector.d.ts +48 -0
- package/{lib → dist/connectors}/connector.js +1 -1
- package/dist/connectors/connector.js.map +1 -0
- package/{lib/crud-connector.d.ts → dist/connectors/crud.connector.d.ts} +51 -51
- package/{lib/common-types.js → dist/connectors/crud.connector.js} +2 -2
- package/dist/connectors/crud.connector.js.map +1 -0
- package/dist/connectors/index.d.ts +3 -0
- package/dist/connectors/index.js +11 -0
- package/dist/connectors/index.js.map +1 -0
- package/{lib6/kv-connector.d.ts → dist/connectors/kv.connector.d.ts} +28 -28
- package/{lib/datasource.js → dist/connectors/kv.connector.js} +2 -2
- package/dist/connectors/kv.connector.js.map +1 -0
- package/dist/datasource.d.ts +27 -0
- package/{lib6 → dist}/datasource.js +1 -1
- package/dist/datasource.js.map +1 -0
- package/dist/decorators/index.d.ts +3 -0
- package/dist/decorators/index.js +11 -0
- package/dist/decorators/index.js.map +1 -0
- package/dist/decorators/metadata.d.ts +12 -0
- package/dist/decorators/metadata.js +51 -0
- package/dist/decorators/metadata.js.map +1 -0
- package/dist/decorators/model.decorator.d.ts +40 -0
- package/dist/decorators/model.decorator.js +112 -0
- package/dist/decorators/model.decorator.js.map +1 -0
- package/dist/decorators/repository.decorator.d.ts +106 -0
- package/dist/decorators/repository.decorator.js +114 -0
- package/dist/decorators/repository.decorator.js.map +1 -0
- package/dist/define-model-class.d.ts +55 -0
- package/dist/define-model-class.js +57 -0
- package/dist/define-model-class.js.map +1 -0
- package/dist/define-repository-class.d.ts +119 -0
- package/dist/define-repository-class.js +98 -0
- package/dist/define-repository-class.js.map +1 -0
- package/dist/errors/entity-not-found.error.d.ts +8 -0
- package/dist/errors/entity-not-found.error.js +28 -0
- package/dist/errors/entity-not-found.error.js.map +1 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.js +10 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/invalid-relation.error.d.ts +10 -0
- package/dist/errors/invalid-relation.error.js +28 -0
- package/dist/errors/invalid-relation.error.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/dist/keys.d.ts +34 -0
- package/dist/keys.js +44 -0
- package/dist/keys.js.map +1 -0
- package/dist/mixins/index.d.ts +1 -0
- package/dist/mixins/index.js +9 -0
- package/dist/mixins/index.js.map +1 -0
- package/dist/mixins/repository.mixin.d.ts +377 -0
- package/dist/mixins/repository.mixin.js +405 -0
- package/dist/mixins/repository.mixin.js.map +1 -0
- package/dist/model.d.ts +232 -0
- package/dist/model.js +367 -0
- package/dist/model.js.map +1 -0
- package/dist/relations/belongs-to/belongs-to.accessor.d.ts +17 -0
- package/dist/relations/belongs-to/belongs-to.accessor.js +40 -0
- package/dist/relations/belongs-to/belongs-to.accessor.js.map +1 -0
- package/dist/relations/belongs-to/belongs-to.decorator.d.ts +11 -0
- package/dist/relations/belongs-to/belongs-to.decorator.js +64 -0
- package/dist/relations/belongs-to/belongs-to.decorator.js.map +1 -0
- package/dist/relations/belongs-to/belongs-to.helpers.d.ts +17 -0
- package/dist/relations/belongs-to/belongs-to.helpers.js +63 -0
- package/dist/relations/belongs-to/belongs-to.helpers.js.map +1 -0
- package/dist/relations/belongs-to/belongs-to.inclusion-resolver.d.ts +14 -0
- package/dist/relations/belongs-to/belongs-to.inclusion-resolver.js +36 -0
- package/dist/relations/belongs-to/belongs-to.inclusion-resolver.js.map +1 -0
- package/dist/relations/belongs-to/belongs-to.repository.d.ts +28 -0
- package/dist/relations/belongs-to/belongs-to.repository.js +33 -0
- package/dist/relations/belongs-to/belongs-to.repository.js.map +1 -0
- package/dist/relations/belongs-to/index.d.ts +4 -0
- package/dist/relations/belongs-to/index.js +12 -0
- package/dist/relations/belongs-to/index.js.map +1 -0
- package/dist/relations/has-many/has-many-through.helpers.d.ts +182 -0
- package/dist/relations/has-many/has-many-through.helpers.js +282 -0
- package/dist/relations/has-many/has-many-through.helpers.js.map +1 -0
- package/dist/relations/has-many/has-many-through.inclusion-resolver.d.ts +16 -0
- package/dist/relations/has-many/has-many-through.inclusion-resolver.js +78 -0
- package/dist/relations/has-many/has-many-through.inclusion-resolver.js.map +1 -0
- package/dist/relations/has-many/has-many-through.repository-factory.d.ts +17 -0
- package/dist/relations/has-many/has-many-through.repository-factory.js +37 -0
- package/dist/relations/has-many/has-many-through.repository-factory.js.map +1 -0
- package/dist/relations/has-many/has-many-through.repository.d.ts +114 -0
- package/dist/relations/has-many/has-many-through.repository.js +103 -0
- package/dist/relations/has-many/has-many-through.repository.js.map +1 -0
- package/dist/relations/has-many/has-many.decorator.d.ts +11 -0
- package/dist/relations/has-many/has-many.decorator.js +36 -0
- package/dist/relations/has-many/has-many.decorator.js.map +1 -0
- package/dist/relations/has-many/has-many.helpers.d.ts +26 -0
- package/dist/relations/has-many/has-many.helpers.js +78 -0
- package/dist/relations/has-many/has-many.helpers.js.map +1 -0
- package/dist/relations/has-many/has-many.inclusion-resolver.d.ts +14 -0
- package/dist/relations/has-many/has-many.inclusion-resolver.js +45 -0
- package/dist/relations/has-many/has-many.inclusion-resolver.js.map +1 -0
- package/dist/relations/has-many/has-many.repository-factory.d.ts +28 -0
- package/dist/relations/has-many/has-many.repository-factory.js +39 -0
- package/dist/relations/has-many/has-many.repository-factory.js.map +1 -0
- package/dist/relations/has-many/has-many.repository.d.ts +54 -0
- package/dist/relations/has-many/has-many.repository.js +38 -0
- package/dist/relations/has-many/has-many.repository.js.map +1 -0
- package/dist/relations/has-many/index.d.ts +6 -0
- package/dist/relations/has-many/index.js +14 -0
- package/dist/relations/has-many/index.js.map +1 -0
- package/dist/relations/has-one/has-one.decorator.d.ts +3 -0
- package/dist/relations/has-one/has-one.decorator.js +37 -0
- package/dist/relations/has-one/has-one.decorator.js.map +1 -0
- package/dist/relations/has-one/has-one.helpers.d.ts +17 -0
- package/dist/relations/has-one/has-one.helpers.js +64 -0
- package/dist/relations/has-one/has-one.helpers.js.map +1 -0
- package/dist/relations/has-one/has-one.inclusion-resolver.d.ts +14 -0
- package/dist/relations/has-one/has-one.inclusion-resolver.js +35 -0
- package/dist/relations/has-one/has-one.inclusion-resolver.js.map +1 -0
- package/dist/relations/has-one/has-one.repository-factory.d.ts +28 -0
- package/dist/relations/has-one/has-one.repository-factory.js +39 -0
- package/dist/relations/has-one/has-one.repository-factory.js.map +1 -0
- package/dist/relations/has-one/has-one.repository.d.ts +53 -0
- package/dist/relations/has-one/has-one.repository.js +45 -0
- package/dist/relations/has-one/has-one.repository.js.map +1 -0
- package/dist/relations/has-one/index.d.ts +3 -0
- package/dist/relations/has-one/index.js +11 -0
- package/dist/relations/has-one/index.js.map +1 -0
- package/dist/relations/index.d.ts +6 -0
- package/dist/relations/index.js +14 -0
- package/dist/relations/index.js.map +1 -0
- package/dist/relations/relation.decorator.d.ts +39 -0
- package/dist/relations/relation.decorator.js +88 -0
- package/dist/relations/relation.decorator.js.map +1 -0
- package/dist/relations/relation.helpers.d.ts +105 -0
- package/dist/relations/relation.helpers.js +304 -0
- package/dist/relations/relation.helpers.js.map +1 -0
- package/dist/relations/relation.types.d.ts +142 -0
- package/dist/relations/relation.types.js +21 -0
- package/dist/relations/relation.types.js.map +1 -0
- package/dist/repositories/constraint-utils.d.ts +49 -0
- package/dist/repositories/constraint-utils.js +87 -0
- package/dist/repositories/constraint-utils.js.map +1 -0
- package/dist/repositories/index.d.ts +5 -0
- package/dist/repositories/index.js +13 -0
- package/dist/repositories/index.js.map +1 -0
- package/dist/repositories/kv.repository.bridge.d.ts +30 -0
- package/dist/repositories/kv.repository.bridge.js +76 -0
- package/dist/repositories/kv.repository.bridge.js.map +1 -0
- package/dist/repositories/kv.repository.d.ts +74 -0
- package/{lib/crud-connector.js → dist/repositories/kv.repository.js} +2 -2
- package/dist/repositories/kv.repository.js.map +1 -0
- package/dist/repositories/legacy-juggler-bridge.d.ts +305 -0
- package/dist/repositories/legacy-juggler-bridge.js +452 -0
- package/dist/repositories/legacy-juggler-bridge.js.map +1 -0
- package/dist/repositories/repository.d.ts +223 -0
- package/dist/repositories/repository.js +157 -0
- package/dist/repositories/repository.js.map +1 -0
- package/dist/transaction.d.ts +30 -0
- package/dist/transaction.js +18 -0
- package/dist/transaction.js.map +1 -0
- package/dist/type-resolver.d.ts +42 -0
- package/dist/type-resolver.js +61 -0
- package/dist/type-resolver.js.map +1 -0
- package/{lib → dist}/types/any.d.ts +1 -1
- package/{lib6 → dist}/types/any.js +3 -2
- package/dist/types/any.js.map +1 -0
- package/{lib6 → dist}/types/array.d.ts +4 -4
- package/{lib → dist}/types/array.js +6 -4
- package/dist/types/array.js.map +1 -0
- package/{lib → dist}/types/boolean.d.ts +1 -1
- package/{lib6 → dist}/types/boolean.js +3 -2
- package/dist/types/boolean.js.map +1 -0
- package/{lib6 → dist}/types/buffer.d.ts +2 -2
- package/{lib → dist}/types/buffer.js +8 -6
- package/dist/types/buffer.js.map +1 -0
- package/{lib → dist}/types/date.d.ts +1 -1
- package/{lib → dist}/types/date.js +6 -4
- package/dist/types/date.js.map +1 -0
- package/{lib → dist}/types/index.d.ts +11 -9
- package/dist/types/index.js +49 -0
- package/dist/types/index.js.map +1 -0
- package/{lib6 → dist}/types/model.d.ts +2 -1
- package/{lib6 → dist}/types/model.js +2 -2
- package/dist/types/model.js.map +1 -0
- package/dist/types/null.d.ts +12 -0
- package/{lib/types/boolean.js → dist/types/null.js} +12 -11
- package/dist/types/null.js.map +1 -0
- package/{lib6 → dist}/types/number.d.ts +1 -1
- package/{lib → dist}/types/number.js +6 -4
- package/dist/types/number.js.map +1 -0
- package/{lib → dist}/types/object.d.ts +1 -1
- package/{lib → dist}/types/object.js +7 -6
- package/dist/types/object.js.map +1 -0
- package/{lib → dist}/types/string.d.ts +1 -1
- package/{lib → dist}/types/string.js +3 -2
- package/dist/types/string.js.map +1 -0
- package/{lib6 → dist}/types/type.d.ts +7 -7
- package/{lib6 → dist}/types/type.js +1 -1
- package/dist/types/type.js.map +1 -0
- package/{lib → dist}/types/union.d.ts +1 -1
- package/{lib → dist}/types/union.js +6 -4
- package/dist/types/union.js.map +1 -0
- package/package.json +49 -33
- package/src/common-types.ts +123 -0
- package/src/connectors/connector.ts +70 -0
- package/src/connectors/crud.connector.ts +208 -0
- package/src/connectors/index.ts +8 -0
- package/src/connectors/kv.connector.ts +113 -0
- package/src/datasource.ts +37 -0
- package/src/decorators/index.ts +8 -0
- package/src/decorators/metadata.ts +84 -0
- package/src/decorators/model.decorator.ts +166 -0
- package/src/decorators/repository.decorator.ts +223 -0
- package/src/define-model-class.ts +90 -0
- package/src/define-repository-class.ts +170 -0
- package/src/errors/entity-not-found.error.ts +40 -0
- package/src/errors/index.ts +7 -0
- package/src/errors/invalid-relation.error.ts +39 -0
- package/src/index.ts +36 -0
- package/src/keys.ts +40 -0
- package/{index.d.ts → src/mixins/index.ts} +2 -2
- package/src/mixins/repository.mixin.ts +499 -0
- package/src/model.ts +539 -0
- package/src/relations/belongs-to/belongs-to.accessor.ts +74 -0
- package/src/relations/belongs-to/belongs-to.decorator.ts +81 -0
- package/src/relations/belongs-to/belongs-to.helpers.ts +78 -0
- package/src/relations/belongs-to/belongs-to.inclusion-resolver.ts +71 -0
- package/src/relations/belongs-to/belongs-to.repository.ts +55 -0
- package/src/relations/belongs-to/index.ts +9 -0
- package/src/relations/has-many/has-many-through.helpers.ts +361 -0
- package/src/relations/has-many/has-many-through.inclusion-resolver.ts +135 -0
- package/src/relations/has-many/has-many-through.repository-factory.ts +121 -0
- package/src/relations/has-many/has-many-through.repository.ts +318 -0
- package/src/relations/has-many/has-many.decorator.ts +38 -0
- package/src/relations/has-many/has-many.helpers.ts +100 -0
- package/src/relations/has-many/has-many.inclusion-resolver.ts +88 -0
- package/src/relations/has-many/has-many.repository-factory.ts +76 -0
- package/src/relations/has-many/has-many.repository.ts +118 -0
- package/src/relations/has-many/index.ts +11 -0
- package/src/relations/has-one/has-one.decorator.ts +40 -0
- package/src/relations/has-one/has-one.helpers.ts +84 -0
- package/src/relations/has-one/has-one.inclusion-resolver.ts +65 -0
- package/src/relations/has-one/has-one.repository-factory.ts +72 -0
- package/src/relations/has-one/has-one.repository.ts +127 -0
- package/src/relations/has-one/index.ts +8 -0
- package/src/relations/index.ts +11 -0
- package/src/relations/relation.decorator.ts +90 -0
- package/src/relations/relation.helpers.ts +373 -0
- package/src/relations/relation.types.ts +180 -0
- package/src/repositories/constraint-utils.ts +98 -0
- package/src/repositories/index.ts +10 -0
- package/src/repositories/kv.repository.bridge.ts +97 -0
- package/src/repositories/kv.repository.ts +87 -0
- package/src/repositories/legacy-juggler-bridge.ts +788 -0
- package/src/repositories/repository.ts +441 -0
- package/src/transaction.ts +39 -0
- package/src/type-resolver.ts +98 -0
- package/src/types/any.ts +38 -0
- package/src/types/array.ts +53 -0
- package/src/types/boolean.ts +35 -0
- package/src/types/buffer.ts +53 -0
- package/src/types/date.ts +61 -0
- package/src/types/index.ts +52 -0
- package/src/types/model.ts +24 -0
- package/src/types/null.ts +35 -0
- package/src/types/number.ts +42 -0
- package/src/types/object.ts +53 -0
- package/src/types/string.ts +42 -0
- package/src/types/type.ts +51 -0
- package/src/types/union.ts +55 -0
- package/api-docs/apple-touch-icon-114x114-precomposed.png +0 -0
- package/api-docs/apple-touch-icon-144x144-precomposed.png +0 -0
- package/api-docs/apple-touch-icon-57x57-precomposed.png +0 -0
- package/api-docs/apple-touch-icon-72x72-precomposed.png +0 -0
- package/api-docs/apple-touch-icon-precomposed.png +0 -0
- package/api-docs/apple-touch-icon.png +0 -0
- package/api-docs/css/bootstrap.min.css +0 -9
- package/api-docs/css/code-themes/arta.css +0 -158
- package/api-docs/css/code-themes/ascetic.css +0 -50
- package/api-docs/css/code-themes/brown_paper.css +0 -104
- package/api-docs/css/code-themes/brown_papersq.png +0 -0
- package/api-docs/css/code-themes/dark.css +0 -103
- package/api-docs/css/code-themes/default.css +0 -135
- package/api-docs/css/code-themes/far.css +0 -111
- package/api-docs/css/code-themes/github.css +0 -127
- package/api-docs/css/code-themes/googlecode.css +0 -144
- package/api-docs/css/code-themes/idea.css +0 -121
- package/api-docs/css/code-themes/ir_black.css +0 -104
- package/api-docs/css/code-themes/magula.css +0 -121
- package/api-docs/css/code-themes/monokai.css +0 -114
- package/api-docs/css/code-themes/pojoaque.css +0 -104
- package/api-docs/css/code-themes/pojoaque.jpg +0 -0
- package/api-docs/css/code-themes/rainbow.css +0 -114
- package/api-docs/css/code-themes/school_book.css +0 -111
- package/api-docs/css/code-themes/school_book.png +0 -0
- package/api-docs/css/code-themes/sl-theme.css +0 -45
- package/api-docs/css/code-themes/solarized_dark.css +0 -88
- package/api-docs/css/code-themes/solarized_light.css +0 -88
- package/api-docs/css/code-themes/sunburst.css +0 -158
- package/api-docs/css/code-themes/tomorrow-night-blue.css +0 -52
- package/api-docs/css/code-themes/tomorrow-night-bright.css +0 -51
- package/api-docs/css/code-themes/tomorrow-night-eighties.css +0 -51
- package/api-docs/css/code-themes/tomorrow-night.css +0 -52
- package/api-docs/css/code-themes/tomorrow.css +0 -49
- package/api-docs/css/code-themes/vs.css +0 -86
- package/api-docs/css/code-themes/xcode.css +0 -154
- package/api-docs/css/code-themes/zenburn.css +0 -115
- package/api-docs/css/main.css +0 -139
- package/api-docs/favicon.ico +0 -0
- package/api-docs/fonts/0ihfXUL2emPh0ROJezvraLO3LdcAZYWl9Si6vvxL-qU.woff +0 -0
- package/api-docs/fonts/OsJ2DjdpjqFRVUSto6IffLO3LdcAZYWl9Si6vvxL-qU.woff +0 -0
- package/api-docs/fonts/_aijTyevf54tkVDLy-dlnLO3LdcAZYWl9Si6vvxL-qU.woff +0 -0
- package/api-docs/index.html +0 -18017
- package/api-docs/js/main.js +0 -19
- package/api-docs/js/vendor/bootstrap.min.js +0 -6
- package/api-docs/js/vendor/jquery-1.10.1.min.js +0 -6
- package/api-docs/js/vendor/jquery.scrollTo-1.4.3.1.js +0 -218
- package/api-docs/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js +0 -11
- package/index.js +0 -9
- package/lib/common-types.d.ts +0 -44
- package/lib/common-types.js.map +0 -1
- package/lib/connector.d.ts +0 -12
- package/lib/connector.js.map +0 -1
- package/lib/crud-connector.js.map +0 -1
- package/lib/datasource.d.ts +0 -11
- package/lib/datasource.js.map +0 -1
- package/lib/decorators/model.d.ts +0 -17
- package/lib/decorators/model.js +0 -55
- package/lib/decorators/model.js.map +0 -1
- package/lib/decorators/relation.d.ts +0 -65
- package/lib/decorators/relation.js +0 -126
- package/lib/decorators/relation.js.map +0 -1
- package/lib/decorators/repository.d.ts +0 -61
- package/lib/decorators/repository.js +0 -107
- package/lib/decorators/repository.js.map +0 -1
- package/lib/index.d.ts +0 -17
- package/lib/index.js +0 -21
- package/lib/index.js.map +0 -1
- package/lib/kv-connector.d.ts +0 -77
- package/lib/kv-connector.js +0 -7
- package/lib/kv-connector.js.map +0 -1
- package/lib/kv-repository.d.ts +0 -78
- package/lib/kv-repository.js +0 -7
- package/lib/kv-repository.js.map +0 -1
- package/lib/legacy-juggler-bridge.d.ts +0 -53
- package/lib/legacy-juggler-bridge.js +0 -142
- package/lib/legacy-juggler-bridge.js.map +0 -1
- package/lib/loopback-datasource-juggler.d.ts +0 -666
- package/lib/loopback-datasource-juggler.js +0 -8
- package/lib/loopback-datasource-juggler.js.map +0 -1
- package/lib/mixin.d.ts +0 -43
- package/lib/mixin.js +0 -34
- package/lib/mixin.js.map +0 -1
- package/lib/model.d.ts +0 -137
- package/lib/model.js +0 -182
- package/lib/model.js.map +0 -1
- package/lib/query.d.ts +0 -112
- package/lib/query.js +0 -25
- package/lib/query.js.map +0 -1
- package/lib/repository-mixin.d.ts +0 -20
- package/lib/repository-mixin.js +0 -111
- package/lib/repository-mixin.js.map +0 -1
- package/lib/repository.d.ts +0 -172
- package/lib/repository.js +0 -127
- package/lib/repository.js.map +0 -1
- package/lib/types/any.js +0 -35
- package/lib/types/any.js.map +0 -1
- package/lib/types/array.d.ts +0 -14
- package/lib/types/array.js.map +0 -1
- package/lib/types/boolean.js.map +0 -1
- package/lib/types/buffer.d.ts +0 -14
- package/lib/types/buffer.js.map +0 -1
- package/lib/types/date.js.map +0 -1
- package/lib/types/index.js +0 -33
- package/lib/types/index.js.map +0 -1
- package/lib/types/model.d.ts +0 -11
- package/lib/types/model.js +0 -25
- package/lib/types/model.js.map +0 -1
- package/lib/types/number.d.ts +0 -12
- package/lib/types/number.js.map +0 -1
- package/lib/types/object.js.map +0 -1
- package/lib/types/string.js.map +0 -1
- package/lib/types/type.d.ts +0 -38
- package/lib/types/type.js +0 -7
- package/lib/types/type.js.map +0 -1
- package/lib/types/union.js.map +0 -1
- package/lib6/common-types.d.ts +0 -44
- package/lib6/common-types.js +0 -7
- package/lib6/common-types.js.map +0 -1
- package/lib6/connector.d.ts +0 -12
- package/lib6/connector.js +0 -7
- package/lib6/connector.js.map +0 -1
- package/lib6/crud-connector.d.ts +0 -130
- package/lib6/crud-connector.js +0 -7
- package/lib6/crud-connector.js.map +0 -1
- package/lib6/datasource.d.ts +0 -11
- package/lib6/datasource.js.map +0 -1
- package/lib6/decorators/model.d.ts +0 -17
- package/lib6/decorators/model.js +0 -55
- package/lib6/decorators/model.js.map +0 -1
- package/lib6/decorators/relation.d.ts +0 -65
- package/lib6/decorators/relation.js +0 -126
- package/lib6/decorators/relation.js.map +0 -1
- package/lib6/decorators/repository.d.ts +0 -61
- package/lib6/decorators/repository.js +0 -117
- package/lib6/decorators/repository.js.map +0 -1
- package/lib6/index.d.ts +0 -17
- package/lib6/index.js +0 -21
- package/lib6/index.js.map +0 -1
- package/lib6/kv-connector.js +0 -7
- package/lib6/kv-connector.js.map +0 -1
- package/lib6/kv-repository.d.ts +0 -78
- package/lib6/kv-repository.js +0 -7
- package/lib6/kv-repository.js.map +0 -1
- package/lib6/legacy-juggler-bridge.d.ts +0 -53
- package/lib6/legacy-juggler-bridge.js +0 -158
- package/lib6/legacy-juggler-bridge.js.map +0 -1
- package/lib6/loopback-datasource-juggler.d.ts +0 -666
- package/lib6/loopback-datasource-juggler.js +0 -8
- package/lib6/loopback-datasource-juggler.js.map +0 -1
- package/lib6/mixin.d.ts +0 -43
- package/lib6/mixin.js +0 -34
- package/lib6/mixin.js.map +0 -1
- package/lib6/model.d.ts +0 -137
- package/lib6/model.js +0 -182
- package/lib6/model.js.map +0 -1
- package/lib6/query.d.ts +0 -112
- package/lib6/query.js +0 -25
- package/lib6/query.js.map +0 -1
- package/lib6/repository-mixin.d.ts +0 -20
- package/lib6/repository-mixin.js +0 -111
- package/lib6/repository-mixin.js.map +0 -1
- package/lib6/repository.d.ts +0 -172
- package/lib6/repository.js +0 -127
- package/lib6/repository.js.map +0 -1
- package/lib6/types/any.d.ts +0 -12
- package/lib6/types/any.js.map +0 -1
- package/lib6/types/array.js +0 -53
- package/lib6/types/array.js.map +0 -1
- package/lib6/types/boolean.d.ts +0 -12
- package/lib6/types/boolean.js.map +0 -1
- package/lib6/types/buffer.js +0 -57
- package/lib6/types/buffer.js.map +0 -1
- package/lib6/types/date.d.ts +0 -12
- package/lib6/types/date.js +0 -60
- package/lib6/types/date.js.map +0 -1
- package/lib6/types/index.d.ts +0 -30
- package/lib6/types/index.js +0 -33
- package/lib6/types/index.js.map +0 -1
- package/lib6/types/model.js.map +0 -1
- package/lib6/types/number.js +0 -40
- package/lib6/types/number.js.map +0 -1
- package/lib6/types/object.d.ts +0 -15
- package/lib6/types/object.js +0 -49
- package/lib6/types/object.js.map +0 -1
- package/lib6/types/string.d.ts +0 -12
- package/lib6/types/string.js +0 -40
- package/lib6/types/string.js.map +0 -1
- package/lib6/types/type.js.map +0 -1
- package/lib6/types/union.d.ts +0 -14
- package/lib6/types/union.js +0 -51
- package/lib6/types/union.js.map +0 -1
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import { Getter } from '@loopback/core';
|
|
2
|
+
import { Filter, FilterExcludingWhere, InclusionFilter, Where } from '@loopback/filter';
|
|
3
|
+
import legacy from 'loopback-datasource-juggler';
|
|
4
|
+
import { AnyObject, Command, Count, DataObject, NamedParameters, Options, PositionalParameters } from '../common-types';
|
|
5
|
+
import { Entity, Model } from '../model';
|
|
6
|
+
import { BelongsToAccessor, HasManyRepositoryFactory, HasManyThroughRepositoryFactory, HasOneRepositoryFactory, InclusionResolver } from '../relations';
|
|
7
|
+
import { IsolationLevel, Transaction } from '../transaction';
|
|
8
|
+
import { EntityCrudRepository, TransactionalEntityRepository } from './repository';
|
|
9
|
+
export declare namespace juggler {
|
|
10
|
+
export import DataSource = legacy.DataSource;
|
|
11
|
+
export import ModelBase = legacy.ModelBase;
|
|
12
|
+
export import ModelBaseClass = legacy.ModelBaseClass;
|
|
13
|
+
export import PersistedModel = legacy.PersistedModel;
|
|
14
|
+
export import KeyValueModel = legacy.KeyValueModel;
|
|
15
|
+
export import PersistedModelClass = legacy.PersistedModelClass;
|
|
16
|
+
export import Transaction = legacy.Transaction;
|
|
17
|
+
export import IsolationLevel = legacy.IsolationLevel;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* This is a bridge to the legacy DAO class. The function mixes DAO methods
|
|
21
|
+
* into a model class and attach it to a given data source
|
|
22
|
+
* @param modelClass - Model class
|
|
23
|
+
* @param ds - Data source
|
|
24
|
+
* @returns {} The new model class with DAO (CRUD) operations
|
|
25
|
+
*/
|
|
26
|
+
export declare function bindModel<T extends juggler.ModelBaseClass>(modelClass: T, ds: juggler.DataSource): T;
|
|
27
|
+
/**
|
|
28
|
+
* Ensure the value is a promise
|
|
29
|
+
* @param p - Promise or void
|
|
30
|
+
*/
|
|
31
|
+
export declare function ensurePromise<T>(p: legacy.PromiseOrVoid<T>): Promise<T>;
|
|
32
|
+
/**
|
|
33
|
+
* Default implementation of CRUD repository using legacy juggler model
|
|
34
|
+
* and data source
|
|
35
|
+
*/
|
|
36
|
+
export declare class DefaultCrudRepository<T extends Entity, ID, Relations extends object = {}> implements EntityCrudRepository<T, ID, Relations> {
|
|
37
|
+
entityClass: typeof Entity & {
|
|
38
|
+
prototype: T;
|
|
39
|
+
};
|
|
40
|
+
dataSource: juggler.DataSource;
|
|
41
|
+
modelClass: juggler.PersistedModelClass;
|
|
42
|
+
readonly inclusionResolvers: Map<string, InclusionResolver<T, Entity>>;
|
|
43
|
+
/**
|
|
44
|
+
* Constructor of DefaultCrudRepository
|
|
45
|
+
* @param entityClass - LoopBack 4 entity class
|
|
46
|
+
* @param dataSource - Legacy juggler data source
|
|
47
|
+
*/
|
|
48
|
+
constructor(entityClass: typeof Entity & {
|
|
49
|
+
prototype: T;
|
|
50
|
+
}, dataSource: juggler.DataSource);
|
|
51
|
+
private ensurePersistedModel;
|
|
52
|
+
/**
|
|
53
|
+
* Creates a legacy persisted model class, attaches it to the datasource and
|
|
54
|
+
* returns it. This method can be overriden in sub-classes to acess methods
|
|
55
|
+
* and properties in the generated model class.
|
|
56
|
+
* @param entityClass - LB4 Entity constructor
|
|
57
|
+
*/
|
|
58
|
+
protected definePersistedModel(entityClass: typeof Model): typeof juggler.PersistedModel;
|
|
59
|
+
private resolvePropertyType;
|
|
60
|
+
/**
|
|
61
|
+
* @deprecated
|
|
62
|
+
* Function to create a constrained relation repository factory
|
|
63
|
+
*
|
|
64
|
+
* Use `this.createHasManyRepositoryFactoryFor()` instead
|
|
65
|
+
*
|
|
66
|
+
* @param relationName - Name of the relation defined on the source model
|
|
67
|
+
* @param targetRepo - Target repository instance
|
|
68
|
+
*/
|
|
69
|
+
protected _createHasManyRepositoryFactoryFor<Target extends Entity, TargetID, ForeignKeyType>(relationName: string, targetRepoGetter: Getter<EntityCrudRepository<Target, TargetID>>): HasManyRepositoryFactory<Target, ForeignKeyType>;
|
|
70
|
+
/**
|
|
71
|
+
* Function to create a constrained relation repository factory
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```ts
|
|
75
|
+
* class CustomerRepository extends DefaultCrudRepository<
|
|
76
|
+
* Customer,
|
|
77
|
+
* typeof Customer.prototype.id,
|
|
78
|
+
* CustomerRelations
|
|
79
|
+
* > {
|
|
80
|
+
* public readonly orders: HasManyRepositoryFactory<Order, typeof Customer.prototype.id>;
|
|
81
|
+
*
|
|
82
|
+
* constructor(
|
|
83
|
+
* protected db: juggler.DataSource,
|
|
84
|
+
* orderRepository: EntityCrudRepository<Order, typeof Order.prototype.id>,
|
|
85
|
+
* ) {
|
|
86
|
+
* super(Customer, db);
|
|
87
|
+
* this.orders = this._createHasManyRepositoryFactoryFor(
|
|
88
|
+
* 'orders',
|
|
89
|
+
* orderRepository,
|
|
90
|
+
* );
|
|
91
|
+
* }
|
|
92
|
+
* }
|
|
93
|
+
* ```
|
|
94
|
+
*
|
|
95
|
+
* @param relationName - Name of the relation defined on the source model
|
|
96
|
+
* @param targetRepo - Target repository instance
|
|
97
|
+
*/
|
|
98
|
+
protected createHasManyRepositoryFactoryFor<Target extends Entity, TargetID, ForeignKeyType>(relationName: string, targetRepoGetter: Getter<EntityCrudRepository<Target, TargetID>>): HasManyRepositoryFactory<Target, ForeignKeyType>;
|
|
99
|
+
/**
|
|
100
|
+
* Function to create a constrained hasManyThrough relation repository factory
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```ts
|
|
104
|
+
* class CustomerRepository extends DefaultCrudRepository<
|
|
105
|
+
* Customer,
|
|
106
|
+
* typeof Customer.prototype.id,
|
|
107
|
+
* CustomerRelations
|
|
108
|
+
* > {
|
|
109
|
+
* public readonly cartItems: HasManyRepositoryFactory<CartItem, typeof Customer.prototype.id>;
|
|
110
|
+
*
|
|
111
|
+
* constructor(
|
|
112
|
+
* protected db: juggler.DataSource,
|
|
113
|
+
* cartItemRepository: EntityCrudRepository<CartItem, typeof, CartItem.prototype.id>,
|
|
114
|
+
* throughRepository: EntityCrudRepository<Through, typeof Through.prototype.id>,
|
|
115
|
+
* ) {
|
|
116
|
+
* super(Customer, db);
|
|
117
|
+
* this.cartItems = this.createHasManyThroughRepositoryFactoryFor(
|
|
118
|
+
* 'cartItems',
|
|
119
|
+
* cartItemRepository,
|
|
120
|
+
* );
|
|
121
|
+
* }
|
|
122
|
+
* }
|
|
123
|
+
* ```
|
|
124
|
+
*
|
|
125
|
+
* @param relationName - Name of the relation defined on the source model
|
|
126
|
+
* @param targetRepo - Target repository instance
|
|
127
|
+
* @param throughRepo - Through repository instance
|
|
128
|
+
*/
|
|
129
|
+
protected createHasManyThroughRepositoryFactoryFor<Target extends Entity, TargetID, Through extends Entity, ThroughID, ForeignKeyType>(relationName: string, targetRepoGetter: Getter<EntityCrudRepository<Target, TargetID>>, throughRepoGetter: Getter<EntityCrudRepository<Through, ThroughID>>): HasManyThroughRepositoryFactory<Target, TargetID, Through, ForeignKeyType>;
|
|
130
|
+
/**
|
|
131
|
+
* @deprecated
|
|
132
|
+
* Function to create a belongs to accessor
|
|
133
|
+
*
|
|
134
|
+
* Use `this.createBelongsToAccessorFor()` instead
|
|
135
|
+
*
|
|
136
|
+
* @param relationName - Name of the relation defined on the source model
|
|
137
|
+
* @param targetRepo - Target repository instance
|
|
138
|
+
*/
|
|
139
|
+
protected _createBelongsToAccessorFor<Target extends Entity, TargetId>(relationName: string, targetRepoGetter: Getter<EntityCrudRepository<Target, TargetId>>): BelongsToAccessor<Target, ID>;
|
|
140
|
+
/**
|
|
141
|
+
* Function to create a belongs to accessor
|
|
142
|
+
*
|
|
143
|
+
* @param relationName - Name of the relation defined on the source model
|
|
144
|
+
* @param targetRepo - Target repository instance
|
|
145
|
+
*/
|
|
146
|
+
protected createBelongsToAccessorFor<Target extends Entity, TargetId>(relationName: string, targetRepoGetter: Getter<EntityCrudRepository<Target, TargetId>>): BelongsToAccessor<Target, ID>;
|
|
147
|
+
/**
|
|
148
|
+
* @deprecated
|
|
149
|
+
* Function to create a constrained hasOne relation repository factory
|
|
150
|
+
*
|
|
151
|
+
* @param relationName - Name of the relation defined on the source model
|
|
152
|
+
* @param targetRepo - Target repository instance
|
|
153
|
+
*/
|
|
154
|
+
protected _createHasOneRepositoryFactoryFor<Target extends Entity, TargetID, ForeignKeyType>(relationName: string, targetRepoGetter: Getter<EntityCrudRepository<Target, TargetID>>): HasOneRepositoryFactory<Target, ForeignKeyType>;
|
|
155
|
+
/**
|
|
156
|
+
* Function to create a constrained hasOne relation repository factory
|
|
157
|
+
*
|
|
158
|
+
* @param relationName - Name of the relation defined on the source model
|
|
159
|
+
* @param targetRepo - Target repository instance
|
|
160
|
+
*/
|
|
161
|
+
protected createHasOneRepositoryFactoryFor<Target extends Entity, TargetID, ForeignKeyType>(relationName: string, targetRepoGetter: Getter<EntityCrudRepository<Target, TargetID>>): HasOneRepositoryFactory<Target, ForeignKeyType>;
|
|
162
|
+
create(entity: DataObject<T>, options?: Options): Promise<T>;
|
|
163
|
+
createAll(entities: DataObject<T>[], options?: Options): Promise<T[]>;
|
|
164
|
+
save(entity: T, options?: Options): Promise<T>;
|
|
165
|
+
find(filter?: Filter<T>, options?: Options): Promise<(T & Relations)[]>;
|
|
166
|
+
findOne(filter?: Filter<T>, options?: Options): Promise<(T & Relations) | null>;
|
|
167
|
+
findById(id: ID, filter?: FilterExcludingWhere<T>, options?: Options): Promise<T & Relations>;
|
|
168
|
+
update(entity: T, options?: Options): Promise<void>;
|
|
169
|
+
delete(entity: T, options?: Options): Promise<void>;
|
|
170
|
+
updateAll(data: DataObject<T>, where?: Where<T>, options?: Options): Promise<Count>;
|
|
171
|
+
updateById(id: ID, data: DataObject<T>, options?: Options): Promise<void>;
|
|
172
|
+
replaceById(id: ID, data: DataObject<T>, options?: Options): Promise<void>;
|
|
173
|
+
deleteAll(where?: Where<T>, options?: Options): Promise<Count>;
|
|
174
|
+
deleteById(id: ID, options?: Options): Promise<void>;
|
|
175
|
+
count(where?: Where<T>, options?: Options): Promise<Count>;
|
|
176
|
+
exists(id: ID, options?: Options): Promise<boolean>;
|
|
177
|
+
/**
|
|
178
|
+
* Execute a SQL command.
|
|
179
|
+
*
|
|
180
|
+
* **WARNING:** In general, it is always better to perform database actions
|
|
181
|
+
* through repository methods. Directly executing SQL may lead to unexpected
|
|
182
|
+
* results, corrupted data, security vulnerabilities and other issues.
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
*
|
|
186
|
+
* ```ts
|
|
187
|
+
* // MySQL
|
|
188
|
+
* const result = await repo.execute(
|
|
189
|
+
* 'SELECT * FROM Products WHERE size > ?',
|
|
190
|
+
* [42]
|
|
191
|
+
* );
|
|
192
|
+
*
|
|
193
|
+
* // PostgreSQL
|
|
194
|
+
* const result = await repo.execute(
|
|
195
|
+
* 'SELECT * FROM Products WHERE size > $1',
|
|
196
|
+
* [42]
|
|
197
|
+
* );
|
|
198
|
+
* ```
|
|
199
|
+
*
|
|
200
|
+
* @param command A parameterized SQL command or query.
|
|
201
|
+
* Check your database documentation for information on which characters to
|
|
202
|
+
* use as parameter placeholders.
|
|
203
|
+
* @param parameters List of parameter values to use.
|
|
204
|
+
* @param options Additional options, for example `transaction`.
|
|
205
|
+
* @returns A promise which resolves to the command output as returned by the
|
|
206
|
+
* database driver. The output type (data structure) is database specific and
|
|
207
|
+
* often depends on the command executed.
|
|
208
|
+
*/
|
|
209
|
+
execute(command: Command, parameters: NamedParameters | PositionalParameters, options?: Options): Promise<AnyObject>;
|
|
210
|
+
/**
|
|
211
|
+
* Execute a MongoDB command.
|
|
212
|
+
*
|
|
213
|
+
* **WARNING:** In general, it is always better to perform database actions
|
|
214
|
+
* through repository methods. Directly executing MongoDB commands may lead
|
|
215
|
+
* to unexpected results and other issues.
|
|
216
|
+
*
|
|
217
|
+
* @example
|
|
218
|
+
*
|
|
219
|
+
* ```ts
|
|
220
|
+
* const result = await repo.execute('MyCollection', 'aggregate', [
|
|
221
|
+
* {$lookup: {
|
|
222
|
+
* // ...
|
|
223
|
+
* }},
|
|
224
|
+
* {$unwind: '$data'},
|
|
225
|
+
* {$out: 'tempData'}
|
|
226
|
+
* ]);
|
|
227
|
+
* ```
|
|
228
|
+
*
|
|
229
|
+
* @param collectionName The name of the collection to execute the command on.
|
|
230
|
+
* @param command The command name. See
|
|
231
|
+
* [Collection API docs](http://mongodb.github.io/node-mongodb-native/3.6/api/Collection.html)
|
|
232
|
+
* for the list of commands supported by the MongoDB client.
|
|
233
|
+
* @param parameters Command parameters (arguments), as described in MongoDB API
|
|
234
|
+
* docs for individual collection methods.
|
|
235
|
+
* @returns A promise which resolves to the command output as returned by the
|
|
236
|
+
* database driver.
|
|
237
|
+
*/
|
|
238
|
+
execute(collectionName: string, command: string, ...parameters: PositionalParameters): Promise<AnyObject>;
|
|
239
|
+
/**
|
|
240
|
+
* Execute a raw database command using a connector that's not described
|
|
241
|
+
* by LoopBack's `execute` API yet.
|
|
242
|
+
*
|
|
243
|
+
* **WARNING:** In general, it is always better to perform database actions
|
|
244
|
+
* through repository methods. Directly executing database commands may lead
|
|
245
|
+
* to unexpected results and other issues.
|
|
246
|
+
*
|
|
247
|
+
* @param args Command and parameters, please consult your connector's
|
|
248
|
+
* documentation to learn about supported commands and their parameters.
|
|
249
|
+
* @returns A promise which resolves to the command output as returned by the
|
|
250
|
+
* database driver.
|
|
251
|
+
*/
|
|
252
|
+
execute(...args: PositionalParameters): Promise<AnyObject>;
|
|
253
|
+
protected toEntity<R extends T>(model: juggler.PersistedModel): R;
|
|
254
|
+
protected toEntities<R extends T>(models: juggler.PersistedModel[]): R[];
|
|
255
|
+
/**
|
|
256
|
+
* Register an inclusion resolver for the related model name.
|
|
257
|
+
*
|
|
258
|
+
* @param relationName - Name of the relation defined on the source model
|
|
259
|
+
* @param resolver - Resolver function for getting related model entities
|
|
260
|
+
*/
|
|
261
|
+
registerInclusionResolver(relationName: string, resolver: InclusionResolver<T, Entity>): void;
|
|
262
|
+
/**
|
|
263
|
+
* Returns model instances that include related models of this repository
|
|
264
|
+
* that have a registered resolver.
|
|
265
|
+
*
|
|
266
|
+
* @param entities - An array of entity instances or data
|
|
267
|
+
* @param include -Inclusion filter
|
|
268
|
+
* @param options - Options for the operations
|
|
269
|
+
*/
|
|
270
|
+
protected includeRelatedModels(entities: T[], include?: InclusionFilter[], options?: Options): Promise<(T & Relations)[]>;
|
|
271
|
+
/**
|
|
272
|
+
* This function works as a persist hook.
|
|
273
|
+
* It converts an entity from the CRUD operations' caller
|
|
274
|
+
* to a persistable data that can will be stored in the
|
|
275
|
+
* back-end database.
|
|
276
|
+
*
|
|
277
|
+
* User can extend `DefaultCrudRepository` then override this
|
|
278
|
+
* function to execute custom persist hook.
|
|
279
|
+
* @param entity The entity passed from CRUD operations' caller.
|
|
280
|
+
* @param options
|
|
281
|
+
*/
|
|
282
|
+
protected entityToData<R extends T>(entity: R | DataObject<R>, options?: {}): Promise<legacy.ModelData<legacy.PersistedModel>>;
|
|
283
|
+
/** Converts an entity object to a JSON object to check if it contains navigational property.
|
|
284
|
+
* Throws an error if `entity` contains navigational property.
|
|
285
|
+
*
|
|
286
|
+
* @param entity The entity passed from CRUD operations' caller.
|
|
287
|
+
* @param options
|
|
288
|
+
*/
|
|
289
|
+
protected ensurePersistable<R extends T>(entity: R | DataObject<R>, options?: {}): legacy.ModelData<legacy.PersistedModel>;
|
|
290
|
+
/**
|
|
291
|
+
* Removes juggler's "include" filter as it does not apply to LoopBack 4
|
|
292
|
+
* relations.
|
|
293
|
+
*
|
|
294
|
+
* @param filter - Query filter
|
|
295
|
+
*/
|
|
296
|
+
protected normalizeFilter(filter?: Filter<T>): legacy.Filter | undefined;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Default implementation of CRUD repository using legacy juggler model
|
|
300
|
+
* and data source with beginTransaction() method for connectors which
|
|
301
|
+
* support Transactions
|
|
302
|
+
*/
|
|
303
|
+
export declare class DefaultTransactionalRepository<T extends Entity, ID, Relations extends object = {}> extends DefaultCrudRepository<T, ID, Relations> implements TransactionalEntityRepository<T, ID, Relations> {
|
|
304
|
+
beginTransaction(options?: IsolationLevel | Options): Promise<Transaction>;
|
|
305
|
+
}
|