@goatlab/fluent 0.7.38 → 0.7.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BaseConnector.d.ts +112 -0
- package/dist/BaseConnector.js +343 -0
- package/dist/BaseConnector.js.map +1 -0
- package/dist/Fluent.d.ts +11 -0
- package/dist/Fluent.js +27 -0
- package/dist/Fluent.js.map +1 -0
- package/dist/FluentConnectorInterface.d.ts +17 -0
- package/dist/FluentConnectorInterface.js +3 -0
- package/dist/FluentConnectorInterface.js.map +1 -0
- package/dist/FluentEntity.d.ts +7 -0
- package/dist/FluentEntity.js +29 -0
- package/dist/FluentEntity.js.map +1 -0
- package/dist/TypeOrmConnector/TypeOrmConnector.d.ts +123 -0
- package/dist/TypeOrmConnector/TypeOrmConnector.js +760 -0
- package/dist/TypeOrmConnector/TypeOrmConnector.js.map +1 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.d.ts +12 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.js +167 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoBaseAggregations.js.map +1 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.d.ts +11 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.js +52 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoFindAggregatedQuery.js.map +1 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoOrderBy.d.ts +4 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoOrderBy.js +20 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoOrderBy.js.map +1 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.d.ts +7 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.js +19 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoSelect.js.map +1 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.d.ts +11 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.js +173 -0
- package/dist/TypeOrmConnector/queryBuilder/mongodb/getMongoWhere.js.map +1 -0
- package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.d.ts +13 -0
- package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.js +207 -0
- package/dist/TypeOrmConnector/queryBuilder/sql/getQueryBuilderWhere.js.map +1 -0
- package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.d.ts +11 -0
- package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.js +214 -0
- package/dist/TypeOrmConnector/queryBuilder/sql/getTypeOrmWhere.js.map +1 -0
- package/dist/TypeOrmConnector/util/clearEmpties.d.ts +7 -0
- package/dist/TypeOrmConnector/util/clearEmpties.js +33 -0
- package/dist/TypeOrmConnector/util/clearEmpties.js.map +1 -0
- package/dist/TypeOrmConnector/util/extractConditions.d.ts +12 -0
- package/dist/TypeOrmConnector/util/extractConditions.js +89 -0
- package/dist/TypeOrmConnector/util/extractConditions.js.map +1 -0
- package/dist/TypeOrmConnector/util/extractInclude.d.ts +2 -0
- package/dist/TypeOrmConnector/util/extractInclude.js +26 -0
- package/dist/TypeOrmConnector/util/extractInclude.js.map +1 -0
- package/dist/TypeOrmConnector/util/extractMetadataFromKeys.d.ts +12 -0
- package/dist/TypeOrmConnector/util/extractMetadataFromKeys.js +49 -0
- package/dist/TypeOrmConnector/util/extractMetadataFromKeys.js.map +1 -0
- package/dist/TypeOrmConnector/util/extractOrderBy.d.ts +2 -0
- package/dist/TypeOrmConnector/util/extractOrderBy.js +24 -0
- package/dist/TypeOrmConnector/util/extractOrderBy.js.map +1 -0
- package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.d.ts +19 -0
- package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.js +27 -0
- package/dist/TypeOrmConnector/util/getRelationsFromModelGenerator.js.map +1 -0
- package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.d.ts +6 -0
- package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.js +29 -0
- package/dist/TypeOrmConnector/util/getSelectedKeysFromRawSql.js.map +1 -0
- package/dist/TypeOrmConnector/util/isAnyObject.d.ts +1 -0
- package/dist/TypeOrmConnector/util/isAnyObject.js +8 -0
- package/dist/TypeOrmConnector/util/isAnyObject.js.map +1 -0
- package/dist/TypeOrmConnector/util/nestQueryResults.d.ts +2 -0
- package/dist/TypeOrmConnector/util/nestQueryResults.js +38 -0
- package/dist/TypeOrmConnector/util/nestQueryResults.js.map +1 -0
- package/dist/core/Loopback/build-schema.d.ts +148 -0
- package/dist/core/Loopback/build-schema.js +443 -0
- package/dist/core/Loopback/build-schema.js.map +1 -0
- package/dist/core/Loopback/common-types.d.ts +96 -0
- package/dist/core/Loopback/common-types.js +24 -0
- package/dist/core/Loopback/common-types.js.map +1 -0
- package/dist/core/Loopback/json-to-schema.d.ts +41 -0
- package/dist/core/Loopback/json-to-schema.js +113 -0
- package/dist/core/Loopback/json-to-schema.js.map +1 -0
- package/dist/core/Loopback/metadata.d.ts +16 -0
- package/dist/core/Loopback/metadata.js +49 -0
- package/dist/core/Loopback/metadata.js.map +1 -0
- package/dist/core/Loopback/model.d.ts +233 -0
- package/dist/core/Loopback/model.js +387 -0
- package/dist/core/Loopback/model.js.map +1 -0
- package/dist/core/Loopback/query.d.ts +394 -0
- package/dist/core/Loopback/query.js +482 -0
- package/dist/core/Loopback/query.js.map +1 -0
- package/dist/core/Loopback/relation.types.d.ts +141 -0
- package/dist/core/Loopback/relation.types.js +18 -0
- package/dist/core/Loopback/relation.types.js.map +1 -0
- package/dist/core/Loopback/type-resolver.d.ts +42 -0
- package/dist/core/Loopback/type-resolver.js +60 -0
- package/dist/core/Loopback/type-resolver.js.map +1 -0
- package/dist/core/Loopback/type.d.ts +38 -0
- package/dist/core/Loopback/type.js +7 -0
- package/dist/core/Loopback/type.js.map +1 -0
- package/dist/core/Nestjs/applyDecorators.d.ts +10 -0
- package/dist/core/Nestjs/applyDecorators.js +26 -0
- package/dist/core/Nestjs/applyDecorators.js.map +1 -0
- package/dist/core/Nestjs/types/common.d.ts +16 -0
- package/dist/core/Nestjs/types/common.js +38 -0
- package/dist/core/Nestjs/types/common.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.d.ts +1 -0
- package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.js +8 -0
- package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/api-property.decorator.d.ts +27 -0
- package/dist/core/Nestjs/types/decorators/api-property.decorator.js +66 -0
- package/dist/core/Nestjs/types/decorators/api-property.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.d.ts +5 -0
- package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.js +136 -0
- package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/args-type.decorator.d.ts +4 -0
- package/dist/core/Nestjs/types/decorators/args-type.decorator.js +24 -0
- package/dist/core/Nestjs/types/decorators/args-type.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/create-property.decorator.d.ts +2 -0
- package/dist/core/Nestjs/types/decorators/create-property.decorator.js +55 -0
- package/dist/core/Nestjs/types/decorators/create-property.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/directive.decorator.d.ts +4 -0
- package/dist/core/Nestjs/types/decorators/directive.decorator.js +39 -0
- package/dist/core/Nestjs/types/decorators/directive.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/extensions.decorator.d.ts +4 -0
- package/dist/core/Nestjs/types/decorators/extensions.decorator.js +28 -0
- package/dist/core/Nestjs/types/decorators/extensions.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/field.decorator.d.ts +48 -0
- package/dist/core/Nestjs/types/decorators/field.decorator.js +63 -0
- package/dist/core/Nestjs/types/decorators/field.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/input-type.decorator.d.ts +25 -0
- package/dist/core/Nestjs/types/decorators/input-type.decorator.js +29 -0
- package/dist/core/Nestjs/types/decorators/input-type.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/interface-type.decorator.d.ts +33 -0
- package/dist/core/Nestjs/types/decorators/interface-type.decorator.js +35 -0
- package/dist/core/Nestjs/types/decorators/interface-type.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/decorators/partial-type.helper.d.ts +3 -0
- package/dist/core/Nestjs/types/decorators/partial-type.helper.js +46 -0
- package/dist/core/Nestjs/types/decorators/partial-type.helper.js.map +1 -0
- package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.d.ts +3 -0
- package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.js +10 -0
- package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.js.map +1 -0
- package/dist/core/Nestjs/types/errors/directive-parsing.error.d.ts +3 -0
- package/dist/core/Nestjs/types/errors/directive-parsing.error.js +10 -0
- package/dist/core/Nestjs/types/errors/directive-parsing.error.js.map +1 -0
- package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.d.ts +3 -0
- package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.js +10 -0
- package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.js.map +1 -0
- package/dist/core/Nestjs/types/errors/undefined-type.error.d.ts +3 -0
- package/dist/core/Nestjs/types/errors/undefined-type.error.js +11 -0
- package/dist/core/Nestjs/types/errors/undefined-type.error.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.d.ts +3 -0
- package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.js +11 -0
- package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/base-type-options.interface.d.ts +11 -0
- package/dist/core/Nestjs/types/interfaces/base-type-options.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/base-type-options.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.d.ts +5 -0
- package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/complexity.interface.d.ts +11 -0
- package/dist/core/Nestjs/types/interfaces/complexity.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/complexity.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/field-middleware.interface.d.ts +15 -0
- package/dist/core/Nestjs/types/interfaces/field-middleware.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/field-middleware.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.d.ts +239 -0
- package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.js +7 -0
- package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.d.ts +2 -0
- package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/return-type-func.interface.d.ts +5 -0
- package/dist/core/Nestjs/types/interfaces/return-type-func.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/return-type-func.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.d.ts +9 -0
- package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.js.map +1 -0
- package/dist/core/Nestjs/types/interfaces/type-options.interface.d.ts +5 -0
- package/dist/core/Nestjs/types/interfaces/type-options.interface.js +3 -0
- package/dist/core/Nestjs/types/interfaces/type-options.interface.js.map +1 -0
- package/dist/core/Nestjs/types/lazy-metadata.storage.d.ts +15 -0
- package/dist/core/Nestjs/types/lazy-metadata.storage.js +68 -0
- package/dist/core/Nestjs/types/lazy-metadata.storage.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/class.metadata.d.ts +11 -0
- package/dist/core/Nestjs/types/metadata/class.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/class.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/directive.metadata.d.ts +8 -0
- package/dist/core/Nestjs/types/metadata/directive.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/directive.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/enum.metadata.d.ts +11 -0
- package/dist/core/Nestjs/types/metadata/enum.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/enum.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/extensions.metadata.d.ts +8 -0
- package/dist/core/Nestjs/types/metadata/extensions.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/extensions.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/index.d.ts +8 -0
- package/dist/core/Nestjs/types/metadata/index.js +12 -0
- package/dist/core/Nestjs/types/metadata/index.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/interface.metadata.d.ts +6 -0
- package/dist/core/Nestjs/types/metadata/interface.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/interface.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/object-type.metadata.d.ts +4 -0
- package/dist/core/Nestjs/types/metadata/object-type.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/object-type.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/param.metadata.d.ts +18 -0
- package/dist/core/Nestjs/types/metadata/param.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/param.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/property.metadata.d.ts +20 -0
- package/dist/core/Nestjs/types/metadata/property.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/property.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/resolver.metadata.d.ts +34 -0
- package/dist/core/Nestjs/types/metadata/resolver.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/resolver.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/metadata/union.metadata.d.ts +9 -0
- package/dist/core/Nestjs/types/metadata/union.metadata.js +3 -0
- package/dist/core/Nestjs/types/metadata/union.metadata.js.map +1 -0
- package/dist/core/Nestjs/types/object-type.decorator.d.ts +32 -0
- package/dist/core/Nestjs/types/object-type.decorator.js +33 -0
- package/dist/core/Nestjs/types/object-type.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/omit-type.d.ts +2 -0
- package/dist/core/Nestjs/types/omit-type.js +34 -0
- package/dist/core/Nestjs/types/omit-type.js.map +1 -0
- package/dist/core/Nestjs/types/reflection.utils.d.ts +15 -0
- package/dist/core/Nestjs/types/reflection.utils.js +65 -0
- package/dist/core/Nestjs/types/reflection.utils.js.map +1 -0
- package/dist/core/Nestjs/types/set-metadata.decorator.d.ts +20 -0
- package/dist/core/Nestjs/types/set-metadata.decorator.js +33 -0
- package/dist/core/Nestjs/types/set-metadata.decorator.js.map +1 -0
- package/dist/core/Nestjs/types/type-metadata.storage.d.ts +73 -0
- package/dist/core/Nestjs/types/type-metadata.storage.js +351 -0
- package/dist/core/Nestjs/types/type-metadata.storage.js.map +1 -0
- package/dist/core/Nestjs/types/utils/enum.utils.d.ts +3 -0
- package/dist/core/Nestjs/types/utils/enum.utils.js +31 -0
- package/dist/core/Nestjs/types/utils/enum.utils.js.map +1 -0
- package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.d.ts +13 -0
- package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.js +72 -0
- package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.js.map +1 -0
- package/dist/core/Nestjs/types/utils/mapped-types.utils.d.ts +2 -0
- package/dist/core/Nestjs/types/utils/mapped-types.utils.js +38 -0
- package/dist/core/Nestjs/types/utils/mapped-types.utils.js.map +1 -0
- package/dist/core/Nestjs/types/utils/model-properties-accessor.d.ts +6 -0
- package/dist/core/Nestjs/types/utils/model-properties-accessor.js +37 -0
- package/dist/core/Nestjs/types/utils/model-properties-accessor.js.map +1 -0
- package/dist/core/Nestjs/types/utils/type-helpers.utils.d.ts +2 -0
- package/dist/core/Nestjs/types/utils/type-helpers.utils.js +16 -0
- package/dist/core/Nestjs/types/utils/type-helpers.utils.js.map +1 -0
- package/dist/core/types.d.ts +23 -0
- package/dist/core/types.js +31 -0
- package/dist/core/types.js.map +1 -0
- package/dist/decorators.d.ts +92 -0
- package/dist/decorators.js +162 -0
- package/dist/decorators.js.map +1 -0
- package/dist/generatorDatasource.d.ts +2 -0
- package/dist/generatorDatasource.js +13 -0
- package/dist/generatorDatasource.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.js +50 -0
- package/dist/index.js.map +1 -0
- package/dist/loadRelations.d.ts +12 -0
- package/dist/loadRelations.js +139 -0
- package/dist/loadRelations.js.map +1 -0
- package/dist/outputKeys.d.ts +2 -0
- package/dist/outputKeys.js +18 -0
- package/dist/outputKeys.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +104 -0
- package/dist/types.js +23 -0
- package/dist/types.js.map +1 -0
- package/package.json +48 -24
|
@@ -0,0 +1,112 @@
|
|
|
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
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @param data
|
|
22
|
+
*/
|
|
23
|
+
insertMany(data: InputDTO[]): Promise<OutputDTO[]>;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @param id
|
|
27
|
+
* @param data
|
|
28
|
+
*/
|
|
29
|
+
updateById(id: string, data: InputDTO): Promise<OutputDTO>;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @param query
|
|
33
|
+
*/
|
|
34
|
+
findMany<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO>[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Executes the findMany() method and
|
|
37
|
+
* returns it's first result
|
|
38
|
+
*
|
|
39
|
+
* @return {Object} First result
|
|
40
|
+
*/
|
|
41
|
+
findFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO> | null>;
|
|
42
|
+
requireById(id: string, q?: FindByIdFilter<ModelDTO>): Promise<QueryOutput<FindByIdFilter<ModelDTO>, ModelDTO>>;
|
|
43
|
+
requireFirst<T extends FluentQuery<ModelDTO>>(query?: T): Promise<QueryOutput<T, ModelDTO>>;
|
|
44
|
+
findByIds<T extends FindByIdFilter<ModelDTO>>(ids: string[], q?: T): Promise<QueryOutput<T, ModelDTO>[]>;
|
|
45
|
+
findById<T extends FindByIdFilter<ModelDTO>>(id: string, q?: T): Promise<QueryOutput<T, ModelDTO> | null>;
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
* Gets the data in the current query and
|
|
49
|
+
* transforms it into a collection
|
|
50
|
+
* @returns {Collection} Fluent Collection
|
|
51
|
+
*/
|
|
52
|
+
collect(query: FluentQuery<ModelDTO>): Promise<Collection<OutputDTO>>;
|
|
53
|
+
/**
|
|
54
|
+
* Gets all values for a given KEY
|
|
55
|
+
* @returns {Array}
|
|
56
|
+
* @param path
|
|
57
|
+
*/
|
|
58
|
+
pluck(path: QueryFieldSelector<ModelDTO>, query?: FluentQuery<ModelDTO>): Promise<Primitives[]>;
|
|
59
|
+
/**
|
|
60
|
+
* Sets the relatedQuery param, to be used by the
|
|
61
|
+
* different LOAD methods
|
|
62
|
+
* @param r
|
|
63
|
+
*/
|
|
64
|
+
protected setRelatedQuery(r: {
|
|
65
|
+
entity: new () => ModelDTO;
|
|
66
|
+
query?: FluentQuery<ModelDTO>;
|
|
67
|
+
repository?: any;
|
|
68
|
+
key?: string;
|
|
69
|
+
}): void;
|
|
70
|
+
/**
|
|
71
|
+
* Associate One-to-Many relationship.
|
|
72
|
+
* Associate an object to the parent.
|
|
73
|
+
* @param data
|
|
74
|
+
*/
|
|
75
|
+
associate(data: InputDTO | OutputDTO): Promise<OutputDTO[]>;
|
|
76
|
+
/**
|
|
77
|
+
* Attach an object with Many-to-Many relation
|
|
78
|
+
* @param id
|
|
79
|
+
*/
|
|
80
|
+
attach(id: string, pivot?: AnyObject): Promise<any[]>;
|
|
81
|
+
/**
|
|
82
|
+
* One-to-Many relationship
|
|
83
|
+
* To be used in the "parent" entity (One)
|
|
84
|
+
*/
|
|
85
|
+
protected hasMany<T extends FluentHasManyParams<T>>(r: T): InstanceType<T['repository']>;
|
|
86
|
+
/**
|
|
87
|
+
* Inverse One-to-Many relationship
|
|
88
|
+
* To be used in the "children" entity (Many)
|
|
89
|
+
*/
|
|
90
|
+
protected belongsTo<T extends FluentBelongsToParams<T>>(r: T): InstanceType<T['repository']>;
|
|
91
|
+
/**
|
|
92
|
+
* One-to-One model relationship
|
|
93
|
+
*/
|
|
94
|
+
protected hasOne(): void;
|
|
95
|
+
/**
|
|
96
|
+
* Many-to-Many relationship
|
|
97
|
+
* To be used in both of the Related models (excluding pivot)
|
|
98
|
+
*/
|
|
99
|
+
protected belongsToMany<T extends FluentBelongsToManyParams<T>>(r: T): InstanceType<T['repository']>;
|
|
100
|
+
/**
|
|
101
|
+
*
|
|
102
|
+
*/
|
|
103
|
+
protected hasManyThrough(): void;
|
|
104
|
+
/**
|
|
105
|
+
* Maps the given Data to show only those fields
|
|
106
|
+
* explicitly detailed on the Select function
|
|
107
|
+
*
|
|
108
|
+
* @param {Array} data Data from local or remote DB
|
|
109
|
+
* @returns {Array} Formatted data with the selected columns
|
|
110
|
+
*/
|
|
111
|
+
protected jsApplySelect(select: FluentQuery<ModelDTO>['select'], data: ModelDTO[]): ModelDTO[];
|
|
112
|
+
}
|
|
@@ -0,0 +1,343 @@
|
|
|
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
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @param data
|
|
21
|
+
*/
|
|
22
|
+
async insertMany(data) {
|
|
23
|
+
throw new Error('get() method not implemented');
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
* @param id
|
|
28
|
+
* @param data
|
|
29
|
+
*/
|
|
30
|
+
async updateById(id, data) {
|
|
31
|
+
throw new Error('get() method not implemented');
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
* @param query
|
|
36
|
+
*/
|
|
37
|
+
async findMany(query) {
|
|
38
|
+
throw new Error('findMany() method not implemented');
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Executes the findMany() method and
|
|
42
|
+
* returns it's first result
|
|
43
|
+
*
|
|
44
|
+
* @return {Object} First result
|
|
45
|
+
*/
|
|
46
|
+
async findFirst(query) {
|
|
47
|
+
const data = await this.findMany({ ...query, limit: 1 });
|
|
48
|
+
if (!data[0]) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
return data[0];
|
|
52
|
+
}
|
|
53
|
+
async requireById(id, q) {
|
|
54
|
+
const found = await this.findByIds([id], {
|
|
55
|
+
select: q?.select,
|
|
56
|
+
include: q?.include,
|
|
57
|
+
limit: 1
|
|
58
|
+
});
|
|
59
|
+
found.map(d => {
|
|
60
|
+
if (this.isMongoDB) {
|
|
61
|
+
d['id'] = d['id'].toString();
|
|
62
|
+
}
|
|
63
|
+
(0, clearEmpties_1.clearEmpties)(js_utils_1.Objects.deleteNulls(d));
|
|
64
|
+
});
|
|
65
|
+
if (!found[0]) {
|
|
66
|
+
throw new Error(`Object ${id} not found`);
|
|
67
|
+
}
|
|
68
|
+
// No need to validate, as findMany already validates
|
|
69
|
+
return found[0];
|
|
70
|
+
}
|
|
71
|
+
async requireFirst(query) {
|
|
72
|
+
const found = await this.findMany({ ...query, limit: 1 });
|
|
73
|
+
found.map(d => {
|
|
74
|
+
if (this.isMongoDB) {
|
|
75
|
+
d['id'] = d['id'].toString();
|
|
76
|
+
}
|
|
77
|
+
(0, clearEmpties_1.clearEmpties)(js_utils_1.Objects.deleteNulls(d));
|
|
78
|
+
});
|
|
79
|
+
if (!found[0]) {
|
|
80
|
+
const stringQuery = query ? JSON.stringify(query) : '';
|
|
81
|
+
throw new Error(`No objects found matching: ${stringQuery}`);
|
|
82
|
+
}
|
|
83
|
+
// The object is already validated by findMany
|
|
84
|
+
return found[0];
|
|
85
|
+
}
|
|
86
|
+
async findByIds(ids, q) {
|
|
87
|
+
const query = {
|
|
88
|
+
where: {
|
|
89
|
+
id: {
|
|
90
|
+
in: ids
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
limit: q?.limit,
|
|
94
|
+
select: q?.select,
|
|
95
|
+
include: q?.include
|
|
96
|
+
};
|
|
97
|
+
let data = await this.findMany(query);
|
|
98
|
+
// The object should already be validated by FindMany
|
|
99
|
+
return data;
|
|
100
|
+
}
|
|
101
|
+
async findById(id, q) {
|
|
102
|
+
const result = await this.findByIds([id], { ...q, limit: 1 });
|
|
103
|
+
if (!result[0]) {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
return result[0];
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
*
|
|
110
|
+
* Gets the data in the current query and
|
|
111
|
+
* transforms it into a collection
|
|
112
|
+
* @returns {Collection} Fluent Collection
|
|
113
|
+
*/
|
|
114
|
+
async collect(query) {
|
|
115
|
+
const data = await this.findMany(query);
|
|
116
|
+
if (!Array.isArray(data)) {
|
|
117
|
+
return new js_utils_1.Collection([data]);
|
|
118
|
+
}
|
|
119
|
+
return new js_utils_1.Collection(data);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Gets all values for a given KEY
|
|
123
|
+
* @returns {Array}
|
|
124
|
+
* @param path
|
|
125
|
+
*/
|
|
126
|
+
async pluck(path, query) {
|
|
127
|
+
const data = await this.findMany(query);
|
|
128
|
+
const paths = Object.keys(js_utils_1.Objects.flatten(path));
|
|
129
|
+
const result = data.map(e => {
|
|
130
|
+
const extracted = js_utils_1.Objects.getFromPath(e, String(paths[0]), undefined);
|
|
131
|
+
if (typeof extracted.value !== 'undefined') {
|
|
132
|
+
return extracted.value;
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
return result;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Sets the relatedQuery param, to be used by the
|
|
139
|
+
* different LOAD methods
|
|
140
|
+
* @param r
|
|
141
|
+
*/
|
|
142
|
+
setRelatedQuery(r) {
|
|
143
|
+
this.relatedQuery = r;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Associate One-to-Many relationship.
|
|
147
|
+
* Associate an object to the parent.
|
|
148
|
+
* @param data
|
|
149
|
+
*/
|
|
150
|
+
async associate(data) {
|
|
151
|
+
if (!this.relatedQuery?.entity || !this.relatedQuery.key) {
|
|
152
|
+
throw new Error('Associate can only be called as a related model');
|
|
153
|
+
}
|
|
154
|
+
// Get ids of the Loaded query "One" side of relation
|
|
155
|
+
const parentData = await this.relatedQuery.repository.findMany({
|
|
156
|
+
...this.relatedQuery.query,
|
|
157
|
+
// We just need the IDs to make the relations
|
|
158
|
+
select: { id: true }
|
|
159
|
+
});
|
|
160
|
+
// "Many" side of relation foreignKey
|
|
161
|
+
let foreignKeyName = this.relatedQuery['repository']['modelRelations'][this.relatedQuery.key]
|
|
162
|
+
.inverseSidePropertyPath;
|
|
163
|
+
if (!foreignKeyName) {
|
|
164
|
+
throw new Error('The relationship was not properly defined. Please check that your Repository and Model relations have the same keys');
|
|
165
|
+
}
|
|
166
|
+
const relatedData = parentData.map(r => ({
|
|
167
|
+
[foreignKeyName]: r.id,
|
|
168
|
+
...data
|
|
169
|
+
}));
|
|
170
|
+
const existingIds = (0, clearEmpties_1.clearEmpties)(relatedData.map(r => r.id));
|
|
171
|
+
const existingData = existingIds.length
|
|
172
|
+
? await this.findByIds(relatedData.map(r => r.id))
|
|
173
|
+
: [];
|
|
174
|
+
const updateQueries = [];
|
|
175
|
+
const insertQueries = [];
|
|
176
|
+
for (const related of relatedData) {
|
|
177
|
+
const exists = existingData.find((d) => {
|
|
178
|
+
// We need to manually define the id field
|
|
179
|
+
const p = d;
|
|
180
|
+
return p.id === related.id;
|
|
181
|
+
});
|
|
182
|
+
if (exists) {
|
|
183
|
+
updateQueries.push(this.updateById(exists.id, {
|
|
184
|
+
...exists,
|
|
185
|
+
[foreignKeyName]: related[foreignKeyName]
|
|
186
|
+
}));
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
insertQueries.push(related);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
const updateResult = await Promise.all(updateQueries);
|
|
193
|
+
const insertedResult = await this.insertMany(insertQueries);
|
|
194
|
+
return [...updateResult, ...insertedResult];
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Attach an object with Many-to-Many relation
|
|
198
|
+
* @param id
|
|
199
|
+
*/
|
|
200
|
+
// TODO: properly type the pivot object
|
|
201
|
+
async attach(id, pivot) {
|
|
202
|
+
if (!this.relatedQuery?.entity || !this.relatedQuery.key) {
|
|
203
|
+
throw new Error('Associate can only be called as a related model');
|
|
204
|
+
}
|
|
205
|
+
const parentData = await this.relatedQuery.repository.findMany({
|
|
206
|
+
...this.relatedQuery.query,
|
|
207
|
+
// We just need the IDs to make the relations
|
|
208
|
+
select: { id: true }
|
|
209
|
+
});
|
|
210
|
+
const foreignKeyName = this.relatedQuery['repository']['modelRelations'][this.relatedQuery.key]
|
|
211
|
+
.joinColumns[0].propertyPath;
|
|
212
|
+
const inverseKeyName = this.relatedQuery['repository']['modelRelations'][this.relatedQuery.key]
|
|
213
|
+
.inverseJoinColumns[0].propertyPath;
|
|
214
|
+
if (!foreignKeyName || !inverseKeyName) {
|
|
215
|
+
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}`);
|
|
216
|
+
}
|
|
217
|
+
// TODO: insert data to the pivot table
|
|
218
|
+
const relatedData = parentData.map(d => ({
|
|
219
|
+
[foreignKeyName]: d.id,
|
|
220
|
+
[inverseKeyName]: id,
|
|
221
|
+
...pivot
|
|
222
|
+
}));
|
|
223
|
+
return this.relatedQuery.pivot.insertMany(relatedData);
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* One-to-Many relationship
|
|
227
|
+
* To be used in the "parent" entity (One)
|
|
228
|
+
*/
|
|
229
|
+
hasMany(r) {
|
|
230
|
+
const newRepo = new r.repository();
|
|
231
|
+
const calleeName = new Error('dummy')
|
|
232
|
+
.stack?.split('\n')[2] || ''
|
|
233
|
+
// " at functionName ( ..." => "functionName"
|
|
234
|
+
.replace(/^\s+at\s+(.+?)\s.+/g, '$1')
|
|
235
|
+
.split('.')[1];
|
|
236
|
+
if (this.relatedQuery) {
|
|
237
|
+
newRepo.setRelatedQuery({
|
|
238
|
+
...this.relatedQuery,
|
|
239
|
+
key: calleeName
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
return newRepo;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Inverse One-to-Many relationship
|
|
246
|
+
* To be used in the "children" entity (Many)
|
|
247
|
+
*/
|
|
248
|
+
belongsTo(r) {
|
|
249
|
+
return this.hasMany(r);
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* One-to-One model relationship
|
|
253
|
+
*/
|
|
254
|
+
// TODO implement hasOne
|
|
255
|
+
hasOne() {
|
|
256
|
+
throw new Error('Method not implemented');
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Many-to-Many relationship
|
|
260
|
+
* To be used in both of the Related models (excluding pivot)
|
|
261
|
+
*/
|
|
262
|
+
belongsToMany(r) {
|
|
263
|
+
const newRepo = new r.repository();
|
|
264
|
+
// Hacky way to get the name of the callee function
|
|
265
|
+
const relationName = new Error('dummy')
|
|
266
|
+
.stack?.split('\n')[2] || ''
|
|
267
|
+
// " at functionName ( ..." => "functionName"
|
|
268
|
+
.replace(/^\s+at\s+(.+?)\s.+/g, '$1')
|
|
269
|
+
.split('.')[1];
|
|
270
|
+
const pivot = new r.pivot();
|
|
271
|
+
pivot.setRelatedQuery({
|
|
272
|
+
...this.relatedQuery,
|
|
273
|
+
key: relationName
|
|
274
|
+
});
|
|
275
|
+
if (this.relatedQuery) {
|
|
276
|
+
newRepo.setRelatedQuery({
|
|
277
|
+
...this.relatedQuery,
|
|
278
|
+
key: relationName,
|
|
279
|
+
pivot
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
newRepo.setRelatedQuery({
|
|
284
|
+
key: relationName,
|
|
285
|
+
pivot
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
// this.relationQuery.relations[relationName]
|
|
289
|
+
return newRepo;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
*
|
|
293
|
+
*/
|
|
294
|
+
// TODO implement hasManyThrough
|
|
295
|
+
hasManyThrough() {
|
|
296
|
+
throw new Error('Method not implemented');
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Maps the given Data to show only those fields
|
|
300
|
+
* explicitly detailed on the Select function
|
|
301
|
+
*
|
|
302
|
+
* @param {Array} data Data from local or remote DB
|
|
303
|
+
* @returns {Array} Formatted data with the selected columns
|
|
304
|
+
*/
|
|
305
|
+
jsApplySelect(select, data) {
|
|
306
|
+
const _data = Array.isArray(data) ? [...data] : [data];
|
|
307
|
+
if (!select) {
|
|
308
|
+
return data;
|
|
309
|
+
}
|
|
310
|
+
const selectedAttributes = Object.keys(js_utils_1.Objects.flatten(select));
|
|
311
|
+
const iterationArray = this.outputKeys.length === 0 && selectedAttributes.length > 0
|
|
312
|
+
? selectedAttributes
|
|
313
|
+
: [...this.outputKeys];
|
|
314
|
+
const compareArray = this.outputKeys.length === 0 && selectedAttributes.length > 0
|
|
315
|
+
? [...this.outputKeys]
|
|
316
|
+
: selectedAttributes;
|
|
317
|
+
return _data.map(element => {
|
|
318
|
+
const newElement = {};
|
|
319
|
+
iterationArray.forEach(attribute => {
|
|
320
|
+
if (compareArray.length > 0 && !compareArray.includes(attribute)) {
|
|
321
|
+
return undefined;
|
|
322
|
+
}
|
|
323
|
+
const extract = js_utils_1.Objects.getFromPath(element, attribute, undefined);
|
|
324
|
+
let value = js_utils_1.Objects.get(() => extract.value, undefined);
|
|
325
|
+
if (typeof value !== 'undefined' && value !== null) {
|
|
326
|
+
if (typeof value === 'object' &&
|
|
327
|
+
value.hasOwnProperty('data') &&
|
|
328
|
+
value.data.hasOwnProperty('name')) {
|
|
329
|
+
newElement[extract.label] = value.data.name;
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
// Skip ObjectId conversion for now to fix build
|
|
333
|
+
// TODO: Implement proper ObjectId handling
|
|
334
|
+
newElement[extract.label] = value;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
});
|
|
338
|
+
return js_utils_1.Objects.nest(newElement);
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
exports.BaseConnector = BaseConnector;
|
|
343
|
+
//# sourceMappingURL=BaseConnector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseConnector.js","sourceRoot":"","sources":["../src/BaseConnector.ts"],"names":[],"mappings":"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"}
|
package/dist/Fluent.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DataSource } from 'typeorm';
|
|
2
|
+
import { AnyObject, Primitives } from './types';
|
|
3
|
+
import { Collection } from '@goatlab/js-utils';
|
|
4
|
+
export declare class Fluent {
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* @param args
|
|
8
|
+
*/
|
|
9
|
+
static collect<T = AnyObject | Primitives>(data: T[]): Collection<T>;
|
|
10
|
+
static initialize(dataSources: DataSource[], Entities: any[]): Promise<void>;
|
|
11
|
+
}
|
package/dist/Fluent.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @param args
|
|
10
|
+
*/
|
|
11
|
+
static collect(data) {
|
|
12
|
+
return new js_utils_1.Collection(data);
|
|
13
|
+
}
|
|
14
|
+
static async initialize(dataSources, Entities) {
|
|
15
|
+
generatorDatasource_1.modelGeneratorDataSource.setOptions({ entities: Entities });
|
|
16
|
+
if (!generatorDatasource_1.modelGeneratorDataSource.isInitialized) {
|
|
17
|
+
await generatorDatasource_1.modelGeneratorDataSource.initialize();
|
|
18
|
+
}
|
|
19
|
+
for (const dataSource of dataSources) {
|
|
20
|
+
if (!dataSource.isInitialized) {
|
|
21
|
+
await dataSource.initialize();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.Fluent = Fluent;
|
|
27
|
+
//# sourceMappingURL=Fluent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Fluent.js","sourceRoot":"","sources":["../src/Fluent.ts"],"names":[],"mappings":";;;AAEA,gDAA8C;AAC9C,+DAAgE;AAEhE,MAAa,MAAM;IACjB;;;OAGG;IACI,MAAM,CAAC,OAAO,CAA6B,IAAS;QACzD,OAAO,IAAI,qBAAU,CAAI,IAAI,CAAC,CAAA;IAChC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,UAAU,CAC5B,WAAyB,EACzB,QAAe;QAEf,8CAAwB,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC3D,IAAI,CAAC,8CAAwB,CAAC,aAAa,EAAE,CAAC;YAC5C,MAAM,8CAAwB,CAAC,UAAU,EAAE,CAAA;QAC7C,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;gBAC9B,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAxBD,wBAwBC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FluentConnectorInterface.js","sourceRoot":"","sources":["../src/FluentConnectorInterface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
exports.FluentEntity = FluentEntity;
|
|
9
|
+
tslib_1.__decorate([
|
|
10
|
+
decorators_1.f.property({ required: false }),
|
|
11
|
+
tslib_1.__metadata("design:type", String)
|
|
12
|
+
], FluentEntity.prototype, "type", void 0);
|
|
13
|
+
tslib_1.__decorate([
|
|
14
|
+
decorators_1.f.stringArray(String, { required: false }),
|
|
15
|
+
tslib_1.__metadata("design:type", Array)
|
|
16
|
+
], FluentEntity.prototype, "roles", void 0);
|
|
17
|
+
tslib_1.__decorate([
|
|
18
|
+
decorators_1.f.created(),
|
|
19
|
+
tslib_1.__metadata("design:type", Date)
|
|
20
|
+
], FluentEntity.prototype, "created", void 0);
|
|
21
|
+
tslib_1.__decorate([
|
|
22
|
+
decorators_1.f.updated(),
|
|
23
|
+
tslib_1.__metadata("design:type", Date)
|
|
24
|
+
], FluentEntity.prototype, "updated", void 0);
|
|
25
|
+
tslib_1.__decorate([
|
|
26
|
+
decorators_1.f.deleted(),
|
|
27
|
+
tslib_1.__metadata("design:type", Date)
|
|
28
|
+
], FluentEntity.prototype, "deleted", void 0);
|
|
29
|
+
//# sourceMappingURL=FluentEntity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FluentEntity.js","sourceRoot":"","sources":["../src/FluentEntity.ts"],"names":[],"mappings":";;;;AAAA,6CAAgC;AAEhC,MAAa,YAAY;CAexB;AAfD,oCAeC;AAbC;IADC,cAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;0CACnB;AAGb;IADC,cAAC,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;2CAC3B;AAGhB;IADC,cAAC,CAAC,OAAO,EAAE;sCACF,IAAI;6CAAA;AAGd;IADC,cAAC,CAAC,OAAO,EAAE;sCACF,IAAI;6CAAA;AAGd;IADC,cAAC,CAAC,OAAO,EAAE;sCACF,IAAI;6CAAA"}
|