@goatlab/fluent 0.7.31 → 0.7.33
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 +21 -0
- package/README.md +0 -0
- package/package.json +34 -34
- package/dist/BaseConnector.d.ts +0 -43
- package/dist/BaseConnector.js +0 -257
- package/dist/Fluent.d.ts +0 -7
- package/dist/Fluent.js +0 -22
- package/dist/FluentConnectorInterface.d.ts +0 -17
- package/dist/FluentConnectorInterface.js +0 -2
- package/dist/FluentEntity.d.ts +0 -7
- package/dist/FluentEntity.js +0 -28
- package/dist/TypeOrmConnector/TypeOrmConnector.d.ts +0 -39
- package/dist/TypeOrmConnector/TypeOrmConnector.js +0 -392
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.d.ts +0 -7
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.js +0 -149
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.d.ts +0 -6
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.js +0 -46
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoOrderBy.d.ts +0 -4
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoOrderBy.js +0 -19
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.d.ts +0 -4
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.js +0 -12
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.d.ts +0 -6
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.js +0 -166
- package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.d.ts +0 -8
- package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.js +0 -200
- package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.d.ts +0 -6
- package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.js +0 -207
- package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.d.ts +0 -1
- package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.js +0 -256
- package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.d.ts +0 -116
- package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.js +0 -74
- package/dist/TypeOrmConnector/test/advanced/typeOrm.mongo.repository.d.ts +0 -5
- package/dist/TypeOrmConnector/test/advanced/typeOrm.mongo.repository.js +0 -17
- package/dist/TypeOrmConnector/test/advanced/typeOrm.mysql.repository.d.ts +0 -5
- package/dist/TypeOrmConnector/test/advanced/typeOrm.mysql.repository.js +0 -17
- package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.d.ts +0 -5
- package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.js +0 -17
- package/dist/TypeOrmConnector/test/basic/basicTestSuite.d.ts +0 -1
- package/dist/TypeOrmConnector/test/basic/basicTestSuite.js +0 -193
- package/dist/TypeOrmConnector/test/basic/goat.entity.d.ts +0 -53
- package/dist/TypeOrmConnector/test/basic/goat.entity.js +0 -53
- package/dist/TypeOrmConnector/test/basic/goat.mongo.repository.d.ts +0 -5
- package/dist/TypeOrmConnector/test/basic/goat.mongo.repository.js +0 -16
- package/dist/TypeOrmConnector/test/basic/goat.mysql.repository.d.ts +0 -5
- package/dist/TypeOrmConnector/test/basic/goat.mysql.repository.js +0 -16
- package/dist/TypeOrmConnector/test/basic/goat.repository.d.ts +0 -5
- package/dist/TypeOrmConnector/test/basic/goat.repository.js +0 -16
- package/dist/TypeOrmConnector/test/dbEntities.d.ts +0 -6
- package/dist/TypeOrmConnector/test/dbEntities.js +0 -17
- package/dist/TypeOrmConnector/test/docker/docker.d.ts +0 -35
- package/dist/TypeOrmConnector/test/docker/docker.js +0 -148
- package/dist/TypeOrmConnector/test/docker/mongo.d.ts +0 -16
- package/dist/TypeOrmConnector/test/docker/mongo.js +0 -93
- package/dist/TypeOrmConnector/test/docker/mysql.d.ts +0 -17
- package/dist/TypeOrmConnector/test/docker/mysql.js +0 -132
- package/dist/TypeOrmConnector/test/flock.d.ts +0 -4
- package/dist/TypeOrmConnector/test/flock.js +0 -25
- package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.d.ts +0 -10
- package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.js +0 -28
- package/dist/TypeOrmConnector/test/mongo/mongoDatasource.d.ts +0 -2
- package/dist/TypeOrmConnector/test/mongo/mongoDatasource.js +0 -12
- package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.d.ts +0 -9
- package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.js +0 -25
- package/dist/TypeOrmConnector/test/mongo/roles_user.mongo.repository.d.ts +0 -6
- package/dist/TypeOrmConnector/test/mongo/roles_user.mongo.repository.js +0 -17
- package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.d.ts +0 -10
- package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.js +0 -32
- package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.d.ts +0 -10
- package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.js +0 -26
- package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.d.ts +0 -2
- package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.js +0 -16
- package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.d.ts +0 -9
- package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.js +0 -25
- package/dist/TypeOrmConnector/test/mysql/roles_user.mysql.repository.d.ts +0 -6
- package/dist/TypeOrmConnector/test/mysql/roles_user.mysql.repository.js +0 -17
- package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.d.ts +0 -10
- package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.js +0 -33
- package/dist/TypeOrmConnector/test/relations/car/car.entity.d.ts +0 -7
- package/dist/TypeOrmConnector/test/relations/car/car.entity.js +0 -32
- package/dist/TypeOrmConnector/test/relations/car/car.output.schema.d.ts +0 -511
- package/dist/TypeOrmConnector/test/relations/car/car.output.schema.js +0 -8
- package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.d.ts +0 -10
- package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.js +0 -26
- package/dist/TypeOrmConnector/test/relations/car/car.schema.d.ts +0 -15
- package/dist/TypeOrmConnector/test/relations/car/car.schema.js +0 -9
- package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.d.ts +0 -1
- package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.js +0 -575
- package/dist/TypeOrmConnector/test/relations/roles/role.output.schema.d.ts +0 -152
- package/dist/TypeOrmConnector/test/relations/roles/role.output.schema.js +0 -14
- package/dist/TypeOrmConnector/test/relations/roles/role.schema.d.ts +0 -12
- package/dist/TypeOrmConnector/test/relations/roles/role.schema.js +0 -8
- package/dist/TypeOrmConnector/test/relations/roles/roles.entity.d.ts +0 -6
- package/dist/TypeOrmConnector/test/relations/roles/roles.entity.js +0 -29
- package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.d.ts +0 -9
- package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.js +0 -25
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.d.ts +0 -5
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.js +0 -23
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.schema.d.ts +0 -15
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.schema.js +0 -9
- package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.d.ts +0 -6
- package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.js +0 -17
- package/dist/TypeOrmConnector/test/relations/user/user.entity.d.ts +0 -14
- package/dist/TypeOrmConnector/test/relations/user/user.entity.js +0 -56
- package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.d.ts +0 -10
- package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.js +0 -30
- package/dist/TypeOrmConnector/test/relations/user/user.schema.d.ts +0 -546
- package/dist/TypeOrmConnector/test/relations/user/user.schema.js +0 -67
- package/dist/TypeOrmConnector/test/sqlite/memoryDataSource.d.ts +0 -2
- package/dist/TypeOrmConnector/test/sqlite/memoryDataSource.js +0 -12
- package/dist/TypeOrmConnector/util/clearEmpties.d.ts +0 -1
- package/dist/TypeOrmConnector/util/clearEmpties.js +0 -25
- package/dist/TypeOrmConnector/util/extractConditions.d.ts +0 -6
- package/dist/TypeOrmConnector/util/extractConditions.js +0 -80
- package/dist/TypeOrmConnector/util/extractInclude.d.ts +0 -2
- package/dist/TypeOrmConnector/util/extractInclude.js +0 -25
- package/dist/TypeOrmConnector/util/extractMetadataFromKeys.d.ts +0 -12
- package/dist/TypeOrmConnector/util/extractMetadataFromKeys.js +0 -42
- package/dist/TypeOrmConnector/util/extractOrderBy.d.ts +0 -4
- package/dist/TypeOrmConnector/util/extractOrderBy.js +0 -18
- package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.d.ts +0 -19
- package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.js +0 -26
- package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.d.ts +0 -1
- package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.js +0 -20
- package/dist/TypeOrmConnector/util/isAnyObject.d.ts +0 -1
- package/dist/TypeOrmConnector/util/isAnyObject.js +0 -7
- package/dist/TypeOrmConnector/util/nestQueryResults.d.ts +0 -2
- package/dist/TypeOrmConnector/util/nestQueryResults.js +0 -31
- package/dist/cache.d.ts +0 -9
- package/dist/cache.js +0 -43
- package/dist/core/Loopback/build-schema.d.ts +0 -31
- package/dist/core/Loopback/build-schema.js +0 -333
- package/dist/core/Loopback/common-types.d.ts +0 -36
- package/dist/core/Loopback/common-types.js +0 -13
- package/dist/core/Loopback/json-to-schema.d.ts +0 -6
- package/dist/core/Loopback/json-to-schema.js +0 -96
- package/dist/core/Loopback/mapValues.d.ts +0 -2
- package/dist/core/Loopback/mapValues.js +0 -835
- package/dist/core/Loopback/metadata.d.ts +0 -9
- package/dist/core/Loopback/metadata.js +0 -28
- package/dist/core/Loopback/model.d.ts +0 -87
- package/dist/core/Loopback/model.js +0 -244
- package/dist/core/Loopback/query.d.ts +0 -97
- package/dist/core/Loopback/query.js +0 -292
- package/dist/core/Loopback/relation.types.d.ts +0 -45
- package/dist/core/Loopback/relation.types.js +0 -13
- package/dist/core/Loopback/type-resolver.d.ts +0 -7
- package/dist/core/Loopback/type-resolver.js +0 -34
- package/dist/core/Loopback/type.d.ts +0 -9
- package/dist/core/Loopback/type.js +0 -2
- package/dist/core/Nestjs/applyDecorators.d.ts +0 -1
- package/dist/core/Nestjs/applyDecorators.js +0 -17
- package/dist/core/Nestjs/types/common.d.ts +0 -16
- package/dist/core/Nestjs/types/common.js +0 -37
- package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.d.ts +0 -1
- package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.js +0 -7
- package/dist/core/Nestjs/types/decorators/api-property.decorator.d.ts +0 -27
- package/dist/core/Nestjs/types/decorators/api-property.decorator.js +0 -65
- package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.d.ts +0 -5
- package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.js +0 -131
- package/dist/core/Nestjs/types/decorators/args-type.decorator.d.ts +0 -1
- package/dist/core/Nestjs/types/decorators/args-type.decorator.js +0 -19
- package/dist/core/Nestjs/types/decorators/create-property.decorator.d.ts +0 -2
- package/dist/core/Nestjs/types/decorators/create-property.decorator.js +0 -55
- package/dist/core/Nestjs/types/decorators/directive.decorator.d.ts +0 -1
- package/dist/core/Nestjs/types/decorators/directive.decorator.js +0 -36
- package/dist/core/Nestjs/types/decorators/extensions.decorator.d.ts +0 -1
- package/dist/core/Nestjs/types/decorators/extensions.decorator.js +0 -25
- package/dist/core/Nestjs/types/decorators/field.decorator.d.ts +0 -15
- package/dist/core/Nestjs/types/decorators/field.decorator.js +0 -56
- package/dist/core/Nestjs/types/decorators/input-type.decorator.d.ts +0 -7
- package/dist/core/Nestjs/types/decorators/input-type.decorator.js +0 -23
- package/dist/core/Nestjs/types/decorators/interface-type.decorator.d.ts +0 -9
- package/dist/core/Nestjs/types/decorators/interface-type.decorator.js +0 -27
- package/dist/core/Nestjs/types/decorators/partial-type.helper.d.ts +0 -3
- package/dist/core/Nestjs/types/decorators/partial-type.helper.js +0 -42
- package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.d.ts +0 -3
- package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.js +0 -9
- package/dist/core/Nestjs/types/errors/directive-parsing.error.d.ts +0 -3
- package/dist/core/Nestjs/types/errors/directive-parsing.error.js +0 -9
- package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.d.ts +0 -3
- package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.js +0 -9
- package/dist/core/Nestjs/types/errors/undefined-type.error.d.ts +0 -3
- package/dist/core/Nestjs/types/errors/undefined-type.error.js +0 -10
- package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.d.ts +0 -3
- package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.js +0 -10
- package/dist/core/Nestjs/types/interfaces/base-type-options.interface.d.ts +0 -5
- package/dist/core/Nestjs/types/interfaces/base-type-options.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.d.ts +0 -5
- package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/complexity.interface.d.ts +0 -11
- package/dist/core/Nestjs/types/interfaces/complexity.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/field-middleware.interface.d.ts +0 -15
- package/dist/core/Nestjs/types/interfaces/field-middleware.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.d.ts +0 -235
- package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.d.ts +0 -2
- package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/return-type-func.interface.d.ts +0 -5
- package/dist/core/Nestjs/types/interfaces/return-type-func.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.d.ts +0 -9
- package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/type-options.interface.d.ts +0 -5
- package/dist/core/Nestjs/types/interfaces/type-options.interface.js +0 -2
- package/dist/core/Nestjs/types/lazy-metadata.storage.d.ts +0 -15
- package/dist/core/Nestjs/types/lazy-metadata.storage.js +0 -67
- package/dist/core/Nestjs/types/metadata/class.metadata.d.ts +0 -11
- package/dist/core/Nestjs/types/metadata/class.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/directive.metadata.d.ts +0 -8
- package/dist/core/Nestjs/types/metadata/directive.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/enum.metadata.d.ts +0 -11
- package/dist/core/Nestjs/types/metadata/enum.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/extensions.metadata.d.ts +0 -8
- package/dist/core/Nestjs/types/metadata/extensions.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/index.d.ts +0 -8
- package/dist/core/Nestjs/types/metadata/index.js +0 -11
- package/dist/core/Nestjs/types/metadata/interface.metadata.d.ts +0 -6
- package/dist/core/Nestjs/types/metadata/interface.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/object-type.metadata.d.ts +0 -4
- package/dist/core/Nestjs/types/metadata/object-type.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/param.metadata.d.ts +0 -18
- package/dist/core/Nestjs/types/metadata/param.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/property.metadata.d.ts +0 -20
- package/dist/core/Nestjs/types/metadata/property.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/resolver.metadata.d.ts +0 -34
- package/dist/core/Nestjs/types/metadata/resolver.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/union.metadata.d.ts +0 -9
- package/dist/core/Nestjs/types/metadata/union.metadata.js +0 -2
- package/dist/core/Nestjs/types/object-type.decorator.d.ts +0 -8
- package/dist/core/Nestjs/types/object-type.decorator.js +0 -25
- package/dist/core/Nestjs/types/omit-type.d.ts +0 -2
- package/dist/core/Nestjs/types/omit-type.js +0 -34
- package/dist/core/Nestjs/types/reflection.utils.d.ts +0 -15
- package/dist/core/Nestjs/types/reflection.utils.js +0 -65
- package/dist/core/Nestjs/types/set-metadata.decorator.d.ts +0 -4
- package/dist/core/Nestjs/types/set-metadata.decorator.js +0 -16
- package/dist/core/Nestjs/types/type-metadata.storage.d.ts +0 -69
- package/dist/core/Nestjs/types/type-metadata.storage.js +0 -342
- package/dist/core/Nestjs/types/utils/enum.utils.d.ts +0 -3
- package/dist/core/Nestjs/types/utils/enum.utils.js +0 -29
- package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.d.ts +0 -3
- package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.js +0 -72
- package/dist/core/Nestjs/types/utils/mapped-types.utils.d.ts +0 -2
- package/dist/core/Nestjs/types/utils/mapped-types.utils.js +0 -38
- package/dist/core/Nestjs/types/utils/model-properties-accessor.d.ts +0 -6
- package/dist/core/Nestjs/types/utils/model-properties-accessor.js +0 -36
- package/dist/core/Nestjs/types/utils/type-helpers.utils.d.ts +0 -2
- package/dist/core/Nestjs/types/utils/type-helpers.utils.js +0 -16
- package/dist/core/types.d.ts +0 -23
- package/dist/core/types.js +0 -29
- package/dist/decorators.d.ts +0 -47
- package/dist/decorators.js +0 -104
- package/dist/generatorDatasource.d.ts +0 -2
- package/dist/generatorDatasource.js +0 -12
- package/dist/index.d.ts +0 -30
- package/dist/index.js +0 -49
- package/dist/loadRelations.d.ts +0 -12
- package/dist/loadRelations.js +0 -133
- package/dist/outputKeys.d.ts +0 -2
- package/dist/outputKeys.js +0 -17
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/types.d.ts +0 -141
- package/dist/types.js +0 -22
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) GOAT, SPA. and its affiliates.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,59 +1,43 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"version": "0.7.31",
|
|
4
|
-
"description": "Readable query Interface & API generator for TS and Node",
|
|
5
|
-
"scripts": {
|
|
6
|
-
"install-p": "yarn",
|
|
7
|
-
"prebuild": "rimraf dist",
|
|
8
|
-
"prestart": "rimraf dist",
|
|
9
|
-
"predev": "rimraf dist",
|
|
10
|
-
"test": "jest --forceExit",
|
|
11
|
-
"dev": "tsc --watch",
|
|
12
|
-
"lint": "eslint src --fix",
|
|
13
|
-
"format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
|
|
14
|
-
"update:packages": "npm-check-updates -u && yarn",
|
|
15
|
-
"serve": "tsc -w",
|
|
16
|
-
"build": "tsc"
|
|
17
|
-
},
|
|
2
|
+
"author": "ignacio.cabrera@goatlab.io",
|
|
18
3
|
"dependencies": {
|
|
19
|
-
"@
|
|
20
|
-
"@loopback/metadata": "^4.1.2",
|
|
4
|
+
"@loopback/metadata": "^7.0.8",
|
|
21
5
|
"bson": "^4.6.2",
|
|
22
6
|
"graphql": "^16.3.0",
|
|
23
7
|
"keyv": "^4.2.2",
|
|
24
8
|
"openapi3-ts": "^2.0.2",
|
|
25
9
|
"reflect-metadata": "^0.1.13",
|
|
26
10
|
"typeorm": "^0.3.9",
|
|
27
|
-
"zod": "^3.17.10"
|
|
11
|
+
"zod": "^3.17.10",
|
|
12
|
+
"@goatlab/js-utils": "0.8.35"
|
|
28
13
|
},
|
|
14
|
+
"description": "Readable query Interface & API generator for TS and Node",
|
|
29
15
|
"devDependencies": {
|
|
30
16
|
"@types/node": "^18.7.13",
|
|
31
17
|
"cross-spawn": "^7.0.3",
|
|
32
18
|
"detect-port": "^1.3.0",
|
|
33
19
|
"dotenv-cli": "^5.1.0",
|
|
34
20
|
"eslint": "^8.5.0",
|
|
35
|
-
"jest": "^
|
|
21
|
+
"jest": "^29.7.0",
|
|
36
22
|
"modern-spawn": "^1.0.0",
|
|
37
23
|
"mongodb": "^4.9.0",
|
|
38
24
|
"mysql2": "^2.3.3",
|
|
39
25
|
"net": "^1.0.2",
|
|
40
26
|
"prettier": "^2.6.1",
|
|
41
27
|
"pretty-quick": "^3.1.3",
|
|
42
|
-
"ts-jest": "^
|
|
43
|
-
"ts-node": "^10.
|
|
28
|
+
"ts-jest": "^29.2.6",
|
|
29
|
+
"ts-node": "^10.9.2",
|
|
44
30
|
"turbo": "^1.1.10",
|
|
45
|
-
"typescript": "^4.6.3"
|
|
31
|
+
"typescript": "^4.6.3",
|
|
32
|
+
"@goatlab/tsconfig": "0.0.11"
|
|
33
|
+
},
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=14.16.0"
|
|
46
36
|
},
|
|
47
|
-
"homepage": "https://docs.goatlab.io",
|
|
48
|
-
"main": "dist/index.js",
|
|
49
|
-
"types": "dist/index.d.ts",
|
|
50
37
|
"files": [
|
|
51
38
|
"dist"
|
|
52
39
|
],
|
|
53
|
-
"
|
|
54
|
-
"publishConfig": {
|
|
55
|
-
"access": "public"
|
|
56
|
-
},
|
|
40
|
+
"homepage": "https://docs.goatlab.io",
|
|
57
41
|
"keywords": [
|
|
58
42
|
"goat",
|
|
59
43
|
"fluent",
|
|
@@ -64,9 +48,25 @@
|
|
|
64
48
|
"typescript",
|
|
65
49
|
"TS"
|
|
66
50
|
],
|
|
67
|
-
"author": "ignacio.cabrera@goatlab.io",
|
|
68
51
|
"license": "MIT",
|
|
69
|
-
"
|
|
70
|
-
|
|
52
|
+
"main": "dist/index.js",
|
|
53
|
+
"name": "@goatlab/fluent",
|
|
54
|
+
"private": false,
|
|
55
|
+
"publishConfig": {
|
|
56
|
+
"access": "public"
|
|
57
|
+
},
|
|
58
|
+
"types": "dist/index.d.ts",
|
|
59
|
+
"version": "0.7.33",
|
|
60
|
+
"scripts": {
|
|
61
|
+
"build": "echo 'skip'",
|
|
62
|
+
"dev": "tsc --watch",
|
|
63
|
+
"format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
|
|
64
|
+
"lint": "echo 'skip'",
|
|
65
|
+
"prebuild": "rimraf dist",
|
|
66
|
+
"predev": "rimraf dist",
|
|
67
|
+
"prestart": "rimraf dist",
|
|
68
|
+
"serve": "tsc -w",
|
|
69
|
+
"test": "echo 'skip'",
|
|
70
|
+
"update:packages": "npm-check-updates -u && yarn"
|
|
71
71
|
}
|
|
72
|
-
}
|
|
72
|
+
}
|
package/dist/BaseConnector.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Collection } from '@goatlab/js-utils';
|
|
2
|
-
import { FindByIdFilter, FluentHasManyParams, FluentBelongsToParams, FluentBelongsToManyParams, FluentQuery, Primitives, QueryFieldSelector, QueryOutput, AnyObject } from './types';
|
|
3
|
-
export declare abstract class BaseConnector<ModelDTO, InputDTO, OutputDTO> {
|
|
4
|
-
protected outputKeys: string[];
|
|
5
|
-
protected relatedQuery?: {
|
|
6
|
-
entity: new () => ModelDTO;
|
|
7
|
-
query?: FluentQuery<ModelDTO>;
|
|
8
|
-
repository?: any;
|
|
9
|
-
key?: string;
|
|
10
|
-
pivot?: any;
|
|
11
|
-
};
|
|
12
|
-
protected chunk: null;
|
|
13
|
-
protected pullSize: null;
|
|
14
|
-
protected paginator: undefined;
|
|
15
|
-
protected rawQuery: undefined;
|
|
16
|
-
protected modelRelations: any;
|
|
17
|
-
isMongoDB: boolean;
|
|
18
|
-
constructor();
|
|
19
|
-
insertMany(data: InputDTO[]): Promise<OutputDTO[]>;
|
|
20
|
-
updateById(id: string, data: InputDTO): Promise<OutputDTO>;
|
|
21
|
-
findMany<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO>[]>;
|
|
22
|
-
findFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO> | null>;
|
|
23
|
-
requireById(id: string, q?: FindByIdFilter<ModelDTO>): Promise<QueryOutput<FindByIdFilter<ModelDTO>, ModelDTO>>;
|
|
24
|
-
requireFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO>>;
|
|
25
|
-
findByIds<T extends FindByIdFilter<ModelDTO>>(ids: string[], q?: T): Promise<QueryOutput<T, ModelDTO>[]>;
|
|
26
|
-
findById<T extends FindByIdFilter<ModelDTO>>(id: string, q?: T): Promise<QueryOutput<T, ModelDTO> | null>;
|
|
27
|
-
collect(query: FluentQuery<ModelDTO>): Promise<Collection<OutputDTO>>;
|
|
28
|
-
pluck(path: QueryFieldSelector<ModelDTO>, query?: FluentQuery<ModelDTO>): Promise<Primitives[]>;
|
|
29
|
-
protected setRelatedQuery(r: {
|
|
30
|
-
entity: new () => ModelDTO;
|
|
31
|
-
query?: FluentQuery<ModelDTO>;
|
|
32
|
-
repository?: any;
|
|
33
|
-
key?: string;
|
|
34
|
-
}): void;
|
|
35
|
-
associate(data: InputDTO | OutputDTO): Promise<OutputDTO[]>;
|
|
36
|
-
attach(id: string, pivot?: AnyObject): Promise<any[]>;
|
|
37
|
-
protected hasMany<T extends FluentHasManyParams<T>>(r: T): InstanceType<T['repository']>;
|
|
38
|
-
protected belongsTo<T extends FluentBelongsToParams<T>>(r: T): InstanceType<T['repository']>;
|
|
39
|
-
protected hasOne(): void;
|
|
40
|
-
protected belongsToMany<T extends FluentBelongsToManyParams<T>>(r: T): InstanceType<T['repository']>;
|
|
41
|
-
protected hasManyThrough(): void;
|
|
42
|
-
protected jsApplySelect(select: FluentQuery<ModelDTO>['select'], data: ModelDTO[]): ModelDTO[];
|
|
43
|
-
}
|
package/dist/BaseConnector.js
DELETED
|
@@ -1,257 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseConnector = void 0;
|
|
4
|
-
const js_utils_1 = require("@goatlab/js-utils");
|
|
5
|
-
const clearEmpties_1 = require("./TypeOrmConnector/util/clearEmpties");
|
|
6
|
-
class BaseConnector {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.chunk = null;
|
|
9
|
-
this.pullSize = null;
|
|
10
|
-
this.paginator = undefined;
|
|
11
|
-
this.rawQuery = undefined;
|
|
12
|
-
this.chunk = null;
|
|
13
|
-
this.pullSize = null;
|
|
14
|
-
this.paginator = undefined;
|
|
15
|
-
this.rawQuery = undefined;
|
|
16
|
-
this.outputKeys = [];
|
|
17
|
-
}
|
|
18
|
-
async insertMany(data) {
|
|
19
|
-
throw new Error('get() method not implemented');
|
|
20
|
-
}
|
|
21
|
-
async updateById(id, data) {
|
|
22
|
-
throw new Error('get() method not implemented');
|
|
23
|
-
}
|
|
24
|
-
async findMany(query) {
|
|
25
|
-
throw new Error('findMany() method not implemented');
|
|
26
|
-
}
|
|
27
|
-
async findFirst(query) {
|
|
28
|
-
const data = await this.findMany({ ...query, limit: 1 });
|
|
29
|
-
if (!data[0]) {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
return data[0];
|
|
33
|
-
}
|
|
34
|
-
async requireById(id, q) {
|
|
35
|
-
const found = await this.findByIds([id], {
|
|
36
|
-
select: q?.select,
|
|
37
|
-
include: q?.include,
|
|
38
|
-
limit: 1
|
|
39
|
-
});
|
|
40
|
-
found.map(d => {
|
|
41
|
-
if (this.isMongoDB) {
|
|
42
|
-
d['id'] = d['id'].toString();
|
|
43
|
-
}
|
|
44
|
-
(0, clearEmpties_1.clearEmpties)(js_utils_1.Objects.deleteNulls(d));
|
|
45
|
-
});
|
|
46
|
-
if (!found[0]) {
|
|
47
|
-
throw new Error(`Object ${id} not found`);
|
|
48
|
-
}
|
|
49
|
-
return found[0];
|
|
50
|
-
}
|
|
51
|
-
async requireFirst(query) {
|
|
52
|
-
const found = await this.findMany({ ...query, limit: 1 });
|
|
53
|
-
found.map(d => {
|
|
54
|
-
if (this.isMongoDB) {
|
|
55
|
-
d['id'] = d['id'].toString();
|
|
56
|
-
}
|
|
57
|
-
(0, clearEmpties_1.clearEmpties)(js_utils_1.Objects.deleteNulls(d));
|
|
58
|
-
});
|
|
59
|
-
if (!found[0]) {
|
|
60
|
-
const stringQuery = query ? JSON.stringify(query) : '';
|
|
61
|
-
throw new Error(`No objects found matching: ${stringQuery}`);
|
|
62
|
-
}
|
|
63
|
-
return found[0];
|
|
64
|
-
}
|
|
65
|
-
async findByIds(ids, q) {
|
|
66
|
-
let data = await this.findMany({
|
|
67
|
-
where: {
|
|
68
|
-
id: {
|
|
69
|
-
in: ids
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
limit: q?.limit,
|
|
73
|
-
select: q?.select,
|
|
74
|
-
include: q?.include
|
|
75
|
-
});
|
|
76
|
-
return data;
|
|
77
|
-
}
|
|
78
|
-
async findById(id, q) {
|
|
79
|
-
const result = await this.findByIds([id], { ...q, limit: 1 });
|
|
80
|
-
if (!result[0]) {
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
return result[0];
|
|
84
|
-
}
|
|
85
|
-
async collect(query) {
|
|
86
|
-
const data = await this.findMany(query);
|
|
87
|
-
if (!Array.isArray(data)) {
|
|
88
|
-
return new js_utils_1.Collection([data]);
|
|
89
|
-
}
|
|
90
|
-
return new js_utils_1.Collection(data);
|
|
91
|
-
}
|
|
92
|
-
async pluck(path, query) {
|
|
93
|
-
const data = await this.findMany(query);
|
|
94
|
-
const paths = Object.keys(js_utils_1.Objects.flatten(path));
|
|
95
|
-
const result = data.map(e => {
|
|
96
|
-
const extracted = js_utils_1.Objects.getFromPath(e, String(paths[0]), undefined);
|
|
97
|
-
if (typeof extracted.value !== 'undefined') {
|
|
98
|
-
return extracted.value;
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
return result;
|
|
102
|
-
}
|
|
103
|
-
setRelatedQuery(r) {
|
|
104
|
-
this.relatedQuery = r;
|
|
105
|
-
}
|
|
106
|
-
async associate(data) {
|
|
107
|
-
if (!this.relatedQuery?.entity || !this.relatedQuery.key) {
|
|
108
|
-
throw new Error('Associate can only be called as a related model');
|
|
109
|
-
}
|
|
110
|
-
const parentData = await this.relatedQuery.repository.findMany({
|
|
111
|
-
...this.relatedQuery.query,
|
|
112
|
-
select: { id: true }
|
|
113
|
-
});
|
|
114
|
-
let foreignKeyName = this.relatedQuery['repository']['modelRelations'][this.relatedQuery.key]
|
|
115
|
-
.inverseSidePropertyPath;
|
|
116
|
-
if (!foreignKeyName) {
|
|
117
|
-
throw new Error('The relationship was not properly defined. Please check that your Repository and Model relations have the same keys');
|
|
118
|
-
}
|
|
119
|
-
const relatedData = parentData.map(r => ({
|
|
120
|
-
[foreignKeyName]: r.id,
|
|
121
|
-
...data
|
|
122
|
-
}));
|
|
123
|
-
const existingIds = (0, clearEmpties_1.clearEmpties)(relatedData.map(r => r.id));
|
|
124
|
-
const existingData = existingIds.length
|
|
125
|
-
? await this.findByIds(relatedData.map(r => r.id))
|
|
126
|
-
: [];
|
|
127
|
-
const updateQueries = [];
|
|
128
|
-
const insertQueries = [];
|
|
129
|
-
for (const related of relatedData) {
|
|
130
|
-
const exists = existingData.find((d) => {
|
|
131
|
-
const p = d;
|
|
132
|
-
return p.id === related.id;
|
|
133
|
-
});
|
|
134
|
-
if (exists) {
|
|
135
|
-
updateQueries.push(this.updateById(exists.id, {
|
|
136
|
-
...exists,
|
|
137
|
-
[foreignKeyName]: related[foreignKeyName]
|
|
138
|
-
}));
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
insertQueries.push(related);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
const updateResult = await Promise.all(updateQueries);
|
|
145
|
-
const insertedResult = await this.insertMany(insertQueries);
|
|
146
|
-
return [...updateResult, ...insertedResult];
|
|
147
|
-
}
|
|
148
|
-
async attach(id, pivot) {
|
|
149
|
-
if (!this.relatedQuery?.entity || !this.relatedQuery.key) {
|
|
150
|
-
throw new Error('Associate can only be called as a related model');
|
|
151
|
-
}
|
|
152
|
-
const parentData = await this.relatedQuery.repository.findMany({
|
|
153
|
-
...this.relatedQuery.query,
|
|
154
|
-
select: { id: true }
|
|
155
|
-
});
|
|
156
|
-
const foreignKeyName = this.relatedQuery['repository']['modelRelations'][this.relatedQuery.key]
|
|
157
|
-
.joinColumns[0].propertyPath;
|
|
158
|
-
const inverseKeyName = this.relatedQuery['repository']['modelRelations'][this.relatedQuery.key]
|
|
159
|
-
.inverseJoinColumns[0].propertyPath;
|
|
160
|
-
if (!foreignKeyName || !inverseKeyName) {
|
|
161
|
-
throw new Error(`The relationship was not properly defined. Please check that your Repository and Model relations have the same keys: Searching for: ${this.relatedQuery.key}`);
|
|
162
|
-
}
|
|
163
|
-
const relatedData = parentData.map(d => ({
|
|
164
|
-
[foreignKeyName]: d.id,
|
|
165
|
-
[inverseKeyName]: id,
|
|
166
|
-
...pivot
|
|
167
|
-
}));
|
|
168
|
-
return this.relatedQuery.pivot.insertMany(relatedData);
|
|
169
|
-
}
|
|
170
|
-
hasMany(r) {
|
|
171
|
-
const newRepo = new r.repository();
|
|
172
|
-
const calleeName = new Error('dummy')
|
|
173
|
-
.stack.split('\n')[2]
|
|
174
|
-
.replace(/^\s+at\s+(.+?)\s.+/g, '$1')
|
|
175
|
-
.split('.')[1];
|
|
176
|
-
if (this.relatedQuery) {
|
|
177
|
-
newRepo.setRelatedQuery({
|
|
178
|
-
...this.relatedQuery,
|
|
179
|
-
key: calleeName
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
return newRepo;
|
|
183
|
-
}
|
|
184
|
-
belongsTo(r) {
|
|
185
|
-
return this.hasMany(r);
|
|
186
|
-
}
|
|
187
|
-
hasOne() {
|
|
188
|
-
throw new Error('Method not implemented');
|
|
189
|
-
}
|
|
190
|
-
belongsToMany(r) {
|
|
191
|
-
const newRepo = new r.repository();
|
|
192
|
-
const relationName = new Error('dummy')
|
|
193
|
-
.stack.split('\n')[2]
|
|
194
|
-
.replace(/^\s+at\s+(.+?)\s.+/g, '$1')
|
|
195
|
-
.split('.')[1];
|
|
196
|
-
const pivot = new r.pivot();
|
|
197
|
-
pivot.setRelatedQuery({
|
|
198
|
-
...this.relatedQuery,
|
|
199
|
-
key: relationName
|
|
200
|
-
});
|
|
201
|
-
if (this.relatedQuery) {
|
|
202
|
-
newRepo.setRelatedQuery({
|
|
203
|
-
...this.relatedQuery,
|
|
204
|
-
key: relationName,
|
|
205
|
-
pivot
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
|
-
else {
|
|
209
|
-
newRepo.setRelatedQuery({
|
|
210
|
-
key: relationName,
|
|
211
|
-
pivot
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
return newRepo;
|
|
215
|
-
}
|
|
216
|
-
hasManyThrough() {
|
|
217
|
-
throw new Error('Method not implemented');
|
|
218
|
-
}
|
|
219
|
-
jsApplySelect(select, data) {
|
|
220
|
-
const _data = Array.isArray(data) ? [...data] : [data];
|
|
221
|
-
if (!select) {
|
|
222
|
-
return data;
|
|
223
|
-
}
|
|
224
|
-
const selectedAttributes = Object.keys(js_utils_1.Objects.flatten(select));
|
|
225
|
-
const iterationArray = this.outputKeys.length === 0 && selectedAttributes.length > 0
|
|
226
|
-
? selectedAttributes
|
|
227
|
-
: [...this.outputKeys];
|
|
228
|
-
const compareArray = this.outputKeys.length === 0 && selectedAttributes.length > 0
|
|
229
|
-
? [...this.outputKeys]
|
|
230
|
-
: selectedAttributes;
|
|
231
|
-
return _data.map(element => {
|
|
232
|
-
const newElement = {};
|
|
233
|
-
iterationArray.forEach(attribute => {
|
|
234
|
-
if (compareArray.length > 0 && !compareArray.includes(attribute)) {
|
|
235
|
-
return undefined;
|
|
236
|
-
}
|
|
237
|
-
const extract = js_utils_1.Objects.getFromPath(element, attribute, undefined);
|
|
238
|
-
let value = js_utils_1.Objects.get(() => extract.value, undefined);
|
|
239
|
-
if (typeof value !== 'undefined' && value !== null) {
|
|
240
|
-
if (typeof value === 'object' &&
|
|
241
|
-
value.hasOwnProperty('data') &&
|
|
242
|
-
value.data.hasOwnProperty('name')) {
|
|
243
|
-
newElement[extract.label] = value.data.name;
|
|
244
|
-
}
|
|
245
|
-
else {
|
|
246
|
-
if (typeof value === 'object' && js_utils_1.Ids.isValidObjectID(value)) {
|
|
247
|
-
value = js_utils_1.Ids.objectIdString(value);
|
|
248
|
-
}
|
|
249
|
-
newElement[extract.label] = value;
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
});
|
|
253
|
-
return js_utils_1.Objects.nest(newElement);
|
|
254
|
-
});
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
exports.BaseConnector = BaseConnector;
|
package/dist/Fluent.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { DataSource } from 'typeorm';
|
|
2
|
-
import { AnyObject, Primitives } from './types';
|
|
3
|
-
import { Collection } from '@goatlab/js-utils';
|
|
4
|
-
export declare class Fluent {
|
|
5
|
-
static collect<T = AnyObject | Primitives>(data: T[]): Collection<T>;
|
|
6
|
-
static initialize(dataSources: DataSource[], Entities: any[]): Promise<void>;
|
|
7
|
-
}
|
package/dist/Fluent.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Fluent = void 0;
|
|
4
|
-
const js_utils_1 = require("@goatlab/js-utils");
|
|
5
|
-
const generatorDatasource_1 = require("./generatorDatasource");
|
|
6
|
-
class Fluent {
|
|
7
|
-
static collect(data) {
|
|
8
|
-
return new js_utils_1.Collection(data);
|
|
9
|
-
}
|
|
10
|
-
static async initialize(dataSources, Entities) {
|
|
11
|
-
generatorDatasource_1.modelGeneratorDataSource.setOptions({ entities: Entities });
|
|
12
|
-
if (!generatorDatasource_1.modelGeneratorDataSource.isInitialized) {
|
|
13
|
-
await generatorDatasource_1.modelGeneratorDataSource.initialize();
|
|
14
|
-
}
|
|
15
|
-
for (const dataSource of dataSources) {
|
|
16
|
-
if (!dataSource.isInitialized) {
|
|
17
|
-
await dataSource.initialize();
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.Fluent = Fluent;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { FindByIdFilter, FluentQuery, QueryOutput } from './types';
|
|
2
|
-
export interface FluentConnectorInterface<ModelDTO, InputDTO, OutputDTO> {
|
|
3
|
-
insert(data: InputDTO): Promise<OutputDTO>;
|
|
4
|
-
insertMany(data: InputDTO[]): Promise<OutputDTO[]>;
|
|
5
|
-
findById<T extends FindByIdFilter<ModelDTO>>(id: string, q?: T): Promise<QueryOutput<T, ModelDTO> | null>;
|
|
6
|
-
findByIds<T extends FindByIdFilter<ModelDTO>>(ids: string[], q?: T): Promise<QueryOutput<T, ModelDTO>[]>;
|
|
7
|
-
findMany<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO>[]>;
|
|
8
|
-
findFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO> | null>;
|
|
9
|
-
requireById(id: string, q?: FindByIdFilter<ModelDTO>): Promise<QueryOutput<FindByIdFilter<ModelDTO>, ModelDTO>>;
|
|
10
|
-
requireFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO>>;
|
|
11
|
-
updateById(id: string, data: InputDTO): Promise<OutputDTO>;
|
|
12
|
-
replaceById(id: string, data: InputDTO): Promise<OutputDTO>;
|
|
13
|
-
deleteById(id: string): Promise<string>;
|
|
14
|
-
loadFirst(query?: FluentQuery<ModelDTO>): any;
|
|
15
|
-
loadById(id: string): any;
|
|
16
|
-
raw(): any;
|
|
17
|
-
}
|
package/dist/FluentEntity.d.ts
DELETED
package/dist/FluentEntity.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FluentEntity = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const decorators_1 = require("./decorators");
|
|
6
|
-
class FluentEntity {
|
|
7
|
-
}
|
|
8
|
-
tslib_1.__decorate([
|
|
9
|
-
decorators_1.f.property({ required: false }),
|
|
10
|
-
tslib_1.__metadata("design:type", String)
|
|
11
|
-
], FluentEntity.prototype, "type", void 0);
|
|
12
|
-
tslib_1.__decorate([
|
|
13
|
-
decorators_1.f.stringArray(String, { required: false }),
|
|
14
|
-
tslib_1.__metadata("design:type", Array)
|
|
15
|
-
], FluentEntity.prototype, "roles", void 0);
|
|
16
|
-
tslib_1.__decorate([
|
|
17
|
-
decorators_1.f.created(),
|
|
18
|
-
tslib_1.__metadata("design:type", Date)
|
|
19
|
-
], FluentEntity.prototype, "created", void 0);
|
|
20
|
-
tslib_1.__decorate([
|
|
21
|
-
decorators_1.f.updated(),
|
|
22
|
-
tslib_1.__metadata("design:type", Date)
|
|
23
|
-
], FluentEntity.prototype, "updated", void 0);
|
|
24
|
-
tslib_1.__decorate([
|
|
25
|
-
decorators_1.f.deleted(),
|
|
26
|
-
tslib_1.__metadata("design:type", Date)
|
|
27
|
-
], FluentEntity.prototype, "deleted", void 0);
|
|
28
|
-
exports.FluentEntity = FluentEntity;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { LoadedResult, QueryOutput } from './../types';
|
|
2
|
-
import { Repository, MongoRepository } from 'typeorm';
|
|
3
|
-
import { BaseConnector } from '../BaseConnector';
|
|
4
|
-
import { FluentConnectorInterface } from '../FluentConnectorInterface';
|
|
5
|
-
import type { AnyObject, FluentQuery } from '../types';
|
|
6
|
-
import { DataSource } from 'typeorm';
|
|
7
|
-
import { z } from 'zod';
|
|
8
|
-
export interface TypeOrmConnectorParams<Input, Output> {
|
|
9
|
-
entity: any;
|
|
10
|
-
dataSource: DataSource;
|
|
11
|
-
inputSchema: z.ZodType<Input>;
|
|
12
|
-
outputSchema?: z.ZodType<Output>;
|
|
13
|
-
}
|
|
14
|
-
export declare class TypeOrmConnector<ModelDTO = AnyObject, InputDTO = ModelDTO, OutputDTO = InputDTO> extends BaseConnector<ModelDTO, InputDTO, OutputDTO> implements FluentConnectorInterface<ModelDTO, InputDTO, OutputDTO> {
|
|
15
|
-
private repository;
|
|
16
|
-
private readonly dataSource;
|
|
17
|
-
private readonly inputSchema;
|
|
18
|
-
private readonly outputSchema;
|
|
19
|
-
private readonly entity;
|
|
20
|
-
constructor({ entity, dataSource, inputSchema, outputSchema }: TypeOrmConnectorParams<InputDTO, OutputDTO>);
|
|
21
|
-
initDB(): number;
|
|
22
|
-
insert(data: InputDTO): Promise<OutputDTO>;
|
|
23
|
-
insertMany(data: InputDTO[]): Promise<OutputDTO[]>;
|
|
24
|
-
findMany<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO>[]>;
|
|
25
|
-
updateById(id: string, data: InputDTO): Promise<OutputDTO>;
|
|
26
|
-
replaceById(id: string, data: InputDTO): Promise<OutputDTO>;
|
|
27
|
-
deleteById(id: string): Promise<string>;
|
|
28
|
-
clear(): Promise<boolean>;
|
|
29
|
-
loadFirst(query?: FluentQuery<ModelDTO>): LoadedResult<this>;
|
|
30
|
-
loadById(id: string): LoadedResult<this>;
|
|
31
|
-
raw(): Repository<ModelDTO>;
|
|
32
|
-
mongoRaw(): MongoRepository<ModelDTO>;
|
|
33
|
-
protected clone(): any;
|
|
34
|
-
private generateTypeOrmQuery;
|
|
35
|
-
private customTypeOrmRelatedFind;
|
|
36
|
-
private getTypeOrmQueryBuilderSelect;
|
|
37
|
-
private getTypeOrmQueryBuilderSubqueries;
|
|
38
|
-
private customMongoRelatedFind;
|
|
39
|
-
}
|