@goatlab/fluent 0.6.24 → 0.6.30
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 +45 -75
- package/dist/BaseConnector.js +218 -317
- package/dist/Fluent.d.ts +2 -21
- package/dist/Fluent.js +0 -33
- package/dist/FluentEntity.d.ts +7 -0
- package/dist/FluentEntity.js +28 -0
- package/dist/TypeOrmConnector/TypeOrmConnector.d.ts +31 -24
- package/dist/TypeOrmConnector/TypeOrmConnector.js +599 -343
- package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.js +182 -48
- package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.d.ts +103 -3
- package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.js +30 -13
- package/dist/TypeOrmConnector/test/advanced/typeOrm.mongo.repository.d.ts +5 -0
- package/dist/TypeOrmConnector/test/advanced/typeOrm.mongo.repository.js +17 -0
- package/dist/TypeOrmConnector/test/advanced/typeOrm.mysql.repository.d.ts +5 -0
- package/dist/TypeOrmConnector/test/advanced/typeOrm.mysql.repository.js +17 -0
- package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.d.ts +3 -3
- package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.js +8 -3
- package/dist/TypeOrmConnector/test/basic/basicTestSuite.d.ts +1 -1
- package/dist/TypeOrmConnector/test/basic/basicTestSuite.js +42 -16
- package/dist/TypeOrmConnector/test/basic/goat.entity.d.ts +43 -0
- package/dist/TypeOrmConnector/test/basic/goat.entity.js +19 -8
- package/dist/TypeOrmConnector/test/basic/goat.mongo.repository.d.ts +5 -0
- package/dist/TypeOrmConnector/test/basic/goat.mongo.repository.js +16 -0
- package/dist/TypeOrmConnector/test/basic/goat.mysql.repository.d.ts +5 -0
- package/dist/TypeOrmConnector/test/basic/goat.mysql.repository.js +16 -0
- package/dist/TypeOrmConnector/test/basic/goat.repository.d.ts +3 -4
- package/dist/TypeOrmConnector/test/basic/goat.repository.js +7 -3
- package/dist/TypeOrmConnector/test/dbEntities.d.ts +6 -6
- package/dist/TypeOrmConnector/test/docker/docker.d.ts +35 -0
- package/dist/TypeOrmConnector/test/docker/docker.js +149 -0
- package/dist/TypeOrmConnector/test/docker/mysql.d.ts +17 -0
- package/dist/TypeOrmConnector/test/docker/mysql.js +132 -0
- package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.d.ts +8 -0
- package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.js +23 -0
- package/dist/TypeOrmConnector/test/mongo/mongo.memory.d.ts +4 -0
- package/dist/TypeOrmConnector/test/mongo/mongo.memory.js +43 -0
- package/dist/TypeOrmConnector/test/mongo/mongoDatasource.d.ts +2 -0
- package/dist/TypeOrmConnector/test/mongo/mongoDatasource.js +12 -0
- package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.d.ts +8 -0
- package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.js +23 -0
- package/dist/TypeOrmConnector/test/mongo/roles_user.mongo.repository.d.ts +6 -0
- package/dist/TypeOrmConnector/test/mongo/roles_user.mongo.repository.js +17 -0
- package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.d.ts +10 -0
- package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.js +31 -0
- package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.d.ts +6 -0
- package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.js +17 -0
- package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.d.ts +2 -0
- package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.js +16 -0
- package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.d.ts +8 -0
- package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.js +23 -0
- package/dist/TypeOrmConnector/test/mysql/roles_user.mysql.repository.d.ts +6 -0
- package/dist/TypeOrmConnector/test/mysql/roles_user.mysql.repository.js +17 -0
- package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.d.ts +10 -0
- package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.js +32 -0
- package/dist/TypeOrmConnector/test/relations/car/car.entity.d.ts +1 -0
- package/dist/TypeOrmConnector/test/relations/car/car.entity.js +13 -5
- package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.d.ts +3 -3
- package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.js +11 -4
- package/dist/TypeOrmConnector/test/relations/car/car.schema.d.ts +38 -0
- package/dist/TypeOrmConnector/test/relations/car/car.schema.js +14 -0
- package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.js +85 -32
- package/dist/TypeOrmConnector/test/relations/roles/role.schema.d.ts +35 -0
- package/dist/TypeOrmConnector/test/relations/roles/role.schema.js +16 -0
- package/dist/TypeOrmConnector/test/relations/roles/roles.entity.js +4 -4
- package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.d.ts +3 -3
- package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.js +12 -4
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.d.ts +2 -2
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.js +4 -4
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.schema.d.ts +15 -0
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.schema.js +9 -0
- package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.d.ts +3 -3
- package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.js +8 -3
- package/dist/TypeOrmConnector/test/relations/user/user.entity.js +10 -10
- package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.d.ts +3 -3
- package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.js +17 -5
- package/dist/TypeOrmConnector/test/relations/user/user.schema.d.ts +150 -0
- package/dist/TypeOrmConnector/test/relations/user/user.schema.js +18 -0
- package/dist/TypeOrmConnector/test/{memoryDataSource.d.ts → sqlite/memoryDataSource.d.ts} +0 -0
- package/dist/TypeOrmConnector/test/{memoryDataSource.js → sqlite/memoryDataSource.js} +1 -1
- package/dist/core/Loopback/build-schema.js +1 -3
- package/dist/core/Loopback/json-to-schema.js +6 -6
- package/dist/core/Loopback/mapValues.d.ts +2 -0
- package/dist/core/Loopback/mapValues.js +835 -0
- package/dist/core/Loopback/query.js +6 -4
- package/dist/core/Loopback/type-resolver.d.ts +1 -1
- package/dist/core/Nestjs/applyDecorators.d.ts +1 -1
- package/dist/core/Nestjs/types/common.js +3 -1
- package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.d.ts +1 -1
- package/dist/core/Nestjs/types/decorators/create-property.decorator.js +9 -4
- package/dist/core/Nestjs/types/decorators/field.decorator.d.ts +1 -1
- package/dist/core/Nestjs/types/decorators/field.decorator.js +6 -6
- package/dist/core/Nestjs/types/lazy-metadata.storage.js +3 -3
- package/dist/core/Nestjs/types/omit-type.js +6 -2
- package/dist/core/Nestjs/types/reflection.utils.d.ts +1 -1
- package/dist/core/Nestjs/types/reflection.utils.js +9 -2
- package/dist/core/Nestjs/types/type-metadata.storage.js +4 -4
- package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.d.ts +1 -11
- package/dist/core/Nestjs/types/utils/mapped-types.utils.js +2 -2
- package/dist/decorators.d.ts +25 -21
- package/dist/decorators.js +76 -70
- package/dist/index.d.ts +6 -7
- package/dist/index.js +5 -7
- package/dist/loadRelations.js +108 -68
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +104 -55
- package/dist/types.js +20 -0
- package/package.json +10 -101
- package/dist/TypeOrmConnector/TypeOrmMongoConnector._bypass.d.ts +0 -1
- package/dist/TypeOrmConnector/TypeOrmMongoConnector._bypass.js +0 -52
- package/dist/TypeOrmConnector/TypeOrmMysqlConnector._bypass.d.ts +0 -1
- package/dist/TypeOrmConnector/TypeOrmMysqlConnector._bypass.js +0 -55
- package/dist/TypeOrmConnector/test/basic/goat.dto.d.ts +0 -8
- package/dist/TypeOrmConnector/test/basic/goat.dto.js +0 -18
- package/dist/TypeOrmConnector/test/relations/car/car.dto.d.ts +0 -5
- package/dist/TypeOrmConnector/test/relations/car/car.dto.js +0 -12
- package/dist/TypeOrmConnector/test/relations/roles/role.dto.d.ts +0 -5
- package/dist/TypeOrmConnector/test/relations/roles/role.dto.js +0 -12
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.dto.d.ts +0 -5
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.dto.js +0 -12
- package/dist/TypeOrmConnector/test/relations/user/user.dto.d.ts +0 -5
- package/dist/TypeOrmConnector/test/relations/user/user.dto.js +0 -12
- package/dist/core/dtos/access.dto.d.ts +0 -4
- package/dist/core/dtos/access.dto.js +0 -21
- package/dist/core/dtos/pagination.dto.d.ts +0 -13
- package/dist/core/dtos/pagination.dto.js +0 -62
package/dist/types.d.ts
CHANGED
|
@@ -1,75 +1,124 @@
|
|
|
1
1
|
import { ObjectID } from 'bson';
|
|
2
|
-
export interface
|
|
2
|
+
export interface AnyObject {
|
|
3
3
|
id?: string;
|
|
4
4
|
_id?: string;
|
|
5
5
|
[key: string]: any;
|
|
6
6
|
}
|
|
7
|
+
declare type Unpacked<T> = T extends (infer U)[] ? U : T;
|
|
8
|
+
export declare type Concrete<Type> = {
|
|
9
|
+
[Property in keyof Type]-?: Type[Property];
|
|
10
|
+
};
|
|
11
|
+
export declare type QueryFieldSelector<T> = Partial<{
|
|
12
|
+
[K in keyof Concrete<T>]: Concrete<T>[K] extends object ? Unpacked<Partial<QueryFieldSelector<Concrete<T>[K]>>> : boolean | undefined;
|
|
13
|
+
}>;
|
|
14
|
+
export declare type QueryOrderSelector<T> = Partial<{
|
|
15
|
+
[K in keyof Concrete<T>]: Concrete<T>[K] extends object ? Partial<QueryOrderSelector<Concrete<T>[K]>> : 'asc' | 'desc' | undefined;
|
|
16
|
+
}>;
|
|
17
|
+
export declare type QueryOperations<T> = {
|
|
18
|
+
[key in LogicOperator]: T;
|
|
19
|
+
};
|
|
20
|
+
export declare type QueryWhereFitler<T> = Partial<{
|
|
21
|
+
[K in keyof Concrete<T>]: Concrete<T>[K] extends object ? Partial<QueryWhereFitler<Concrete<T>[K]>> : Partial<QueryOperations<Concrete<T>[K]>> | T[K];
|
|
22
|
+
}>;
|
|
23
|
+
export declare type QueryInsert<T> = {
|
|
24
|
+
[K in keyof T]: T[K] extends object ? QueryInsert<T[K]> : T[K];
|
|
25
|
+
};
|
|
26
|
+
export declare type ModelRelation<T> = T;
|
|
27
|
+
export declare type QueryIncludeRelation<T> = {
|
|
28
|
+
[K in keyof Partial<T>]: FluentQuery<Unpacked<T[K]>> | boolean;
|
|
29
|
+
};
|
|
30
|
+
export declare type FluentQuery<T> = {
|
|
31
|
+
select?: QueryFieldSelector<T>;
|
|
32
|
+
where?: {
|
|
33
|
+
OR: FluentQuery<T>['where'][];
|
|
34
|
+
AND: FluentQuery<T>['where'][];
|
|
35
|
+
} | QueryWhereFitler<T>;
|
|
36
|
+
orderBy?: QueryOrderSelector<T>[];
|
|
37
|
+
limit?: number;
|
|
38
|
+
offset?: number;
|
|
39
|
+
include?: QueryIncludeRelation<T>;
|
|
40
|
+
paginated?: Paginator;
|
|
41
|
+
};
|
|
42
|
+
export declare type AddUndefinedIfNullable<T> = T extends null | undefined ? undefined : never;
|
|
43
|
+
export declare type GetSelectedFromObject<T extends FluentQuery<Model>, Model, OutputDTO> = {
|
|
44
|
+
[P in keyof T['select']]: T['select'][P] extends object ? QueryOutput<{
|
|
45
|
+
select: T['select'][P];
|
|
46
|
+
}, NonNullable<Model[P]>, OutputDTO[P]> | AddUndefinedIfNullable<Model[P]> : OutputDTO[P];
|
|
47
|
+
};
|
|
48
|
+
export declare type QueryOutput<T extends FluentQuery<Model>, Model, OutputDTO> = T extends {
|
|
49
|
+
select: T['select'];
|
|
50
|
+
} ? T extends {
|
|
51
|
+
paginated: T['paginated'];
|
|
52
|
+
} ? PaginatedData<GetSelectedFromObject<T, Model, OutputDTO>> : GetSelectedFromObject<T, Model, OutputDTO>[] : T extends {
|
|
53
|
+
paginated: T['paginated'];
|
|
54
|
+
} ? PaginatedData<OutputDTO> : OutputDTO[];
|
|
55
|
+
export declare type SingleQueryOutput<T extends FluentQuery<Model>, Model, OutputDTO> = T extends {
|
|
56
|
+
select: T['select'];
|
|
57
|
+
} ? T extends {
|
|
58
|
+
paginated: T['paginated'];
|
|
59
|
+
} ? PaginatedData<GetSelectedFromObject<T, Model, OutputDTO>> : GetSelectedFromObject<T, Model, OutputDTO> : T extends {
|
|
60
|
+
paginated: T['paginated'];
|
|
61
|
+
} ? PaginatedData<OutputDTO> : OutputDTO;
|
|
7
62
|
export interface PaginatedData<T> {
|
|
8
|
-
|
|
63
|
+
currentPage: number;
|
|
9
64
|
data: T[];
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
path
|
|
14
|
-
|
|
65
|
+
firstPageUrl?: string;
|
|
66
|
+
nextPageUrl?: string;
|
|
67
|
+
prevPageUrl?: string;
|
|
68
|
+
path?: string;
|
|
69
|
+
perPage: number;
|
|
15
70
|
total: number;
|
|
71
|
+
lastPage: number;
|
|
72
|
+
firstPage: number;
|
|
73
|
+
nextPage: number;
|
|
74
|
+
prevPage: number | null;
|
|
75
|
+
from: number;
|
|
76
|
+
to: number;
|
|
16
77
|
}
|
|
17
78
|
export interface Paginator {
|
|
18
79
|
page: number;
|
|
19
|
-
perPage:
|
|
20
|
-
}
|
|
21
|
-
export interface Sure {
|
|
22
|
-
sure: boolean;
|
|
80
|
+
perPage: number;
|
|
23
81
|
}
|
|
24
82
|
export interface Deleted {
|
|
25
83
|
deleted: number;
|
|
26
84
|
}
|
|
27
85
|
export declare type Primitives = boolean | string | number | ObjectID;
|
|
28
86
|
export declare type PrimitivesArray = boolean[] | string[] | number[] | ObjectID[];
|
|
29
|
-
export declare
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
87
|
+
export declare enum LogicOperator {
|
|
88
|
+
equals = "equals",
|
|
89
|
+
lessThan = "lessThan",
|
|
90
|
+
greaterThan = "greaterThan",
|
|
91
|
+
lessOrEqualThan = "lessOrEqualThan",
|
|
92
|
+
greaterOrEqualThan = "greaterOrEqualThan",
|
|
93
|
+
isNot = "isNot",
|
|
94
|
+
in = "in",
|
|
95
|
+
notIn = "notIn",
|
|
96
|
+
like = "like",
|
|
97
|
+
regexp = "regexp",
|
|
98
|
+
startsWith = "startsWith",
|
|
99
|
+
endsWith = "endsWith",
|
|
100
|
+
contains = "contains",
|
|
101
|
+
arrayContains = "arrayContains",
|
|
102
|
+
exists = "exists",
|
|
103
|
+
notExists = "notExists"
|
|
104
|
+
}
|
|
105
|
+
export declare type FluentHasManyRelatedAttribute<T> = Partial<{
|
|
106
|
+
[K in keyof Concrete<T>]: Concrete<T>[K] extends object ? Unpacked<Partial<FluentHasManyRelatedAttribute<Concrete<T>[K]>>> | boolean : boolean | undefined;
|
|
107
|
+
}>;
|
|
108
|
+
export declare type FluentHasManyParams<T extends FluentHasManyParams<T>> = {
|
|
109
|
+
repository: new () => InstanceType<T['repository']>;
|
|
110
|
+
};
|
|
111
|
+
export declare type FluentBelongsToParams<T extends FluentHasManyParams<T>> = {
|
|
112
|
+
repository: new () => InstanceType<T['repository']>;
|
|
113
|
+
};
|
|
114
|
+
export declare type FluentBelongsToManyParams<T extends FluentBelongsToManyParams<T>> = {
|
|
115
|
+
repository: new () => InstanceType<T['repository']>;
|
|
116
|
+
pivot: new () => InstanceType<T['pivot']>;
|
|
117
|
+
};
|
|
118
|
+
export declare type FindByIdFilter<T> = {
|
|
119
|
+
select?: FluentQuery<T>['select'];
|
|
120
|
+
include?: FluentQuery<T>['include'];
|
|
33
121
|
limit?: number;
|
|
34
|
-
offset?: number;
|
|
35
|
-
order?: {
|
|
36
|
-
field: string;
|
|
37
|
-
asc?: boolean;
|
|
38
|
-
type?: 'string' | 'number' | 'date';
|
|
39
|
-
};
|
|
40
|
-
skip?: number;
|
|
41
|
-
where?: {
|
|
42
|
-
and?: WhereClause[];
|
|
43
|
-
or?: WhereClause[];
|
|
44
|
-
};
|
|
45
122
|
};
|
|
46
|
-
declare type
|
|
47
|
-
declare type Prev = [
|
|
48
|
-
never,
|
|
49
|
-
0,
|
|
50
|
-
1,
|
|
51
|
-
2,
|
|
52
|
-
3,
|
|
53
|
-
4,
|
|
54
|
-
5,
|
|
55
|
-
6,
|
|
56
|
-
7,
|
|
57
|
-
8,
|
|
58
|
-
9,
|
|
59
|
-
10,
|
|
60
|
-
11,
|
|
61
|
-
12,
|
|
62
|
-
13,
|
|
63
|
-
14,
|
|
64
|
-
15,
|
|
65
|
-
16,
|
|
66
|
-
17,
|
|
67
|
-
18,
|
|
68
|
-
19,
|
|
69
|
-
20,
|
|
70
|
-
...0[]
|
|
71
|
-
];
|
|
72
|
-
export declare type Paths<T, D extends number = 10> = [D] extends [never] ? never : T extends object ? {
|
|
73
|
-
[K in keyof T]-?: [K] | (Paths<T[K], Prev[D]> extends infer P ? P extends [] ? never : Cons<K, P> : never);
|
|
74
|
-
}[keyof T] : [];
|
|
123
|
+
export declare type LoadedResult<T> = Omit<T, 'findMany' | 'insert' | 'insertMany' | 'loadFirst' | 'byId' | 'replaceById' | 'updateById' | 'clear' | 'requireById' | 'collect' | 'findByIds' | 'findFirst' | 'isMongoDB' | 'pluck' | 'raw' | 'associate' | 'attach' | 'withPivot' | 'loadById'>;
|
|
75
124
|
export {};
|
package/dist/types.js
CHANGED
|
@@ -1,2 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LogicOperator = void 0;
|
|
4
|
+
var LogicOperator;
|
|
5
|
+
(function (LogicOperator) {
|
|
6
|
+
LogicOperator["equals"] = "equals";
|
|
7
|
+
LogicOperator["lessThan"] = "lessThan";
|
|
8
|
+
LogicOperator["greaterThan"] = "greaterThan";
|
|
9
|
+
LogicOperator["lessOrEqualThan"] = "lessOrEqualThan";
|
|
10
|
+
LogicOperator["greaterOrEqualThan"] = "greaterOrEqualThan";
|
|
11
|
+
LogicOperator["isNot"] = "isNot";
|
|
12
|
+
LogicOperator["in"] = "in";
|
|
13
|
+
LogicOperator["notIn"] = "notIn";
|
|
14
|
+
LogicOperator["like"] = "like";
|
|
15
|
+
LogicOperator["regexp"] = "regexp";
|
|
16
|
+
LogicOperator["startsWith"] = "startsWith";
|
|
17
|
+
LogicOperator["endsWith"] = "endsWith";
|
|
18
|
+
LogicOperator["contains"] = "contains";
|
|
19
|
+
LogicOperator["arrayContains"] = "arrayContains";
|
|
20
|
+
LogicOperator["exists"] = "exists";
|
|
21
|
+
LogicOperator["notExists"] = "notExists";
|
|
22
|
+
})(LogicOperator = exports.LogicOperator || (exports.LogicOperator = {}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goatlab/fluent",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.30",
|
|
4
4
|
"description": "Readable query Interface & API generator for TS and Node",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"install-p": "yarn",
|
|
@@ -13,56 +13,31 @@
|
|
|
13
13
|
"format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
|
|
14
14
|
"update:packages": "npm-check-updates -u && yarn",
|
|
15
15
|
"serve": "tsc -w",
|
|
16
|
-
"build": "tsc"
|
|
17
|
-
"pack": "npm-pack-zip",
|
|
18
|
-
"release": "release-it patch --no-npm.publish --ci",
|
|
19
|
-
"release:patch": "release-it patch --no-npm.publish --ci",
|
|
20
|
-
"release:minor": "release-it minor --no-npm.publish --ci",
|
|
21
|
-
"release:major": "release-it major --no-npm.publish --ci ",
|
|
22
|
-
"rc": "release-it --no-npm.publish --ci --preRelease=rc",
|
|
23
|
-
"rc:patch": "release-it patch --no-npm.publish --ci --preRelease=rc",
|
|
24
|
-
"rc:minor": "release-it minor --no-npm.publish --ci --preRelease=rc",
|
|
25
|
-
"rc:major": "release-it major --no-npm.publish --ci --preRelease=rc",
|
|
26
|
-
"changelog": "auto-changelog --template changelog-template.hbs -p -u --commit-limit false",
|
|
27
|
-
"changelog-debug": "auto-changelog --template changelog-template.hbs -p --template json --output changelog-data.json"
|
|
16
|
+
"build": "tsc"
|
|
28
17
|
},
|
|
29
18
|
"dependencies": {
|
|
30
|
-
"@goatlab/dates": "^0.6.6",
|
|
31
19
|
"@goatlab/js-utils": "^0.7.11",
|
|
32
20
|
"@loopback/metadata": "^4.1.2",
|
|
33
|
-
"assert": "^2.0.0",
|
|
34
21
|
"bson": "^4.6.2",
|
|
35
|
-
"class-transformer": "^0.5.1",
|
|
36
|
-
"class-validator": "^0.13.2",
|
|
37
|
-
"debug": "^4.3.4",
|
|
38
|
-
"fireorm": "^0.23.3",
|
|
39
22
|
"graphql": "^16.3.0",
|
|
40
23
|
"keyv": "^4.2.2",
|
|
41
|
-
"lodash": "^4.17.21",
|
|
42
|
-
"mongodb": "^4.4.1",
|
|
43
24
|
"openapi3-ts": "^2.0.2",
|
|
44
25
|
"reflect-metadata": "^0.1.13",
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"zod": "^3.17.3"
|
|
26
|
+
"typeorm": "^0.3.7",
|
|
27
|
+
"zod": "^3.17.10"
|
|
48
28
|
},
|
|
49
29
|
"devDependencies": {
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"@commitlint/prompt-cli": "^16.2.3",
|
|
53
|
-
"@digitalroute/cz-conventional-changelog-for-jira": "^7.2.1",
|
|
54
|
-
"auto-changelog": "^2.4.0",
|
|
55
|
-
"commitizen": "^4.2.4",
|
|
56
|
-
"cz-conventional-changelog": "^3.3.0",
|
|
57
|
-
"cz-jira-smart-commit": "^3.0.0",
|
|
30
|
+
"cross-spawn": "^7.0.3",
|
|
31
|
+
"detect-port": "^1.3.0",
|
|
58
32
|
"dotenv-cli": "^5.1.0",
|
|
59
33
|
"eslint": "^8.5.0",
|
|
60
|
-
"husky": "^7.0.4",
|
|
61
34
|
"jest": "^27.5.1",
|
|
62
|
-
"
|
|
35
|
+
"modern-spawn": "^1.0.0",
|
|
36
|
+
"mongodb-memory-server": "^8.8.0",
|
|
37
|
+
"mysql2": "^2.3.3",
|
|
38
|
+
"net": "^1.0.2",
|
|
63
39
|
"prettier": "^2.6.1",
|
|
64
40
|
"pretty-quick": "^3.1.3",
|
|
65
|
-
"release-it": "^14.13.1",
|
|
66
41
|
"ts-jest": "^27.1.4",
|
|
67
42
|
"ts-node": "^10.7.0",
|
|
68
43
|
"turbo": "^1.1.10",
|
|
@@ -90,72 +65,6 @@
|
|
|
90
65
|
],
|
|
91
66
|
"author": "ignacio.cabrera@goatlab.io",
|
|
92
67
|
"license": "MIT",
|
|
93
|
-
"commitlint": {
|
|
94
|
-
"extends": [
|
|
95
|
-
"@commitlint/config-conventional"
|
|
96
|
-
],
|
|
97
|
-
"rules": {
|
|
98
|
-
"subject-case": [
|
|
99
|
-
2,
|
|
100
|
-
"never",
|
|
101
|
-
[]
|
|
102
|
-
]
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
"husky": {
|
|
106
|
-
"hooks": {
|
|
107
|
-
"pre-commit": "pretty-quick --staged && npm test",
|
|
108
|
-
"commit-msg": "exec < /dev/tty && git cz --hook || true && commitlint -E HUSKY_GIT_PARAMS",
|
|
109
|
-
"pre-push": "npm run build"
|
|
110
|
-
}
|
|
111
|
-
},
|
|
112
|
-
"release-it": {
|
|
113
|
-
"src": {
|
|
114
|
-
"commitMessage": "ci: CI-1 [Release] v%s"
|
|
115
|
-
},
|
|
116
|
-
"git": {
|
|
117
|
-
"requireBranch": "master",
|
|
118
|
-
"commitArgs": [
|
|
119
|
-
"--no-verify"
|
|
120
|
-
]
|
|
121
|
-
},
|
|
122
|
-
"hooks": {
|
|
123
|
-
"before:init": [
|
|
124
|
-
"npm run build",
|
|
125
|
-
"npm run pack"
|
|
126
|
-
],
|
|
127
|
-
"after:bump": "npm run changelog",
|
|
128
|
-
"after:release": "echo Successfully released ${name} v${version} to ${repo.repository}."
|
|
129
|
-
},
|
|
130
|
-
"github": {
|
|
131
|
-
"release": true,
|
|
132
|
-
"assets": [
|
|
133
|
-
"./*.zip"
|
|
134
|
-
]
|
|
135
|
-
}
|
|
136
|
-
},
|
|
137
|
-
"auto-changelog": {
|
|
138
|
-
"commitLimit": false,
|
|
139
|
-
"unreleased": true,
|
|
140
|
-
"issueUrl": "https://goatlab.atlassian.net/browse/{id}",
|
|
141
|
-
"replaceText": {
|
|
142
|
-
"[Ff]eature:": "",
|
|
143
|
-
"[Ff]ix:": "",
|
|
144
|
-
"[Bb]reak:": "",
|
|
145
|
-
"([A-Z]+-\\d+)": "[$1](https://goatlab.atlassian.net/browse//$1) - "
|
|
146
|
-
},
|
|
147
|
-
"includeBranch": [
|
|
148
|
-
"master"
|
|
149
|
-
]
|
|
150
|
-
},
|
|
151
|
-
"config": {
|
|
152
|
-
"commitizen": {
|
|
153
|
-
"path": "./node_modules/@digitalroute/cz-conventional-changelog-for-jira"
|
|
154
|
-
},
|
|
155
|
-
"mongodbMemoryServer": {
|
|
156
|
-
"version": "latest"
|
|
157
|
-
}
|
|
158
|
-
},
|
|
159
68
|
"engines": {
|
|
160
69
|
"node": ">=14.16.0"
|
|
161
70
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const typeorm_1 = require("typeorm");
|
|
4
|
-
const car_entity_1 = require("./test/relations/car/car.entity");
|
|
5
|
-
const car_repositoryTypeOrm_1 = require("./test/relations/car/car.repositoryTypeOrm");
|
|
6
|
-
const goat_entity_1 = require("./test/basic/goat.entity");
|
|
7
|
-
const goat_repository_1 = require("./test/basic/goat.repository");
|
|
8
|
-
const roles_entity_1 = require("./test/relations/roles/roles.entity");
|
|
9
|
-
const roles_repositoryTypeOrm_1 = require("./test/relations/roles/roles.repositoryTypeOrm");
|
|
10
|
-
const roles_user_entity_1 = require("./test/relations/roles/roles_user.entity");
|
|
11
|
-
const typeOrm_entity_1 = require("./test/advanced/typeOrm.entity");
|
|
12
|
-
const typeOrm_repository_1 = require("./test/advanced/typeOrm.repository");
|
|
13
|
-
const user_repositoryTypeOrm_1 = require("./test/relations/user/user.repositoryTypeOrm");
|
|
14
|
-
const user_entity_1 = require("./test/relations/user/user.entity");
|
|
15
|
-
const advancedTestSuite_1 = require("./test/advanced/advancedTestSuite");
|
|
16
|
-
const basicTestSuite_1 = require("./test/basic/basicTestSuite");
|
|
17
|
-
const relationsTestsSuite_1 = require("./test/relations/relationsTestsSuite");
|
|
18
|
-
jasmine.DEFAULT_TIMEOUT_INTERVAL = 600000;
|
|
19
|
-
let mongoConnection;
|
|
20
|
-
beforeAll(async (done) => {
|
|
21
|
-
mongoConnection = '';
|
|
22
|
-
await (0, typeorm_1.createConnection)({
|
|
23
|
-
type: 'mongodb',
|
|
24
|
-
name: 'runningTest',
|
|
25
|
-
url: mongoConnection.url,
|
|
26
|
-
useNewUrlParser: true,
|
|
27
|
-
useUnifiedTopology: true,
|
|
28
|
-
entities: [
|
|
29
|
-
goat_entity_1.GoatEntity,
|
|
30
|
-
typeOrm_entity_1.TypeORMDataModel,
|
|
31
|
-
car_entity_1.CarsEntity,
|
|
32
|
-
user_entity_1.UsersEntity,
|
|
33
|
-
roles_entity_1.RoleEntity,
|
|
34
|
-
roles_user_entity_1.RolesUser
|
|
35
|
-
],
|
|
36
|
-
synchronize: false,
|
|
37
|
-
logging: false
|
|
38
|
-
});
|
|
39
|
-
done();
|
|
40
|
-
});
|
|
41
|
-
afterAll(async () => {
|
|
42
|
-
await mongoConnection.instance.stop();
|
|
43
|
-
});
|
|
44
|
-
describe('Execute all basic test Suite', () => {
|
|
45
|
-
(0, basicTestSuite_1.basicTestSuite)(goat_repository_1.GoatRepository);
|
|
46
|
-
});
|
|
47
|
-
describe('Execute all advanced test Suite', () => {
|
|
48
|
-
(0, advancedTestSuite_1.advancedTestSuite)(typeOrm_repository_1.TypeOrmRepository);
|
|
49
|
-
});
|
|
50
|
-
describe('Execute all relations test suite', () => {
|
|
51
|
-
(0, relationsTestsSuite_1.relationsTestSuite)(user_repositoryTypeOrm_1.UserRepository, car_repositoryTypeOrm_1.CarsRepository, roles_repositoryTypeOrm_1.RoleRepository);
|
|
52
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const typeorm_1 = require("typeorm");
|
|
4
|
-
const car_entity_1 = require("./test/relations/car/car.entity");
|
|
5
|
-
const car_repositoryTypeOrm_1 = require("./test/relations/car/car.repositoryTypeOrm");
|
|
6
|
-
const goat_entity_1 = require("./test/basic/goat.entity");
|
|
7
|
-
const goat_repository_1 = require("./test/basic/goat.repository");
|
|
8
|
-
const roles_entity_1 = require("./test/relations/roles/roles.entity");
|
|
9
|
-
const roles_repositoryTypeOrm_1 = require("./test/relations/roles/roles.repositoryTypeOrm");
|
|
10
|
-
const roles_user_entity_1 = require("./test/relations/roles/roles_user.entity");
|
|
11
|
-
const typeOrm_entity_1 = require("./test/advanced/typeOrm.entity");
|
|
12
|
-
const typeOrm_repository_1 = require("./test/advanced/typeOrm.repository");
|
|
13
|
-
const user_repositoryTypeOrm_1 = require("./test/relations/user/user.repositoryTypeOrm");
|
|
14
|
-
const user_entity_1 = require("./test/relations/user/user.entity");
|
|
15
|
-
const advancedTestSuite_1 = require("./test/advanced/advancedTestSuite");
|
|
16
|
-
const basicTestSuite_1 = require("./test/basic/basicTestSuite");
|
|
17
|
-
const relationsTestsSuite_1 = require("./test/relations/relationsTestsSuite");
|
|
18
|
-
jasmine.DEFAULT_TIMEOUT_INTERVAL = 600000;
|
|
19
|
-
let tearDown;
|
|
20
|
-
beforeAll(async (done) => {
|
|
21
|
-
const { databaseURL, kill } = { databaseURL: '', kill: () => { } };
|
|
22
|
-
tearDown = kill;
|
|
23
|
-
const conn = new typeorm_1.DataSource({
|
|
24
|
-
type: 'mysql',
|
|
25
|
-
name: 'runningTest',
|
|
26
|
-
database: 'test-db',
|
|
27
|
-
username: 'test-user',
|
|
28
|
-
password: 'password',
|
|
29
|
-
port: 3306,
|
|
30
|
-
entities: [
|
|
31
|
-
goat_entity_1.GoatEntity,
|
|
32
|
-
typeOrm_entity_1.TypeORMDataModel,
|
|
33
|
-
car_entity_1.CarsEntity,
|
|
34
|
-
user_entity_1.UsersEntity,
|
|
35
|
-
roles_entity_1.RoleEntity,
|
|
36
|
-
roles_user_entity_1.RolesUser
|
|
37
|
-
],
|
|
38
|
-
synchronize: true,
|
|
39
|
-
logging: false
|
|
40
|
-
});
|
|
41
|
-
await conn.initialize();
|
|
42
|
-
done();
|
|
43
|
-
});
|
|
44
|
-
afterAll(() => {
|
|
45
|
-
return tearDown();
|
|
46
|
-
});
|
|
47
|
-
describe('Execute all basic test Suite', () => {
|
|
48
|
-
(0, basicTestSuite_1.basicTestSuite)(goat_repository_1.GoatRepository);
|
|
49
|
-
});
|
|
50
|
-
describe('Execute all advanced test Suite', () => {
|
|
51
|
-
(0, advancedTestSuite_1.advancedTestSuite)(typeOrm_repository_1.TypeOrmRepository);
|
|
52
|
-
});
|
|
53
|
-
describe('Execute all relations test suite', () => {
|
|
54
|
-
(0, relationsTestsSuite_1.relationsTestSuite)(user_repositoryTypeOrm_1.UserRepository, car_repositoryTypeOrm_1.CarsRepository, roles_repositoryTypeOrm_1.RoleRepository);
|
|
55
|
-
});
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { GoatEntity } from './goat.entity';
|
|
2
|
-
declare const GoatEntityOut_base: import("../../../core/Nestjs/types/common").Type<Omit<GoatEntity, never>>;
|
|
3
|
-
export declare class GoatEntityOut extends GoatEntityOut_base {
|
|
4
|
-
}
|
|
5
|
-
declare const GoatEntityIn_base: import("../../../core/Nestjs/types/common").Type<Omit<GoatEntity, "id">>;
|
|
6
|
-
export declare class GoatEntityIn extends GoatEntityIn_base {
|
|
7
|
-
}
|
|
8
|
-
export {};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GoatEntityIn = exports.GoatEntityOut = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const goat_entity_1 = require("./goat.entity");
|
|
6
|
-
const types_1 = require("../../../core/types");
|
|
7
|
-
let GoatEntityOut = class GoatEntityOut extends (0, types_1.OmitType)(goat_entity_1.GoatEntity, []) {
|
|
8
|
-
};
|
|
9
|
-
GoatEntityOut = tslib_1.__decorate([
|
|
10
|
-
(0, types_1.InputType)()
|
|
11
|
-
], GoatEntityOut);
|
|
12
|
-
exports.GoatEntityOut = GoatEntityOut;
|
|
13
|
-
let GoatEntityIn = class GoatEntityIn extends (0, types_1.OmitType)(goat_entity_1.GoatEntity, ['id']) {
|
|
14
|
-
};
|
|
15
|
-
GoatEntityIn = tslib_1.__decorate([
|
|
16
|
-
(0, types_1.InputType)()
|
|
17
|
-
], GoatEntityIn);
|
|
18
|
-
exports.GoatEntityIn = GoatEntityIn;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CarsEntityIn = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const types_1 = require("../../../../core/types");
|
|
6
|
-
const car_entity_1 = require("./car.entity");
|
|
7
|
-
let CarsEntityIn = class CarsEntityIn extends (0, types_1.OmitType)(car_entity_1.CarsEntity, ['id']) {
|
|
8
|
-
};
|
|
9
|
-
CarsEntityIn = tslib_1.__decorate([
|
|
10
|
-
(0, types_1.InputType)()
|
|
11
|
-
], CarsEntityIn);
|
|
12
|
-
exports.CarsEntityIn = CarsEntityIn;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RoleEntityIn = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const types_1 = require("../../../../core/types");
|
|
6
|
-
const roles_entity_1 = require("./roles.entity");
|
|
7
|
-
let RoleEntityIn = class RoleEntityIn extends (0, types_1.OmitType)(roles_entity_1.RoleEntity, ['id']) {
|
|
8
|
-
};
|
|
9
|
-
RoleEntityIn = tslib_1.__decorate([
|
|
10
|
-
(0, types_1.InputType)()
|
|
11
|
-
], RoleEntityIn);
|
|
12
|
-
exports.RoleEntityIn = RoleEntityIn;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RoleUserEntityIn = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const types_1 = require("../../../../core/types");
|
|
6
|
-
const roles_user_entity_1 = require("./roles_user.entity");
|
|
7
|
-
let RoleUserEntityIn = class RoleUserEntityIn extends (0, types_1.OmitType)(roles_user_entity_1.RolesUser, ['id']) {
|
|
8
|
-
};
|
|
9
|
-
RoleUserEntityIn = tslib_1.__decorate([
|
|
10
|
-
(0, types_1.InputType)()
|
|
11
|
-
], RoleUserEntityIn);
|
|
12
|
-
exports.RoleUserEntityIn = RoleUserEntityIn;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UsersEntityIn = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const types_1 = require("../../../../core/types");
|
|
6
|
-
const user_entity_1 = require("./user.entity");
|
|
7
|
-
let UsersEntityIn = class UsersEntityIn extends (0, types_1.OmitType)(user_entity_1.UsersEntity, ['id']) {
|
|
8
|
-
};
|
|
9
|
-
UsersEntityIn = tslib_1.__decorate([
|
|
10
|
-
(0, types_1.InputType)()
|
|
11
|
-
], UsersEntityIn);
|
|
12
|
-
exports.UsersEntityIn = UsersEntityIn;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Access = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const types_1 = require("../types");
|
|
6
|
-
let Access = class Access {
|
|
7
|
-
};
|
|
8
|
-
tslib_1.__decorate([
|
|
9
|
-
(0, types_1.Column)({ nullable: true }),
|
|
10
|
-
(0, types_1.ApiProperty)(),
|
|
11
|
-
tslib_1.__metadata("design:type", String)
|
|
12
|
-
], Access.prototype, "type", void 0);
|
|
13
|
-
tslib_1.__decorate([
|
|
14
|
-
(0, types_1.Column)({ nullable: true, type: 'simple-array' }),
|
|
15
|
-
(0, types_1.ApiProperty)(),
|
|
16
|
-
tslib_1.__metadata("design:type", Array)
|
|
17
|
-
], Access.prototype, "roles", void 0);
|
|
18
|
-
Access = tslib_1.__decorate([
|
|
19
|
-
(0, types_1.ObjectType)()
|
|
20
|
-
], Access);
|
|
21
|
-
exports.Access = Access;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export declare class PaginationMeta {
|
|
2
|
-
itemCount: number;
|
|
3
|
-
totalItems: number;
|
|
4
|
-
itemsPerPage: number;
|
|
5
|
-
totalPages: number;
|
|
6
|
-
currentPage: number;
|
|
7
|
-
}
|
|
8
|
-
export declare class PaginationLinks {
|
|
9
|
-
first?: string;
|
|
10
|
-
previous?: string;
|
|
11
|
-
next?: string;
|
|
12
|
-
last?: string;
|
|
13
|
-
}
|