@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,54 @@
|
|
|
1
|
+
import { Getter } from '@loopback/core';
|
|
2
|
+
import { Filter, Where } from '@loopback/filter';
|
|
3
|
+
import { Count, DataObject, Options } from '../../common-types';
|
|
4
|
+
import { Entity } from '../../model';
|
|
5
|
+
import { EntityCrudRepository } from '../../repositories';
|
|
6
|
+
/**
|
|
7
|
+
* CRUD operations for a target repository of a HasMany relation
|
|
8
|
+
*/
|
|
9
|
+
export interface HasManyRepository<Target extends Entity> {
|
|
10
|
+
/**
|
|
11
|
+
* Create a target model instance
|
|
12
|
+
* @param targetModelData - The target model data
|
|
13
|
+
* @param options - Options for the operation
|
|
14
|
+
* @returns A promise which resolves to the newly created target model instance
|
|
15
|
+
*/
|
|
16
|
+
create(targetModelData: DataObject<Target>, options?: Options): Promise<Target>;
|
|
17
|
+
/**
|
|
18
|
+
* Find target model instance(s)
|
|
19
|
+
* @param filter - A filter object for where, order, limit, etc.
|
|
20
|
+
* @param options - Options for the operation
|
|
21
|
+
* @returns A promise which resolves with the found target instance(s)
|
|
22
|
+
*/
|
|
23
|
+
find(filter?: Filter<Target>, options?: Options): Promise<Target[]>;
|
|
24
|
+
/**
|
|
25
|
+
* Delete multiple target model instances
|
|
26
|
+
* @param where - Instances within the where scope are deleted
|
|
27
|
+
* @param options
|
|
28
|
+
* @returns A promise which resolves the deleted target model instances
|
|
29
|
+
*/
|
|
30
|
+
delete(where?: Where<Target>, options?: Options): Promise<Count>;
|
|
31
|
+
/**
|
|
32
|
+
* Patch multiple target model instances
|
|
33
|
+
* @param dataObject - The fields and their new values to patch
|
|
34
|
+
* @param where - Instances within the where scope are patched
|
|
35
|
+
* @param options
|
|
36
|
+
* @returns A promise which resolves the patched target model instances
|
|
37
|
+
*/
|
|
38
|
+
patch(dataObject: DataObject<Target>, where?: Where<Target>, options?: Options): Promise<Count>;
|
|
39
|
+
}
|
|
40
|
+
export declare class DefaultHasManyRepository<TargetEntity extends Entity, TargetID, TargetRepository extends EntityCrudRepository<TargetEntity, TargetID>> implements HasManyRepository<TargetEntity> {
|
|
41
|
+
getTargetRepository: Getter<TargetRepository>;
|
|
42
|
+
constraint: DataObject<TargetEntity>;
|
|
43
|
+
/**
|
|
44
|
+
* Constructor of DefaultHasManyEntityCrudRepository
|
|
45
|
+
* @param getTargetRepository - the getter of the related target model repository instance
|
|
46
|
+
* @param constraint - the key value pair representing foreign key name to constrain
|
|
47
|
+
* the target repository instance
|
|
48
|
+
*/
|
|
49
|
+
constructor(getTargetRepository: Getter<TargetRepository>, constraint: DataObject<TargetEntity>);
|
|
50
|
+
create(targetModelData: DataObject<TargetEntity>, options?: Options): Promise<TargetEntity>;
|
|
51
|
+
find(filter?: Filter<TargetEntity>, options?: Options): Promise<TargetEntity[]>;
|
|
52
|
+
delete(where?: Where<TargetEntity>, options?: Options): Promise<Count>;
|
|
53
|
+
patch(dataObject: DataObject<TargetEntity>, where?: Where<TargetEntity>, options?: Options): Promise<Count>;
|
|
54
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright IBM Corp. 2018,2020. All Rights Reserved.
|
|
3
|
+
// Node module: @loopback/repository
|
|
4
|
+
// This file is licensed under the MIT License.
|
|
5
|
+
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.DefaultHasManyRepository = void 0;
|
|
8
|
+
const repositories_1 = require("../../repositories");
|
|
9
|
+
class DefaultHasManyRepository {
|
|
10
|
+
/**
|
|
11
|
+
* Constructor of DefaultHasManyEntityCrudRepository
|
|
12
|
+
* @param getTargetRepository - the getter of the related target model repository instance
|
|
13
|
+
* @param constraint - the key value pair representing foreign key name to constrain
|
|
14
|
+
* the target repository instance
|
|
15
|
+
*/
|
|
16
|
+
constructor(getTargetRepository, constraint) {
|
|
17
|
+
this.getTargetRepository = getTargetRepository;
|
|
18
|
+
this.constraint = constraint;
|
|
19
|
+
}
|
|
20
|
+
async create(targetModelData, options) {
|
|
21
|
+
const targetRepository = await this.getTargetRepository();
|
|
22
|
+
return targetRepository.create((0, repositories_1.constrainDataObject)(targetModelData, this.constraint), options);
|
|
23
|
+
}
|
|
24
|
+
async find(filter, options) {
|
|
25
|
+
const targetRepository = await this.getTargetRepository();
|
|
26
|
+
return targetRepository.find((0, repositories_1.constrainFilter)(filter, this.constraint), options);
|
|
27
|
+
}
|
|
28
|
+
async delete(where, options) {
|
|
29
|
+
const targetRepository = await this.getTargetRepository();
|
|
30
|
+
return targetRepository.deleteAll((0, repositories_1.constrainWhere)(where, this.constraint), options);
|
|
31
|
+
}
|
|
32
|
+
async patch(dataObject, where, options) {
|
|
33
|
+
const targetRepository = await this.getTargetRepository();
|
|
34
|
+
return targetRepository.updateAll((0, repositories_1.constrainDataObject)(dataObject, this.constraint), (0, repositories_1.constrainWhere)(where, this.constraint), options);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.DefaultHasManyRepository = DefaultHasManyRepository;
|
|
38
|
+
//# sourceMappingURL=has-many.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-many.repository.js","sourceRoot":"","sources":["../../../src/relations/has-many/has-many.repository.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAMhE,qDAK4B;AA4C5B,MAAa,wBAAwB;IAMnC;;;;;OAKG;IACH,YACS,mBAA6C,EAC7C,UAAoC;QADpC,wBAAmB,GAAnB,mBAAmB,CAA0B;QAC7C,eAAU,GAAV,UAAU,CAA0B;IAC1C,CAAC;IAEJ,KAAK,CAAC,MAAM,CACV,eAAyC,EACzC,OAAiB;QAEjB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,OAAO,gBAAgB,CAAC,MAAM,CAC5B,IAAA,kCAAmB,EAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,EACrD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,MAA6B,EAC7B,OAAiB;QAEjB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,OAAO,gBAAgB,CAAC,IAAI,CAC1B,IAAA,8BAAe,EAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,EACxC,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAA2B,EAAE,OAAiB;QACzD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,OAAO,gBAAgB,CAAC,SAAS,CAC/B,IAAA,6BAAc,EAAC,KAAK,EAAE,IAAI,CAAC,UAAiC,CAAC,EAC7D,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,UAAoC,EACpC,KAA2B,EAC3B,OAAiB;QAEjB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,OAAO,gBAAgB,CAAC,SAAS,CAC/B,IAAA,kCAAmB,EAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,EAChD,IAAA,6BAAc,EAAC,KAAK,EAAE,IAAI,CAAC,UAAiC,CAAC,EAC7D,OAAO,CACR,CAAC;IACJ,CAAC;CACF;AA3DD,4DA2DC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './has-many.repository-factory';
|
|
2
|
+
export * from './has-many-through.repository-factory';
|
|
3
|
+
export * from './has-many-through.repository';
|
|
4
|
+
export * from './has-many.decorator';
|
|
5
|
+
export * from './has-many.inclusion-resolver';
|
|
6
|
+
export * from './has-many.repository';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright IBM Corp. 2018,2020. All Rights Reserved.
|
|
3
|
+
// Node module: @loopback/repository
|
|
4
|
+
// This file is licensed under the MIT License.
|
|
5
|
+
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const tslib_1 = require("tslib");
|
|
8
|
+
(0, tslib_1.__exportStar)(require("./has-many.repository-factory"), exports);
|
|
9
|
+
(0, tslib_1.__exportStar)(require("./has-many-through.repository-factory"), exports);
|
|
10
|
+
(0, tslib_1.__exportStar)(require("./has-many-through.repository"), exports);
|
|
11
|
+
(0, tslib_1.__exportStar)(require("./has-many.decorator"), exports);
|
|
12
|
+
(0, tslib_1.__exportStar)(require("./has-many.inclusion-resolver"), exports);
|
|
13
|
+
(0, tslib_1.__exportStar)(require("./has-many.repository"), exports);
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/relations/has-many/index.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,6EAA8C;AAC9C,qFAAsD;AACtD,6EAA8C;AAC9C,oEAAqC;AACrC,6EAA8C;AAC9C,qEAAsC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Entity, EntityResolver } from '../../model';
|
|
2
|
+
import { HasOneDefinition } from '../relation.types';
|
|
3
|
+
export declare function hasOne<T extends Entity>(targetResolver: EntityResolver<T>, definition?: Partial<HasOneDefinition>): (decoratedTarget: object, key: string) => void;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright IBM Corp. 2018,2020. All Rights Reserved.
|
|
3
|
+
// Node module: @loopback/repository
|
|
4
|
+
// This file is licensed under the MIT License.
|
|
5
|
+
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.hasOne = void 0;
|
|
8
|
+
const relation_decorator_1 = require("../relation.decorator");
|
|
9
|
+
const relation_types_1 = require("../relation.types");
|
|
10
|
+
/*
|
|
11
|
+
* Decorator for hasOne
|
|
12
|
+
* infers foreign key name from target model name unless explicitly specified
|
|
13
|
+
* @param targetResolver - Target model for hasOne relation
|
|
14
|
+
* @param definition - Optional metadata for setting up hasOne relation
|
|
15
|
+
* @returns A property decorator
|
|
16
|
+
*/
|
|
17
|
+
function hasOne(targetResolver, definition) {
|
|
18
|
+
return function (decoratedTarget, key) {
|
|
19
|
+
// property.array(targetResolver)(decoratedTarget, key);
|
|
20
|
+
const meta = Object.assign(
|
|
21
|
+
// default values, can be customized by the caller
|
|
22
|
+
{},
|
|
23
|
+
// properties provided by the caller
|
|
24
|
+
definition,
|
|
25
|
+
// properties enforced by the decorator
|
|
26
|
+
{
|
|
27
|
+
type: relation_types_1.RelationType.hasOne,
|
|
28
|
+
targetsMany: false,
|
|
29
|
+
name: key,
|
|
30
|
+
source: decoratedTarget.constructor,
|
|
31
|
+
target: targetResolver,
|
|
32
|
+
});
|
|
33
|
+
(0, relation_decorator_1.relation)(meta)(decoratedTarget, key);
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
exports.hasOne = hasOne;
|
|
37
|
+
//# sourceMappingURL=has-one.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-one.decorator.js","sourceRoot":"","sources":["../../../src/relations/has-one/has-one.decorator.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAGhE,8DAA+C;AAC/C,sDAAiE;AAEjE;;;;;;GAMG;AACH,SAAgB,MAAM,CACpB,cAAiC,EACjC,UAAsC;IAEtC,OAAO,UAAU,eAAuB,EAAE,GAAW;QACnD,wDAAwD;QAExD,MAAM,IAAI,GAAqB,MAAM,CAAC,MAAM;QAC1C,kDAAkD;QAClD,EAAE;QACF,oCAAoC;QACpC,UAAU;QACV,uCAAuC;QACvC;YACE,IAAI,EAAE,6BAAY,CAAC,MAAM;YACzB,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,eAAe,CAAC,WAAW;YACnC,MAAM,EAAE,cAAc;SACvB,CACF,CAAC;QACF,IAAA,6BAAQ,EAAC,IAAI,CAAC,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC,CAAC;AACJ,CAAC;AAvBD,wBAuBC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { HasOneDefinition } from '../relation.types';
|
|
2
|
+
/**
|
|
3
|
+
* Relation definition with optional metadata (e.g. `keyTo`) filled in.
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export declare type HasOneResolvedDefinition = HasOneDefinition & {
|
|
7
|
+
keyFrom: string;
|
|
8
|
+
keyTo: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Resolves given hasOne metadata if target is specified to be a resolver.
|
|
12
|
+
* Mainly used to infer what the `keyTo` property should be from the target's
|
|
13
|
+
* hasOne metadata
|
|
14
|
+
* @param relationMeta - hasOne metadata to resolve
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveHasOneMetadata(relationMeta: HasOneDefinition): HasOneResolvedDefinition;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright IBM Corp. 2019,2020. All Rights Reserved.
|
|
3
|
+
// Node module: @loopback/repository
|
|
4
|
+
// This file is licensed under the MIT License.
|
|
5
|
+
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.resolveHasOneMetadata = void 0;
|
|
8
|
+
const tslib_1 = require("tslib");
|
|
9
|
+
const debug_1 = (0, tslib_1.__importDefault)(require("debug"));
|
|
10
|
+
const lodash_1 = require("lodash");
|
|
11
|
+
const errors_1 = require("../../errors");
|
|
12
|
+
const type_resolver_1 = require("../../type-resolver");
|
|
13
|
+
const relation_types_1 = require("../relation.types");
|
|
14
|
+
const debug = (0, debug_1.default)('loopback:repository:relations:has-one:helpers');
|
|
15
|
+
/**
|
|
16
|
+
* Resolves given hasOne metadata if target is specified to be a resolver.
|
|
17
|
+
* Mainly used to infer what the `keyTo` property should be from the target's
|
|
18
|
+
* hasOne metadata
|
|
19
|
+
* @param relationMeta - hasOne metadata to resolve
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
function resolveHasOneMetadata(relationMeta) {
|
|
23
|
+
var _a;
|
|
24
|
+
if (relationMeta.type !== relation_types_1.RelationType.hasOne) {
|
|
25
|
+
const reason = 'relation type must be HasOne';
|
|
26
|
+
throw new errors_1.InvalidRelationError(reason, relationMeta);
|
|
27
|
+
}
|
|
28
|
+
if (!(0, type_resolver_1.isTypeResolver)(relationMeta.target)) {
|
|
29
|
+
const reason = 'target must be a type resolver';
|
|
30
|
+
throw new errors_1.InvalidRelationError(reason, relationMeta);
|
|
31
|
+
}
|
|
32
|
+
const targetModel = relationMeta.target();
|
|
33
|
+
const targetModelProperties = (_a = targetModel.definition) === null || _a === void 0 ? void 0 : _a.properties;
|
|
34
|
+
const sourceModel = relationMeta.source;
|
|
35
|
+
if (!sourceModel || !sourceModel.modelName) {
|
|
36
|
+
const reason = 'source model must be defined';
|
|
37
|
+
throw new errors_1.InvalidRelationError(reason, relationMeta);
|
|
38
|
+
}
|
|
39
|
+
// keyFrom defaults to id property
|
|
40
|
+
let keyFrom;
|
|
41
|
+
if (relationMeta.keyFrom &&
|
|
42
|
+
relationMeta.source.definition.properties[relationMeta.keyFrom]) {
|
|
43
|
+
keyFrom = relationMeta.keyFrom;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
keyFrom = sourceModel.getIdProperties()[0];
|
|
47
|
+
}
|
|
48
|
+
// Make sure that if it already keys to the foreign key property,
|
|
49
|
+
// the key exists in the target model
|
|
50
|
+
if (relationMeta.keyTo && targetModelProperties[relationMeta.keyTo]) {
|
|
51
|
+
// The explicit cast is needed because of a limitation of type inference
|
|
52
|
+
return Object.assign(relationMeta, { keyFrom });
|
|
53
|
+
}
|
|
54
|
+
debug('Resolved model %s from given metadata: %o', targetModel.modelName, targetModel);
|
|
55
|
+
const defaultFkName = (0, lodash_1.camelCase)(sourceModel.modelName + '_id');
|
|
56
|
+
const hasDefaultFkProperty = targetModelProperties[defaultFkName];
|
|
57
|
+
if (!hasDefaultFkProperty) {
|
|
58
|
+
const reason = `target model ${targetModel.name} is missing definition of foreign key ${defaultFkName}`;
|
|
59
|
+
throw new errors_1.InvalidRelationError(reason, relationMeta);
|
|
60
|
+
}
|
|
61
|
+
return Object.assign(relationMeta, { keyFrom, keyTo: defaultFkName });
|
|
62
|
+
}
|
|
63
|
+
exports.resolveHasOneMetadata = resolveHasOneMetadata;
|
|
64
|
+
//# sourceMappingURL=has-one.helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-one.helpers.js","sourceRoot":"","sources":["../../../src/relations/has-one/has-one.helpers.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,+DAAiC;AACjC,mCAAiC;AACjC,yCAAkD;AAClD,uDAAmD;AACnD,sDAAiE;AAEjE,MAAM,KAAK,GAAG,IAAA,eAAY,EAAC,+CAA+C,CAAC,CAAC;AAW5E;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,YAA8B;;IAE9B,IAAK,YAAY,CAAC,IAAqB,KAAK,6BAAY,CAAC,MAAM,EAAE;QAC/D,MAAM,MAAM,GAAG,8BAA8B,CAAC;QAC9C,MAAM,IAAI,6BAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtD;IAED,IAAI,CAAC,IAAA,8BAAc,EAAC,YAAY,CAAC,MAAM,CAAC,EAAE;QACxC,MAAM,MAAM,GAAG,gCAAgC,CAAC;QAChD,MAAM,IAAI,6BAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtD;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;IAC1C,MAAM,qBAAqB,GAAG,MAAA,WAAW,CAAC,UAAU,0CAAE,UAAU,CAAC;IAEjE,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC;IACxC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;QAC1C,MAAM,MAAM,GAAG,8BAA8B,CAAC;QAC9C,MAAM,IAAI,6BAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtD;IAED,kCAAkC;IAClC,IAAI,OAAO,CAAC;IACZ,IACE,YAAY,CAAC,OAAO;QACpB,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,EAC/D;QACA,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;KAChC;SAAM;QACL,OAAO,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;KAC5C;IAED,iEAAiE;IACjE,qCAAqC;IACrC,IAAI,YAAY,CAAC,KAAK,IAAI,qBAAqB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;QACnE,wEAAwE;QACxE,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAC,OAAO,EAAC,CAA6B,CAAC;KAC3E;IAED,KAAK,CACH,2CAA2C,EAC3C,WAAW,CAAC,SAAS,EACrB,WAAW,CACZ,CAAC;IACF,MAAM,aAAa,GAAG,IAAA,kBAAS,EAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;IAC/D,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAElE,IAAI,CAAC,oBAAoB,EAAE;QACzB,MAAM,MAAM,GAAG,gBAAgB,WAAW,CAAC,IAAI,yCAAyC,aAAa,EAAE,CAAC;QACxG,MAAM,IAAI,6BAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtD;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAC,CAAC,CAAC;AACtE,CAAC;AAtDD,sDAsDC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Entity } from '../../model';
|
|
2
|
+
import { EntityCrudRepository } from '../../repositories';
|
|
3
|
+
import { Getter, HasOneDefinition, InclusionResolver } from '../relation.types';
|
|
4
|
+
/**
|
|
5
|
+
* Creates InclusionResolver for HasOne relation.
|
|
6
|
+
* Notice that this function only generates the inclusionResolver.
|
|
7
|
+
* It doesn't register it for the source repository.
|
|
8
|
+
*
|
|
9
|
+
* Notice: scope field for inclusion is not supported yet.
|
|
10
|
+
*
|
|
11
|
+
* @param meta
|
|
12
|
+
* @param getTargetRepo
|
|
13
|
+
*/
|
|
14
|
+
export declare function createHasOneInclusionResolver<Target extends Entity, TargetID, TargetRelations extends object>(meta: HasOneDefinition, getTargetRepo: Getter<EntityCrudRepository<Target, TargetID, TargetRelations>>): InclusionResolver<Entity, Target>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright IBM Corp. 2019,2020. All Rights Reserved.
|
|
3
|
+
// Node module: @loopback/repository
|
|
4
|
+
// This file is licensed under the MIT License.
|
|
5
|
+
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.createHasOneInclusionResolver = void 0;
|
|
8
|
+
const relation_helpers_1 = require("../relation.helpers");
|
|
9
|
+
const has_one_helpers_1 = require("./has-one.helpers");
|
|
10
|
+
/**
|
|
11
|
+
* Creates InclusionResolver for HasOne relation.
|
|
12
|
+
* Notice that this function only generates the inclusionResolver.
|
|
13
|
+
* It doesn't register it for the source repository.
|
|
14
|
+
*
|
|
15
|
+
* Notice: scope field for inclusion is not supported yet.
|
|
16
|
+
*
|
|
17
|
+
* @param meta
|
|
18
|
+
* @param getTargetRepo
|
|
19
|
+
*/
|
|
20
|
+
function createHasOneInclusionResolver(meta, getTargetRepo) {
|
|
21
|
+
const relationMeta = (0, has_one_helpers_1.resolveHasOneMetadata)(meta);
|
|
22
|
+
return async function fetchHasOneModel(entities, inclusion, options) {
|
|
23
|
+
if (!entities.length)
|
|
24
|
+
return [];
|
|
25
|
+
const sourceKey = relationMeta.keyFrom;
|
|
26
|
+
const sourceIds = entities.map(e => e[sourceKey]);
|
|
27
|
+
const targetKey = relationMeta.keyTo;
|
|
28
|
+
const scope = typeof inclusion === 'string' ? {} : inclusion.scope;
|
|
29
|
+
const targetRepo = await getTargetRepo();
|
|
30
|
+
const targetsFound = await (0, relation_helpers_1.findByForeignKeys)(targetRepo, targetKey, sourceIds, scope, options);
|
|
31
|
+
return (0, relation_helpers_1.flattenTargetsOfOneToOneRelation)(sourceIds, targetsFound, targetKey);
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
exports.createHasOneInclusionResolver = createHasOneInclusionResolver;
|
|
35
|
+
//# sourceMappingURL=has-one.inclusion-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-one.inclusion-resolver.js","sourceRoot":"","sources":["../../../src/relations/has-one/has-one.inclusion-resolver.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAMhE,0DAI6B;AAE7B,uDAAwD;AAExD;;;;;;;;;GASG;AACH,SAAgB,6BAA6B,CAK3C,IAAsB,EACtB,aAEC;IAED,MAAM,YAAY,GAAG,IAAA,uCAAqB,EAAC,IAAI,CAAC,CAAC;IAEjD,OAAO,KAAK,UAAU,gBAAgB,CACpC,QAAkB,EAClB,SAA0B,EAC1B,OAAiB;QAEjB,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEhC,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;QACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,YAAY,CAAC,KAA4B,CAAC;QAE5D,MAAM,KAAK,GACT,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,SAAS,CAAC,KAAwB,CAAC;QAE3E,MAAM,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,MAAM,IAAA,oCAAiB,EAC1C,UAAU,EACV,SAAS,EACT,SAAS,EACT,KAAK,EACL,OAAO,CACR,CAAC;QAEF,OAAO,IAAA,mDAAgC,EAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC9E,CAAC,CAAC;AACJ,CAAC;AArCD,sEAqCC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Entity } from '../../model';
|
|
2
|
+
import { EntityCrudRepository } from '../../repositories';
|
|
3
|
+
import { Getter, HasOneDefinition, InclusionResolver } from '../relation.types';
|
|
4
|
+
import { HasOneRepository } from './has-one.repository';
|
|
5
|
+
export interface HasOneRepositoryFactory<Target extends Entity, ForeignKeyType> {
|
|
6
|
+
/**
|
|
7
|
+
* Invoke the function to obtain HasOneRepository.
|
|
8
|
+
*/
|
|
9
|
+
(fkValue: ForeignKeyType): HasOneRepository<Target>;
|
|
10
|
+
/**
|
|
11
|
+
* Use `resolver` property to obtain an InclusionResolver for this relation.
|
|
12
|
+
*/
|
|
13
|
+
inclusionResolver: InclusionResolver<Entity, Target>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Enforces a constraint on a repository based on a relationship contract
|
|
17
|
+
* between models. For example, if a Customer model is related to an Address model
|
|
18
|
+
* via a HasOne relation, then, the relational repository returned by the
|
|
19
|
+
* factory function would be constrained by a Customer model instance's id(s).
|
|
20
|
+
*
|
|
21
|
+
* @param relationMetadata - The relation metadata used to describe the
|
|
22
|
+
* relationship and determine how to apply the constraint.
|
|
23
|
+
* @param targetRepositoryGetter - The repository which represents the target model of a
|
|
24
|
+
* relation attached to a datasource.
|
|
25
|
+
* @returns The factory function which accepts a foreign key value to constrain
|
|
26
|
+
* the given target repository
|
|
27
|
+
*/
|
|
28
|
+
export declare function createHasOneRepositoryFactory<Target extends Entity, TargetID, ForeignKeyType>(relationMetadata: HasOneDefinition, targetRepositoryGetter: Getter<EntityCrudRepository<Target, TargetID>>): HasOneRepositoryFactory<Target, ForeignKeyType>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright IBM Corp. 2018,2020. All Rights Reserved.
|
|
3
|
+
// Node module: @loopback/repository
|
|
4
|
+
// This file is licensed under the MIT License.
|
|
5
|
+
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.createHasOneRepositoryFactory = void 0;
|
|
8
|
+
const tslib_1 = require("tslib");
|
|
9
|
+
const debug_1 = (0, tslib_1.__importDefault)(require("debug"));
|
|
10
|
+
const has_one_helpers_1 = require("./has-one.helpers");
|
|
11
|
+
const has_one_inclusion_resolver_1 = require("./has-one.inclusion-resolver");
|
|
12
|
+
const has_one_repository_1 = require("./has-one.repository");
|
|
13
|
+
const debug = (0, debug_1.default)('loopback:repository:relations:has-one:repository-factory');
|
|
14
|
+
/**
|
|
15
|
+
* Enforces a constraint on a repository based on a relationship contract
|
|
16
|
+
* between models. For example, if a Customer model is related to an Address model
|
|
17
|
+
* via a HasOne relation, then, the relational repository returned by the
|
|
18
|
+
* factory function would be constrained by a Customer model instance's id(s).
|
|
19
|
+
*
|
|
20
|
+
* @param relationMetadata - The relation metadata used to describe the
|
|
21
|
+
* relationship and determine how to apply the constraint.
|
|
22
|
+
* @param targetRepositoryGetter - The repository which represents the target model of a
|
|
23
|
+
* relation attached to a datasource.
|
|
24
|
+
* @returns The factory function which accepts a foreign key value to constrain
|
|
25
|
+
* the given target repository
|
|
26
|
+
*/
|
|
27
|
+
function createHasOneRepositoryFactory(relationMetadata, targetRepositoryGetter) {
|
|
28
|
+
const meta = (0, has_one_helpers_1.resolveHasOneMetadata)(relationMetadata);
|
|
29
|
+
debug('Resolved HasOne relation metadata: %o', meta);
|
|
30
|
+
const result = function (fkValue) {
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
32
|
+
const constraint = { [meta.keyTo]: fkValue };
|
|
33
|
+
return new has_one_repository_1.DefaultHasOneRepository(targetRepositoryGetter, constraint);
|
|
34
|
+
};
|
|
35
|
+
result.inclusionResolver = (0, has_one_inclusion_resolver_1.createHasOneInclusionResolver)(meta, targetRepositoryGetter);
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
exports.createHasOneRepositoryFactory = createHasOneRepositoryFactory;
|
|
39
|
+
//# sourceMappingURL=has-one.repository-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-one.repository-factory.js","sourceRoot":"","sources":["../../../src/relations/has-one/has-one.repository-factory.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,+DAAiC;AAKjC,uDAAwD;AACxD,6EAA2E;AAC3E,6DAA+E;AAE/E,MAAM,KAAK,GAAG,IAAA,eAAY,EACxB,0DAA0D,CAC3D,CAAC;AAgBF;;;;;;;;;;;;GAYG;AACH,SAAgB,6BAA6B,CAK3C,gBAAkC,EAClC,sBAAsE;IAEtE,MAAM,IAAI,GAAG,IAAA,uCAAqB,EAAC,gBAAgB,CAAC,CAAC;IACrD,KAAK,CAAC,uCAAuC,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,MAAM,GAAoD,UAC9D,OAAuB;QAEvB,8DAA8D;QAC9D,MAAM,UAAU,GAAQ,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAC,CAAC;QAChD,OAAO,IAAI,4CAAuB,CAIhC,sBAAsB,EAAE,UAAgC,CAAC,CAAC;IAC9D,CAAC,CAAC;IACF,MAAM,CAAC,iBAAiB,GAAG,IAAA,0DAA6B,EACtD,IAAI,EACJ,sBAAsB,CACvB,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AA1BD,sEA0BC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Getter } from '@loopback/core';
|
|
2
|
+
import { Filter } from '@loopback/filter';
|
|
3
|
+
import { Count, DataObject, Options } from '../../common-types';
|
|
4
|
+
import { Entity } from '../../model';
|
|
5
|
+
import { EntityCrudRepository } from '../../repositories';
|
|
6
|
+
/**
|
|
7
|
+
* CRUD operations for a target repository of a HasMany relation
|
|
8
|
+
*/
|
|
9
|
+
export interface HasOneRepository<Target extends Entity> {
|
|
10
|
+
/**
|
|
11
|
+
* Create a target model instance
|
|
12
|
+
* @param targetModelData - The target model data
|
|
13
|
+
* @param options - Options for the operation
|
|
14
|
+
* @returns A promise which resolves to the newly created target model instance
|
|
15
|
+
*/
|
|
16
|
+
create(targetModelData: DataObject<Target>, options?: Options): Promise<Target>;
|
|
17
|
+
/**
|
|
18
|
+
* Find the only target model instance that belongs to the declaring model.
|
|
19
|
+
* @param filter - Query filter without a Where condition
|
|
20
|
+
* @param options - Options for the operations
|
|
21
|
+
* @returns A promise resolved with the target object or rejected
|
|
22
|
+
* with an EntityNotFoundError when target model instance was not found.
|
|
23
|
+
*/
|
|
24
|
+
get(filter?: Pick<Filter<Target>, Exclude<keyof Filter<Target>, 'where'>>, options?: Options): Promise<Target>;
|
|
25
|
+
/**
|
|
26
|
+
* Delete the related target model instance
|
|
27
|
+
* @param options
|
|
28
|
+
* @returns A promise which resolves the deleted target model instances
|
|
29
|
+
*/
|
|
30
|
+
delete(options?: Options): Promise<Count>;
|
|
31
|
+
/**
|
|
32
|
+
* Patch the related target model instance
|
|
33
|
+
* @param dataObject - The target model fields and their new values to patch
|
|
34
|
+
* @param options
|
|
35
|
+
* @returns A promise which resolves the patched target model instances
|
|
36
|
+
*/
|
|
37
|
+
patch(dataObject: DataObject<Target>, options?: Options): Promise<Count>;
|
|
38
|
+
}
|
|
39
|
+
export declare class DefaultHasOneRepository<TargetEntity extends Entity, TargetID, TargetRepository extends EntityCrudRepository<TargetEntity, TargetID>> implements HasOneRepository<TargetEntity> {
|
|
40
|
+
getTargetRepository: Getter<TargetRepository>;
|
|
41
|
+
constraint: DataObject<TargetEntity>;
|
|
42
|
+
/**
|
|
43
|
+
* Constructor of DefaultHasOneEntityCrudRepository
|
|
44
|
+
* @param getTargetRepository - the getter of the related target model repository instance
|
|
45
|
+
* @param constraint - the key value pair representing foreign key name to constrain
|
|
46
|
+
* the target repository instance
|
|
47
|
+
*/
|
|
48
|
+
constructor(getTargetRepository: Getter<TargetRepository>, constraint: DataObject<TargetEntity>);
|
|
49
|
+
create(targetModelData: DataObject<TargetEntity>, options?: Options): Promise<TargetEntity>;
|
|
50
|
+
get(filter?: Pick<Filter<TargetEntity>, Exclude<keyof Filter<TargetEntity>, 'where'>>, options?: Options): Promise<TargetEntity>;
|
|
51
|
+
delete(options?: Options): Promise<Count>;
|
|
52
|
+
patch(dataObject: DataObject<TargetEntity>, options?: Options): Promise<Count>;
|
|
53
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright IBM Corp. 2018,2020. All Rights Reserved.
|
|
3
|
+
// Node module: @loopback/repository
|
|
4
|
+
// This file is licensed under the MIT License.
|
|
5
|
+
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.DefaultHasOneRepository = void 0;
|
|
8
|
+
const errors_1 = require("../../errors");
|
|
9
|
+
const repositories_1 = require("../../repositories");
|
|
10
|
+
class DefaultHasOneRepository {
|
|
11
|
+
/**
|
|
12
|
+
* Constructor of DefaultHasOneEntityCrudRepository
|
|
13
|
+
* @param getTargetRepository - the getter of the related target model repository instance
|
|
14
|
+
* @param constraint - the key value pair representing foreign key name to constrain
|
|
15
|
+
* the target repository instance
|
|
16
|
+
*/
|
|
17
|
+
constructor(getTargetRepository, constraint) {
|
|
18
|
+
this.getTargetRepository = getTargetRepository;
|
|
19
|
+
this.constraint = constraint;
|
|
20
|
+
}
|
|
21
|
+
async create(targetModelData, options) {
|
|
22
|
+
const targetRepository = await this.getTargetRepository();
|
|
23
|
+
return targetRepository.create((0, repositories_1.constrainDataObject)(targetModelData, this.constraint), options);
|
|
24
|
+
}
|
|
25
|
+
async get(filter, options) {
|
|
26
|
+
const targetRepository = await this.getTargetRepository();
|
|
27
|
+
const found = await targetRepository.find(Object.assign({ limit: 1 }, (0, repositories_1.constrainFilter)(filter, this.constraint)), options);
|
|
28
|
+
if (found.length < 1) {
|
|
29
|
+
// We don't have a direct access to the foreign key value here :(
|
|
30
|
+
const id = 'constraint ' + JSON.stringify(this.constraint);
|
|
31
|
+
throw new errors_1.EntityNotFoundError(targetRepository.entityClass, id);
|
|
32
|
+
}
|
|
33
|
+
return found[0];
|
|
34
|
+
}
|
|
35
|
+
async delete(options) {
|
|
36
|
+
const targetRepository = await this.getTargetRepository();
|
|
37
|
+
return targetRepository.deleteAll((0, repositories_1.constrainWhere)({}, this.constraint), options);
|
|
38
|
+
}
|
|
39
|
+
async patch(dataObject, options) {
|
|
40
|
+
const targetRepository = await this.getTargetRepository();
|
|
41
|
+
return targetRepository.updateAll((0, repositories_1.constrainDataObject)(dataObject, this.constraint), (0, repositories_1.constrainWhere)({}, this.constraint), options);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.DefaultHasOneRepository = DefaultHasOneRepository;
|
|
45
|
+
//# sourceMappingURL=has-one.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-one.repository.js","sourceRoot":"","sources":["../../../src/relations/has-one/has-one.repository.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAKhE,yCAAiD;AAEjD,qDAK4B;AA6C5B,MAAa,uBAAuB;IAMlC;;;;;OAKG;IACH,YACS,mBAA6C,EAC7C,UAAoC;QADpC,wBAAmB,GAAnB,mBAAmB,CAA0B;QAC7C,eAAU,GAAV,UAAU,CAA0B;IAC1C,CAAC;IAEJ,KAAK,CAAC,MAAM,CACV,eAAyC,EACzC,OAAiB;QAEjB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,OAAO,gBAAgB,CAAC,MAAM,CAC5B,IAAA,kCAAmB,EAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,EACrD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CACP,MAGC,EACD,OAAiB;QAEjB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,CACvC,MAAM,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,IAAA,8BAAe,EAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EACnE,OAAO,CACR,CAAC;QACF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,iEAAiE;YACjE,MAAM,EAAE,GAAG,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3D,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;SACjE;QACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAAiB;QAC5B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,OAAO,gBAAgB,CAAC,SAAS,CAC/B,IAAA,6BAAc,EAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,EACnC,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,UAAoC,EACpC,OAAiB;QAEjB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,OAAO,gBAAgB,CAAC,SAAS,CAC/B,IAAA,kCAAmB,EAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,EAChD,IAAA,6BAAc,EAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,EACnC,OAAO,CACR,CAAC;IACJ,CAAC;CACF;AAlED,0DAkEC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright IBM Corp. 2018,2020. All Rights Reserved.
|
|
3
|
+
// Node module: @loopback/repository
|
|
4
|
+
// This file is licensed under the MIT License.
|
|
5
|
+
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const tslib_1 = require("tslib");
|
|
8
|
+
(0, tslib_1.__exportStar)(require("./has-one.decorator"), exports);
|
|
9
|
+
(0, tslib_1.__exportStar)(require("./has-one.repository"), exports);
|
|
10
|
+
(0, tslib_1.__exportStar)(require("./has-one.repository-factory"), exports);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/relations/has-one/index.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,mEAAoC;AACpC,oEAAqC;AACrC,4EAA6C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright IBM Corp. 2018,2020. All Rights Reserved.
|
|
3
|
+
// Node module: @loopback/repository
|
|
4
|
+
// This file is licensed under the MIT License.
|
|
5
|
+
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const tslib_1 = require("tslib");
|
|
8
|
+
(0, tslib_1.__exportStar)(require("./belongs-to"), exports);
|
|
9
|
+
(0, tslib_1.__exportStar)(require("./has-many"), exports);
|
|
10
|
+
(0, tslib_1.__exportStar)(require("./has-one"), exports);
|
|
11
|
+
(0, tslib_1.__exportStar)(require("./relation.decorator"), exports);
|
|
12
|
+
(0, tslib_1.__exportStar)(require("./relation.helpers"), exports);
|
|
13
|
+
(0, tslib_1.__exportStar)(require("./relation.types"), exports);
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/relations/index.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,4DAA6B;AAC7B,0DAA2B;AAC3B,yDAA0B;AAC1B,oEAAqC;AACrC,kEAAmC;AACnC,gEAAiC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Model, RelationDefinitionMap } from '../model';
|
|
2
|
+
export declare const RELATIONS_KEY = "loopback:relations";
|
|
3
|
+
/**
|
|
4
|
+
* Decorator for relations
|
|
5
|
+
* @param definition
|
|
6
|
+
* @returns A property decorator
|
|
7
|
+
*/
|
|
8
|
+
export declare function relation(definition?: Object): PropertyDecorator;
|
|
9
|
+
/**
|
|
10
|
+
* Get metadata of all relations defined on a given model class.
|
|
11
|
+
*
|
|
12
|
+
* @param modelCtor - The model class (the constructor function).
|
|
13
|
+
* @returns A map of relation definitions
|
|
14
|
+
*/
|
|
15
|
+
export declare function getModelRelations(modelCtor: typeof Model): RelationDefinitionMap;
|
|
16
|
+
/**
|
|
17
|
+
* Decorator for embedsOne
|
|
18
|
+
* @param definition
|
|
19
|
+
* @returns A property decorator
|
|
20
|
+
*/
|
|
21
|
+
export declare function embedsOne(definition?: Object): PropertyDecorator;
|
|
22
|
+
/**
|
|
23
|
+
* Decorator for embedsMany
|
|
24
|
+
* @param definition
|
|
25
|
+
* @returns A property decorator
|
|
26
|
+
*/
|
|
27
|
+
export declare function embedsMany(definition?: Object): PropertyDecorator;
|
|
28
|
+
/**
|
|
29
|
+
* Decorator for referencesOne
|
|
30
|
+
* @param definition
|
|
31
|
+
* @returns A property decorator
|
|
32
|
+
*/
|
|
33
|
+
export declare function referencesOne(definition?: Object): PropertyDecorator;
|
|
34
|
+
/**
|
|
35
|
+
* Decorator for referencesMany
|
|
36
|
+
* @param definition
|
|
37
|
+
* @returns A property decorator
|
|
38
|
+
*/
|
|
39
|
+
export declare function referencesMany(definition?: Object): PropertyDecorator;
|