@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.
@@ -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 "./options/octo-service-options";
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
- OctoServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OctoServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N0by1zZXJ2aWNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL29jdG8tc2VydmljZXMvc3JjL2xpYi9vY3RvLXNlcnZpY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFRbEUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUFDLGtCQUFzQztRQUNuRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGtCQUFrQjtvQkFDM0IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7YUFDRjtTQUNGLENBQUE7SUFDSCxDQUFDOzsrR0FYVSxrQkFBa0I7Z0hBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09jdG9TZXJ2aWNlT3B0aW9uc30gZnJvbSBcIi4vb3B0aW9ucy9vY3RvLXNlcnZpY2Utb3B0aW9uc1wiO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBPY3RvU2VydmljZXNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChvY3RvU2VydmljZU9wdGlvbnM6IE9jdG9TZXJ2aWNlT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8T2N0b1NlcnZpY2VzTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBPY3RvU2VydmljZXNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE9jdG9TZXJ2aWNlT3B0aW9ucyxcbiAgICAgICAgICB1c2VWYWx1ZTogb2N0b1NlcnZpY2VPcHRpb25zXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
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 ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
22
- return query.pipe(map(result => {
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("Error in GraphQL statement.");
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 ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
36
- return query.pipe(map(result => {
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("Error in GraphQL statement.");
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 ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
50
- return query.pipe(map(result => {
51
- if (result.errors) {
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("Error in GraphQL statement.");
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.use(tenantId).mutate({
73
+ return this.apollo
74
+ .use(tenantId)
75
+ .mutate({
64
76
  mutation: queryNode,
65
- variables: variables
66
- }).pipe(map(value => f(value.data)), finalize(() => this.apollo.use(tenantId).client.reFetchObservableQueries(true)));
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.use(tenantId).mutate({
90
+ return this.apollo
91
+ .use(tenantId)
92
+ .mutate({
71
93
  mutation: queryNode,
72
- variables: variables
73
- }).pipe(map(value => f(value.data)), finalize(() => this.apollo.use(tenantId).client.reFetchObservableQueries(true)));
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 uri = `${this.octoServiceOptions.assetServices}tenants/${tenantId}/GraphQL`;
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: 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: variables,
100
- fetchPolicy: "network-only"
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
- 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: [{
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 = ["id", "rtId", "__typename"];
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":"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"}
@@ -1,4 +1,4 @@
1
- import { PagedResultDto } from "@meshmakers/shared-services";
1
+ import { PagedResultDto } from '@meshmakers/shared-services';
2
2
  export declare class PagedGraphResultDto<P, C> extends PagedResultDto<C> {
3
3
  document: P | null;
4
4
  constructor();
@@ -1,5 +1,5 @@
1
1
  import { ModuleWithProviders } from '@angular/core';
2
- import { OctoServiceOptions } from "./options/octo-service-options";
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 "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";
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 "@apollo/client/core/types";
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): import("rxjs").Observable<PagedResultDto<TEntity>>;
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): import("rxjs").Observable<PagedGraphResultDto<TP, TC>>;
15
- protected getEntityDetail<TResult, TEntity, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (result: TResult) => TEntity): import("rxjs").Observable<TEntity | null>;
16
- protected createUpdateEntity<TResult, TEntity, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult | null | undefined) => TEntity): import("rxjs").Observable<TEntity>;
17
- protected deleteEntity<TResult, TVariable extends OperationVariables>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult | null | undefined) => boolean): import("rxjs").Observable<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": "2.1.17-0",
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.3.0"
9
+ "tslib": "^2.6.2"
10
10
  },
11
11
  "sideEffects": false,
12
- "module": "fesm2015/meshmakers-octo-services.mjs",
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
- "esm2020": "./esm2020/meshmakers-octo-services.mjs",
25
- "es2020": "./fesm2020/meshmakers-octo-services.mjs",
26
- "es2015": "./fesm2015/meshmakers-octo-services.mjs",
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":";;;;;;AAEM,MAAO,mBAA0B,SAAQ,cAAiB,CAAA;AAI9D,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;AAER,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;KACtB;AACF;;MCAY,sBAAsB,CAAA;AAEjC,IAAA,WAAA,CAAoB,MAAc,EAAU,QAAkB,EAAU,kBAAsC,EAAA;AAA1F,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AAAU,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAAU,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;KAC7G;IAES,WAAW,CAAyD,QAAgB,EAAE,SAAoB,EAAE,SAAuB,EAAE,UAAmB,EAAE,CAAgE,EAAA;AAElO,QAAA,MAAM,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAqB,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAqB,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9K,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAG;AAE7B,YAAA,MAAM,SAAS,GAAG,IAAI,cAAc,EAAW,CAAC;YAEhD,IAAI,MAAM,CAAC,MAAM,EAAE;AACjB,gBAAA,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC7B,gBAAA,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAA;AAC3C,aAAA;iBAAM,IAAI,MAAM,CAAC,IAAI,EAAE;AACtB,gBAAA,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAC3B,aAAA;AACD,YAAA,OAAO,SAAS,CAAC;SAClB,CAAC,CAAC,CAAC;KACL;IAES,gBAAgB,CAAwD,QAAgB,EAAE,SAAoB,EAAE,SAAuB,EAAE,UAAmB,EAAE,CAAoE,EAAA;AAE1O,QAAA,MAAM,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAqB,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAqB,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9K,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAG;AAE7B,YAAA,MAAM,SAAS,GAAG,IAAI,mBAAmB,EAAU,CAAC;YAEpD,IAAI,MAAM,CAAC,MAAM,EAAE;AACjB,gBAAA,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC7B,gBAAA,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAA;AAC3C,aAAA;iBAAM,IAAI,MAAM,CAAC,IAAI,EAAE;AACtB,gBAAA,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAC3B,aAAA;AACD,YAAA,OAAO,SAAS,CAAC;SAClB,CAAC,CAAC,CAAC;KACL;IAES,eAAe,CAAyD,QAAgB,EAAE,SAAoB,EAAE,SAAuB,EAAE,UAAmB,EAAE,CAA+B,EAAA;AAErM,QAAA,MAAM,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAqB,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,YAAY,CAAqB,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9K,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAG;YAE7B,IAAI,MAAM,CAAC,MAAM,EAAE;AACjB,gBAAA,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC7B,gBAAA,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAA;AAC3C,aAAA;iBAAM,IAAI,MAAM,CAAC,IAAI,EAAE;AACtB,gBAAA,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACvB,aAAA;AACD,YAAA,OAAO,IAAI,CAAC;SACb,CAAC,CAAC,CAAC;KACL;AAES,IAAA,kBAAkB,CAAyD,QAAgB,EAAE,SAAoB,EAAE,SAAuB,EAAE,CAAkD,EAAA;AAEtM,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAU;AAC/C,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,SAAS,EAAE,SAAS;AACrB,SAAA,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC3B,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAChF,CAAC;KACH;AAES,IAAA,YAAY,CAAgD,QAAgB,EAAE,SAAoB,EAAE,SAAuB,EAAE,CAAkD,EAAA;AACvL,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAU;AAC/C,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,SAAS,EAAE,SAAS;AACrB,SAAA,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC3B,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAChF,CAAC;KACH;AAEO,IAAA,qBAAqB,CAAC,QAAgB,EAAA;QAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzC,QAAA,IAAI,MAAM,EAAE;YACV,OAAO;AACR,SAAA;QAED,MAAM,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAA,QAAA,EAAW,QAAQ,CAAA,QAAA,CAAU,CAAC;AAElF,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAC9B;YACE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAC,GAAG,EAAC,CAAC;YACjC,KAAK,EAAE,IAAI,aAAa,CAAC;gBACvB,gBAAgB,EAAE,CAAC,IAAY,CAAC,CAAC,MAAM,CAAC;aACzC,CAAC;AACH,SAAA,CAAC,CAAC;KACN;AAEO,IAAA,iBAAiB,CAAgD,QAAgB,EAAE,SAAoB,EAAE,SAAuB,EAAA;AACtI,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;AAChB,YAAA,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC,YAAY,CAAC;KACjB;AAEO,IAAA,YAAY,CAAgD,QAAgB,EAAE,SAAoB,EAAE,SAAuB,EAAA;AACjI,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;AAChB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,WAAW,EAAE,cAAc;AAC5B,SAAA,CAAC,CAAC;KACJ;AAGF;;MChIY,kBAAkB,CAAA;AAI7B,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;KACtC;AACF;;MCCY,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,CAAA;KACF;;+GAXU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAlB,kBAAkB,EAAA,CAAA,CAAA;gHAAlB,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;iBACZ,CAAA;;;MCRY,OAAO,CAAA;IAEX,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;AACb,SAAA;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACnC;AACF,CAAA;AAEY,MAAA,6BAA6B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY;;ACfxE;;AAEG;;ACFH;;AAEG;;;;"}
@@ -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