@loopstack/api 0.11.0 → 0.11.1
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/CHANGELOG.md +10 -0
- package/dist/services/dashboard.service.d.ts +1 -1
- package/dist/services/dashboard.service.js +16 -3
- package/dist/services/dashboard.service.js.map +1 -1
- package/dist/services/document-api.service.d.ts +1 -1
- package/dist/services/document-api.service.js +10 -4
- package/dist/services/document-api.service.js.map +1 -1
- package/dist/services/namespace-api.service.d.ts +2 -2
- package/dist/services/namespace-api.service.js +20 -8
- package/dist/services/namespace-api.service.js.map +1 -1
- package/dist/services/pipeline-api.service.d.ts +4 -4
- package/dist/services/pipeline-api.service.js +70 -28
- package/dist/services/pipeline-api.service.js.map +1 -1
- package/dist/services/workflow-api.service.d.ts +3 -3
- package/dist/services/workflow-api.service.js +30 -12
- package/dist/services/workflow-api.service.js.map +1 -1
- package/dist/services/workspace-api.service.d.ts +4 -4
- package/dist/services/workspace-api.service.js +70 -28
- package/dist/services/workspace-api.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @loopstack/api
|
|
2
2
|
|
|
3
|
+
## 0.11.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- fb1600e: Various fixes and improvements
|
|
8
|
+
- Updated dependencies [fb1600e]
|
|
9
|
+
- @loopstack/auth@0.11.1
|
|
10
|
+
- @loopstack/core@0.11.1
|
|
11
|
+
- @loopstack/shared@0.11.1
|
|
12
|
+
|
|
3
13
|
## 0.11.0
|
|
4
14
|
|
|
5
15
|
### Minor Changes
|
|
@@ -14,5 +14,5 @@ export declare class DashboardService {
|
|
|
14
14
|
private readonly pipelineRepository;
|
|
15
15
|
private readonly workflowRepository;
|
|
16
16
|
constructor(pipelineRepository: Repository<PipelineEntity>, workflowRepository: Repository<WorkflowEntity>);
|
|
17
|
-
getDashboardStats(user: string
|
|
17
|
+
getDashboardStats(user: string): Promise<DashboardStats>;
|
|
18
18
|
}
|
|
@@ -27,10 +27,16 @@ let DashboardService = class DashboardService {
|
|
|
27
27
|
async getDashboardStats(user) {
|
|
28
28
|
const workspaceCount = 0;
|
|
29
29
|
const automations = 0;
|
|
30
|
-
const userFilter = user === null ? (0, typeorm_1.IsNull)() : user;
|
|
31
30
|
const baseQuery = this.pipelineRepository
|
|
32
31
|
.createQueryBuilder('pipeline')
|
|
33
|
-
.where(
|
|
32
|
+
.where([
|
|
33
|
+
{
|
|
34
|
+
createdBy: user,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
38
|
+
},
|
|
39
|
+
]);
|
|
34
40
|
const [total, completed, failed, inProgress, recentRuns, recentErrors] = await Promise.all([
|
|
35
41
|
baseQuery.clone().getCount(),
|
|
36
42
|
baseQuery
|
|
@@ -54,7 +60,14 @@ let DashboardService = class DashboardService {
|
|
|
54
60
|
.getMany(),
|
|
55
61
|
this.workflowRepository
|
|
56
62
|
.createQueryBuilder('workflow')
|
|
57
|
-
.where(
|
|
63
|
+
.where([
|
|
64
|
+
{
|
|
65
|
+
createdBy: user,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
69
|
+
},
|
|
70
|
+
])
|
|
58
71
|
.andWhere({ status: shared_1.WorkflowState.Failed })
|
|
59
72
|
.orderBy('workflow.createdAt', 'DESC')
|
|
60
73
|
.take(7)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.service.js","sourceRoot":"","sources":["../../src/services/dashboard.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qCAAuD;AACvD,6CAAmD;AACnD,8CAK2B;AAcpB,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAGR;IAEA;IAJnB,YAEmB,kBAA8C,EAE9C,kBAA8C;QAF9C,uBAAkB,GAAlB,kBAAkB,CAA4B;QAE9C,uBAAkB,GAAlB,kBAAkB,CAA4B;IAC9D,CAAC;IAEJ,KAAK,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"dashboard.service.js","sourceRoot":"","sources":["../../src/services/dashboard.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qCAAuD;AACvD,6CAAmD;AACnD,8CAK2B;AAcpB,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAGR;IAEA;IAJnB,YAEmB,kBAA8C,EAE9C,kBAA8C;QAF9C,uBAAkB,GAAlB,kBAAkB,CAA4B;QAE9C,uBAAkB,GAAlB,kBAAkB,CAA4B;IAC9D,CAAC;IAEJ,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAElC,MAAM,cAAc,GAAG,CAAC,CAAC;QAGzB,MAAM,WAAW,GAAG,CAAC,CAAC;QAKtB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB;aACtC,kBAAkB,CAAC,UAAU,CAAC;aAC9B,KAAK,CAAC;YACL;gBACE,SAAS,EAAE,IAAI;aAChB;YACD;gBACE,SAAS,EAAE,IAAA,gBAAM,GAAE;aACpB;SACF,CAAC,CAAC;QAEL,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,GACpE,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;YAC5B,SAAS;iBACN,KAAK,EAAE;iBACP,QAAQ,CAAC,EAAE,MAAM,EAAE,sBAAa,CAAC,SAAS,EAAE,CAAC;iBAC7C,QAAQ,EAAE;YACb,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,sBAAa,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YACvE,SAAS;iBACN,KAAK,EAAE;iBACP,QAAQ,CACP,IAAI,kBAAQ,CAAC,CAAC,EAAE,EAAE,EAAE;gBAClB,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,sBAAa,CAAC,OAAO,EAAE,CAAC;qBACxC,OAAO,CAAC,EAAE,MAAM,EAAE,sBAAa,CAAC,OAAO,EAAE,CAAC;qBAC1C,OAAO,CAAC,EAAE,MAAM,EAAE,sBAAa,CAAC,QAAQ,EAAE,CAAC;qBAC3C,OAAO,CAAC,EAAE,MAAM,EAAE,sBAAa,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/C,CAAC,CAAC,CACH;iBACA,QAAQ,EAAE;YACb,SAAS;iBACN,KAAK,EAAE;iBACP,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC;iBACrC,IAAI,CAAC,CAAC,CAAC;iBACP,OAAO,EAAE;YACZ,IAAI,CAAC,kBAAkB;iBACpB,kBAAkB,CAAC,UAAU,CAAC;iBAC9B,KAAK,CAAC;gBACL;oBACE,SAAS,EAAE,IAAI;iBAChB;gBACD;oBACE,SAAS,EAAE,IAAA,gBAAM,GAAE;iBACpB;aACF,CAAC;iBACD,QAAQ,CAAC,EAAE,MAAM,EAAE,sBAAa,CAAC,MAAM,EAAE,CAAC;iBAC1C,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC;iBACrC,IAAI,CAAC,CAAC,CAAC;iBACP,OAAO,EAAE;SACb,CAAC,CAAC;QAEL,OAAO;YACL,cAAc;YACd,gBAAgB,EAAE,WAAW;YAC7B,mBAAmB,EAAE,KAAK;YAC1B,aAAa,EAAE,SAAS;YACxB,SAAS,EAAE,MAAM;YACjB,cAAc,EAAE,UAAU;YAC1B,YAAY;YACZ,UAAU;SACX,CAAC;IACJ,CAAC;CACF,CAAA;AAhFY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,uBAAc,CAAC,CAAA;IAEhC,WAAA,IAAA,0BAAgB,EAAC,uBAAc,CAAC,CAAA;qCADI,oBAAU;QAEV,oBAAU;GALtC,gBAAgB,CAgF5B"}
|
|
@@ -7,7 +7,7 @@ export declare class DocumentApiService {
|
|
|
7
7
|
private documentRepository;
|
|
8
8
|
private configService;
|
|
9
9
|
constructor(documentRepository: Repository<DocumentEntity>, configService: ConfigService);
|
|
10
|
-
findAll(user: string
|
|
10
|
+
findAll(user: string, filter: DocumentFilterDto, sortBy: DocumentSortByDto[], pagination: {
|
|
11
11
|
page: number | undefined;
|
|
12
12
|
limit: number | undefined;
|
|
13
13
|
}): Promise<{
|
|
@@ -29,10 +29,16 @@ let DocumentApiService = class DocumentApiService {
|
|
|
29
29
|
const defaultLimit = this.configService.get('DOCUMENT_DEFAULT_LIMIT', 100);
|
|
30
30
|
const defaultSortBy = this.configService.get('DOCUMENT_DEFAULT_SORT_BY', []);
|
|
31
31
|
const findOptions = {
|
|
32
|
-
where:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
where: [
|
|
33
|
+
{
|
|
34
|
+
createdBy: user,
|
|
35
|
+
...filter,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
39
|
+
...filter,
|
|
40
|
+
},
|
|
41
|
+
],
|
|
36
42
|
order: (sortBy ?? defaultSortBy).reduce((acc, sort) => {
|
|
37
43
|
acc[sort.field] = sort.order;
|
|
38
44
|
return acc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-api.service.js","sourceRoot":"","sources":["../../src/services/document-api.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA+D;AAC/D,qCAA8D;AAC9D,2CAA+C;AAE/C,6CAAmD;AAEnD,8CAAmD;AAG5C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAGnB;IACA;IAHV,YAEU,kBAA8C,EAC9C,aAA4B;QAD5B,uBAAkB,GAAlB,kBAAkB,CAA4B;QAC9C,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IAKJ,KAAK,CAAC,OAAO,CACX,
|
|
1
|
+
{"version":3,"file":"document-api.service.js","sourceRoot":"","sources":["../../src/services/document-api.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA+D;AAC/D,qCAA8D;AAC9D,2CAA+C;AAE/C,6CAAmD;AAEnD,8CAAmD;AAG5C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAGnB;IACA;IAHV,YAEU,kBAA8C,EAC9C,aAA4B;QAD5B,uBAAkB,GAAlB,kBAAkB,CAA4B;QAC9C,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IAKJ,KAAK,CAAC,OAAO,CACX,IAAY,EACZ,MAAyB,EACzB,MAA2B,EAC3B,UAGC;QAOD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CACzC,wBAAwB,EACxB,GAAG,CACJ,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAC1C,0BAA0B,EAC1B,EAAE,CACH,CAAC;QAEF,MAAM,WAAW,GAAoC;YACnD,KAAK,EAAE;gBACL;oBACE,SAAS,EAAE,IAAI;oBACf,GAAG,MAAM;iBACV;gBACD;oBACE,SAAS,EAAE,IAAA,gBAAM,GAAE;oBACnB,GAAG,MAAM;iBACV;aACF;YACD,KAAK,EAAE,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC7B,OAAO,GAAG,CAAC;YACb,CAAC,EACD,EAAoC,CACrC;YACD,IAAI,EAAE,UAAU,CAAC,KAAK,IAAI,YAAY;YACtC,IAAI,EACF,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK;gBACjC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK;gBAC1C,CAAC,CAAC,CAAC;SACR,CAAC;QAEF,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GACjB,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAE1D,OAAO;YACL,IAAI;YACJ,KAAK;YACL,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC;YAC1B,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,YAAY;SACxC,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,IAAmB;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACrD,KAAK,EAAE;gBACL,EAAE;gBACF,SAAS,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,gBAAM,GAAE,CAAC,CAAC,CAAC,IAAI;aAC3C;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,0BAAiB,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAA;AArFY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,uBAAc,CAAC,CAAA;qCACL,oBAAU;QACf,sBAAa;GAJ3B,kBAAkB,CAqF9B"}
|
|
@@ -7,7 +7,7 @@ export declare class NamespaceApiService {
|
|
|
7
7
|
private namespaceRepository;
|
|
8
8
|
private configService;
|
|
9
9
|
constructor(namespaceRepository: Repository<NamespaceEntity>, configService: ConfigService);
|
|
10
|
-
findAll(user: string
|
|
10
|
+
findAll(user: string, filter: NamespaceFilterDto, sortBy: NamespaceSortByDto[], pagination: {
|
|
11
11
|
page: number | undefined;
|
|
12
12
|
limit: number | undefined;
|
|
13
13
|
}): Promise<{
|
|
@@ -16,5 +16,5 @@ export declare class NamespaceApiService {
|
|
|
16
16
|
page: number;
|
|
17
17
|
limit: number;
|
|
18
18
|
}>;
|
|
19
|
-
findOneById(id: string, user: string
|
|
19
|
+
findOneById(id: string, user: string): Promise<NamespaceEntity>;
|
|
20
20
|
}
|
|
@@ -29,10 +29,16 @@ let NamespaceApiService = class NamespaceApiService {
|
|
|
29
29
|
const defaultLimit = this.configService.get('NAMESPACE_DEFAULT_LIMIT', 100);
|
|
30
30
|
const defaultSortBy = this.configService.get('NAMESPACE_DEFAULT_SORT_BY', []);
|
|
31
31
|
const findOptions = {
|
|
32
|
-
where:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
where: [
|
|
33
|
+
{
|
|
34
|
+
createdBy: user,
|
|
35
|
+
...filter,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
39
|
+
...filter,
|
|
40
|
+
},
|
|
41
|
+
],
|
|
36
42
|
order: (sortBy ?? defaultSortBy).reduce((acc, sort) => {
|
|
37
43
|
acc[sort.field] = sort.order;
|
|
38
44
|
return acc;
|
|
@@ -52,10 +58,16 @@ let NamespaceApiService = class NamespaceApiService {
|
|
|
52
58
|
}
|
|
53
59
|
async findOneById(id, user) {
|
|
54
60
|
const namespace = await this.namespaceRepository.findOne({
|
|
55
|
-
where:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
61
|
+
where: [
|
|
62
|
+
{
|
|
63
|
+
id,
|
|
64
|
+
createdBy: user,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
id,
|
|
68
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
69
|
+
},
|
|
70
|
+
],
|
|
59
71
|
relations: ['workflows', 'children'],
|
|
60
72
|
});
|
|
61
73
|
if (!namespace) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace-api.service.js","sourceRoot":"","sources":["../../src/services/namespace-api.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA+D;AAC/D,qCAA8D;AAC9D,2CAA+C;AAC/C,6CAAmD;AAGnD,8CAAoD;AAG7C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAGpB;IACA;IAHV,YAEU,mBAAgD,EAChD,aAA4B;QAD5B,wBAAmB,GAAnB,mBAAmB,CAA6B;QAChD,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IAKJ,KAAK,CAAC,OAAO,CACX,
|
|
1
|
+
{"version":3,"file":"namespace-api.service.js","sourceRoot":"","sources":["../../src/services/namespace-api.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA+D;AAC/D,qCAA8D;AAC9D,2CAA+C;AAC/C,6CAAmD;AAGnD,8CAAoD;AAG7C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAGpB;IACA;IAHV,YAEU,mBAAgD,EAChD,aAA4B;QAD5B,wBAAmB,GAAnB,mBAAmB,CAA6B;QAChD,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IAKJ,KAAK,CAAC,OAAO,CACX,IAAY,EACZ,MAA0B,EAC1B,MAA4B,EAC5B,UAGC;QAOD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CACzC,yBAAyB,EACzB,GAAG,CACJ,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAC1C,2BAA2B,EAC3B,EAAE,CACH,CAAC;QAEF,MAAM,WAAW,GAAqC;YACpD,KAAK,EAAE;gBACL;oBACE,SAAS,EAAE,IAAI;oBACf,GAAG,MAAM;iBACV;gBACD;oBACE,SAAS,EAAE,IAAA,gBAAM,GAAE;oBACnB,GAAG,MAAM;iBACV;aACF;YACD,KAAK,EAAE,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC7B,OAAO,GAAG,CAAC;YACb,CAAC,EACD,EAAoC,CACrC;YACD,IAAI,EAAE,UAAU,CAAC,KAAK,IAAI,YAAY;YACtC,IAAI,EACF,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK;gBACjC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK;gBAC1C,CAAC,CAAC,CAAC;SACR,CAAC;QAEF,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GACjB,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAE3D,OAAO;YACL,IAAI;YACJ,KAAK;YACL,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC;YAC1B,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,YAAY;SACxC,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,IAAY;QACxC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;YACvD,KAAK,EAAE;gBACL;oBACE,EAAE;oBACF,SAAS,EAAE,IAAI;iBAChB;gBACD;oBACE,EAAE;oBACF,SAAS,EAAE,IAAA,gBAAM,GAAE;iBACpB;aACF;YACD,SAAS,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,0BAAiB,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAA;AA5FY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,wBAAe,CAAC,CAAA;qCACL,oBAAU;QAChB,sBAAa;GAJ3B,mBAAmB,CA4F/B"}
|
|
@@ -23,11 +23,11 @@ export declare class PipelineApiService {
|
|
|
23
23
|
page: number;
|
|
24
24
|
limit: number;
|
|
25
25
|
}>;
|
|
26
|
-
findOneById(id: string, user: string
|
|
26
|
+
findOneById(id: string, user: string): Promise<PipelineEntity>;
|
|
27
27
|
create(pipelineData: PipelineCreateDto, user: string): Promise<PipelineEntity>;
|
|
28
|
-
update(id: string, pipelineData: PipelineUpdateDto, user: string
|
|
29
|
-
delete(id: string, user: string
|
|
30
|
-
batchDelete(ids: string[], user: string
|
|
28
|
+
update(id: string, pipelineData: PipelineUpdateDto, user: string): Promise<PipelineEntity>;
|
|
29
|
+
delete(id: string, user: string): Promise<void>;
|
|
30
|
+
batchDelete(ids: string[], user: string): Promise<{
|
|
31
31
|
deleted: string[];
|
|
32
32
|
failed: Array<{
|
|
33
33
|
id: string;
|
|
@@ -32,10 +32,16 @@ let PipelineApiService = class PipelineApiService {
|
|
|
32
32
|
const defaultLimit = this.configService.get('PIPELINE_DEFAULT_LIMIT', 100);
|
|
33
33
|
const defaultSortBy = this.configService.get('PIPELINE_DEFAULT_SORT_BY', []);
|
|
34
34
|
const queryBuilder = this.pipelineRepository.createQueryBuilder('pipeline');
|
|
35
|
-
queryBuilder.where(
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
queryBuilder.where([
|
|
36
|
+
{
|
|
37
|
+
createdBy: user,
|
|
38
|
+
...filter,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
42
|
+
...filter,
|
|
43
|
+
},
|
|
44
|
+
]);
|
|
39
45
|
if (search?.query && search.columns?.length > 0) {
|
|
40
46
|
const searchConditions = search.columns.map((column) => `pipeline.${String(column)} ILIKE :searchQuery`);
|
|
41
47
|
queryBuilder.andWhere(`(${searchConditions.join(' OR ')})`, {
|
|
@@ -63,10 +69,16 @@ let PipelineApiService = class PipelineApiService {
|
|
|
63
69
|
}
|
|
64
70
|
async findOneById(id, user) {
|
|
65
71
|
const pipeline = await this.pipelineRepository.findOne({
|
|
66
|
-
where:
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
72
|
+
where: [
|
|
73
|
+
{
|
|
74
|
+
id,
|
|
75
|
+
createdBy: user,
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
id,
|
|
79
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
80
|
+
},
|
|
81
|
+
],
|
|
70
82
|
});
|
|
71
83
|
if (!pipeline) {
|
|
72
84
|
throw new common_1.NotFoundException(`Pipeline with ID ${id} not found`);
|
|
@@ -85,10 +97,16 @@ let PipelineApiService = class PipelineApiService {
|
|
|
85
97
|
}
|
|
86
98
|
async update(id, pipelineData, user) {
|
|
87
99
|
const pipeline = await this.pipelineRepository.findOne({
|
|
88
|
-
where:
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
100
|
+
where: [
|
|
101
|
+
{
|
|
102
|
+
id,
|
|
103
|
+
createdBy: user,
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
id,
|
|
107
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
108
|
+
},
|
|
109
|
+
],
|
|
92
110
|
});
|
|
93
111
|
if (!pipeline)
|
|
94
112
|
throw new common_1.NotFoundException(`Pipeline with ID ${id} not found`);
|
|
@@ -97,10 +115,16 @@ let PipelineApiService = class PipelineApiService {
|
|
|
97
115
|
}
|
|
98
116
|
async delete(id, user) {
|
|
99
117
|
const pipeline = await this.pipelineRepository.findOne({
|
|
100
|
-
where:
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
118
|
+
where: [
|
|
119
|
+
{
|
|
120
|
+
id,
|
|
121
|
+
createdBy: user,
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
id,
|
|
125
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
126
|
+
},
|
|
127
|
+
],
|
|
104
128
|
});
|
|
105
129
|
if (!pipeline)
|
|
106
130
|
throw new common_1.NotFoundException(`Pipeline with ID ${id} not found`);
|
|
@@ -113,10 +137,16 @@ let PipelineApiService = class PipelineApiService {
|
|
|
113
137
|
return { deleted, failed };
|
|
114
138
|
}
|
|
115
139
|
const existingPipelines = await this.pipelineRepository.find({
|
|
116
|
-
where:
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
140
|
+
where: [
|
|
141
|
+
{
|
|
142
|
+
id: (0, typeorm_1.In)(ids),
|
|
143
|
+
createdBy: user,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
id: (0, typeorm_1.In)(ids),
|
|
147
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
148
|
+
},
|
|
149
|
+
],
|
|
120
150
|
select: ['id'],
|
|
121
151
|
});
|
|
122
152
|
const existingPipelineIds = existingPipelines.map((pipeline) => pipeline.id);
|
|
@@ -131,19 +161,31 @@ let PipelineApiService = class PipelineApiService {
|
|
|
131
161
|
return { deleted, failed };
|
|
132
162
|
}
|
|
133
163
|
try {
|
|
134
|
-
const deleteResult = await this.pipelineRepository.delete(
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
164
|
+
const deleteResult = await this.pipelineRepository.delete([
|
|
165
|
+
{
|
|
166
|
+
id: (0, typeorm_1.In)(existingPipelineIds),
|
|
167
|
+
createdBy: user,
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
id: (0, typeorm_1.In)(existingPipelineIds),
|
|
171
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
172
|
+
},
|
|
173
|
+
]);
|
|
138
174
|
if (deleteResult.affected === existingPipelineIds.length) {
|
|
139
175
|
deleted.push(...existingPipelineIds);
|
|
140
176
|
}
|
|
141
177
|
else {
|
|
142
178
|
const remainingPipelines = await this.pipelineRepository.find({
|
|
143
|
-
where:
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
179
|
+
where: [
|
|
180
|
+
{
|
|
181
|
+
id: (0, typeorm_1.In)(existingPipelineIds),
|
|
182
|
+
createdBy: user,
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
id: (0, typeorm_1.In)(existingPipelineIds),
|
|
186
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
187
|
+
},
|
|
188
|
+
],
|
|
147
189
|
select: ['id'],
|
|
148
190
|
});
|
|
149
191
|
const remainingIds = remainingPipelines.map((pipeline) => pipeline.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-api.service.js","sourceRoot":"","sources":["../../src/services/pipeline-api.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoF;AACpF,qCAAiD;AAGjD,2CAA+C;AAE/C,6CAAmD;AAEnD,8CAAoE;AACpE,0CAAwD;AAGjD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAGnB;IACA;IACS;IAJnB,YAEU,kBAA8C,EAC9C,aAA4B,EACnB,qBAA4C;QAFrD,uBAAkB,GAAlB,kBAAkB,CAA4B;QAC9C,kBAAa,GAAb,aAAa,CAAe;QACnB,0BAAqB,GAArB,qBAAqB,CAAuB;IAC5D,CAAC;IAKJ,KAAK,CAAC,OAAO,CACX,IAAmB,EACnB,MAAyB,EACzB,MAA2B,EAC3B,UAGC,EACD,MAGC;QAOD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CACzC,wBAAwB,EACxB,GAAG,CACJ,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAC1C,0BAA0B,EAC1B,EAAE,CACH,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAE5E,YAAY,CAAC,KAAK,CAAC;YACjB,SAAS,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"pipeline-api.service.js","sourceRoot":"","sources":["../../src/services/pipeline-api.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export declare class WorkflowApiService {
|
|
|
7
7
|
private workflowRepository;
|
|
8
8
|
private configService;
|
|
9
9
|
constructor(workflowRepository: Repository<WorkflowEntity>, configService: ConfigService);
|
|
10
|
-
findAll(user: string
|
|
10
|
+
findAll(user: string, filter: WorkflowFilterDto, sortBy: WorkflowSortByDto[], pagination: {
|
|
11
11
|
page: number | undefined;
|
|
12
12
|
limit: number | undefined;
|
|
13
13
|
}): Promise<{
|
|
@@ -16,6 +16,6 @@ export declare class WorkflowApiService {
|
|
|
16
16
|
page: number;
|
|
17
17
|
limit: number;
|
|
18
18
|
}>;
|
|
19
|
-
findOneById(id: string, user: string
|
|
20
|
-
delete(id: string, user: string
|
|
19
|
+
findOneById(id: string, user: string): Promise<WorkflowEntity>;
|
|
20
|
+
delete(id: string, user: string): Promise<void>;
|
|
21
21
|
}
|
|
@@ -29,10 +29,16 @@ let WorkflowApiService = class WorkflowApiService {
|
|
|
29
29
|
const defaultLimit = this.configService.get('WORKFLOW_DEFAULT_LIMIT', 100);
|
|
30
30
|
const defaultSortBy = this.configService.get('WORKFLOW_DEFAULT_SORT_BY', []);
|
|
31
31
|
const findOptions = {
|
|
32
|
-
where:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
where: [
|
|
33
|
+
{
|
|
34
|
+
createdBy: user,
|
|
35
|
+
...filter,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
39
|
+
...filter,
|
|
40
|
+
},
|
|
41
|
+
],
|
|
36
42
|
order: (sortBy ?? defaultSortBy).reduce((acc, sort) => {
|
|
37
43
|
acc[sort.field] = sort.order;
|
|
38
44
|
return acc;
|
|
@@ -52,10 +58,16 @@ let WorkflowApiService = class WorkflowApiService {
|
|
|
52
58
|
}
|
|
53
59
|
async findOneById(id, user) {
|
|
54
60
|
const workflow = await this.workflowRepository.findOne({
|
|
55
|
-
where:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
61
|
+
where: [
|
|
62
|
+
{
|
|
63
|
+
id,
|
|
64
|
+
createdBy: user,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
id,
|
|
68
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
69
|
+
},
|
|
70
|
+
],
|
|
59
71
|
});
|
|
60
72
|
if (!workflow) {
|
|
61
73
|
throw new common_1.NotFoundException(`Workflow with ID ${id} not found`);
|
|
@@ -64,10 +76,16 @@ let WorkflowApiService = class WorkflowApiService {
|
|
|
64
76
|
}
|
|
65
77
|
async delete(id, user) {
|
|
66
78
|
const workflow = await this.workflowRepository.findOne({
|
|
67
|
-
where:
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
79
|
+
where: [
|
|
80
|
+
{
|
|
81
|
+
id,
|
|
82
|
+
createdBy: user,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
id,
|
|
86
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
87
|
+
},
|
|
88
|
+
],
|
|
71
89
|
});
|
|
72
90
|
if (!workflow)
|
|
73
91
|
throw new common_1.NotFoundException(`Workflow with ID ${id} not found`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-api.service.js","sourceRoot":"","sources":["../../src/services/workflow-api.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA+D;AAC/D,qCAA8D;AAC9D,2CAA+C;AAE/C,6CAAmD;AAEnD,8CAAmD;AAG5C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAGnB;IACA;IAHV,YAEU,kBAA8C,EAC9C,aAA4B;QAD5B,uBAAkB,GAAlB,kBAAkB,CAA4B;QAC9C,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IAKJ,KAAK,CAAC,OAAO,CACX,
|
|
1
|
+
{"version":3,"file":"workflow-api.service.js","sourceRoot":"","sources":["../../src/services/workflow-api.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,11 +21,11 @@ export declare class WorkspaceApiService {
|
|
|
21
21
|
page: number;
|
|
22
22
|
limit: number;
|
|
23
23
|
}>;
|
|
24
|
-
findOneById(id: string, user: string
|
|
24
|
+
findOneById(id: string, user: string): Promise<WorkspaceEntity>;
|
|
25
25
|
create(workspaceData: WorkspaceCreateDto, user: string | null): Promise<WorkspaceEntity>;
|
|
26
|
-
update(id: string, workspaceData: WorkspaceUpdateDto, user: string
|
|
27
|
-
delete(id: string, user: string
|
|
28
|
-
batchDelete(ids: string[], user: string
|
|
26
|
+
update(id: string, workspaceData: WorkspaceUpdateDto, user: string): Promise<WorkspaceEntity>;
|
|
27
|
+
delete(id: string, user: string): Promise<void>;
|
|
28
|
+
batchDelete(ids: string[], user: string): Promise<{
|
|
29
29
|
deleted: string[];
|
|
30
30
|
failed: Array<{
|
|
31
31
|
id: string;
|
|
@@ -29,10 +29,16 @@ let WorkspaceApiService = class WorkspaceApiService {
|
|
|
29
29
|
const defaultLimit = this.configService.get('WORKSPACE_DEFAULT_LIMIT', 100);
|
|
30
30
|
const defaultSortBy = this.configService.get('WORKSPACE_DEFAULT_SORT_BY', []);
|
|
31
31
|
const queryBuilder = this.workspaceRepository.createQueryBuilder('workspace');
|
|
32
|
-
queryBuilder.where(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
queryBuilder.where([
|
|
33
|
+
{
|
|
34
|
+
createdBy: user,
|
|
35
|
+
...filter,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
39
|
+
...filter,
|
|
40
|
+
},
|
|
41
|
+
]);
|
|
36
42
|
if (search?.query && search.columns?.length > 0) {
|
|
37
43
|
const searchConditions = search.columns.map((column) => `workspace.${String(column)} ILIKE :searchQuery`);
|
|
38
44
|
queryBuilder.andWhere(`(${searchConditions.join(' OR ')})`, {
|
|
@@ -60,10 +66,16 @@ let WorkspaceApiService = class WorkspaceApiService {
|
|
|
60
66
|
}
|
|
61
67
|
async findOneById(id, user) {
|
|
62
68
|
const workspace = await this.workspaceRepository.findOne({
|
|
63
|
-
where:
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
69
|
+
where: [
|
|
70
|
+
{
|
|
71
|
+
id,
|
|
72
|
+
createdBy: user,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
id,
|
|
76
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
77
|
+
},
|
|
78
|
+
],
|
|
67
79
|
});
|
|
68
80
|
if (!workspace) {
|
|
69
81
|
throw new common_1.NotFoundException(`Workspace with ID ${id} not found`);
|
|
@@ -79,10 +91,16 @@ let WorkspaceApiService = class WorkspaceApiService {
|
|
|
79
91
|
}
|
|
80
92
|
async update(id, workspaceData, user) {
|
|
81
93
|
const workspace = await this.workspaceRepository.findOne({
|
|
82
|
-
where:
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
94
|
+
where: [
|
|
95
|
+
{
|
|
96
|
+
id,
|
|
97
|
+
createdBy: user,
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
id,
|
|
101
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
102
|
+
},
|
|
103
|
+
]
|
|
86
104
|
});
|
|
87
105
|
if (!workspace)
|
|
88
106
|
throw new common_1.NotFoundException(`Workspace with ID ${id} not found`);
|
|
@@ -91,10 +109,16 @@ let WorkspaceApiService = class WorkspaceApiService {
|
|
|
91
109
|
}
|
|
92
110
|
async delete(id, user) {
|
|
93
111
|
const workspace = await this.workspaceRepository.findOne({
|
|
94
|
-
where:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
112
|
+
where: [
|
|
113
|
+
{
|
|
114
|
+
id,
|
|
115
|
+
createdBy: user,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
id,
|
|
119
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
120
|
+
},
|
|
121
|
+
],
|
|
98
122
|
});
|
|
99
123
|
if (!workspace)
|
|
100
124
|
throw new common_1.NotFoundException(`Workspace with ID ${id} not found`);
|
|
@@ -107,10 +131,16 @@ let WorkspaceApiService = class WorkspaceApiService {
|
|
|
107
131
|
return { deleted, failed };
|
|
108
132
|
}
|
|
109
133
|
const existingPipelines = await this.workspaceRepository.find({
|
|
110
|
-
where:
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
134
|
+
where: [
|
|
135
|
+
{
|
|
136
|
+
id: (0, typeorm_1.In)(ids),
|
|
137
|
+
createdBy: user,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
id: (0, typeorm_1.In)(ids),
|
|
141
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
142
|
+
},
|
|
143
|
+
],
|
|
114
144
|
select: ['id'],
|
|
115
145
|
});
|
|
116
146
|
const existingIds = existingPipelines.map((pipeline) => pipeline.id);
|
|
@@ -125,19 +155,31 @@ let WorkspaceApiService = class WorkspaceApiService {
|
|
|
125
155
|
return { deleted, failed };
|
|
126
156
|
}
|
|
127
157
|
try {
|
|
128
|
-
const deleteResult = await this.workspaceRepository.delete(
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
158
|
+
const deleteResult = await this.workspaceRepository.delete([
|
|
159
|
+
{
|
|
160
|
+
id: (0, typeorm_1.In)(existingIds),
|
|
161
|
+
createdBy: user,
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
id: (0, typeorm_1.In)(existingIds),
|
|
165
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
166
|
+
},
|
|
167
|
+
]);
|
|
132
168
|
if (deleteResult.affected === existingIds.length) {
|
|
133
169
|
deleted.push(...existingIds);
|
|
134
170
|
}
|
|
135
171
|
else {
|
|
136
172
|
const remainingPipelines = await this.workspaceRepository.find({
|
|
137
|
-
where:
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
173
|
+
where: [
|
|
174
|
+
{
|
|
175
|
+
id: (0, typeorm_1.In)(existingIds),
|
|
176
|
+
createdBy: user,
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
id: (0, typeorm_1.In)(existingIds),
|
|
180
|
+
createdBy: (0, typeorm_1.IsNull)(),
|
|
181
|
+
},
|
|
182
|
+
],
|
|
141
183
|
select: ['id'],
|
|
142
184
|
});
|
|
143
185
|
const remainingIds = remainingPipelines.map((pipeline) => pipeline.id);
|