@meshmakers/octo-services 0.0.0-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/README.md ADDED
@@ -0,0 +1,28 @@
1
+ # OspServices
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.0.1.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project osp-services` to generate a new component. You can also
8
+ use `ng generate directive|pipe|service|class|guard|interface|enum|module --project osp-services`.
9
+ > Note: Don't forget to add `--project osp-services` or else it will be added to the default project in
10
+ > your `angular.json` file.
11
+
12
+ ## Build
13
+
14
+ Run `ng build osp-services` to build the project. The build artifacts will be stored in the `dist/` directory.
15
+
16
+ ## Publishing
17
+
18
+ After building your library with `ng build osp-services`, go to the dist folder `cd dist/osp-services` and
19
+ run `npm publish`.
20
+
21
+ ## Running unit tests
22
+
23
+ Run `ng test osp-services` to execute the unit tests via [Karma](https://karma-runner.github.io).
24
+
25
+ ## Further help
26
+
27
+ To get more help on the Angular CLI use `ng help` or go check out
28
+ the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
@@ -0,0 +1,4 @@
1
+ import { PagedResultDto } from "@meshmakers/shared-services";
2
+ export class PagedGraphResultDto extends PagedResultDto {
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWRHcmFwaFJlc3VsdER0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvb2N0by1zZXJ2aWNlcy9zcmMvbGliL21vZGVscy9wYWdlZEdyYXBoUmVzdWx0RHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxNQUFNLE9BQU8sbUJBQTBCLFNBQVEsY0FBaUI7Q0FHL0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BhZ2VkUmVzdWx0RHRvfSBmcm9tIFwiQG1lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzXCI7XG5cbmV4cG9ydCBjbGFzcyBQYWdlZEdyYXBoUmVzdWx0RHRvPFAsIEM+IGV4dGVuZHMgUGFnZWRSZXN1bHREdG88Qz4ge1xuXG4gIGRvY3VtZW50OiBQO1xufVxuIl19
@@ -0,0 +1,28 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { OctoServiceOptions } from "./options/octo-service-options";
3
+ import * as i0 from "@angular/core";
4
+ export class OctoServicesModule {
5
+ static forRoot(octoServiceOptions) {
6
+ return {
7
+ ngModule: OctoServicesModule,
8
+ providers: [
9
+ {
10
+ provide: OctoServiceOptions,
11
+ useValue: octoServiceOptions
12
+ }
13
+ ]
14
+ };
15
+ }
16
+ }
17
+ OctoServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: OctoServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ OctoServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: OctoServicesModule });
19
+ OctoServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: OctoServicesModule });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: OctoServicesModule, decorators: [{
21
+ type: NgModule,
22
+ args: [{
23
+ declarations: [],
24
+ imports: [],
25
+ exports: []
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N0by1zZXJ2aWNlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL29jdG8tc2VydmljZXMvc3JjL2xpYi9vY3RvLXNlcnZpY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFRbEUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsT0FBTyxDQUFDLGtCQUFzQztRQUNuRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGtCQUFrQjtvQkFDM0IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7YUFDRjtTQUNGLENBQUE7SUFDSCxDQUFDOzsrR0FYVSxrQkFBa0I7Z0hBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09jdG9TZXJ2aWNlT3B0aW9uc30gZnJvbSBcIi4vb3B0aW9ucy9vY3RvLXNlcnZpY2Utb3B0aW9uc1wiO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBPY3RvU2VydmljZXNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChvY3RvU2VydmljZU9wdGlvbnM6IE9jdG9TZXJ2aWNlT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8T2N0b1NlcnZpY2VzTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBPY3RvU2VydmljZXNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE9jdG9TZXJ2aWNlT3B0aW9ucyxcbiAgICAgICAgICB1c2VWYWx1ZTogb2N0b1NlcnZpY2VPcHRpb25zXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export class OctoServiceOptions {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N0by1zZXJ2aWNlLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL29jdG8tc2VydmljZXMvc3JjL2xpYi9vcHRpb25zL29jdG8tc2VydmljZS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7Q0FHOUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgT2N0b1NlcnZpY2VPcHRpb25zIHtcbiAgYXNzZXRTZXJ2aWNlczogc3RyaW5nO1xuICBkZWZhdWx0RGF0YVNvdXJjZUlkPzogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,95 @@
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).getClient().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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N0by1ncmFwaC1xbC1zZXJ2aWNlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXNobWFrZXJzL29jdG8tc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlcy9vY3RvLWdyYXBoLXFsLXNlcnZpY2UtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyxZQUFvQixNQUFjLEVBQVUsUUFBa0IsRUFBVSxrQkFBc0M7UUFBMUYsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQzlHLENBQUM7SUFFUyxXQUFXLENBQThCLFFBQWdCLEVBQUUsU0FBb0IsRUFBRSxTQUF1QixFQUFFLFVBQW1CLEVBQUUsQ0FBZ0U7UUFFdk0sTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUssT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUU3QixNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsRUFBVyxDQUFDO1lBRWhELElBQUksTUFBTSxDQUFDLE1BQU0sRUFB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QztJQUVPLGlCQUFpQixDQUFxQixRQUFnQixFQUFFLFNBQW9CLEVBQUUsU0FBdUI7UUFDM0csSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXJDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFVO1lBQ25ELEtBQUssRUFBRSxTQUFTO1lBQ2hCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDbEIsQ0FBQztJQUVPLFlBQVksQ0FBcUIsUUFBZ0IsRUFBRSxTQUFvQixFQUFFLFNBQXVCO1FBQ3RHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVyQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBVTtZQUM5QyxLQUFLLEVBQUUsU0FBUztZQUNoQixTQUFTLEVBQUUsU0FBUztZQUNwQixXQUFXLEVBQUUsY0FBYztTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RvY3VtZW50Tm9kZX0gZnJvbSBcImdyYXBocWxcIjtcbmltcG9ydCB7ZmluYWxpemUsIG1hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQge0Fwb2xsb30gZnJvbSBcImFwb2xsby1hbmd1bGFyXCI7XG5pbXBvcnQge09jdG9TZXJ2aWNlT3B0aW9uc30gZnJvbSBcIi4uL29wdGlvbnMvb2N0by1zZXJ2aWNlLW9wdGlvbnNcIjtcbmltcG9ydCB7UGFnZWRHcmFwaFJlc3VsdER0b30gZnJvbSBcIi4uL21vZGVscy9wYWdlZEdyYXBoUmVzdWx0RHRvXCI7XG5pbXBvcnQge1BhZ2VkUmVzdWx0RHRvfSBmcm9tIFwiQG1lc2htYWtlcnMvc2hhcmVkLXNlcnZpY2VzXCI7XG5pbXBvcnQge0h0dHBMaW5rfSBmcm9tICdhcG9sbG8tYW5ndWxhci9odHRwJztcbmltcG9ydCB7SW5NZW1vcnlDYWNoZX0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBPY3RvR3JhcGhRTFNlcnZpY2VCYXNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwb2xsbzogQXBvbGxvLCBwcml2YXRlIGh0dHBMaW5rOiBIdHRwTGluaywgcHJpdmF0ZSBvY3RvU2VydmljZU9wdGlvbnM6IE9jdG9TZXJ2aWNlT3B0aW9ucykge1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEVudGl0aWVzPFRSZXN1bHQsIFRFbnRpdHksIFRWYXJpYWJsZT4odGVuYW50SWQ6IHN0cmluZywgdmFyaWFibGVzOiBUVmFyaWFibGUsIHF1ZXJ5Tm9kZTogRG9jdW1lbnROb2RlLCB3YXRjaFF1ZXJ5OiBib29sZWFuLCBmOiAocmVzdWx0U2V0OiBQYWdlZFJlc3VsdER0bzxURW50aXR5PiwgcmVzdWx0OiBUUmVzdWx0KSA9PiB2b2lkKSB7XG5cbiAgICBjb25zdCBxdWVyeSA9IHdhdGNoUXVlcnkgPyB0aGlzLnByZXBhcmVXYXRjaFF1ZXJ5PFRSZXN1bHQsIFRWYXJpYWJsZT4odGVuYW50SWQsIHZhcmlhYmxlcywgcXVlcnlOb2RlKSA6IHRoaXMucHJlcGFyZVF1ZXJ5PFRSZXN1bHQsIFRWYXJpYWJsZT4odGVuYW50SWQsIHZhcmlhYmxlcywgcXVlcnlOb2RlKTtcbiAgICByZXR1cm4gcXVlcnkucGlwZShtYXAocmVzdWx0ID0+IHtcblxuICAgICAgY29uc3QgcmVzdWx0U2V0ID0gbmV3IFBhZ2VkUmVzdWx0RHRvPFRFbnRpdHk+KCk7XG5cbiAgICAgIGlmIChyZXN1bHQuZXJyb3JzKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IocmVzdWx0LmVycm9ycyk7XG4gICAgICAgIHRocm93IEVycm9yKFwiRXJyb3IgaW4gR3JhcGhRTCBzdGF0ZW1lbnQuXCIpXG4gICAgICB9IGVsc2UgaWYgKHJlc3VsdC5kYXRhKSB7XG4gICAgICAgIGYocmVzdWx0U2V0LCByZXN1bHQuZGF0YSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0U2V0O1xuICAgIH0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRHcmFwaEVudGl0aWVzPFRSZXN1bHQsIFRQLCBUQywgVFZhcmlhYmxlPih0ZW5hbnRJZDogc3RyaW5nLCB2YXJpYWJsZXM6IFRWYXJpYWJsZSwgcXVlcnlOb2RlOiBEb2N1bWVudE5vZGUsIHdhdGNoUXVlcnk6IGJvb2xlYW4sIGY6IChyZXN1bHRTZXQ6IFBhZ2VkR3JhcGhSZXN1bHREdG88VFAsIFRDPiwgcmVzdWx0OiBUUmVzdWx0KSA9PiB2b2lkKSB7XG5cbiAgICBjb25zdCBxdWVyeSA9IHdhdGNoUXVlcnkgPyB0aGlzLnByZXBhcmVXYXRjaFF1ZXJ5PFRSZXN1bHQsIFRWYXJpYWJsZT4odGVuYW50SWQsIHZhcmlhYmxlcywgcXVlcnlOb2RlKSA6IHRoaXMucHJlcGFyZVF1ZXJ5PFRSZXN1bHQsIFRWYXJpYWJsZT4odGVuYW50SWQsIHZhcmlhYmxlcywgcXVlcnlOb2RlKTtcbiAgICByZXR1cm4gcXVlcnkucGlwZShtYXAocmVzdWx0ID0+IHtcblxuICAgICAgY29uc3QgcmVzdWx0U2V0ID0gbmV3IFBhZ2VkR3JhcGhSZXN1bHREdG88VFAsIFRDPigpO1xuXG4gICAgICBpZiAocmVzdWx0LmVycm9ycykge1xuICAgICAgICBjb25zb2xlLmVycm9yKHJlc3VsdC5lcnJvcnMpO1xuICAgICAgICB0aHJvdyBFcnJvcihcIkVycm9yIGluIEdyYXBoUUwgc3RhdGVtZW50LlwiKVxuICAgICAgfSBlbHNlIGlmIChyZXN1bHQuZGF0YSkge1xuICAgICAgICBmKHJlc3VsdFNldCwgcmVzdWx0LmRhdGEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdFNldDtcbiAgICB9KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RW50aXR5RGV0YWlsPFRSZXN1bHQsIFRFbnRpdHksIFRWYXJpYWJsZT4odGVuYW50SWQ6IHN0cmluZywgdmFyaWFibGVzOiBUVmFyaWFibGUsIHF1ZXJ5Tm9kZTogRG9jdW1lbnROb2RlLCB3YXRjaFF1ZXJ5OiBib29sZWFuLCBmOiAocmVzdWx0OiBUUmVzdWx0KSA9PiBURW50aXR5KSB7XG5cbiAgICBjb25zdCBxdWVyeSA9IHdhdGNoUXVlcnkgPyB0aGlzLnByZXBhcmVXYXRjaFF1ZXJ5PFRSZXN1bHQsIFRWYXJpYWJsZT4odGVuYW50SWQsIHZhcmlhYmxlcywgcXVlcnlOb2RlKSA6IHRoaXMucHJlcGFyZVF1ZXJ5PFRSZXN1bHQsIFRWYXJpYWJsZT4odGVuYW50SWQsIHZhcmlhYmxlcywgcXVlcnlOb2RlKTtcbiAgICByZXR1cm4gcXVlcnkucGlwZShtYXAocmVzdWx0ID0+IHtcblxuICAgICAgaWYgKHJlc3VsdC5lcnJvcnMpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihyZXN1bHQuZXJyb3JzKTtcbiAgICAgICAgdGhyb3cgRXJyb3IoXCJFcnJvciBpbiBHcmFwaFFMIHN0YXRlbWVudC5cIilcbiAgICAgIH0gZWxzZSBpZiAocmVzdWx0LmRhdGEpIHtcbiAgICAgICAgcmV0dXJuIGYocmVzdWx0LmRhdGEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZVVwZGF0ZUVudGl0eTxUUmVzdWx0LCBURW50aXR5LCBUVmFyaWFibGU+KHRlbmFudElkOiBzdHJpbmcsIHZhcmlhYmxlczogVFZhcmlhYmxlLCBxdWVyeU5vZGU6IERvY3VtZW50Tm9kZSwgZjogKHJlc3VsdDogVFJlc3VsdCkgPT4gVEVudGl0eSkge1xuXG4gICAgdGhpcy5jcmVhdGVBcG9sbG9Gb3JUZW5hbnQodGVuYW50SWQpO1xuXG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvLnVzZSh0ZW5hbnRJZCkubXV0YXRlPFRSZXN1bHQ+KHtcbiAgICAgIG11dGF0aW9uOiBxdWVyeU5vZGUsXG4gICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlc1xuICAgIH0pLnBpcGUoXG4gICAgICBtYXAodmFsdWUgPT4gZih2YWx1ZS5kYXRhKSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmFwb2xsby51c2UodGVuYW50SWQpLmNsaWVudC5yZUZldGNoT2JzZXJ2YWJsZVF1ZXJpZXModHJ1ZSkpXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZWxldGVFbnRpdHk8VFJlc3VsdCwgVFZhcmlhYmxlPih0ZW5hbnRJZDogc3RyaW5nLCB2YXJpYWJsZXM6IFRWYXJpYWJsZSwgcXVlcnlOb2RlOiBEb2N1bWVudE5vZGUsIGY6IChyZXN1bHQ6IFRSZXN1bHQpID0+IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNyZWF0ZUFwb2xsb0ZvclRlbmFudCh0ZW5hbnRJZCk7XG5cbiAgICByZXR1cm4gdGhpcy5hcG9sbG8udXNlKHRlbmFudElkKS5tdXRhdGU8VFJlc3VsdD4oe1xuICAgICAgbXV0YXRpb246IHF1ZXJ5Tm9kZSxcbiAgICAgIHZhcmlhYmxlczogdmFyaWFibGVzXG4gICAgfSkucGlwZShcbiAgICAgIG1hcCh2YWx1ZSA9PiBmKHZhbHVlLmRhdGEpKSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuYXBvbGxvLnVzZSh0ZW5hbnRJZCkuZ2V0Q2xpZW50KCkucmVGZXRjaE9ic2VydmFibGVRdWVyaWVzKHRydWUpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUFwb2xsb0ZvclRlbmFudCh0ZW5hbnRJZDogc3RyaW5nKSB7XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmFwb2xsby51c2UodGVuYW50SWQpO1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB1cmkgPSBgJHt0aGlzLm9jdG9TZXJ2aWNlT3B0aW9ucy5hc3NldFNlcnZpY2VzfXRlbmFudHMvJHt0ZW5hbnRJZH0vR3JhcGhRTGA7XG5cbiAgICB0aGlzLmFwb2xsby5jcmVhdGVOYW1lZCh0ZW5hbnRJZCxcbiAgICAgIHtcbiAgICAgICAgbGluazogdGhpcy5odHRwTGluay5jcmVhdGUoe3VyaX0pLFxuICAgICAgICBjYWNoZTogbmV3IEluTWVtb3J5Q2FjaGUoe1xuICAgICAgICAgIGRhdGFJZEZyb21PYmplY3Q6IG8gPT4gPHN0cmluZz5vLnJ0SWRcbiAgICAgICAgfSksXG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlcGFyZVdhdGNoUXVlcnk8VFJlc3VsdCwgVFZhcmlhYmxlPih0ZW5hbnRJZDogc3RyaW5nLCB2YXJpYWJsZXM6IFRWYXJpYWJsZSwgcXVlcnlOb2RlOiBEb2N1bWVudE5vZGUpIHtcbiAgICB0aGlzLmNyZWF0ZUFwb2xsb0ZvclRlbmFudCh0ZW5hbnRJZCk7XG5cbiAgICByZXR1cm4gdGhpcy5hcG9sbG8udXNlKHRlbmFudElkKS53YXRjaFF1ZXJ5PFRSZXN1bHQ+KHtcbiAgICAgIHF1ZXJ5OiBxdWVyeU5vZGUsXG4gICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlc1xuICAgIH0pLnZhbHVlQ2hhbmdlcztcbiAgfVxuXG4gIHByaXZhdGUgcHJlcGFyZVF1ZXJ5PFRSZXN1bHQsIFRWYXJpYWJsZT4odGVuYW50SWQ6IHN0cmluZywgdmFyaWFibGVzOiBUVmFyaWFibGUsIHF1ZXJ5Tm9kZTogRG9jdW1lbnROb2RlKSB7XG4gICAgdGhpcy5jcmVhdGVBcG9sbG9Gb3JUZW5hbnQodGVuYW50SWQpO1xuXG4gICAgcmV0dXJuIHRoaXMuYXBvbGxvLnVzZSh0ZW5hbnRJZCkucXVlcnk8VFJlc3VsdD4oe1xuICAgICAgcXVlcnk6IHF1ZXJ5Tm9kZSxcbiAgICAgIHZhcmlhYmxlczogdmFyaWFibGVzLFxuICAgICAgZmV0Y2hQb2xpY3k6IFwibmV0d29yay1vbmx5XCJcbiAgICB9KTtcbiAgfVxuXG5cbn1cbiJdfQ==
@@ -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", "__typename"];
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhRTC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvb2N0by1zZXJ2aWNlcy9zcmMvbGliL3NoYXJlZC9ncmFwaFFMLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxPQUFPO0lBRVgsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFnQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFjO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgR3JhcGhRTCB7XG5cbiAgcHVibGljIHN0YXRpYyBnZXRDdXJzb3IocG9zaXRpb246IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGJ0b2EoYGFycmF5Y29ubmVjdGlvbjoke3Bvc2l0aW9ufWApO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBvZmZzZXRUb0N1cnNvcihvZmZzZXQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKCFvZmZzZXQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldEN1cnNvcihvZmZzZXQgLSAxKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgR3JhcGhRTENsb25lSWdub3JlZFByb3BlcnRpZXMgPSBbXCJpZFwiLCBcInJ0SWRcIiwgXCJfX3R5cGVuYW1lXCJdO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaG1ha2Vycy1vY3RvLXNlcnZpY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVzaG1ha2Vycy9vY3RvLXNlcnZpY2VzL3NyYy9tZXNobWFrZXJzLW9jdG8tc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ /*
2
+ * Public API Surface of osp-services
3
+ */
4
+ export * from './lib/services/octo-graph-ql-service-base';
5
+ export * from './lib/options/octo-service-options';
6
+ export * from './lib/octo-services.module';
7
+ export * from './lib/models/pagedGraphResultDto';
8
+ export * from './lib/shared/graphQL';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lc2htYWtlcnMvb2N0by1zZXJ2aWNlcy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygb3NwLXNlcnZpY2VzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvb2N0by1ncmFwaC1xbC1zZXJ2aWNlLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvb3B0aW9ucy9vY3RvLXNlcnZpY2Utb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9vY3RvLXNlcnZpY2VzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvcGFnZWRHcmFwaFJlc3VsdER0byc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvZ3JhcGhRTCc7XG4iXX0=
@@ -0,0 +1,151 @@
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
+ }
9
+
10
+ class OctoGraphQLServiceBase {
11
+ constructor(apollo, httpLink, octoServiceOptions) {
12
+ this.apollo = apollo;
13
+ this.httpLink = httpLink;
14
+ this.octoServiceOptions = octoServiceOptions;
15
+ }
16
+ getEntities(tenantId, variables, queryNode, watchQuery, f) {
17
+ const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
18
+ return query.pipe(map(result => {
19
+ const resultSet = new PagedResultDto();
20
+ if (result.errors) {
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 ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
32
+ return query.pipe(map(result => {
33
+ const resultSet = new PagedGraphResultDto();
34
+ if (result.errors) {
35
+ console.error(result.errors);
36
+ throw Error("Error in GraphQL statement.");
37
+ }
38
+ else if (result.data) {
39
+ f(resultSet, result.data);
40
+ }
41
+ return resultSet;
42
+ }));
43
+ }
44
+ getEntityDetail(tenantId, variables, queryNode, watchQuery, f) {
45
+ const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
46
+ return query.pipe(map(result => {
47
+ if (result.errors) {
48
+ console.error(result.errors);
49
+ throw Error("Error in GraphQL statement.");
50
+ }
51
+ else if (result.data) {
52
+ return f(result.data);
53
+ }
54
+ return null;
55
+ }));
56
+ }
57
+ createUpdateEntity(tenantId, variables, queryNode, f) {
58
+ this.createApolloForTenant(tenantId);
59
+ return this.apollo.use(tenantId).mutate({
60
+ mutation: queryNode,
61
+ variables: variables
62
+ }).pipe(map(value => f(value.data)), finalize(() => this.apollo.use(tenantId).client.reFetchObservableQueries(true)));
63
+ }
64
+ deleteEntity(tenantId, variables, queryNode, f) {
65
+ this.createApolloForTenant(tenantId);
66
+ return this.apollo.use(tenantId).mutate({
67
+ mutation: queryNode,
68
+ variables: variables
69
+ }).pipe(map(value => f(value.data)), finalize(() => this.apollo.use(tenantId).getClient().reFetchObservableQueries(true)));
70
+ }
71
+ createApolloForTenant(tenantId) {
72
+ const result = this.apollo.use(tenantId);
73
+ if (result) {
74
+ return;
75
+ }
76
+ const uri = `${this.octoServiceOptions.assetServices}tenants/${tenantId}/GraphQL`;
77
+ this.apollo.createNamed(tenantId, {
78
+ link: this.httpLink.create({ uri }),
79
+ cache: new InMemoryCache({
80
+ dataIdFromObject: o => o.rtId
81
+ }),
82
+ });
83
+ }
84
+ prepareWatchQuery(tenantId, variables, queryNode) {
85
+ this.createApolloForTenant(tenantId);
86
+ return this.apollo.use(tenantId).watchQuery({
87
+ query: queryNode,
88
+ variables: variables
89
+ }).valueChanges;
90
+ }
91
+ prepareQuery(tenantId, variables, queryNode) {
92
+ this.createApolloForTenant(tenantId);
93
+ return this.apollo.use(tenantId).query({
94
+ query: queryNode,
95
+ variables: variables,
96
+ fetchPolicy: "network-only"
97
+ });
98
+ }
99
+ }
100
+
101
+ class OctoServiceOptions {
102
+ }
103
+
104
+ class OctoServicesModule {
105
+ static forRoot(octoServiceOptions) {
106
+ return {
107
+ ngModule: OctoServicesModule,
108
+ providers: [
109
+ {
110
+ provide: OctoServiceOptions,
111
+ useValue: octoServiceOptions
112
+ }
113
+ ]
114
+ };
115
+ }
116
+ }
117
+ OctoServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: OctoServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
118
+ OctoServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: OctoServicesModule });
119
+ OctoServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: OctoServicesModule });
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: OctoServicesModule, decorators: [{
121
+ type: NgModule,
122
+ args: [{
123
+ declarations: [],
124
+ imports: [],
125
+ exports: []
126
+ }]
127
+ }] });
128
+
129
+ class GraphQL {
130
+ static getCursor(position) {
131
+ return btoa(`arrayconnection:${position}`);
132
+ }
133
+ static offsetToCursor(offset) {
134
+ if (!offset) {
135
+ return null;
136
+ }
137
+ return this.getCursor(offset - 1);
138
+ }
139
+ }
140
+ const GraphQLCloneIgnoredProperties = ["id", "rtId", "__typename"];
141
+
142
+ /*
143
+ * Public API Surface of osp-services
144
+ */
145
+
146
+ /**
147
+ * Generated bundle index. Do not edit.
148
+ */
149
+
150
+ export { GraphQL, GraphQLCloneIgnoredProperties, OctoGraphQLServiceBase, OctoServiceOptions, OctoServicesModule, PagedGraphResultDto };
151
+ //# sourceMappingURL=meshmakers-octo-services.mjs.map
@@ -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\n document: P;\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';\n\nexport class OctoGraphQLServiceBase {\n\n constructor(private apollo: Apollo, private httpLink: HttpLink, private octoServiceOptions: OctoServiceOptions) {\n }\n\n protected getEntities<TResult, TEntity, TVariable>(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>(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>(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>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult) => 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>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult) => 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).getClient().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>(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>(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;\n defaultDataSourceId?: string;\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 {\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 osp-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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"}
@@ -0,0 +1,151 @@
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
+ }
9
+
10
+ class OctoGraphQLServiceBase {
11
+ constructor(apollo, httpLink, octoServiceOptions) {
12
+ this.apollo = apollo;
13
+ this.httpLink = httpLink;
14
+ this.octoServiceOptions = octoServiceOptions;
15
+ }
16
+ getEntities(tenantId, variables, queryNode, watchQuery, f) {
17
+ const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
18
+ return query.pipe(map(result => {
19
+ const resultSet = new PagedResultDto();
20
+ if (result.errors) {
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 ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
32
+ return query.pipe(map(result => {
33
+ const resultSet = new PagedGraphResultDto();
34
+ if (result.errors) {
35
+ console.error(result.errors);
36
+ throw Error("Error in GraphQL statement.");
37
+ }
38
+ else if (result.data) {
39
+ f(resultSet, result.data);
40
+ }
41
+ return resultSet;
42
+ }));
43
+ }
44
+ getEntityDetail(tenantId, variables, queryNode, watchQuery, f) {
45
+ const query = watchQuery ? this.prepareWatchQuery(tenantId, variables, queryNode) : this.prepareQuery(tenantId, variables, queryNode);
46
+ return query.pipe(map(result => {
47
+ if (result.errors) {
48
+ console.error(result.errors);
49
+ throw Error("Error in GraphQL statement.");
50
+ }
51
+ else if (result.data) {
52
+ return f(result.data);
53
+ }
54
+ return null;
55
+ }));
56
+ }
57
+ createUpdateEntity(tenantId, variables, queryNode, f) {
58
+ this.createApolloForTenant(tenantId);
59
+ return this.apollo.use(tenantId).mutate({
60
+ mutation: queryNode,
61
+ variables: variables
62
+ }).pipe(map(value => f(value.data)), finalize(() => this.apollo.use(tenantId).client.reFetchObservableQueries(true)));
63
+ }
64
+ deleteEntity(tenantId, variables, queryNode, f) {
65
+ this.createApolloForTenant(tenantId);
66
+ return this.apollo.use(tenantId).mutate({
67
+ mutation: queryNode,
68
+ variables: variables
69
+ }).pipe(map(value => f(value.data)), finalize(() => this.apollo.use(tenantId).getClient().reFetchObservableQueries(true)));
70
+ }
71
+ createApolloForTenant(tenantId) {
72
+ const result = this.apollo.use(tenantId);
73
+ if (result) {
74
+ return;
75
+ }
76
+ const uri = `${this.octoServiceOptions.assetServices}tenants/${tenantId}/GraphQL`;
77
+ this.apollo.createNamed(tenantId, {
78
+ link: this.httpLink.create({ uri }),
79
+ cache: new InMemoryCache({
80
+ dataIdFromObject: o => o.rtId
81
+ }),
82
+ });
83
+ }
84
+ prepareWatchQuery(tenantId, variables, queryNode) {
85
+ this.createApolloForTenant(tenantId);
86
+ return this.apollo.use(tenantId).watchQuery({
87
+ query: queryNode,
88
+ variables: variables
89
+ }).valueChanges;
90
+ }
91
+ prepareQuery(tenantId, variables, queryNode) {
92
+ this.createApolloForTenant(tenantId);
93
+ return this.apollo.use(tenantId).query({
94
+ query: queryNode,
95
+ variables: variables,
96
+ fetchPolicy: "network-only"
97
+ });
98
+ }
99
+ }
100
+
101
+ class OctoServiceOptions {
102
+ }
103
+
104
+ class OctoServicesModule {
105
+ static forRoot(octoServiceOptions) {
106
+ return {
107
+ ngModule: OctoServicesModule,
108
+ providers: [
109
+ {
110
+ provide: OctoServiceOptions,
111
+ useValue: octoServiceOptions
112
+ }
113
+ ]
114
+ };
115
+ }
116
+ }
117
+ OctoServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: OctoServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
118
+ OctoServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: OctoServicesModule });
119
+ OctoServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: OctoServicesModule });
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: OctoServicesModule, decorators: [{
121
+ type: NgModule,
122
+ args: [{
123
+ declarations: [],
124
+ imports: [],
125
+ exports: []
126
+ }]
127
+ }] });
128
+
129
+ class GraphQL {
130
+ static getCursor(position) {
131
+ return btoa(`arrayconnection:${position}`);
132
+ }
133
+ static offsetToCursor(offset) {
134
+ if (!offset) {
135
+ return null;
136
+ }
137
+ return this.getCursor(offset - 1);
138
+ }
139
+ }
140
+ const GraphQLCloneIgnoredProperties = ["id", "rtId", "__typename"];
141
+
142
+ /*
143
+ * Public API Surface of osp-services
144
+ */
145
+
146
+ /**
147
+ * Generated bundle index. Do not edit.
148
+ */
149
+
150
+ export { GraphQL, GraphQLCloneIgnoredProperties, OctoGraphQLServiceBase, OctoServiceOptions, OctoServicesModule, PagedGraphResultDto };
151
+ //# sourceMappingURL=meshmakers-octo-services.mjs.map
@@ -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\n document: P;\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';\n\nexport class OctoGraphQLServiceBase {\n\n constructor(private apollo: Apollo, private httpLink: HttpLink, private octoServiceOptions: OctoServiceOptions) {\n }\n\n protected getEntities<TResult, TEntity, TVariable>(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>(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>(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>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult) => 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>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult) => 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).getClient().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>(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>(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;\n defaultDataSourceId?: string;\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 {\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 osp-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;AAG/D;;MCIY,sBAAsB,CAAA;AAEjC,IAAA,WAAA,CAAoB,MAAc,EAAU,QAAkB,EAAU,kBAAsC,EAAA;QAA1F,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAAU,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;KAC7G;IAES,WAAW,CAA8B,QAAgB,EAAE,SAAoB,EAAE,SAAuB,EAAE,UAAmB,EAAE,CAAgE,EAAA;AAEvM,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,CAA6B,QAAgB,EAAE,SAAoB,EAAE,SAAuB,EAAE,UAAmB,EAAE,CAAoE,EAAA;AAE/M,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,CAA8B,QAAgB,EAAE,SAAoB,EAAE,SAAuB,EAAE,UAAmB,EAAE,CAA+B,EAAA;AAE1K,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,CAA8B,QAAgB,EAAE,SAAoB,EAAE,SAAuB,EAAE,CAA+B,EAAA;AAExJ,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,CAAqB,QAAgB,EAAE,SAAoB,EAAE,SAAuB,EAAE,CAA+B,EAAA;AACzI,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,SAAS,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CACrF,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;AACvB,gBAAA,gBAAgB,EAAE,CAAC,IAAY,CAAC,CAAC,IAAI;aACtC,CAAC;AACH,SAAA,CAAC,CAAC;KACN;AAEO,IAAA,iBAAiB,CAAqB,QAAgB,EAAE,SAAoB,EAAE,SAAuB,EAAA;AAC3G,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,CAAqB,QAAgB,EAAE,SAAoB,EAAE,SAAuB,EAAA;AACtG,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;;MC9HY,kBAAkB,CAAA;AAG9B;;MCMY,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;AACZ,iBAAA,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;;;;"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@meshmakers/octo-services" />
5
+ export * from './public-api';
@@ -0,0 +1,4 @@
1
+ import { PagedResultDto } from "@meshmakers/shared-services";
2
+ export declare class PagedGraphResultDto<P, C> extends PagedResultDto<C> {
3
+ document: P;
4
+ }
@@ -0,0 +1,9 @@
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ import { OctoServiceOptions } from "./options/octo-service-options";
3
+ import * as i0 from "@angular/core";
4
+ export declare class OctoServicesModule {
5
+ static forRoot(octoServiceOptions: OctoServiceOptions): ModuleWithProviders<OctoServicesModule>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<OctoServicesModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<OctoServicesModule, never, never, never>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<OctoServicesModule>;
9
+ }
@@ -0,0 +1,4 @@
1
+ export declare class OctoServiceOptions {
2
+ assetServices: string;
3
+ defaultDataSourceId?: string;
4
+ }
@@ -0,0 +1,20 @@
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
+ import { HttpLink } from 'apollo-angular/http';
7
+ export declare class OctoGraphQLServiceBase {
8
+ private apollo;
9
+ private httpLink;
10
+ private octoServiceOptions;
11
+ constructor(apollo: Apollo, httpLink: HttpLink, octoServiceOptions: OctoServiceOptions);
12
+ protected getEntities<TResult, TEntity, TVariable>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (resultSet: PagedResultDto<TEntity>, result: TResult) => void): import("rxjs").Observable<PagedResultDto<TEntity>>;
13
+ protected getGraphEntities<TResult, TP, TC, TVariable>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (resultSet: PagedGraphResultDto<TP, TC>, result: TResult) => void): import("rxjs").Observable<PagedGraphResultDto<TP, TC>>;
14
+ protected getEntityDetail<TResult, TEntity, TVariable>(tenantId: string, variables: TVariable, queryNode: DocumentNode, watchQuery: boolean, f: (result: TResult) => TEntity): import("rxjs").Observable<TEntity>;
15
+ protected createUpdateEntity<TResult, TEntity, TVariable>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult) => TEntity): import("rxjs").Observable<TEntity>;
16
+ protected deleteEntity<TResult, TVariable>(tenantId: string, variables: TVariable, queryNode: DocumentNode, f: (result: TResult) => boolean): import("rxjs").Observable<boolean>;
17
+ private createApolloForTenant;
18
+ private prepareWatchQuery;
19
+ private prepareQuery;
20
+ }
@@ -0,0 +1,5 @@
1
+ export declare class GraphQL {
2
+ static getCursor(position: number): string;
3
+ static offsetToCursor(offset: number): string;
4
+ }
5
+ export declare const GraphQLCloneIgnoredProperties: string[];
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "@meshmakers/octo-services",
3
+ "version": "0.0.0-0",
4
+ "dependencies": {
5
+ "tslib": "^2.4.0"
6
+ },
7
+ "peerDependencies": {
8
+ "@angular/common": "^14.2.2",
9
+ "@angular/core": "^14.2.2"
10
+ },
11
+ "module": "fesm2015/meshmakers-octo-services.mjs",
12
+ "es2020": "fesm2020/meshmakers-octo-services.mjs",
13
+ "esm2020": "esm2020/meshmakers-octo-services.mjs",
14
+ "fesm2020": "fesm2020/meshmakers-octo-services.mjs",
15
+ "fesm2015": "fesm2015/meshmakers-octo-services.mjs",
16
+ "typings": "index.d.ts",
17
+ "exports": {
18
+ "./package.json": {
19
+ "default": "./package.json"
20
+ },
21
+ ".": {
22
+ "types": "./index.d.ts",
23
+ "esm2020": "./esm2020/meshmakers-octo-services.mjs",
24
+ "es2020": "./fesm2020/meshmakers-octo-services.mjs",
25
+ "es2015": "./fesm2015/meshmakers-octo-services.mjs",
26
+ "node": "./fesm2015/meshmakers-octo-services.mjs",
27
+ "default": "./fesm2020/meshmakers-octo-services.mjs"
28
+ }
29
+ },
30
+ "sideEffects": false
31
+ }
@@ -0,0 +1,5 @@
1
+ export * from './lib/services/octo-graph-ql-service-base';
2
+ export * from './lib/options/octo-service-options';
3
+ export * from './lib/octo-services.module';
4
+ export * from './lib/models/pagedGraphResultDto';
5
+ export * from './lib/shared/graphQL';