@meshmakers/octo-services 2.1.17-0 → 3.1.25-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/models/pagedGraphResultDto.mjs +9 -0
- package/{esm2020 → esm2022}/lib/octo-services.module.mjs +6 -6
- package/esm2022/lib/options/octo-service-options.mjs +9 -0
- package/esm2022/lib/services/octo-graph-ql-service-base.mjs +125 -0
- package/esm2022/lib/shared/graphQL.mjs +13 -0
- package/{fesm2015 → fesm2022}/meshmakers-octo-services.mjs +62 -29
- package/fesm2022/meshmakers-octo-services.mjs.map +1 -0
- package/lib/models/pagedGraphResultDto.d.ts +1 -1
- package/lib/octo-services.module.d.ts +1 -1
- package/lib/services/octo-graph-ql-service-base.d.ts +15 -14
- package/package.json +6 -12
- package/esm2020/lib/models/pagedGraphResultDto.mjs +0 -8
- package/esm2020/lib/options/octo-service-options.mjs +0 -7
- package/esm2020/lib/services/octo-graph-ql-service-base.mjs +0 -95
- package/esm2020/lib/shared/graphQL.mjs +0 -13
- package/fesm2015/meshmakers-octo-services.mjs.map +0 -1
- package/fesm2020/meshmakers-octo-services.mjs +0 -159
- package/fesm2020/meshmakers-octo-services.mjs.map +0 -1
- /package/{esm2020 → esm2022}/meshmakers-octo-services.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PagedResultDto } from '@meshmakers/shared-services';
|
|
2
|
+
export class PagedGraphResultDto extends PagedResultDto {
|
|
3
|
+
document;
|
|
4
|
+
constructor() {
|
|
5
|
+
super();
|
|
6
|
+
this.document = null;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWRHcmFwaFJlc3VsdER0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvb2N0by1zZXJ2aWNlcy9zcmMvbGliL21vZGVscy9wYWdlZEdyYXBoUmVzdWx0RHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RCxNQUFNLE9BQU8sbUJBQTBCLFNBQVEsY0FBaUI7SUFDOUQsUUFBUSxDQUFXO0lBRW5CO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFFUixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYWdlZFJlc3VsdER0byB9IGZyb20gJ0BtZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjbGFzcyBQYWdlZEdyYXBoUmVzdWx0RHRvPFAsIEM+IGV4dGVuZHMgUGFnZWRSZXN1bHREdG88Qz4ge1xuICBkb2N1bWVudDogUCB8IG51bGw7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuZG9jdW1lbnQgPSBudWxsO1xuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import { OctoServiceOptions } from
|
|
2
|
+
import { OctoServiceOptions } from './options/octo-service-options';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class OctoServicesModule {
|
|
5
5
|
static forRoot(octoServiceOptions) {
|
|
@@ -13,11 +13,11 @@ export class OctoServicesModule {
|
|
|
13
13
|
]
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OctoServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: OctoServicesModule });
|
|
18
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OctoServicesModule });
|
|
16
19
|
}
|
|
17
|
-
|
|
18
|
-
OctoServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: OctoServicesModule });
|
|
19
|
-
OctoServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OctoServicesModule });
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OctoServicesModule, decorators: [{
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OctoServicesModule, decorators: [{
|
|
21
21
|
type: NgModule,
|
|
22
22
|
args: [{
|
|
23
23
|
declarations: [],
|
|
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
25
25
|
exports: []
|
|
26
26
|
}]
|
|
27
27
|
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N0by1zZXJ2aWNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL29jdG8tc2VydmljZXMvc3JjL2xpYi9vY3RvLXNlcnZpY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFPcEUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUFDLGtCQUFzQztRQUNuRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGtCQUFrQjtvQkFDM0IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO3VHQVhVLGtCQUFrQjt3R0FBbEIsa0JBQWtCO3dHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9jdG9TZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucy9vY3RvLXNlcnZpY2Utb3B0aW9ucyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBPY3RvU2VydmljZXNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChvY3RvU2VydmljZU9wdGlvbnM6IE9jdG9TZXJ2aWNlT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8T2N0b1NlcnZpY2VzTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBPY3RvU2VydmljZXNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE9jdG9TZXJ2aWNlT3B0aW9ucyxcbiAgICAgICAgICB1c2VWYWx1ZTogb2N0b1NlcnZpY2VPcHRpb25zXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class OctoServiceOptions {
|
|
2
|
+
assetServices;
|
|
3
|
+
defaultDataSourceId;
|
|
4
|
+
constructor() {
|
|
5
|
+
this.assetServices = null;
|
|
6
|
+
this.defaultDataSourceId = undefined;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N0by1zZXJ2aWNlLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL29jdG8tc2VydmljZXMvc3JjL2xpYi9vcHRpb25zL29jdG8tc2VydmljZS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsYUFBYSxDQUFnQjtJQUM3QixtQkFBbUIsQ0FBVTtJQUU3QjtRQUNFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7SUFDdkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE9jdG9TZXJ2aWNlT3B0aW9ucyB7XG4gIGFzc2V0U2VydmljZXM6IHN0cmluZyB8IG51bGw7XG4gIGRlZmF1bHREYXRhU291cmNlSWQ/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hc3NldFNlcnZpY2VzID0gbnVsbDtcbiAgICB0aGlzLmRlZmF1bHREYXRhU291cmNlSWQgPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { finalize, map } from 'rxjs/operators';
|
|
2
|
+
import { PagedGraphResultDto } from '../models/pagedGraphResultDto';
|
|
3
|
+
import { PagedResultDto } from '@meshmakers/shared-services';
|
|
4
|
+
import { InMemoryCache } from '@apollo/client/core';
|
|
5
|
+
export class OctoGraphQLServiceBase {
|
|
6
|
+
apollo;
|
|
7
|
+
httpLink;
|
|
8
|
+
octoServiceOptions;
|
|
9
|
+
constructor(apollo, httpLink, octoServiceOptions) {
|
|
10
|
+
this.apollo = apollo;
|
|
11
|
+
this.httpLink = httpLink;
|
|
12
|
+
this.octoServiceOptions = octoServiceOptions;
|
|
13
|
+
}
|
|
14
|
+
getEntities(tenantId, variables, queryNode, watchQuery, f) {
|
|
15
|
+
const query = watchQuery
|
|
16
|
+
? this.prepareWatchQuery(tenantId, variables, queryNode)
|
|
17
|
+
: this.prepareQuery(tenantId, variables, queryNode);
|
|
18
|
+
return query.pipe(map((result) => {
|
|
19
|
+
const resultSet = new PagedResultDto();
|
|
20
|
+
if (result.errors != null) {
|
|
21
|
+
console.error(result.errors);
|
|
22
|
+
throw Error('Error in GraphQL statement.');
|
|
23
|
+
}
|
|
24
|
+
else if (result.data) {
|
|
25
|
+
f(resultSet, result.data);
|
|
26
|
+
}
|
|
27
|
+
return resultSet;
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
getGraphEntities(tenantId, variables, queryNode, watchQuery, f) {
|
|
31
|
+
const query = watchQuery
|
|
32
|
+
? this.prepareWatchQuery(tenantId, variables, queryNode)
|
|
33
|
+
: this.prepareQuery(tenantId, variables, queryNode);
|
|
34
|
+
return query.pipe(map((result) => {
|
|
35
|
+
const resultSet = new PagedGraphResultDto();
|
|
36
|
+
if (result.errors != null) {
|
|
37
|
+
console.error(result.errors);
|
|
38
|
+
throw Error('Error in GraphQL statement.');
|
|
39
|
+
}
|
|
40
|
+
else if (result.data) {
|
|
41
|
+
f(resultSet, result.data);
|
|
42
|
+
}
|
|
43
|
+
return resultSet;
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
getEntityDetail(tenantId, variables, queryNode, watchQuery, f) {
|
|
47
|
+
const query = watchQuery
|
|
48
|
+
? this.prepareWatchQuery(tenantId, variables, queryNode)
|
|
49
|
+
: this.prepareQuery(tenantId, variables, queryNode);
|
|
50
|
+
return query.pipe(map((result) => {
|
|
51
|
+
if (result.errors != null) {
|
|
52
|
+
console.error(result.errors);
|
|
53
|
+
throw Error('Error in GraphQL statement.');
|
|
54
|
+
}
|
|
55
|
+
else if (result.data) {
|
|
56
|
+
return f(result.data);
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
createUpdateEntity(tenantId, variables, queryNode, f) {
|
|
62
|
+
this.createApolloForTenant(tenantId);
|
|
63
|
+
return this.apollo
|
|
64
|
+
.use(tenantId)
|
|
65
|
+
.mutate({
|
|
66
|
+
mutation: queryNode,
|
|
67
|
+
variables
|
|
68
|
+
})
|
|
69
|
+
.pipe(map((value) => f(value.data)), finalize(() => {
|
|
70
|
+
const promise = this.apollo.use(tenantId).client.reFetchObservableQueries(true);
|
|
71
|
+
promise
|
|
72
|
+
.then(() => { })
|
|
73
|
+
.catch((error) => {
|
|
74
|
+
console.error(error);
|
|
75
|
+
});
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
deleteEntity(tenantId, variables, queryNode, f) {
|
|
79
|
+
this.createApolloForTenant(tenantId);
|
|
80
|
+
return this.apollo
|
|
81
|
+
.use(tenantId)
|
|
82
|
+
.mutate({
|
|
83
|
+
mutation: queryNode,
|
|
84
|
+
variables
|
|
85
|
+
})
|
|
86
|
+
.pipe(map((value) => f(value.data)), finalize(() => {
|
|
87
|
+
const promise = this.apollo.use(tenantId).client.reFetchObservableQueries(true);
|
|
88
|
+
promise
|
|
89
|
+
.then(() => { })
|
|
90
|
+
.catch((error) => {
|
|
91
|
+
console.error(error);
|
|
92
|
+
});
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
createApolloForTenant(tenantId) {
|
|
96
|
+
const result = this.apollo.use(tenantId);
|
|
97
|
+
if (result) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const service = this.octoServiceOptions.assetServices ?? '';
|
|
101
|
+
const uri = `${service}tenants/${tenantId}/GraphQL`;
|
|
102
|
+
this.apollo.createNamed(tenantId, {
|
|
103
|
+
link: this.httpLink.create({ uri }),
|
|
104
|
+
cache: new InMemoryCache({
|
|
105
|
+
dataIdFromObject: (o) => o['rtId']
|
|
106
|
+
})
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
prepareWatchQuery(tenantId, variables, queryNode) {
|
|
110
|
+
this.createApolloForTenant(tenantId);
|
|
111
|
+
return this.apollo.use(tenantId).watchQuery({
|
|
112
|
+
query: queryNode,
|
|
113
|
+
variables
|
|
114
|
+
}).valueChanges;
|
|
115
|
+
}
|
|
116
|
+
prepareQuery(tenantId, variables, queryNode) {
|
|
117
|
+
this.createApolloForTenant(tenantId);
|
|
118
|
+
return this.apollo.use(tenantId).query({
|
|
119
|
+
query: queryNode,
|
|
120
|
+
variables,
|
|
121
|
+
fetchPolicy: 'network-only'
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N0by1ncmFwaC1xbC1zZXJ2aWNlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL29jdG8tc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlcy9vY3RvLWdyYXBoLXFsLXNlcnZpY2UtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RCxPQUFPLEVBQXFCLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSXZFLE1BQU0sT0FBTyxzQkFBc0I7SUFFZDtJQUNBO0lBQ0E7SUFIbkIsWUFDbUIsTUFBYyxFQUNkLFFBQWtCLEVBQ2xCLGtCQUFzQztRQUZ0QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQ3RELENBQUM7SUFFTSxXQUFXLENBQ25CLFFBQWdCLEVBQ2hCLFNBQW9CLEVBQ3BCLFNBQXVCLEVBQ3ZCLFVBQW1CLEVBQ25CLENBQWdFO1FBRWhFLE1BQU0sS0FBSyxHQUFHLFVBQVU7WUFDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBcUIsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7WUFDNUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDMUUsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUNmLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2IsTUFBTSxTQUFTLEdBQUcsSUFBSSxjQUFjLEVBQVcsQ0FBQztZ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QUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFVO1lBQzlDLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFNBQVM7WUFDVCxXQUFXLEVBQUUsY0FBYztTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEb2N1bWVudE5vZGUgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCB7IGZpbmFsaXplLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcG9sbG8gfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQgeyBPY3RvU2VydmljZU9wdGlvbnMgfSBmcm9tICcuLi9vcHRpb25zL29jdG8tc2VydmljZS1vcHRpb25zJztcbmltcG9ydCB7IFBhZ2VkR3JhcGhSZXN1bHREdG8gfSBmcm9tICcuLi9tb2RlbHMvcGFnZWRHcmFwaFJlc3VsdER0byc7XG5pbXBvcnQgeyBQYWdlZFJlc3VsdER0byB9IGZyb20gJ0BtZXNobWFrZXJzL3NoYXJlZC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBIdHRwTGluayB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyL2h0dHAnO1xuaW1wb3J0IHsgQXBvbGxvUXVlcnlSZXN1bHQsIEluTWVtb3J5Q2FjaGUgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7IE9wZXJhdGlvblZhcmlhYmxlcyB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgT2N0b0dyYXBoUUxTZXJ2aWNlQmFzZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBvbGxvOiBBcG9sbG8sXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwTGluazogSHR0cExpbmssXG4gICAgcHJpdmF0ZSByZWFkb25seSBvY3RvU2VydmljZU9wdGlvbnM6IE9jdG9TZXJ2aWNlT3B0aW9uc1xuICApIHt9XG5cbiAgcHJvdGVjdGVkIGdldEVudGl0aWVzPFRSZXN1bHQsIFRFbnRpdHksIFRWYXJpYWJsZSBleHRlbmRzIE9wZXJhdGlvblZhcmlhYmxlcz4oXG4gICAgdGVuYW50SWQ6IHN0cmluZyxcbiAgICB2YXJpYWJsZXM6IFRWYXJpYWJsZSxcbiAgICBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSxcbiAgICB3YXRjaFF1ZXJ5OiBib29sZWFuLFxuICAgIGY6IChyZXN1bHRTZXQ6IFBhZ2VkUmVzdWx0RHRvPFRFbnRpdHk+LCByZXN1bHQ6IFRSZXN1bHQpID0+IHZvaWRcbiAgKTogT2JzZXJ2YWJsZTxQYWdlZFJlc3VsdER0bzxURW50aXR5Pj4ge1xuICAgIGNvbnN0IHF1ZXJ5ID0gd2F0Y2hRdWVyeVxuICAgICAgPyB0aGlzLnByZXBhcmVXYXRjaFF1ZXJ5PFRSZXN1bHQsIFRWYXJpYWJsZT4odGVuYW50SWQsIHZhcmlhYmxlcywgcXVlcnlOb2RlKVxuICAgICAgOiB0aGlzLnByZXBhcmVRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSk7XG4gICAgcmV0dXJuIHF1ZXJ5LnBpcGUoXG4gICAgICBtYXAoKHJlc3VsdCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHRTZXQgPSBuZXcgUGFnZWRSZXN1bHREdG88VEVudGl0eT4oKTtcblxuICAgICAgICBpZiAocmVzdWx0LmVycm9ycyAhPSBudWxsKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihyZXN1bHQuZXJyb3JzKTtcbiAgICAgICAgICB0aHJvdyBFcnJvcignRXJyb3IgaW4gR3JhcGhRTCBzdGF0ZW1lbnQuJyk7XG4gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmRhdGEpIHtcbiAgICAgICAgICBmKHJlc3VsdFNldCwgcmVzdWx0LmRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHRTZXQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0R3JhcGhFbnRpdGllczxUUmVzdWx0LCBUUCwgVEMsIFRWYXJpYWJsZSBleHRlbmRzIE9wZXJhdGlvblZhcmlhYmxlcz4oXG4gICAgdGVuYW50SWQ6IHN0cmluZyxcbiAgICB2YXJpYWJsZXM6IFRWYXJpYWJsZSxcbiAgICBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSxcbiAgICB3YXRjaFF1ZXJ5OiBib29sZWFuLFxuICAgIGY6IChyZXN1bHRTZXQ6IFBhZ2VkR3JhcGhSZXN1bHREdG88VFAsIFRDPiwgcmVzdWx0OiBUUmVzdWx0KSA9PiB2b2lkXG4gICk6IE9ic2VydmFibGU8UGFnZWRHcmFwaFJlc3VsdER0bzxUUCwgVEM+PiB7XG4gICAgY29uc3QgcXVlcnkgPSB3YXRjaFF1ZXJ5XG4gICAgICA/IHRoaXMucHJlcGFyZVdhdGNoUXVlcnk8VFJlc3VsdCwgVFZhcmlhYmxlPih0ZW5hbnRJZCwgdmFyaWFibGVzLCBxdWVyeU5vZGUpXG4gICAgICA6IHRoaXMucHJlcGFyZVF1ZXJ5PFRSZXN1bHQsIFRWYXJpYWJsZT4odGVuYW50SWQsIHZhcmlhYmxlcywgcXVlcnlOb2RlKTtcbiAgICByZXR1cm4gcXVlcnkucGlwZShcbiAgICAgIG1hcCgocmVzdWx0KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdFNldCA9IG5ldyBQYWdlZEdyYXBoUmVzdWx0RHRvPFRQLCBUQz4oKTtcblxuICAgICAgICBpZiAocmVzdWx0LmVycm9ycyAhPSBudWxsKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihyZXN1bHQuZXJyb3JzKTtcbiAgICAgICAgICB0aHJvdyBFcnJvcignRXJyb3IgaW4gR3JhcGhRTCBzdGF0ZW1lbnQuJyk7XG4gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmRhdGEpIHtcbiAgICAgICAgICBmKHJlc3VsdFNldCwgcmVzdWx0LmRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHRTZXQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RW50aXR5RGV0YWlsPFRSZXN1bHQsIFRFbnRpdHksIFRWYXJpYWJsZSBleHRlbmRzIE9wZXJhdGlvblZhcmlhYmxlcz4oXG4gICAgdGVuYW50SWQ6IHN0cmluZyxcbiAgICB2YXJpYWJsZXM6IFRWYXJpYWJsZSxcbiAgICBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSxcbiAgICB3YXRjaFF1ZXJ5OiBib29sZWFuLFxuICAgIGY6IChyZXN1bHQ6IFRSZXN1bHQpID0+IFRFbnRpdHlcbiAgKTogT2JzZXJ2YWJsZTxURW50aXR5IHwgbnVsbD4ge1xuICAgIGNvbnN0IHF1ZXJ5ID0gd2F0Y2hRdWVyeVxuICAgICAgPyB0aGlzLnByZXBhcmVXYXRjaFF1ZXJ5PFRSZXN1bHQsIFRWYXJpYWJsZT4odGVuYW50SWQsIHZhcmlhYmxlcywgcXVlcnlOb2RlKVxuICAgICAgOiB0aGlzLnByZXBhcmVRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSk7XG4gICAgcmV0dXJuIHF1ZXJ5LnBpcGUoXG4gICAgICBtYXAoKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAocmVzdWx0LmVycm9ycyAhPSBudWxsKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihyZXN1bHQuZXJyb3JzKTtcbiAgICAgICAgICB0aHJvdyBFcnJvcignRXJyb3IgaW4gR3JhcGhRTCBzdGF0ZW1lbnQuJyk7XG4gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmRhdGEpIHtcbiAgICAgICAgICByZXR1cm4gZihyZXN1bHQuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlVXBkYXRlRW50aXR5PFRSZXN1bHQsIFRFbnRpdHksIFRWYXJpYWJsZSBleHRlbmRzIE9wZXJhdGlvblZhcmlhYmxlcz4oXG4gICAgdGVuYW50SWQ6IHN0cmluZyxcbiAgICB2YXJpYWJsZXM6IFRWYXJpYWJsZSxcbiAgICBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSxcbiAgICBmOiAocmVzdWx0OiBUUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4gVEVudGl0eVxuICApOiBPYnNlcnZhYmxlPFRFbnRpdHk+IHtcbiAgICB0aGlzLmNyZWF0ZUFwb2xsb0ZvclRlbmFudCh0ZW5hbnRJZCk7XG5cbiAgICByZXR1cm4gdGhpcy5hcG9sbG9cbiAgICAgIC51c2UodGVuYW50SWQpXG4gICAgICAubXV0YXRlPFRSZXN1bHQ+KHtcbiAgICAgICAgbXV0YXRpb246IHF1ZXJ5Tm9kZSxcbiAgICAgICAgdmFyaWFibGVzXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodmFsdWUpID0+IGYodmFsdWUuZGF0YSkpLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuYXBvbGxvLnVzZSh0ZW5hbnRJZCkuY2xpZW50LnJlRmV0Y2hPYnNlcnZhYmxlUXVlcmllcyh0cnVlKTtcbiAgICAgICAgICBwcm9taXNlXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7fSlcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3I6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZWxldGVFbnRpdHk8VFJlc3VsdCwgVFZhcmlhYmxlIGV4dGVuZHMgT3BlcmF0aW9uVmFyaWFibGVzPihcbiAgICB0ZW5hbnRJZDogc3RyaW5nLFxuICAgIHZhcmlhYmxlczogVFZhcmlhYmxlLFxuICAgIHF1ZXJ5Tm9kZTogRG9jdW1lbnROb2RlLFxuICAgIGY6IChyZXN1bHQ6IFRSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiBib29sZWFuXG4gICk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHRoaXMuY3JlYXRlQXBvbGxvRm9yVGVuYW50KHRlbmFudElkKTtcblxuICAgIHJldHVybiB0aGlzLmFwb2xsb1xuICAgICAgLnVzZSh0ZW5hbnRJZClcbiAgICAgIC5tdXRhdGU8VFJlc3VsdD4oe1xuICAgICAgICBtdXRhdGlvbjogcXVlcnlOb2RlLFxuICAgICAgICB2YXJpYWJsZXNcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh2YWx1ZSkgPT4gZih2YWx1ZS5kYXRhKSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5hcG9sbG8udXNlKHRlbmFudElkKS5jbGllbnQucmVGZXRjaE9ic2VydmFibGVRdWVyaWVzKHRydWUpO1xuICAgICAgICAgIHByb21pc2VcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHt9KVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcjogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVBcG9sbG9Gb3JUZW5hbnQodGVuYW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuYXBvbGxvLnVzZSh0ZW5hbnRJZCk7XG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlcnZpY2UgPSB0aGlzLm9jdG9TZXJ2aWNlT3B0aW9ucy5hc3NldFNlcnZpY2VzID8/ICcnO1xuICAgIGNvbnN0IHVyaSA9IGAke3NlcnZpY2V9dGVuYW50cy8ke3RlbmFudElkfS9HcmFwaFFMYDtcblxuICAgIHRoaXMuYXBvbGxvLmNyZWF0ZU5hbWVkKHRlbmFudElkLCB7XG4gICAgICBsaW5rOiB0aGlzLmh0dHBMaW5rLmNyZWF0ZSh7IHVyaSB9KSxcbiAgICAgIGNhY2hlOiBuZXcgSW5NZW1vcnlDYWNoZSh7XG4gICAgICAgIGRhdGFJZEZyb21PYmplY3Q6IChvKSA9PiA8c3RyaW5nPm9bJ3J0SWQnXVxuICAgICAgfSlcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlcGFyZVdhdGNoUXVlcnk8VFJlc3VsdCwgVFZhcmlhYmxlIGV4dGVuZHMgT3BlcmF0aW9uVmFyaWFibGVzPihcbiAgICB0ZW5hbnRJZDogc3RyaW5nLFxuICAgIHZhcmlhYmxlczogVFZhcmlhYmxlLFxuICAgIHF1ZXJ5Tm9kZTogRG9jdW1lbnROb2RlXG4gICk6IE9ic2VydmFibGU8QXBvbGxvUXVlcnlSZXN1bHQ8VFJlc3VsdD4+IHtcbiAgICB0aGlzLmNyZWF0ZUFwb2xsb0ZvclRlbmFudCh0ZW5hbnRJZCk7XG5cbiAgICByZXR1cm4gdGhpcy5hcG9sbG8udXNlKHRlbmFudElkKS53YXRjaFF1ZXJ5PFRSZXN1bHQ+KHtcbiAgICAgIHF1ZXJ5OiBxdWVyeU5vZGUsXG4gICAgICB2YXJpYWJsZXNcbiAgICB9KS52YWx1ZUNoYW5nZXM7XG4gIH1cblxuICBwcml2YXRlIHByZXBhcmVRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGUgZXh0ZW5kcyBPcGVyYXRpb25WYXJpYWJsZXM+KFxuICAgIHRlbmFudElkOiBzdHJpbmcsXG4gICAgdmFyaWFibGVzOiBUVmFyaWFibGUsXG4gICAgcXVlcnlOb2RlOiBEb2N1bWVudE5vZGVcbiAgKTogT2JzZXJ2YWJsZTxBcG9sbG9RdWVyeVJlc3VsdDxUUmVzdWx0Pj4ge1xuICAgIHRoaXMuY3JlYXRlQXBvbGxvRm9yVGVuYW50KHRlbmFudElkKTtcblxuICAgIHJldHVybiB0aGlzLmFwb2xsby51c2UodGVuYW50SWQpLnF1ZXJ5PFRSZXN1bHQ+KHtcbiAgICAgIHF1ZXJ5OiBxdWVyeU5vZGUsXG4gICAgICB2YXJpYWJsZXMsXG4gICAgICBmZXRjaFBvbGljeTogJ25ldHdvcmstb25seSdcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class GraphQL {
|
|
2
|
+
static getCursor(position) {
|
|
3
|
+
return btoa(`arrayconnection:${position}`);
|
|
4
|
+
}
|
|
5
|
+
static offsetToCursor(offset) {
|
|
6
|
+
if (!offset) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
return this.getCursor(offset - 1);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export const GraphQLCloneIgnoredProperties = ['id', 'rtId', 'ckTypeId', '__typename'];
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhRTC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvb2N0by1zZXJ2aWNlcy9zcmMvbGliL3NoYXJlZC9ncmFwaFFMLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxPQUFPO0lBQ1gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFnQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFjO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBHcmFwaFFMIHtcbiAgcHVibGljIHN0YXRpYyBnZXRDdXJzb3IocG9zaXRpb246IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGJ0b2EoYGFycmF5Y29ubmVjdGlvbjoke3Bvc2l0aW9ufWApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBvZmZzZXRUb0N1cnNvcihvZmZzZXQ6IG51bWJlcik6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghb2Zmc2V0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRDdXJzb3Iob2Zmc2V0IC0gMSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEdyYXBoUUxDbG9uZUlnbm9yZWRQcm9wZXJ0aWVzID0gWydpZCcsICdydElkJywgJ2NrVHlwZUlkJywgJ19fdHlwZW5hbWUnXTtcbiJdfQ==
|
|
@@ -5,6 +5,7 @@ import * as i0 from '@angular/core';
|
|
|
5
5
|
import { NgModule } from '@angular/core';
|
|
6
6
|
|
|
7
7
|
class PagedGraphResultDto extends PagedResultDto {
|
|
8
|
+
document;
|
|
8
9
|
constructor() {
|
|
9
10
|
super();
|
|
10
11
|
this.document = null;
|
|
@@ -12,18 +13,23 @@ class PagedGraphResultDto extends PagedResultDto {
|
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
class OctoGraphQLServiceBase {
|
|
16
|
+
apollo;
|
|
17
|
+
httpLink;
|
|
18
|
+
octoServiceOptions;
|
|
15
19
|
constructor(apollo, httpLink, octoServiceOptions) {
|
|
16
20
|
this.apollo = apollo;
|
|
17
21
|
this.httpLink = httpLink;
|
|
18
22
|
this.octoServiceOptions = octoServiceOptions;
|
|
19
23
|
}
|
|
20
24
|
getEntities(tenantId, variables, queryNode, watchQuery, f) {
|
|
21
|
-
const query = watchQuery
|
|
22
|
-
|
|
25
|
+
const query = watchQuery
|
|
26
|
+
? this.prepareWatchQuery(tenantId, variables, queryNode)
|
|
27
|
+
: this.prepareQuery(tenantId, variables, queryNode);
|
|
28
|
+
return query.pipe(map((result) => {
|
|
23
29
|
const resultSet = new PagedResultDto();
|
|
24
|
-
if (result.errors) {
|
|
30
|
+
if (result.errors != null) {
|
|
25
31
|
console.error(result.errors);
|
|
26
|
-
throw Error(
|
|
32
|
+
throw Error('Error in GraphQL statement.');
|
|
27
33
|
}
|
|
28
34
|
else if (result.data) {
|
|
29
35
|
f(resultSet, result.data);
|
|
@@ -32,12 +38,14 @@ class OctoGraphQLServiceBase {
|
|
|
32
38
|
}));
|
|
33
39
|
}
|
|
34
40
|
getGraphEntities(tenantId, variables, queryNode, watchQuery, f) {
|
|
35
|
-
const query = watchQuery
|
|
36
|
-
|
|
41
|
+
const query = watchQuery
|
|
42
|
+
? this.prepareWatchQuery(tenantId, variables, queryNode)
|
|
43
|
+
: this.prepareQuery(tenantId, variables, queryNode);
|
|
44
|
+
return query.pipe(map((result) => {
|
|
37
45
|
const resultSet = new PagedGraphResultDto();
|
|
38
|
-
if (result.errors) {
|
|
46
|
+
if (result.errors != null) {
|
|
39
47
|
console.error(result.errors);
|
|
40
|
-
throw Error(
|
|
48
|
+
throw Error('Error in GraphQL statement.');
|
|
41
49
|
}
|
|
42
50
|
else if (result.data) {
|
|
43
51
|
f(resultSet, result.data);
|
|
@@ -46,11 +54,13 @@ class OctoGraphQLServiceBase {
|
|
|
46
54
|
}));
|
|
47
55
|
}
|
|
48
56
|
getEntityDetail(tenantId, variables, queryNode, watchQuery, f) {
|
|
49
|
-
const query = watchQuery
|
|
50
|
-
|
|
51
|
-
|
|
57
|
+
const query = watchQuery
|
|
58
|
+
? this.prepareWatchQuery(tenantId, variables, queryNode)
|
|
59
|
+
: this.prepareQuery(tenantId, variables, queryNode);
|
|
60
|
+
return query.pipe(map((result) => {
|
|
61
|
+
if (result.errors != null) {
|
|
52
62
|
console.error(result.errors);
|
|
53
|
-
throw Error(
|
|
63
|
+
throw Error('Error in GraphQL statement.');
|
|
54
64
|
}
|
|
55
65
|
else if (result.data) {
|
|
56
66
|
return f(result.data);
|
|
@@ -60,49 +70,72 @@ class OctoGraphQLServiceBase {
|
|
|
60
70
|
}
|
|
61
71
|
createUpdateEntity(tenantId, variables, queryNode, f) {
|
|
62
72
|
this.createApolloForTenant(tenantId);
|
|
63
|
-
return this.apollo
|
|
73
|
+
return this.apollo
|
|
74
|
+
.use(tenantId)
|
|
75
|
+
.mutate({
|
|
64
76
|
mutation: queryNode,
|
|
65
|
-
variables
|
|
66
|
-
})
|
|
77
|
+
variables
|
|
78
|
+
})
|
|
79
|
+
.pipe(map((value) => f(value.data)), finalize(() => {
|
|
80
|
+
const promise = this.apollo.use(tenantId).client.reFetchObservableQueries(true);
|
|
81
|
+
promise
|
|
82
|
+
.then(() => { })
|
|
83
|
+
.catch((error) => {
|
|
84
|
+
console.error(error);
|
|
85
|
+
});
|
|
86
|
+
}));
|
|
67
87
|
}
|
|
68
88
|
deleteEntity(tenantId, variables, queryNode, f) {
|
|
69
89
|
this.createApolloForTenant(tenantId);
|
|
70
|
-
return this.apollo
|
|
90
|
+
return this.apollo
|
|
91
|
+
.use(tenantId)
|
|
92
|
+
.mutate({
|
|
71
93
|
mutation: queryNode,
|
|
72
|
-
variables
|
|
73
|
-
})
|
|
94
|
+
variables
|
|
95
|
+
})
|
|
96
|
+
.pipe(map((value) => f(value.data)), finalize(() => {
|
|
97
|
+
const promise = this.apollo.use(tenantId).client.reFetchObservableQueries(true);
|
|
98
|
+
promise
|
|
99
|
+
.then(() => { })
|
|
100
|
+
.catch((error) => {
|
|
101
|
+
console.error(error);
|
|
102
|
+
});
|
|
103
|
+
}));
|
|
74
104
|
}
|
|
75
105
|
createApolloForTenant(tenantId) {
|
|
76
106
|
const result = this.apollo.use(tenantId);
|
|
77
107
|
if (result) {
|
|
78
108
|
return;
|
|
79
109
|
}
|
|
80
|
-
const
|
|
110
|
+
const service = this.octoServiceOptions.assetServices ?? '';
|
|
111
|
+
const uri = `${service}tenants/${tenantId}/GraphQL`;
|
|
81
112
|
this.apollo.createNamed(tenantId, {
|
|
82
113
|
link: this.httpLink.create({ uri }),
|
|
83
114
|
cache: new InMemoryCache({
|
|
84
|
-
dataIdFromObject: o => o['rtId']
|
|
85
|
-
})
|
|
115
|
+
dataIdFromObject: (o) => o['rtId']
|
|
116
|
+
})
|
|
86
117
|
});
|
|
87
118
|
}
|
|
88
119
|
prepareWatchQuery(tenantId, variables, queryNode) {
|
|
89
120
|
this.createApolloForTenant(tenantId);
|
|
90
121
|
return this.apollo.use(tenantId).watchQuery({
|
|
91
122
|
query: queryNode,
|
|
92
|
-
variables
|
|
123
|
+
variables
|
|
93
124
|
}).valueChanges;
|
|
94
125
|
}
|
|
95
126
|
prepareQuery(tenantId, variables, queryNode) {
|
|
96
127
|
this.createApolloForTenant(tenantId);
|
|
97
128
|
return this.apollo.use(tenantId).query({
|
|
98
129
|
query: queryNode,
|
|
99
|
-
variables
|
|
100
|
-
fetchPolicy:
|
|
130
|
+
variables,
|
|
131
|
+
fetchPolicy: 'network-only'
|
|
101
132
|
});
|
|
102
133
|
}
|
|
103
134
|
}
|
|
104
135
|
|
|
105
136
|
class OctoServiceOptions {
|
|
137
|
+
assetServices;
|
|
138
|
+
defaultDataSourceId;
|
|
106
139
|
constructor() {
|
|
107
140
|
this.assetServices = null;
|
|
108
141
|
this.defaultDataSourceId = undefined;
|
|
@@ -121,11 +154,11 @@ class OctoServicesModule {
|
|
|
121
154
|
]
|
|
122
155
|
};
|
|
123
156
|
}
|
|
157
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OctoServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
158
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: OctoServicesModule });
|
|
159
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OctoServicesModule });
|
|
124
160
|
}
|
|
125
|
-
|
|
126
|
-
OctoServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: OctoServicesModule });
|
|
127
|
-
OctoServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OctoServicesModule });
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OctoServicesModule, decorators: [{
|
|
161
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: OctoServicesModule, decorators: [{
|
|
129
162
|
type: NgModule,
|
|
130
163
|
args: [{
|
|
131
164
|
declarations: [],
|
|
@@ -145,7 +178,7 @@ class GraphQL {
|
|
|
145
178
|
return this.getCursor(offset - 1);
|
|
146
179
|
}
|
|
147
180
|
}
|
|
148
|
-
const GraphQLCloneIgnoredProperties = [
|
|
181
|
+
const GraphQLCloneIgnoredProperties = ['id', 'rtId', 'ckTypeId', '__typename'];
|
|
149
182
|
|
|
150
183
|
/*
|
|
151
184
|
* Public API Surface of octo-services
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meshmakers-octo-services.mjs","sources":["../../../../projects/meshmakers/octo-services/src/lib/models/pagedGraphResultDto.ts","../../../../projects/meshmakers/octo-services/src/lib/services/octo-graph-ql-service-base.ts","../../../../projects/meshmakers/octo-services/src/lib/options/octo-service-options.ts","../../../../projects/meshmakers/octo-services/src/lib/octo-services.module.ts","../../../../projects/meshmakers/octo-services/src/lib/shared/graphQL.ts","../../../../projects/meshmakers/octo-services/src/public-api.ts","../../../../projects/meshmakers/octo-services/src/meshmakers-octo-services.ts"],"sourcesContent":["import { PagedResultDto } from '@meshmakers/shared-services';\n\nexport class PagedGraphResultDto<P, C> extends PagedResultDto<C> {\n document: P | null;\n\n constructor() {\n super();\n\n this.document = null;\n }\n}\n","import { DocumentNode } from 'graphql';\nimport { finalize, map } from 'rxjs/operators';\nimport { Apollo } from 'apollo-angular';\nimport { OctoServiceOptions } from '../options/octo-service-options';\nimport { PagedGraphResultDto } from '../models/pagedGraphResultDto';\nimport { PagedResultDto } from '@meshmakers/shared-services';\nimport { HttpLink } from 'apollo-angular/http';\nimport { ApolloQueryResult, InMemoryCache } from '@apollo/client/core';\nimport { OperationVariables } from '@apollo/client/core/types';\nimport { Observable } from 'rxjs';\n\nexport class OctoGraphQLServiceBase {\n constructor(\n private readonly apollo: Apollo,\n private readonly httpLink: HttpLink,\n private readonly octoServiceOptions: OctoServiceOptions\n ) {}\n\n protected getEntities<TResult, TEntity, TVariable extends OperationVariables>(\n tenantId: string,\n variables: TVariable,\n queryNode: DocumentNode,\n watchQuery: boolean,\n f: (resultSet: PagedResultDto<TEntity>, result: TResult) => void\n ): Observable<PagedResultDto<TEntity>> {\n const query = watchQuery\n ? this.prepareWatchQuery<TResult, TVariable>(tenantId, variables, queryNode)\n : this.prepareQuery<TResult, TVariable>(tenantId, variables, queryNode);\n return query.pipe(\n map((result) => {\n const resultSet = new PagedResultDto<TEntity>();\n\n if (result.errors != null) {\n console.error(result.errors);\n throw Error('Error in GraphQL statement.');\n } else if (result.data) {\n f(resultSet, result.data);\n }\n return resultSet;\n })\n );\n }\n\n protected getGraphEntities<TResult, TP, TC, TVariable extends OperationVariables>(\n tenantId: string,\n variables: TVariable,\n queryNode: DocumentNode,\n watchQuery: boolean,\n f: (resultSet: PagedGraphResultDto<TP, TC>, result: TResult) => void\n ): Observable<PagedGraphResultDto<TP, TC>> {\n const query = watchQuery\n ? this.prepareWatchQuery<TResult, TVariable>(tenantId, variables, queryNode)\n : this.prepareQuery<TResult, TVariable>(tenantId, variables, queryNode);\n return query.pipe(\n map((result) => {\n const resultSet = new PagedGraphResultDto<TP, TC>();\n\n if (result.errors != null) {\n console.error(result.errors);\n throw Error('Error in GraphQL statement.');\n } else if (result.data) {\n f(resultSet, result.data);\n }\n return resultSet;\n })\n );\n }\n\n protected getEntityDetail<TResult, TEntity, TVariable extends OperationVariables>(\n tenantId: string,\n variables: TVariable,\n queryNode: DocumentNode,\n watchQuery: boolean,\n f: (result: TResult) => TEntity\n ): Observable<TEntity | null> {\n const query = watchQuery\n ? this.prepareWatchQuery<TResult, TVariable>(tenantId, variables, queryNode)\n : this.prepareQuery<TResult, TVariable>(tenantId, variables, queryNode);\n return query.pipe(\n map((result) => {\n if (result.errors != null) {\n console.error(result.errors);\n throw Error('Error in GraphQL statement.');\n } else if (result.data) {\n return f(result.data);\n }\n return null;\n })\n );\n }\n\n protected createUpdateEntity<TResult, TEntity, TVariable extends OperationVariables>(\n tenantId: string,\n variables: TVariable,\n queryNode: DocumentNode,\n f: (result: TResult | null | undefined) => TEntity\n ): Observable<TEntity> {\n this.createApolloForTenant(tenantId);\n\n return this.apollo\n .use(tenantId)\n .mutate<TResult>({\n mutation: queryNode,\n variables\n })\n .pipe(\n map((value) => f(value.data)),\n finalize(() => {\n const promise = this.apollo.use(tenantId).client.reFetchObservableQueries(true);\n promise\n .then(() => {})\n .catch((error: string) => {\n console.error(error);\n });\n })\n );\n }\n\n protected deleteEntity<TResult, TVariable extends OperationVariables>(\n tenantId: string,\n variables: TVariable,\n queryNode: DocumentNode,\n f: (result: TResult | null | undefined) => boolean\n ): Observable<boolean> {\n this.createApolloForTenant(tenantId);\n\n return this.apollo\n .use(tenantId)\n .mutate<TResult>({\n mutation: queryNode,\n variables\n })\n .pipe(\n map((value) => f(value.data)),\n finalize(() => {\n const promise = this.apollo.use(tenantId).client.reFetchObservableQueries(true);\n promise\n .then(() => {})\n .catch((error: string) => {\n console.error(error);\n });\n })\n );\n }\n\n private createApolloForTenant(tenantId: string): void {\n const result = this.apollo.use(tenantId);\n if (result) {\n return;\n }\n\n const service = this.octoServiceOptions.assetServices ?? '';\n const uri = `${service}tenants/${tenantId}/GraphQL`;\n\n this.apollo.createNamed(tenantId, {\n link: this.httpLink.create({ uri }),\n cache: new InMemoryCache({\n dataIdFromObject: (o) => <string>o['rtId']\n })\n });\n }\n\n private prepareWatchQuery<TResult, TVariable extends OperationVariables>(\n tenantId: string,\n variables: TVariable,\n queryNode: DocumentNode\n ): Observable<ApolloQueryResult<TResult>> {\n this.createApolloForTenant(tenantId);\n\n return this.apollo.use(tenantId).watchQuery<TResult>({\n query: queryNode,\n variables\n }).valueChanges;\n }\n\n private prepareQuery<TResult, TVariable extends OperationVariables>(\n tenantId: string,\n variables: TVariable,\n queryNode: DocumentNode\n ): Observable<ApolloQueryResult<TResult>> {\n this.createApolloForTenant(tenantId);\n\n return this.apollo.use(tenantId).query<TResult>({\n query: queryNode,\n variables,\n fetchPolicy: 'network-only'\n });\n }\n}\n","export class OctoServiceOptions {\n assetServices: string | null;\n defaultDataSourceId?: string;\n\n constructor() {\n this.assetServices = null;\n this.defaultDataSourceId = undefined;\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { OctoServiceOptions } from './options/octo-service-options';\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: []\n})\nexport class OctoServicesModule {\n static forRoot(octoServiceOptions: OctoServiceOptions): ModuleWithProviders<OctoServicesModule> {\n return {\n ngModule: OctoServicesModule,\n providers: [\n {\n provide: OctoServiceOptions,\n useValue: octoServiceOptions\n }\n ]\n };\n }\n}\n","export class GraphQL {\n public static getCursor(position: number): string {\n return btoa(`arrayconnection:${position}`);\n }\n\n public static offsetToCursor(offset: number): string | null {\n if (!offset) {\n return null;\n }\n\n return this.getCursor(offset - 1);\n }\n}\n\nexport const GraphQLCloneIgnoredProperties = ['id', 'rtId', 'ckTypeId', '__typename'];\n","/*\n * Public API Surface of octo-services\n */\n\nexport * from './lib/services/octo-graph-ql-service-base';\nexport * from './lib/options/octo-service-options';\nexport * from './lib/octo-services.module';\nexport * from './lib/models/pagedGraphResultDto';\nexport * from './lib/shared/graphQL';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAEM,MAAO,mBAA0B,SAAQ,cAAiB,CAAA;AAC9D,IAAA,QAAQ,CAAW;AAEnB,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;AAER,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;KACtB;AACF;;MCCY,sBAAsB,CAAA;AAEd,IAAA,MAAA,CAAA;AACA,IAAA,QAAA,CAAA;AACA,IAAA,kBAAA,CAAA;AAHnB,IAAA,WAAA,CACmB,MAAc,EACd,QAAkB,EAClB,kBAAsC,EAAA;QAFtC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAClB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;KACrD;IAEM,WAAW,CACnB,QAAgB,EAChB,SAAoB,EACpB,SAAuB,EACvB,UAAmB,EACnB,CAAgE,EAAA;QAEhE,MAAM,KAAK,GAAG,UAAU;cACpB,IAAI,CAAC,iBAAiB,CAAqB,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;cAC1E,IAAI,CAAC,YAAY,CAAqB,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC,IAAI,CACf,GAAG,CAAC,CAAC,MAAM,KAAI;AACb,YAAA,MAAM,SAAS,GAAG,IAAI,cAAc,EAAW,CAAC;AAEhD,YAAA,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE;AACzB,gBAAA,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC7B,gBAAA,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAC5C;AAAM,iBAAA,IAAI,MAAM,CAAC,IAAI,EAAE;AACtB,gBAAA,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;aAC3B;AACD,YAAA,OAAO,SAAS,CAAC;SAClB,CAAC,CACH,CAAC;KACH;IAES,gBAAgB,CACxB,QAAgB,EAChB,SAAoB,EACpB,SAAuB,EACvB,UAAmB,EACnB,CAAoE,EAAA;QAEpE,MAAM,KAAK,GAAG,UAAU;cACpB,IAAI,CAAC,iBAAiB,CAAqB,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;cAC1E,IAAI,CAAC,YAAY,CAAqB,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC,IAAI,CACf,GAAG,CAAC,CAAC,MAAM,KAAI;AACb,YAAA,MAAM,SAAS,GAAG,IAAI,mBAAmB,EAAU,CAAC;AAEpD,YAAA,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE;AACzB,gBAAA,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC7B,gBAAA,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAC5C;AAAM,iBAAA,IAAI,MAAM,CAAC,IAAI,EAAE;AACtB,gBAAA,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;aAC3B;AACD,YAAA,OAAO,SAAS,CAAC;SAClB,CAAC,CACH,CAAC;KACH;IAES,eAAe,CACvB,QAAgB,EAChB,SAAoB,EACpB,SAAuB,EACvB,UAAmB,EACnB,CAA+B,EAAA;QAE/B,MAAM,KAAK,GAAG,UAAU;cACpB,IAAI,CAAC,iBAAiB,CAAqB,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;cAC1E,IAAI,CAAC,YAAY,CAAqB,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC,IAAI,CACf,GAAG,CAAC,CAAC,MAAM,KAAI;AACb,YAAA,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE;AACzB,gBAAA,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC7B,gBAAA,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAC5C;AAAM,iBAAA,IAAI,MAAM,CAAC,IAAI,EAAE;AACtB,gBAAA,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aACvB;AACD,YAAA,OAAO,IAAI,CAAC;SACb,CAAC,CACH,CAAC;KACH;AAES,IAAA,kBAAkB,CAC1B,QAAgB,EAChB,SAAoB,EACpB,SAAuB,EACvB,CAAkD,EAAA;AAElD,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC,MAAM;aACf,GAAG,CAAC,QAAQ,CAAC;AACb,aAAA,MAAM,CAAU;AACf,YAAA,QAAQ,EAAE,SAAS;YACnB,SAAS;SACV,CAAC;AACD,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC7B,QAAQ,CAAC,MAAK;AACZ,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAChF,OAAO;AACJ,iBAAA,IAAI,CAAC,MAAK,GAAG,CAAC;AACd,iBAAA,KAAK,CAAC,CAAC,KAAa,KAAI;AACvB,gBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,aAAC,CAAC,CAAC;SACN,CAAC,CACH,CAAC;KACL;AAES,IAAA,YAAY,CACpB,QAAgB,EAChB,SAAoB,EACpB,SAAuB,EACvB,CAAkD,EAAA;AAElD,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC,MAAM;aACf,GAAG,CAAC,QAAQ,CAAC;AACb,aAAA,MAAM,CAAU;AACf,YAAA,QAAQ,EAAE,SAAS;YACnB,SAAS;SACV,CAAC;AACD,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC7B,QAAQ,CAAC,MAAK;AACZ,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAChF,OAAO;AACJ,iBAAA,IAAI,CAAC,MAAK,GAAG,CAAC;AACd,iBAAA,KAAK,CAAC,CAAC,KAAa,KAAI;AACvB,gBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,aAAC,CAAC,CAAC;SACN,CAAC,CACH,CAAC;KACL;AAEO,IAAA,qBAAqB,CAAC,QAAgB,EAAA;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE;YACV,OAAO;SACR;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,IAAI,EAAE,CAAC;AAC5D,QAAA,MAAM,GAAG,GAAG,CAAA,EAAG,OAAO,CAAW,QAAA,EAAA,QAAQ,UAAU,CAAC;AAEpD,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;YAChC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;YACnC,KAAK,EAAE,IAAI,aAAa,CAAC;gBACvB,gBAAgB,EAAE,CAAC,CAAC,KAAa,CAAC,CAAC,MAAM,CAAC;aAC3C,CAAC;AACH,SAAA,CAAC,CAAC;KACJ;AAEO,IAAA,iBAAiB,CACvB,QAAgB,EAChB,SAAoB,EACpB,SAAuB,EAAA;AAEvB,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAU;AACnD,YAAA,KAAK,EAAE,SAAS;YAChB,SAAS;SACV,CAAC,CAAC,YAAY,CAAC;KACjB;AAEO,IAAA,YAAY,CAClB,QAAgB,EAChB,SAAoB,EACpB,SAAuB,EAAA;AAEvB,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAU;AAC9C,YAAA,KAAK,EAAE,SAAS;YAChB,SAAS;AACT,YAAA,WAAW,EAAE,cAAc;AAC5B,SAAA,CAAC,CAAC;KACJ;AACF;;MC5LY,kBAAkB,CAAA;AAC7B,IAAA,aAAa,CAAgB;AAC7B,IAAA,mBAAmB,CAAU;AAE7B,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;KACtC;AACF;;MCAY,kBAAkB,CAAA;IAC7B,OAAO,OAAO,CAAC,kBAAsC,EAAA;QACnD,OAAO;AACL,YAAA,QAAQ,EAAE,kBAAkB;AAC5B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,kBAAkB;AAC3B,oBAAA,QAAQ,EAAE,kBAAkB;AAC7B,iBAAA;AACF,aAAA;SACF,CAAC;KACH;uGAXU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wGAAlB,kBAAkB,EAAA,CAAA,CAAA;wGAAlB,kBAAkB,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE,EAAE;AACZ,iBAAA,CAAA;;;MCPY,OAAO,CAAA;IACX,OAAO,SAAS,CAAC,QAAgB,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,CAAA,gBAAA,EAAmB,QAAQ,CAAA,CAAE,CAAC,CAAC;KAC5C;IAEM,OAAO,cAAc,CAAC,MAAc,EAAA;QACzC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACnC;AACF,CAAA;AAEM,MAAM,6BAA6B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY;;ACdpF;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
-
import { OctoServiceOptions } from
|
|
2
|
+
import { OctoServiceOptions } from './options/octo-service-options';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class OctoServicesModule {
|
|
5
5
|
static forRoot(octoServiceOptions: OctoServiceOptions): ModuleWithProviders<OctoServicesModule>;
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import { DocumentNode } from
|
|
2
|
-
import { Apollo } from
|
|
3
|
-
import { OctoServiceOptions } from
|
|
4
|
-
import { PagedGraphResultDto } from
|
|
5
|
-
import { PagedResultDto } from
|
|
1
|
+
import { DocumentNode } from 'graphql';
|
|
2
|
+
import { Apollo } from 'apollo-angular';
|
|
3
|
+
import { OctoServiceOptions } from '../options/octo-service-options';
|
|
4
|
+
import { PagedGraphResultDto } from '../models/pagedGraphResultDto';
|
|
5
|
+
import { PagedResultDto } from '@meshmakers/shared-services';
|
|
6
6
|
import { HttpLink } from 'apollo-angular/http';
|
|
7
|
-
import { OperationVariables } from
|
|
7
|
+
import { OperationVariables } from '@apollo/client/core/types';
|
|
8
|
+
import { Observable } from 'rxjs';
|
|
8
9
|
export declare class OctoGraphQLServiceBase {
|
|
9
|
-
private apollo;
|
|
10
|
-
private httpLink;
|
|
11
|
-
private octoServiceOptions;
|
|
10
|
+
private readonly apollo;
|
|
11
|
+
private readonly httpLink;
|
|
12
|
+
private readonly octoServiceOptions;
|
|
12
13
|
constructor(apollo: Apollo, httpLink: HttpLink, octoServiceOptions: OctoServiceOptions);
|
|
13
|
-
protected getEntities<TResult, TEntity, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (resultSet: PagedResultDto<TEntity>, result: TResult) => void):
|
|
14
|
-
protected getGraphEntities<TResult, TP, TC, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (resultSet: PagedGraphResultDto<TP, TC>, result: TResult) => void):
|
|
15
|
-
protected getEntityDetail<TResult, TEntity, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (result: TResult) => TEntity):
|
|
16
|
-
protected createUpdateEntity<TResult, TEntity, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult | null | undefined) => TEntity):
|
|
17
|
-
protected deleteEntity<TResult, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult | null | undefined) => boolean):
|
|
14
|
+
protected getEntities<TResult, TEntity, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (resultSet: PagedResultDto<TEntity>, result: TResult) => void): Observable<PagedResultDto<TEntity>>;
|
|
15
|
+
protected getGraphEntities<TResult, TP, TC, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (resultSet: PagedGraphResultDto<TP, TC>, result: TResult) => void): Observable<PagedGraphResultDto<TP, TC>>;
|
|
16
|
+
protected getEntityDetail<TResult, TEntity, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (result: TResult) => TEntity): Observable<TEntity | null>;
|
|
17
|
+
protected createUpdateEntity<TResult, TEntity, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult | null | undefined) => TEntity): Observable<TEntity>;
|
|
18
|
+
protected deleteEntity<TResult, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult | null | undefined) => boolean): Observable<boolean>;
|
|
18
19
|
private createApolloForTenant;
|
|
19
20
|
private prepareWatchQuery;
|
|
20
21
|
private prepareQuery;
|
package/package.json
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meshmakers/octo-services",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.1.25-0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^15.2.0",
|
|
6
6
|
"@angular/core": "^15.2.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"tslib": "^2.
|
|
9
|
+
"tslib": "^2.6.2"
|
|
10
10
|
},
|
|
11
11
|
"sideEffects": false,
|
|
12
|
-
"module": "
|
|
13
|
-
"es2020": "fesm2020/meshmakers-octo-services.mjs",
|
|
14
|
-
"esm2020": "esm2020/meshmakers-octo-services.mjs",
|
|
15
|
-
"fesm2020": "fesm2020/meshmakers-octo-services.mjs",
|
|
16
|
-
"fesm2015": "fesm2015/meshmakers-octo-services.mjs",
|
|
12
|
+
"module": "fesm2022/meshmakers-octo-services.mjs",
|
|
17
13
|
"typings": "index.d.ts",
|
|
18
14
|
"exports": {
|
|
19
15
|
"./package.json": {
|
|
@@ -21,11 +17,9 @@
|
|
|
21
17
|
},
|
|
22
18
|
".": {
|
|
23
19
|
"types": "./index.d.ts",
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"node": "./fesm2015/meshmakers-octo-services.mjs",
|
|
28
|
-
"default": "./fesm2020/meshmakers-octo-services.mjs"
|
|
20
|
+
"esm2022": "./esm2022/meshmakers-octo-services.mjs",
|
|
21
|
+
"esm": "./esm2022/meshmakers-octo-services.mjs",
|
|
22
|
+
"default": "./fesm2022/meshmakers-octo-services.mjs"
|
|
29
23
|
}
|
|
30
24
|
}
|
|
31
25
|
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PagedResultDto } from "@meshmakers/shared-services";
|
|
2
|
-
export class PagedGraphResultDto extends PagedResultDto {
|
|
3
|
-
constructor() {
|
|
4
|
-
super();
|
|
5
|
-
this.document = null;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWRHcmFwaFJlc3VsdER0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvb2N0by1zZXJ2aWNlcy9zcmMvbGliL21vZGVscy9wYWdlZEdyYXBoUmVzdWx0RHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxNQUFNLE9BQU8sbUJBQTBCLFNBQVEsY0FBaUI7SUFJOUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGFnZWRSZXN1bHREdG99IGZyb20gXCJAbWVzaG1ha2Vycy9zaGFyZWQtc2VydmljZXNcIjtcblxuZXhwb3J0IGNsYXNzIFBhZ2VkR3JhcGhSZXN1bHREdG88UCwgQz4gZXh0ZW5kcyBQYWdlZFJlc3VsdER0bzxDPiB7XG5cbiAgZG9jdW1lbnQ6IFAgfCBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmRvY3VtZW50ID0gbnVsbDtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export class OctoServiceOptions {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.assetServices = null;
|
|
4
|
-
this.defaultDataSourceId = undefined;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N0by1zZXJ2aWNlLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL29jdG8tc2VydmljZXMvc3JjL2xpYi9vcHRpb25zL29jdG8tc2VydmljZS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7SUFJN0I7UUFDRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBPY3RvU2VydmljZU9wdGlvbnMge1xuICBhc3NldFNlcnZpY2VzOiBzdHJpbmcgfCBudWxsO1xuICBkZWZhdWx0RGF0YVNvdXJjZUlkPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYXNzZXRTZXJ2aWNlcyA9IG51bGw7XG4gICAgdGhpcy5kZWZhdWx0RGF0YVNvdXJjZUlkID0gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { finalize, map } from "rxjs/operators";
|
|
2
|
-
import { PagedGraphResultDto } from "../models/pagedGraphResultDto";
|
|
3
|
-
import { PagedResultDto } from "@meshmakers/shared-services";
|
|
4
|
-
import { InMemoryCache } from '@apollo/client/core';
|
|
5
|
-
export class OctoGraphQLServiceBase {
|
|
6
|
-
constructor(apollo, httpLink, octoServiceOptions) {
|
|
7
|
-
this.apollo = apollo;
|
|
8
|
-
this.httpLink = httpLink;
|
|
9
|
-
this.octoServiceOptions = octoServiceOptions;
|
|
10
|
-
}
|
|
11
|
-
getEntities(tenantId, variables, queryNode, watchQuery, f) {
|
|
12
|
-
const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
|
|
13
|
-
return query.pipe(map(result => {
|
|
14
|
-
const resultSet = new PagedResultDto();
|
|
15
|
-
if (result.errors) {
|
|
16
|
-
console.error(result.errors);
|
|
17
|
-
throw Error("Error in GraphQL statement.");
|
|
18
|
-
}
|
|
19
|
-
else if (result.data) {
|
|
20
|
-
f(resultSet, result.data);
|
|
21
|
-
}
|
|
22
|
-
return resultSet;
|
|
23
|
-
}));
|
|
24
|
-
}
|
|
25
|
-
getGraphEntities(tenantId, variables, queryNode, watchQuery, f) {
|
|
26
|
-
const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
|
|
27
|
-
return query.pipe(map(result => {
|
|
28
|
-
const resultSet = new PagedGraphResultDto();
|
|
29
|
-
if (result.errors) {
|
|
30
|
-
console.error(result.errors);
|
|
31
|
-
throw Error("Error in GraphQL statement.");
|
|
32
|
-
}
|
|
33
|
-
else if (result.data) {
|
|
34
|
-
f(resultSet, result.data);
|
|
35
|
-
}
|
|
36
|
-
return resultSet;
|
|
37
|
-
}));
|
|
38
|
-
}
|
|
39
|
-
getEntityDetail(tenantId, variables, queryNode, watchQuery, f) {
|
|
40
|
-
const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
|
|
41
|
-
return query.pipe(map(result => {
|
|
42
|
-
if (result.errors) {
|
|
43
|
-
console.error(result.errors);
|
|
44
|
-
throw Error("Error in GraphQL statement.");
|
|
45
|
-
}
|
|
46
|
-
else if (result.data) {
|
|
47
|
-
return f(result.data);
|
|
48
|
-
}
|
|
49
|
-
return null;
|
|
50
|
-
}));
|
|
51
|
-
}
|
|
52
|
-
createUpdateEntity(tenantId, variables, queryNode, f) {
|
|
53
|
-
this.createApolloForTenant(tenantId);
|
|
54
|
-
return this.apollo.use(tenantId).mutate({
|
|
55
|
-
mutation: queryNode,
|
|
56
|
-
variables: variables
|
|
57
|
-
}).pipe(map(value => f(value.data)), finalize(() => this.apollo.use(tenantId).client.reFetchObservableQueries(true)));
|
|
58
|
-
}
|
|
59
|
-
deleteEntity(tenantId, variables, queryNode, f) {
|
|
60
|
-
this.createApolloForTenant(tenantId);
|
|
61
|
-
return this.apollo.use(tenantId).mutate({
|
|
62
|
-
mutation: queryNode,
|
|
63
|
-
variables: variables
|
|
64
|
-
}).pipe(map(value => f(value.data)), finalize(() => this.apollo.use(tenantId).client.reFetchObservableQueries(true)));
|
|
65
|
-
}
|
|
66
|
-
createApolloForTenant(tenantId) {
|
|
67
|
-
const result = this.apollo.use(tenantId);
|
|
68
|
-
if (result) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
const uri = `${this.octoServiceOptions.assetServices}tenants/${tenantId}/GraphQL`;
|
|
72
|
-
this.apollo.createNamed(tenantId, {
|
|
73
|
-
link: this.httpLink.create({ uri }),
|
|
74
|
-
cache: new InMemoryCache({
|
|
75
|
-
dataIdFromObject: o => o['rtId']
|
|
76
|
-
}),
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
prepareWatchQuery(tenantId, variables, queryNode) {
|
|
80
|
-
this.createApolloForTenant(tenantId);
|
|
81
|
-
return this.apollo.use(tenantId).watchQuery({
|
|
82
|
-
query: queryNode,
|
|
83
|
-
variables: variables
|
|
84
|
-
}).valueChanges;
|
|
85
|
-
}
|
|
86
|
-
prepareQuery(tenantId, variables, queryNode) {
|
|
87
|
-
this.createApolloForTenant(tenantId);
|
|
88
|
-
return this.apollo.use(tenantId).query({
|
|
89
|
-
query: queryNode,
|
|
90
|
-
variables: variables,
|
|
91
|
-
fetchPolicy: "network-only"
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N0by1ncmFwaC1xbC1zZXJ2aWNlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL29jdG8tc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlcy9vY3RvLWdyYXBoLXFsLXNlcnZpY2UtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFJbEQsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyxZQUFvQixNQUFjLEVBQVUsUUFBa0IsRUFBVSxrQkFBc0M7UUFBMUYsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQzlHLENBQUM7SUFFUyxXQUFXLENBQXlELFFBQWdCLEVBQUUsU0FBb0IsRUFBRSxTQUF1QixFQUFFLFVBQW1CLEVBQUUsQ0FBZ0U7UUFFbE8sTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUssT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUU3QixNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsRUFBVyxDQUFDO1lBRWhELElBQUksTUFBTSxDQUFDLE1BQU0sRUFB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QztJQUVPLGlCQUFpQixDQUFnRCxRQUFnQixFQUFFLFNBQW9CLEVBQUUsU0FBdUI7UUFDdEksSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXJDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFVO1lBQ25ELEtBQUssRUFBRSxTQUFTO1lBQ2hCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDbEIsQ0FBQztJQUVPLFlBQVksQ0FBZ0QsUUFBZ0IsRUFBRSxTQUFvQixFQUFFLFNBQXVCO1FBQ2pJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVyQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBVTtZQUM5QyxLQUFLLEVBQUUsU0FBUztZQUNoQixTQUFTLEVBQUUsU0FBUztZQUNwQixXQUFXLEVBQUUsY0FBYztTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RvY3VtZW50Tm9kZX0gZnJvbSBcImdyYXBocWxcIjtcbmltcG9ydCB7ZmluYWxpemUsIG1hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQge0Fwb2xsb30gZnJvbSBcImFwb2xsby1hbmd1bGFyXCI7XG5pbXBvcnQge09jdG9TZXJ2aWNlT3B0aW9uc30gZnJvbSBcIi4uL29wdGlvbnMvb2N0by1zZXJ2aWNlLW9wdGlvbnNcIjtcbmltcG9ydCB7UGFnZWRHcmFwaFJlc3VsdER0b30gZnJvbSBcIi4uL21vZGVscy9wYWdlZEdyYXBoUmVzdWx0RHRvXCI7XG5pbXBvcnQge1BhZ2VkUmVzdWx0RHRvfSBmcm9tIFwiQG1lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzXCI7XG5pbXBvcnQge0h0dHBMaW5rfSBmcm9tICdhcG9sbG8tYW5ndWxhci9odHRwJztcbmltcG9ydCB7SW5NZW1vcnlDYWNoZX0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZSc7XG5pbXBvcnQge09wZXJhdGlvblZhcmlhYmxlc30gZnJvbSBcIkBhcG9sbG8vY2xpZW50L2NvcmUvdHlwZXNcIjtcbmltcG9ydCB7RW1wdHlPYmplY3R9IGZyb20gXCJhcG9sbG8tYW5ndWxhci90eXBlc1wiO1xuXG5leHBvcnQgY2xhc3MgT2N0b0dyYXBoUUxTZXJ2aWNlQmFzZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcG9sbG86IEFwb2xsbywgcHJpdmF0ZSBodHRwTGluazogSHR0cExpbmssIHByaXZhdGUgb2N0b1NlcnZpY2VPcHRpb25zOiBPY3RvU2VydmljZU9wdGlvbnMpIHtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRFbnRpdGllczxUUmVzdWx0LCBURW50aXR5LCBUVmFyaWFibGUgZXh0ZW5kcyBPcGVyYXRpb25WYXJpYWJsZXM+KHRlbmFudElkOiBzdHJpbmcsIHZhcmlhYmxlczogVFZhcmlhYmxlLCBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSwgd2F0Y2hRdWVyeTogYm9vbGVhbiwgZjogKHJlc3VsdFNldDogUGFnZWRSZXN1bHREdG88VEVudGl0eT4sIHJlc3VsdDogVFJlc3VsdCkgPT4gdm9pZCkge1xuXG4gICAgY29uc3QgcXVlcnkgPSB3YXRjaFF1ZXJ5ID8gdGhpcy5wcmVwYXJlV2F0Y2hRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSkgOiB0aGlzLnByZXBhcmVRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSk7XG4gICAgcmV0dXJuIHF1ZXJ5LnBpcGUobWFwKHJlc3VsdCA9PiB7XG5cbiAgICAgIGNvbnN0IHJlc3VsdFNldCA9IG5ldyBQYWdlZFJlc3VsdER0bzxURW50aXR5PigpO1xuXG4gICAgICBpZiAocmVzdWx0LmVycm9ycykge1xuICAgICAgICBjb25zb2xlLmVycm9yKHJlc3VsdC5lcnJvcnMpO1xuICAgICAgICB0aHJvdyBFcnJvcihcIkVycm9yIGluIEdyYXBoUUwgc3RhdGVtZW50LlwiKVxuICAgICAgfSBlbHNlIGlmIChyZXN1bHQuZGF0YSkge1xuICAgICAgICBmKHJlc3VsdFNldCwgcmVzdWx0LmRhdGEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdFNldDtcbiAgICB9KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0R3JhcGhFbnRpdGllczxUUmVzdWx0LCBUUCwgVEMsIFRWYXJpYWJsZSBleHRlbmRzIE9wZXJhdGlvblZhcmlhYmxlcz4odGVuYW50SWQ6IHN0cmluZywgdmFyaWFibGVzOiBUVmFyaWFibGUsIHF1ZXJ5Tm9kZTogRG9jdW1lbnROb2RlLCB3YXRjaFF1ZXJ5OiBib29sZWFuLCBmOiAocmVzdWx0U2V0OiBQYWdlZEdyYXBoUmVzdWx0RHRvPFRQLCBUQz4sIHJlc3VsdDogVFJlc3VsdCkgPT4gdm9pZCkge1xuXG4gICAgY29uc3QgcXVlcnkgPSB3YXRjaFF1ZXJ5ID8gdGhpcy5wcmVwYXJlV2F0Y2hRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSkgOiB0aGlzLnByZXBhcmVRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSk7XG4gICAgcmV0dXJuIHF1ZXJ5LnBpcGUobWFwKHJlc3VsdCA9PiB7XG5cbiAgICAgIGNvbnN0IHJlc3VsdFNldCA9IG5ldyBQYWdlZEdyYXBoUmVzdWx0RHRvPFRQLCBUQz4oKTtcblxuICAgICAgaWYgKHJlc3VsdC5lcnJvcnMpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihyZXN1bHQuZXJyb3JzKTtcbiAgICAgICAgdGhyb3cgRXJyb3IoXCJFcnJvciBpbiBHcmFwaFFMIHN0YXRlbWVudC5cIilcbiAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmRhdGEpIHtcbiAgICAgICAgZihyZXN1bHRTZXQsIHJlc3VsdC5kYXRhKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHRTZXQ7XG4gICAgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEVudGl0eURldGFpbDxUUmVzdWx0LCBURW50aXR5LCBUVmFyaWFibGUgZXh0ZW5kcyBPcGVyYXRpb25WYXJpYWJsZXM+KHRlbmFudElkOiBzdHJpbmcsIHZhcmlhYmxlczogVFZhcmlhYmxlLCBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSwgd2F0Y2hRdWVyeTogYm9vbGVhbiwgZjogKHJlc3VsdDogVFJlc3VsdCkgPT4gVEVudGl0eSkge1xuXG4gICAgY29uc3QgcXVlcnkgPSB3YXRjaFF1ZXJ5ID8gdGhpcy5wcmVwYXJlV2F0Y2hRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSkgOiB0aGlzLnByZXBhcmVRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGU+KHRlbmFudElkLCB2YXJpYWJsZXMsIHF1ZXJ5Tm9kZSk7XG4gICAgcmV0dXJuIHF1ZXJ5LnBpcGUobWFwKHJlc3VsdCA9PiB7XG5cbiAgICAgIGlmIChyZXN1bHQuZXJyb3JzKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IocmVzdWx0LmVycm9ycyk7XG4gICAgICAgIHRocm93IEVycm9yKFwiRXJyb3IgaW4gR3JhcGhRTCBzdGF0ZW1lbnQuXCIpXG4gICAgICB9IGVsc2UgaWYgKHJlc3VsdC5kYXRhKSB7XG4gICAgICAgIHJldHVybiBmKHJlc3VsdC5kYXRhKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVVcGRhdGVFbnRpdHk8VFJlc3VsdCwgVEVudGl0eSwgVFZhcmlhYmxlIGV4dGVuZHMgT3BlcmF0aW9uVmFyaWFibGVzPih0ZW5hbnRJZDogc3RyaW5nLCB2YXJpYWJsZXM6IFRWYXJpYWJsZSwgcXVlcnlOb2RlOiBEb2N1bWVudE5vZGUsIGY6IChyZXN1bHQ6IFRSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiBURW50aXR5KSB7XG5cbiAgICB0aGlzLmNyZWF0ZUFwb2xsb0ZvclRlbmFudCh0ZW5hbnRJZCk7XG5cbiAgICByZXR1cm4gdGhpcy5hcG9sbG8udXNlKHRlbmFudElkKS5tdXRhdGU8VFJlc3VsdD4oe1xuICAgICAgbXV0YXRpb246IHF1ZXJ5Tm9kZSxcbiAgICAgIHZhcmlhYmxlczogdmFyaWFibGVzXG4gICAgfSkucGlwZShcbiAgICAgIG1hcCh2YWx1ZSA9PiBmKHZhbHVlLmRhdGEpKSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuYXBvbGxvLnVzZSh0ZW5hbnRJZCkuY2xpZW50LnJlRmV0Y2hPYnNlcnZhYmxlUXVlcmllcyh0cnVlKSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRlbGV0ZUVudGl0eTxUUmVzdWx0LCBUVmFyaWFibGUgZXh0ZW5kcyBPcGVyYXRpb25WYXJpYWJsZXM+KHRlbmFudElkOiBzdHJpbmcsIHZhcmlhYmxlczogVFZhcmlhYmxlLCBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSwgZjogKHJlc3VsdDogVFJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQpID0+IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNyZWF0ZUFwb2xsb0ZvclRlbmFudCh0ZW5hbnRJZCk7XG5cbiAgICByZXR1cm4gdGhpcy5hcG9sbG8udXNlKHRlbmFudElkKS5tdXRhdGU8VFJlc3VsdD4oe1xuICAgICAgbXV0YXRpb246IHF1ZXJ5Tm9kZSxcbiAgICAgIHZhcmlhYmxlczogdmFyaWFibGVzXG4gICAgfSkucGlwZShcbiAgICAgIG1hcCh2YWx1ZSA9PiBmKHZhbHVlLmRhdGEpKSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuYXBvbGxvLnVzZSh0ZW5hbnRJZCkuY2xpZW50LnJlRmV0Y2hPYnNlcnZhYmxlUXVlcmllcyh0cnVlKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVBcG9sbG9Gb3JUZW5hbnQodGVuYW50SWQ6IHN0cmluZykge1xuXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5hcG9sbG8udXNlKHRlbmFudElkKTtcbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdXJpID0gYCR7dGhpcy5vY3RvU2VydmljZU9wdGlvbnMuYXNzZXRTZXJ2aWNlc310ZW5hbnRzLyR7dGVuYW50SWR9L0dyYXBoUUxgO1xuXG4gICAgdGhpcy5hcG9sbG8uY3JlYXRlTmFtZWQodGVuYW50SWQsXG4gICAgICB7XG4gICAgICAgIGxpbms6IHRoaXMuaHR0cExpbmsuY3JlYXRlKHt1cml9KSxcbiAgICAgICAgY2FjaGU6IG5ldyBJbk1lbW9yeUNhY2hlKHtcbiAgICAgICAgICBkYXRhSWRGcm9tT2JqZWN0OiBvID0+IDxzdHJpbmc+b1sncnRJZCddXG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByZXBhcmVXYXRjaFF1ZXJ5PFRSZXN1bHQsIFRWYXJpYWJsZSBleHRlbmRzIE9wZXJhdGlvblZhcmlhYmxlcz4odGVuYW50SWQ6IHN0cmluZywgdmFyaWFibGVzOiBUVmFyaWFibGUsIHF1ZXJ5Tm9kZTogRG9jdW1lbnROb2RlKSB7XG4gICAgdGhpcy5jcmVhdGVBcG9sbG9Gb3JUZW5hbnQodGVuYW50SWQpO1xuXG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvLnVzZSh0ZW5hbnRJZCkud2F0Y2hRdWVyeTxUUmVzdWx0Pih7XG4gICAgICBxdWVyeTogcXVlcnlOb2RlLFxuICAgICAgdmFyaWFibGVzOiB2YXJpYWJsZXNcbiAgICB9KS52YWx1ZUNoYW5nZXM7XG4gIH1cblxuICBwcml2YXRlIHByZXBhcmVRdWVyeTxUUmVzdWx0LCBUVmFyaWFibGUgZXh0ZW5kcyBPcGVyYXRpb25WYXJpYWJsZXM+KHRlbmFudElkOiBzdHJpbmcsIHZhcmlhYmxlczogVFZhcmlhYmxlLCBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSkge1xuICAgIHRoaXMuY3JlYXRlQXBvbGxvRm9yVGVuYW50KHRlbmFudElkKTtcblxuICAgIHJldHVybiB0aGlzLmFwb2xsby51c2UodGVuYW50SWQpLnF1ZXJ5PFRSZXN1bHQ+KHtcbiAgICAgIHF1ZXJ5OiBxdWVyeU5vZGUsXG4gICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlcyxcbiAgICAgIGZldGNoUG9saWN5OiBcIm5ldHdvcmstb25seVwiXG4gICAgfSk7XG4gIH1cblxuXG59XG4iXX0=
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export class GraphQL {
|
|
2
|
-
static getCursor(position) {
|
|
3
|
-
return btoa(`arrayconnection:${position}`);
|
|
4
|
-
}
|
|
5
|
-
static offsetToCursor(offset) {
|
|
6
|
-
if (!offset) {
|
|
7
|
-
return null;
|
|
8
|
-
}
|
|
9
|
-
return this.getCursor(offset - 1);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
export const GraphQLCloneIgnoredProperties = ["id", "rtId", "__typename"];
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhRTC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvb2N0by1zZXJ2aWNlcy9zcmMvbGliL3NoYXJlZC9ncmFwaFFMLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxPQUFPO0lBRVgsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFnQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFjO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgR3JhcGhRTCB7XG5cbiAgcHVibGljIHN0YXRpYyBnZXRDdXJzb3IocG9zaXRpb246IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGJ0b2EoYGFycmF5Y29ubmVjdGlvbjoke3Bvc2l0aW9ufWApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBvZmZzZXRUb0N1cnNvcihvZmZzZXQ6IG51bWJlcik6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghb2Zmc2V0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRDdXJzb3Iob2Zmc2V0IC0gMSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEdyYXBoUUxDbG9uZUlnbm9yZWRQcm9wZXJ0aWVzID0gW1wiaWRcIiwgXCJydElkXCIsIFwiX190eXBlbmFtZVwiXTtcbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"meshmakers-octo-services.mjs","sources":["../../../../projects/meshmakers/octo-services/src/lib/models/pagedGraphResultDto.ts","../../../../projects/meshmakers/octo-services/src/lib/services/octo-graph-ql-service-base.ts","../../../../projects/meshmakers/octo-services/src/lib/options/octo-service-options.ts","../../../../projects/meshmakers/octo-services/src/lib/octo-services.module.ts","../../../../projects/meshmakers/octo-services/src/lib/shared/graphQL.ts","../../../../projects/meshmakers/octo-services/src/public-api.ts","../../../../projects/meshmakers/octo-services/src/meshmakers-octo-services.ts"],"sourcesContent":["import {PagedResultDto} from \"@meshmakers/shared-services\";\n\nexport class PagedGraphResultDto<P, C> extends PagedResultDto<C> {\n\n document: P | null;\n\n constructor() {\n super();\n\n this.document = null;\n }\n}\n","import {DocumentNode} from \"graphql\";\nimport {finalize, map} from \"rxjs/operators\";\nimport {Apollo} from \"apollo-angular\";\nimport {OctoServiceOptions} from \"../options/octo-service-options\";\nimport {PagedGraphResultDto} from \"../models/pagedGraphResultDto\";\nimport {PagedResultDto} from \"@meshmakers/shared-services\";\nimport {HttpLink} from 'apollo-angular/http';\nimport {InMemoryCache} from '@apollo/client/core';\nimport {OperationVariables} from \"@apollo/client/core/types\";\nimport {EmptyObject} from \"apollo-angular/types\";\n\nexport class OctoGraphQLServiceBase {\n\n constructor(private apollo: Apollo, private httpLink: HttpLink, private octoServiceOptions: OctoServiceOptions) {\n }\n\n protected getEntities<TResult, TEntity, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (resultSet: PagedResultDto<TEntity>, result: TResult) => void) {\n\n const query = watchQuery ? this.prepareWatchQuery<TResult, TVariable>(tenantId, variables, queryNode) : this.prepareQuery<TResult, TVariable>(tenantId, variables, queryNode);\n return query.pipe(map(result => {\n\n const resultSet = new PagedResultDto<TEntity>();\n\n if (result.errors) {\n console.error(result.errors);\n throw Error(\"Error in GraphQL statement.\")\n } else if (result.data) {\n f(resultSet, result.data);\n }\n return resultSet;\n }));\n }\n\n protected getGraphEntities<TResult, TP, TC, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (resultSet: PagedGraphResultDto<TP, TC>, result: TResult) => void) {\n\n const query = watchQuery ? this.prepareWatchQuery<TResult, TVariable>(tenantId, variables, queryNode) : this.prepareQuery<TResult, TVariable>(tenantId, variables, queryNode);\n return query.pipe(map(result => {\n\n const resultSet = new PagedGraphResultDto<TP, TC>();\n\n if (result.errors) {\n console.error(result.errors);\n throw Error(\"Error in GraphQL statement.\")\n } else if (result.data) {\n f(resultSet, result.data);\n }\n return resultSet;\n }));\n }\n\n protected getEntityDetail<TResult, TEntity, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (result: TResult) => TEntity) {\n\n const query = watchQuery ? this.prepareWatchQuery<TResult, TVariable>(tenantId, variables, queryNode) : this.prepareQuery<TResult, TVariable>(tenantId, variables, queryNode);\n return query.pipe(map(result => {\n\n if (result.errors) {\n console.error(result.errors);\n throw Error(\"Error in GraphQL statement.\")\n } else if (result.data) {\n return f(result.data);\n }\n return null;\n }));\n }\n\n protected createUpdateEntity<TResult, TEntity, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult | null | undefined) => TEntity) {\n\n this.createApolloForTenant(tenantId);\n\n return this.apollo.use(tenantId).mutate<TResult>({\n mutation: queryNode,\n variables: variables\n }).pipe(\n map(value => f(value.data)),\n finalize(() => this.apollo.use(tenantId).client.reFetchObservableQueries(true))\n );\n }\n\n protected deleteEntity<TResult, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult | null | undefined) => boolean) {\n this.createApolloForTenant(tenantId);\n\n return this.apollo.use(tenantId).mutate<TResult>({\n mutation: queryNode,\n variables: variables\n }).pipe(\n map(value => f(value.data)),\n finalize(() => this.apollo.use(tenantId).client.reFetchObservableQueries(true))\n );\n }\n\n private createApolloForTenant(tenantId: string) {\n\n const result = this.apollo.use(tenantId);\n if (result) {\n return;\n }\n\n const uri = `${this.octoServiceOptions.assetServices}tenants/${tenantId}/GraphQL`;\n\n this.apollo.createNamed(tenantId,\n {\n link: this.httpLink.create({uri}),\n cache: new InMemoryCache({\n dataIdFromObject: o => <string>o['rtId']\n }),\n });\n }\n\n private prepareWatchQuery<TResult, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode) {\n this.createApolloForTenant(tenantId);\n\n return this.apollo.use(tenantId).watchQuery<TResult>({\n query: queryNode,\n variables: variables\n }).valueChanges;\n }\n\n private prepareQuery<TResult, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode) {\n this.createApolloForTenant(tenantId);\n\n return this.apollo.use(tenantId).query<TResult>({\n query: queryNode,\n variables: variables,\n fetchPolicy: \"network-only\"\n });\n }\n\n\n}\n","export class OctoServiceOptions {\n assetServices: string | null;\n defaultDataSourceId?: string;\n\n constructor() {\n this.assetServices = null;\n this.defaultDataSourceId = undefined;\n }\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {OctoServiceOptions} from \"./options/octo-service-options\";\n\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: []\n})\nexport class OctoServicesModule {\n static forRoot(octoServiceOptions: OctoServiceOptions): ModuleWithProviders<OctoServicesModule> {\n return {\n ngModule: OctoServicesModule,\n providers: [\n {\n provide: OctoServiceOptions,\n useValue: octoServiceOptions\n }\n ]\n }\n }\n}\n","export class GraphQL {\n\n public static getCursor(position: number): string {\n return btoa(`arrayconnection:${position}`);\n }\n\n public static offsetToCursor(offset: number): string | null {\n if (!offset) {\n return null;\n }\n\n return this.getCursor(offset - 1);\n }\n}\n\nexport const GraphQLCloneIgnoredProperties = [\"id\", \"rtId\", \"__typename\"];\n","/*\n * Public API Surface of octo-services\n */\n\nexport * from './lib/services/octo-graph-ql-service-base';\nexport * from './lib/options/octo-service-options';\nexport * from './lib/octo-services.module';\nexport * from './lib/models/pagedGraphResultDto';\nexport * from './lib/shared/graphQL';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { map, finalize } from 'rxjs/operators';
|
|
2
|
-
import { PagedResultDto } from '@meshmakers/shared-services';
|
|
3
|
-
import { InMemoryCache } from '@apollo/client/core';
|
|
4
|
-
import * as i0 from '@angular/core';
|
|
5
|
-
import { NgModule } from '@angular/core';
|
|
6
|
-
|
|
7
|
-
class PagedGraphResultDto extends PagedResultDto {
|
|
8
|
-
constructor() {
|
|
9
|
-
super();
|
|
10
|
-
this.document = null;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
class OctoGraphQLServiceBase {
|
|
15
|
-
constructor(apollo, httpLink, octoServiceOptions) {
|
|
16
|
-
this.apollo = apollo;
|
|
17
|
-
this.httpLink = httpLink;
|
|
18
|
-
this.octoServiceOptions = octoServiceOptions;
|
|
19
|
-
}
|
|
20
|
-
getEntities(tenantId, variables, queryNode, watchQuery, f) {
|
|
21
|
-
const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
|
|
22
|
-
return query.pipe(map(result => {
|
|
23
|
-
const resultSet = new PagedResultDto();
|
|
24
|
-
if (result.errors) {
|
|
25
|
-
console.error(result.errors);
|
|
26
|
-
throw Error("Error in GraphQL statement.");
|
|
27
|
-
}
|
|
28
|
-
else if (result.data) {
|
|
29
|
-
f(resultSet, result.data);
|
|
30
|
-
}
|
|
31
|
-
return resultSet;
|
|
32
|
-
}));
|
|
33
|
-
}
|
|
34
|
-
getGraphEntities(tenantId, variables, queryNode, watchQuery, f) {
|
|
35
|
-
const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
|
|
36
|
-
return query.pipe(map(result => {
|
|
37
|
-
const resultSet = new PagedGraphResultDto();
|
|
38
|
-
if (result.errors) {
|
|
39
|
-
console.error(result.errors);
|
|
40
|
-
throw Error("Error in GraphQL statement.");
|
|
41
|
-
}
|
|
42
|
-
else if (result.data) {
|
|
43
|
-
f(resultSet, result.data);
|
|
44
|
-
}
|
|
45
|
-
return resultSet;
|
|
46
|
-
}));
|
|
47
|
-
}
|
|
48
|
-
getEntityDetail(tenantId, variables, queryNode, watchQuery, f) {
|
|
49
|
-
const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
|
|
50
|
-
return query.pipe(map(result => {
|
|
51
|
-
if (result.errors) {
|
|
52
|
-
console.error(result.errors);
|
|
53
|
-
throw Error("Error in GraphQL statement.");
|
|
54
|
-
}
|
|
55
|
-
else if (result.data) {
|
|
56
|
-
return f(result.data);
|
|
57
|
-
}
|
|
58
|
-
return null;
|
|
59
|
-
}));
|
|
60
|
-
}
|
|
61
|
-
createUpdateEntity(tenantId, variables, queryNode, f) {
|
|
62
|
-
this.createApolloForTenant(tenantId);
|
|
63
|
-
return this.apollo.use(tenantId).mutate({
|
|
64
|
-
mutation: queryNode,
|
|
65
|
-
variables: variables
|
|
66
|
-
}).pipe(map(value => f(value.data)), finalize(() => this.apollo.use(tenantId).client.reFetchObservableQueries(true)));
|
|
67
|
-
}
|
|
68
|
-
deleteEntity(tenantId, variables, queryNode, f) {
|
|
69
|
-
this.createApolloForTenant(tenantId);
|
|
70
|
-
return this.apollo.use(tenantId).mutate({
|
|
71
|
-
mutation: queryNode,
|
|
72
|
-
variables: variables
|
|
73
|
-
}).pipe(map(value => f(value.data)), finalize(() => this.apollo.use(tenantId).client.reFetchObservableQueries(true)));
|
|
74
|
-
}
|
|
75
|
-
createApolloForTenant(tenantId) {
|
|
76
|
-
const result = this.apollo.use(tenantId);
|
|
77
|
-
if (result) {
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
const uri = `${this.octoServiceOptions.assetServices}tenants/${tenantId}/GraphQL`;
|
|
81
|
-
this.apollo.createNamed(tenantId, {
|
|
82
|
-
link: this.httpLink.create({ uri }),
|
|
83
|
-
cache: new InMemoryCache({
|
|
84
|
-
dataIdFromObject: o => o['rtId']
|
|
85
|
-
}),
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
prepareWatchQuery(tenantId, variables, queryNode) {
|
|
89
|
-
this.createApolloForTenant(tenantId);
|
|
90
|
-
return this.apollo.use(tenantId).watchQuery({
|
|
91
|
-
query: queryNode,
|
|
92
|
-
variables: variables
|
|
93
|
-
}).valueChanges;
|
|
94
|
-
}
|
|
95
|
-
prepareQuery(tenantId, variables, queryNode) {
|
|
96
|
-
this.createApolloForTenant(tenantId);
|
|
97
|
-
return this.apollo.use(tenantId).query({
|
|
98
|
-
query: queryNode,
|
|
99
|
-
variables: variables,
|
|
100
|
-
fetchPolicy: "network-only"
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
class OctoServiceOptions {
|
|
106
|
-
constructor() {
|
|
107
|
-
this.assetServices = null;
|
|
108
|
-
this.defaultDataSourceId = undefined;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
class OctoServicesModule {
|
|
113
|
-
static forRoot(octoServiceOptions) {
|
|
114
|
-
return {
|
|
115
|
-
ngModule: OctoServicesModule,
|
|
116
|
-
providers: [
|
|
117
|
-
{
|
|
118
|
-
provide: OctoServiceOptions,
|
|
119
|
-
useValue: octoServiceOptions
|
|
120
|
-
}
|
|
121
|
-
]
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
OctoServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OctoServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
126
|
-
OctoServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: OctoServicesModule });
|
|
127
|
-
OctoServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OctoServicesModule });
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OctoServicesModule, decorators: [{
|
|
129
|
-
type: NgModule,
|
|
130
|
-
args: [{
|
|
131
|
-
declarations: [],
|
|
132
|
-
imports: [],
|
|
133
|
-
exports: []
|
|
134
|
-
}]
|
|
135
|
-
}] });
|
|
136
|
-
|
|
137
|
-
class GraphQL {
|
|
138
|
-
static getCursor(position) {
|
|
139
|
-
return btoa(`arrayconnection:${position}`);
|
|
140
|
-
}
|
|
141
|
-
static offsetToCursor(offset) {
|
|
142
|
-
if (!offset) {
|
|
143
|
-
return null;
|
|
144
|
-
}
|
|
145
|
-
return this.getCursor(offset - 1);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
const GraphQLCloneIgnoredProperties = ["id", "rtId", "__typename"];
|
|
149
|
-
|
|
150
|
-
/*
|
|
151
|
-
* Public API Surface of octo-services
|
|
152
|
-
*/
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Generated bundle index. Do not edit.
|
|
156
|
-
*/
|
|
157
|
-
|
|
158
|
-
export { GraphQL, GraphQLCloneIgnoredProperties, OctoGraphQLServiceBase, OctoServiceOptions, OctoServicesModule, PagedGraphResultDto };
|
|
159
|
-
//# sourceMappingURL=meshmakers-octo-services.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"meshmakers-octo-services.mjs","sources":["../../../../projects/meshmakers/octo-services/src/lib/models/pagedGraphResultDto.ts","../../../../projects/meshmakers/octo-services/src/lib/services/octo-graph-ql-service-base.ts","../../../../projects/meshmakers/octo-services/src/lib/options/octo-service-options.ts","../../../../projects/meshmakers/octo-services/src/lib/octo-services.module.ts","../../../../projects/meshmakers/octo-services/src/lib/shared/graphQL.ts","../../../../projects/meshmakers/octo-services/src/public-api.ts","../../../../projects/meshmakers/octo-services/src/meshmakers-octo-services.ts"],"sourcesContent":["import {PagedResultDto} from \"@meshmakers/shared-services\";\n\nexport class PagedGraphResultDto<P, C> extends PagedResultDto<C> {\n\n document: P | null;\n\n constructor() {\n super();\n\n this.document = null;\n }\n}\n","import {DocumentNode} from \"graphql\";\nimport {finalize, map} from \"rxjs/operators\";\nimport {Apollo} from \"apollo-angular\";\nimport {OctoServiceOptions} from \"../options/octo-service-options\";\nimport {PagedGraphResultDto} from \"../models/pagedGraphResultDto\";\nimport {PagedResultDto} from \"@meshmakers/shared-services\";\nimport {HttpLink} from 'apollo-angular/http';\nimport {InMemoryCache} from '@apollo/client/core';\nimport {OperationVariables} from \"@apollo/client/core/types\";\nimport {EmptyObject} from \"apollo-angular/types\";\n\nexport class OctoGraphQLServiceBase {\n\n constructor(private apollo: Apollo, private httpLink: HttpLink, private octoServiceOptions: OctoServiceOptions) {\n }\n\n protected getEntities<TResult, TEntity, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (resultSet: PagedResultDto<TEntity>, result: TResult) => void) {\n\n const query = watchQuery ? this.prepareWatchQuery<TResult, TVariable>(tenantId, variables, queryNode) : this.prepareQuery<TResult, TVariable>(tenantId, variables, queryNode);\n return query.pipe(map(result => {\n\n const resultSet = new PagedResultDto<TEntity>();\n\n if (result.errors) {\n console.error(result.errors);\n throw Error(\"Error in GraphQL statement.\")\n } else if (result.data) {\n f(resultSet, result.data);\n }\n return resultSet;\n }));\n }\n\n protected getGraphEntities<TResult, TP, TC, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (resultSet: PagedGraphResultDto<TP, TC>, result: TResult) => void) {\n\n const query = watchQuery ? this.prepareWatchQuery<TResult, TVariable>(tenantId, variables, queryNode) : this.prepareQuery<TResult, TVariable>(tenantId, variables, queryNode);\n return query.pipe(map(result => {\n\n const resultSet = new PagedGraphResultDto<TP, TC>();\n\n if (result.errors) {\n console.error(result.errors);\n throw Error(\"Error in GraphQL statement.\")\n } else if (result.data) {\n f(resultSet, result.data);\n }\n return resultSet;\n }));\n }\n\n protected getEntityDetail<TResult, TEntity, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (result: TResult) => TEntity) {\n\n const query = watchQuery ? this.prepareWatchQuery<TResult, TVariable>(tenantId, variables, queryNode) : this.prepareQuery<TResult, TVariable>(tenantId, variables, queryNode);\n return query.pipe(map(result => {\n\n if (result.errors) {\n console.error(result.errors);\n throw Error(\"Error in GraphQL statement.\")\n } else if (result.data) {\n return f(result.data);\n }\n return null;\n }));\n }\n\n protected createUpdateEntity<TResult, TEntity, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult | null | undefined) => TEntity) {\n\n this.createApolloForTenant(tenantId);\n\n return this.apollo.use(tenantId).mutate<TResult>({\n mutation: queryNode,\n variables: variables\n }).pipe(\n map(value => f(value.data)),\n finalize(() => this.apollo.use(tenantId).client.reFetchObservableQueries(true))\n );\n }\n\n protected deleteEntity<TResult, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult | null | undefined) => boolean) {\n this.createApolloForTenant(tenantId);\n\n return this.apollo.use(tenantId).mutate<TResult>({\n mutation: queryNode,\n variables: variables\n }).pipe(\n map(value => f(value.data)),\n finalize(() => this.apollo.use(tenantId).client.reFetchObservableQueries(true))\n );\n }\n\n private createApolloForTenant(tenantId: string) {\n\n const result = this.apollo.use(tenantId);\n if (result) {\n return;\n }\n\n const uri = `${this.octoServiceOptions.assetServices}tenants/${tenantId}/GraphQL`;\n\n this.apollo.createNamed(tenantId,\n {\n link: this.httpLink.create({uri}),\n cache: new InMemoryCache({\n dataIdFromObject: o => <string>o['rtId']\n }),\n });\n }\n\n private prepareWatchQuery<TResult, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode) {\n this.createApolloForTenant(tenantId);\n\n return this.apollo.use(tenantId).watchQuery<TResult>({\n query: queryNode,\n variables: variables\n }).valueChanges;\n }\n\n private prepareQuery<TResult, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode) {\n this.createApolloForTenant(tenantId);\n\n return this.apollo.use(tenantId).query<TResult>({\n query: queryNode,\n variables: variables,\n fetchPolicy: \"network-only\"\n });\n }\n\n\n}\n","export class OctoServiceOptions {\n assetServices: string | null;\n defaultDataSourceId?: string;\n\n constructor() {\n this.assetServices = null;\n this.defaultDataSourceId = undefined;\n }\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {OctoServiceOptions} from \"./options/octo-service-options\";\n\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: []\n})\nexport class OctoServicesModule {\n static forRoot(octoServiceOptions: OctoServiceOptions): ModuleWithProviders<OctoServicesModule> {\n return {\n ngModule: OctoServicesModule,\n providers: [\n {\n provide: OctoServiceOptions,\n useValue: octoServiceOptions\n }\n ]\n }\n }\n}\n","export class GraphQL {\n\n public static getCursor(position: number): string {\n return btoa(`arrayconnection:${position}`);\n }\n\n public static offsetToCursor(offset: number): string | null {\n if (!offset) {\n return null;\n }\n\n return this.getCursor(offset - 1);\n }\n}\n\nexport const GraphQLCloneIgnoredProperties = [\"id\", \"rtId\", \"__typename\"];\n","/*\n * Public API Surface of octo-services\n */\n\nexport * from './lib/services/octo-graph-ql-service-base';\nexport * from './lib/options/octo-service-options';\nexport * from './lib/octo-services.module';\nexport * from './lib/models/pagedGraphResultDto';\nexport * from './lib/shared/graphQL';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|