@nx-ddd/hasura 19.0.0-preview.13 → 19.0.0-preview.14

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.
Files changed (37) hide show
  1. package/{lib/apollo-multi.service.d.ts → apollo-multi.service.d.ts} +3 -0
  2. package/fesm2022/nx-ddd-hasura.mjs +550 -0
  3. package/fesm2022/nx-ddd-hasura.mjs.map +1 -0
  4. package/{lib/hasura.interceptor.d.ts → hasura.interceptor.d.ts} +3 -0
  5. package/{lib/hasura.repository.d.ts → hasura.repository.d.ts} +3 -0
  6. package/{lib/hasura.service.d.ts → hasura.service.d.ts} +3 -0
  7. package/index.d.ts +8 -1
  8. package/package.json +20 -6
  9. package/README.md +0 -11
  10. package/index.js +0 -5
  11. package/index.js.map +0 -1
  12. package/lib/apollo-multi.service.js +0 -52
  13. package/lib/apollo-multi.service.js.map +0 -1
  14. package/lib/decorators.js +0 -50
  15. package/lib/decorators.js.map +0 -1
  16. package/lib/hasura.config.js +0 -15
  17. package/lib/hasura.config.js.map +0 -1
  18. package/lib/hasura.converter.js +0 -82
  19. package/lib/hasura.converter.js.map +0 -1
  20. package/lib/hasura.di.js +0 -79
  21. package/lib/hasura.di.js.map +0 -1
  22. package/lib/hasura.interceptor.js +0 -24
  23. package/lib/hasura.interceptor.js.map +0 -1
  24. package/lib/hasura.repository.js +0 -261
  25. package/lib/hasura.repository.js.map +0 -1
  26. package/lib/hasura.service.js +0 -49
  27. package/lib/hasura.service.js.map +0 -1
  28. package/lib/index.d.ts +0 -8
  29. package/lib/index.js +0 -12
  30. package/lib/index.js.map +0 -1
  31. package/lib/links.js +0 -23
  32. package/lib/links.js.map +0 -1
  33. /package/{lib/decorators.d.ts → decorators.d.ts} +0 -0
  34. /package/{lib/hasura.config.d.ts → hasura.config.d.ts} +0 -0
  35. /package/{lib/hasura.converter.d.ts → hasura.converter.d.ts} +0 -0
  36. /package/{lib/hasura.di.d.ts → hasura.di.d.ts} +0 -0
  37. /package/{lib/links.d.ts → links.d.ts} +0 -0
@@ -2,6 +2,7 @@ import { FetchResult, OperationVariables } from "@apollo/client/core";
2
2
  import { HasuraConverter } from "./hasura.converter";
3
3
  import { HasuraService } from "./hasura.service";
4
4
  import { Observable } from "rxjs";
5
+ import * as i0 from "@angular/core";
5
6
  export declare function makeSubscription(query: any): {
6
7
  kind: any;
7
8
  definitions: any;
@@ -37,4 +38,6 @@ export declare abstract class HasuraRepository<E extends {
37
38
  id: string;
38
39
  }[]): Promise<number>;
39
40
  deleteAll(): Promise<FetchResult<any>>;
41
+ static ɵfac: i0.ɵɵFactoryDeclaration<HasuraRepository<any>, never>;
42
+ static ɵprov: i0.ɵɵInjectableDeclaration<HasuraRepository<any>>;
40
43
  }
@@ -2,6 +2,7 @@ import { Apollo } from "apollo-angular";
2
2
  import { ApolloClient } from "@apollo/client/core";
3
3
  import { Observable } from "rxjs";
4
4
  import { ApolloMultiService } from "./apollo-multi.service";
5
+ import * as i0 from "@angular/core";
5
6
  export declare class HasuraService {
6
7
  private http;
7
8
  readonly apollo: Apollo;
@@ -15,4 +16,6 @@ export declare class HasuraService {
15
16
  }): Observable<T>;
16
17
  post<T>(endpoint: string, body: object): Observable<T>;
17
18
  delete<T>(endpoint: string): Observable<T>;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<HasuraService, never>;
20
+ static ɵprov: i0.ɵɵInjectableDeclaration<HasuraService>;
18
21
  }
package/index.d.ts CHANGED
@@ -1 +1,8 @@
1
- export * from './lib';
1
+ export * from './apollo-multi.service';
2
+ export * from './decorators';
3
+ export * from './hasura.config';
4
+ export * from './hasura.converter';
5
+ export * from './hasura.di';
6
+ export * from './hasura.interceptor';
7
+ export * from './hasura.repository';
8
+ export * from './hasura.service';
package/package.json CHANGED
@@ -1,9 +1,23 @@
1
1
  {
2
2
  "name": "@nx-ddd/hasura",
3
- "version": "19.0.0-preview.13",
4
- "dependencies": {},
5
- "peerDependencies": {},
6
- "types": "./index.d.ts",
7
- "main": "./index.js",
8
- "type": "commonjs"
3
+ "version": "19.0.0-preview.14",
4
+ "license": "MIT",
5
+ "peerDependencies": {
6
+ "@nx-ddd/core": "19.0.0-preview.14"
7
+ },
8
+ "dependencies": {
9
+ "tslib": "^2.3.0"
10
+ },
11
+ "module": "fesm2022/nx-ddd-hasura.mjs",
12
+ "typings": "index.d.ts",
13
+ "exports": {
14
+ "./package.json": {
15
+ "default": "./package.json"
16
+ },
17
+ ".": {
18
+ "types": "./index.d.ts",
19
+ "default": "./fesm2022/nx-ddd-hasura.mjs"
20
+ }
21
+ },
22
+ "sideEffects": false
9
23
  }
package/README.md DELETED
@@ -1,11 +0,0 @@
1
- # hasura
2
-
3
- This library was generated with [Nx](https://nx.dev).
4
-
5
- ## Building
6
-
7
- Run `nx build hasura` to build the library.
8
-
9
- ## Running unit tests
10
-
11
- Run `nx test hasura` to execute the unit tests via [Jest](https://jestjs.io).
package/index.js DELETED
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./lib"), exports);
5
- //# sourceMappingURL=index.js.map
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/@nx-ddd/hasura/src/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB"}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GET_APOLLO_CLIENT = exports.ApolloMultiService = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@angular/core");
6
- const apollo_angular_1 = require("apollo-angular");
7
- const http_1 = require("apollo-angular/http");
8
- const cache_1 = require("@apollo/client/cache");
9
- const context_1 = require("@apollo/client/link/context");
10
- const core_2 = require("@apollo/client/core");
11
- const utilities_1 = require("@apollo/client/utilities");
12
- const core_3 = require("@nx-ddd/core");
13
- const links_1 = require("./links");
14
- function isSubscription(query) {
15
- const definition = (0, utilities_1.getMainDefinition)(query);
16
- return (definition.kind === 'OperationDefinition' &&
17
- definition.operation === 'subscription');
18
- }
19
- let ApolloMultiService = class ApolloMultiService {
20
- constructor() {
21
- this.apollo = (0, core_1.inject)(apollo_angular_1.Apollo);
22
- this.httpLink = (0, core_1.inject)(http_1.HttpLink);
23
- }
24
- createClient(name, baseUrl, getHeaders) {
25
- const wsLink = (0, links_1.buildWebsocketLink)(baseUrl, getHeaders);
26
- const link = (0, core_2.split)(({ query }) => isSubscription(query), wsLink, core_2.ApolloLink.from([
27
- (0, context_1.setContext)(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
28
- const headers = yield (0, links_1.resolve)(getHeaders);
29
- return { headers };
30
- })),
31
- this.httpLink.create({ uri: baseUrl, }),
32
- ]));
33
- this.apollo.removeClient(name);
34
- this.apollo.createNamed(name, { link, cache: new cache_1.InMemoryCache() });
35
- }
36
- getClient(endpoint, getHeaders) {
37
- const name = endpoint;
38
- let client = this.apollo.use(name);
39
- console.debug('[ApolloMultiService] getClient:', name);
40
- if (!client) {
41
- this.createClient(name, endpoint, getHeaders);
42
- client = this.apollo.use(name);
43
- }
44
- return client;
45
- }
46
- };
47
- exports.ApolloMultiService = ApolloMultiService;
48
- exports.ApolloMultiService = ApolloMultiService = tslib_1.__decorate([
49
- (0, core_1.Injectable)({ providedIn: 'root' })
50
- ], ApolloMultiService);
51
- exports.GET_APOLLO_CLIENT = (0, core_3.makeDI)('GET_APOLLO_CLIENT');
52
- //# sourceMappingURL=apollo-multi.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apollo-multi.service.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/apollo-multi.service.ts"],"names":[],"mappings":";;;;AAAA,wCAAmD;AACnD,mDAAoD;AAEpD,8CAA+C;AAC/C,gDAAqD;AACrD,yDAAyD;AACzD,8CAAoF;AACpF,wDAA6D;AAC7D,uCAAsC;AAEtC,mCAAkE;AAElE,SAAS,cAAc,CAAC,KAAmB;IACzC,MAAM,UAAU,GAAG,IAAA,6BAAiB,EAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,CACL,UAAU,CAAC,IAAI,KAAK,qBAAqB;QACzC,UAAU,CAAC,SAAS,KAAK,cAAc,CACxC,CAAC;AACJ,CAAC;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAAxB;QACI,WAAM,GAAG,IAAA,aAAM,EAAC,uBAAM,CAAC,CAAC;QACxB,aAAQ,GAAG,IAAA,aAAM,EAAC,eAAQ,CAAC,CAAC;IA8BvC,CAAC;IA5BW,YAAY,CAAC,IAAY,EAAE,OAAe,EAAE,UAAsB;QAC1E,MAAM,MAAM,GAAG,IAAA,0BAAkB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAA,YAAK,EAChB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EACpC,MAAM,EACN,iBAAU,CAAC,IAAI,CAAC;YACd,IAAA,oBAAU,EAAC,GAAS,EAAE;gBACpB,MAAM,OAAO,GAAG,MAAM,IAAA,eAAO,EAAC,UAAU,CAAC,CAAC;gBAC1C,OAAO,EAAE,OAAO,EAAE,CAAA;YACpB,CAAC,CAAA,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,CAAC;SACxC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,qBAAa,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,SAAS,CAAC,QAAgB,EAAE,UAAsB;QAChD,MAAM,IAAI,GAAG,QAAQ,CAAC;QACtB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9C,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAhCY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,iBAAU,EAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;GACpB,kBAAkB,CAgC9B;AAIY,QAAA,iBAAiB,GAAG,IAAA,aAAM,EAAuB,mBAAmB,CAAC,CAAC"}
package/lib/decorators.js DELETED
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Hasura = void 0;
4
- exports.getFlattenFieldAnnotations = getFlattenFieldAnnotations;
5
- exports.getFields = getFields;
6
- const core_1 = require("@nx-ddd/core");
7
- const lodash_es_1 = require("lodash-es");
8
- const { createDecorator, getAnnotations, } = (0, core_1.makeDecoratorFactories)((type, fieldName, propName, options) => ({ type, fieldName, propName, childType: options.childType }), '[@nx-ddd/hasura] annotations');
9
- function getFlattenFieldAnnotations(T, prefix = '') {
10
- const annotations = exports.Hasura.getAnnotations(T);
11
- return (annotations !== null && annotations !== void 0 ? annotations : []).reduce((acc, annotation) => {
12
- const currentKey = prefix ? (0, lodash_es_1.camelCase)(`${prefix}_${annotation.fieldName}`) : annotation.fieldName;
13
- if (annotation.childType) {
14
- return Object.assign(Object.assign({}, acc), getFlattenFieldAnnotations(annotation.childType(), currentKey));
15
- }
16
- return Object.assign(Object.assign({}, acc), { [currentKey]: annotation });
17
- }, {});
18
- }
19
- function getFields(T, options = {
20
- prefix: '',
21
- case: 'snake'
22
- }) {
23
- const annotations = exports.Hasura.getAnnotations(T);
24
- const changeCase = (options === null || options === void 0 ? void 0 : options.case) === 'snake' ? lodash_es_1.snakeCase : lodash_es_1.camelCase;
25
- const fields = (annotations !== null && annotations !== void 0 ? annotations : []).flatMap((annotation) => {
26
- const currentKey = changeCase((options === null || options === void 0 ? void 0 : options.prefix) ? `${options === null || options === void 0 ? void 0 : options.prefix}_${annotation.fieldName}` : annotation.fieldName);
27
- if (annotation.childType) {
28
- return [
29
- ...getFields(annotation.childType(), {
30
- prefix: currentKey,
31
- case: options === null || options === void 0 ? void 0 : options.case,
32
- })
33
- ];
34
- }
35
- return [currentKey];
36
- });
37
- return fields;
38
- }
39
- exports.Hasura = {
40
- Text: createDecorator('text'),
41
- Timestamp: createDecorator('timestamp'),
42
- Date: createDecorator('date'),
43
- Integer: createDecorator('integer'),
44
- Numeric: createDecorator('numeric'),
45
- Boolean: createDecorator('boolean'),
46
- Map: (childType) => createDecorator('map', { childType })(),
47
- JSON: createDecorator('json'),
48
- getAnnotations,
49
- };
50
- //# sourceMappingURL=decorators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HASURA_CONFIG = void 0;
4
- exports.provideHasuraConfig = provideHasuraConfig;
5
- const http_1 = require("@angular/common/http");
6
- const core_1 = require("@angular/core");
7
- const hasura_interceptor_1 = require("./hasura.interceptor");
8
- exports.HASURA_CONFIG = new core_1.InjectionToken('HASURA_CONFIG');
9
- function provideHasuraConfig(config) {
10
- return [
11
- { provide: exports.HASURA_CONFIG, useValue: config },
12
- config.adminSecret ? { provide: http_1.HTTP_INTERCEPTORS, useClass: hasura_interceptor_1.HasuraInterceptor, multi: true } : [],
13
- ];
14
- }
15
- //# sourceMappingURL=hasura.config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hasura.config.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/hasura.config.ts"],"names":[],"mappings":";;;AAYA,kDAKC;AAjBD,+CAAyD;AACzD,wCAA+C;AAE/C,6DAAyD;AAO5C,QAAA,aAAa,GAAG,IAAI,qBAAc,CAAe,eAAe,CAAC,CAAC;AAE/E,SAAgB,mBAAmB,CAAC,MAAoB;IACtD,OAAO;QACL,EAAE,OAAO,EAAE,qBAAa,EAAE,QAAQ,EAAE,MAAM,EAAE;QAC5C,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,wBAAiB,EAAE,QAAQ,EAAE,sCAAiB,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,EAAE;KAClG,CAAC;AACJ,CAAC"}
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HasuraUtils = void 0;
4
- exports.deepCamelToSnakeCase = deepCamelToSnakeCase;
5
- exports.deepSnakeToCamelCase = deepSnakeToCamelCase;
6
- exports.fromHasura = fromHasura;
7
- exports.toHasura = toHasura;
8
- exports.makeConverter = makeConverter;
9
- const tslib_1 = require("tslib");
10
- const decorators_1 = require("./decorators");
11
- const lodash_es_1 = require("lodash-es");
12
- const core_1 = require("@nx-ddd/core");
13
- const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
14
- function deepCamelToSnakeCase(obj) {
15
- if (Array.isArray(obj)) {
16
- return obj.map(deepCamelToSnakeCase);
17
- }
18
- else if ((0, lodash_es_1.isObject)(obj)) {
19
- return (0, lodash_es_1.mapKeys)((0, lodash_es_1.mapValues)(obj, deepCamelToSnakeCase), (_, key) => (0, lodash_es_1.snakeCase)(key));
20
- }
21
- return obj;
22
- }
23
- function deepSnakeToCamelCase(obj) {
24
- if (Array.isArray(obj)) {
25
- return obj.map(deepSnakeToCamelCase);
26
- }
27
- else if ((0, lodash_es_1.isObject)(obj)) {
28
- return (0, lodash_es_1.mapKeys)((0, lodash_es_1.mapValues)(obj, deepSnakeToCamelCase), (_, key) => key.replace(/_([a-z])/g, (g) => g[1].toUpperCase()));
29
- }
30
- return obj;
31
- }
32
- function fromHasura(_object, type) {
33
- return HasuraUtils.fromHasura(_object, type);
34
- }
35
- function toHasura(object, type, { extraFunc = deepCamelToSnakeCase } = {}) {
36
- return HasuraUtils.toHasura(object, type, { extraFunc });
37
- }
38
- function makeConverter(type) {
39
- return {
40
- toHasura(entity) {
41
- return toHasura(entity, type);
42
- },
43
- toHasuraMany(entities) {
44
- return entities.map((entity) => this.toHasura(entity));
45
- },
46
- fromHasura(entity) {
47
- return fromHasura(entity, type);
48
- },
49
- fromHasuraMany(entities) {
50
- return entities.map((entity) => this.fromHasura(entity));
51
- },
52
- };
53
- }
54
- class HasuraUtils {
55
- static toTimestamp(date) {
56
- if (!dayjs_1.default.isDayjs(date))
57
- return null;
58
- return date.toISOString();
59
- }
60
- static fromHasura(_object, type) {
61
- const object = deepSnakeToCamelCase(_object);
62
- return (0, core_1.plainToInstanceWithValid)(type, object);
63
- }
64
- static toHasura(object, type, { extraFunc = deepCamelToSnakeCase } = {}) {
65
- const fields = (0, decorators_1.getFlattenFieldAnnotations)(type);
66
- const obj = Object.entries(fields).reduce((acc, [key, annotation]) => {
67
- const value = (0, lodash_es_1.get)(object, annotation.fieldName);
68
- switch (annotation.type) {
69
- case 'text': return Object.assign(Object.assign({}, acc), { [key]: value });
70
- case 'timestamp': return Object.assign(Object.assign({}, acc), { [key]: this.toTimestamp(value) });
71
- case 'numeric': return Object.assign(Object.assign({}, acc), { [key]: isNaN(Number(value)) ? null : Number(value) });
72
- case 'integer': return Object.assign(Object.assign({}, acc), { [key]: isNaN(Number(value)) ? null : Number(value) });
73
- case 'json': return Object.assign(Object.assign({}, acc), { [key]: value });
74
- case 'map': return Object.assign({}, acc);
75
- default: return Object.assign(Object.assign({}, acc), { [key]: value });
76
- }
77
- }, {});
78
- return extraFunc(obj);
79
- }
80
- }
81
- exports.HasuraUtils = HasuraUtils;
82
- //# sourceMappingURL=hasura.converter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hasura.converter.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/hasura.converter.ts"],"names":[],"mappings":"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"}
package/lib/hasura.di.js DELETED
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IsDayjs = exports.TransformToDayjs = void 0;
4
- exports.provideHttpLink = provideHttpLink;
5
- exports.provideHasuraAuthorization = provideHasuraAuthorization;
6
- exports.provideGraphqlHeaders = provideGraphqlHeaders;
7
- exports.provideWebsocketLink = provideWebsocketLink;
8
- exports.provideApolloOptions = provideApolloOptions;
9
- exports.provideHasura = provideHasura;
10
- exports.provideHasuraWithWebSocket = provideHasuraWithWebSocket;
11
- var domain_1 = require("@nx-ddd/common/domain");
12
- Object.defineProperty(exports, "TransformToDayjs", { enumerable: true, get: function () { return domain_1.TransformToDayjs; } });
13
- var class_validator_extended_1 = require("class-validator-extended");
14
- Object.defineProperty(exports, "IsDayjs", { enumerable: true, get: function () { return class_validator_extended_1.IsDayjs; } });
15
- const core_1 = require("@angular/core");
16
- const core_2 = require("@apollo/client/core");
17
- const apollo_angular_1 = require("apollo-angular");
18
- const hasura_config_1 = require("./hasura.config");
19
- const links_1 = require("./links");
20
- function provideHttpLink() {
21
- return {
22
- provide: core_2.ApolloLink,
23
- useFactory: (config) => new core_2.HttpLink({
24
- uri: config.url,
25
- headers: (config === null || config === void 0 ? void 0 : config.adminSecret) && { 'x-hasura-admin-secret': config.adminSecret },
26
- }),
27
- deps: [hasura_config_1.HASURA_CONFIG],
28
- };
29
- }
30
- const HASURA_AUTHORIZATION = new core_1.InjectionToken('HASURA_AUTHORIZATION');
31
- function provideHasuraAuthorization(useFactory) {
32
- return {
33
- provide: HASURA_AUTHORIZATION,
34
- useFactory,
35
- };
36
- }
37
- const GRAPHQL_HEADERS = new core_1.InjectionToken('GRAPHQL_HEADERS', {
38
- providedIn: 'root',
39
- factory: () => () => ({}),
40
- });
41
- function provideGraphqlHeaders(useFactory) {
42
- return [
43
- { provide: GRAPHQL_HEADERS, useFactory },
44
- ];
45
- }
46
- function provideWebsocketLink() {
47
- return {
48
- provide: core_2.ApolloLink,
49
- useFactory: () => {
50
- const config = (0, core_1.inject)(hasura_config_1.HASURA_CONFIG);
51
- const _getHeaders = (0, core_1.inject)(GRAPHQL_HEADERS);
52
- return (0, links_1.buildWebsocketLink)(config.url, _getHeaders);
53
- },
54
- };
55
- }
56
- function provideApolloOptions() {
57
- return {
58
- provide: apollo_angular_1.APOLLO_OPTIONS,
59
- useFactory: (link) => ({ cache: new core_2.InMemoryCache(), link }),
60
- deps: [core_2.ApolloLink],
61
- };
62
- }
63
- function provideHasura(config) {
64
- return [
65
- (0, core_1.importProvidersFrom)(apollo_angular_1.ApolloModule),
66
- (0, hasura_config_1.provideHasuraConfig)(config),
67
- provideApolloOptions(),
68
- provideHttpLink(),
69
- ];
70
- }
71
- function provideHasuraWithWebSocket(config) {
72
- return [
73
- (0, core_1.importProvidersFrom)(apollo_angular_1.ApolloModule),
74
- (0, hasura_config_1.provideHasuraConfig)(config),
75
- provideApolloOptions(),
76
- provideWebsocketLink(),
77
- ];
78
- }
79
- //# sourceMappingURL=hasura.di.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hasura.di.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/hasura.di.ts"],"names":[],"mappings":";;;AAUA,0CASC;AAMD,gEAKC;AASD,sDAMC;AAED,oDASC;AAED,oDAMC;AAED,sCAOC;AAED,gEAOC;AAjFD,gDAAyD;AAAhD,0GAAA,gBAAgB,OAAA;AACzB,qEAAmD;AAA1C,mHAAA,OAAO,OAAA;AAChB,wCAA4G;AAC5G,8CAA0E;AAC1E,mDAA8D;AAC9D,mDAAmF;AACnF,mCAAyD;AAGzD,SAAgB,eAAe;IAC7B,OAAO;QACL,OAAO,EAAE,iBAAU;QACnB,UAAU,EAAE,CAAC,MAAoB,EAAE,EAAE,CAAC,IAAI,eAAQ,CAAC;YACjD,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,KAAI,EAAE,uBAAuB,EAAE,MAAM,CAAC,WAAW,EAAE;SAChF,CAAC;QACF,IAAI,EAAE,CAAC,6BAAa,CAAC;KACtB,CAAC;AACJ,CAAC;AAID,MAAM,oBAAoB,GAAG,IAAI,qBAAc,CAAsB,sBAAsB,CAAC,CAAC;AAE7F,SAAgB,0BAA0B,CAAC,UAAqC;IAC9E,OAAO;QACL,OAAO,EAAE,oBAAoB;QAC7B,UAAU;KACX,CAAC;AACJ,CAAC;AAID,MAAM,eAAe,GAAG,IAAI,qBAAc,CAAa,iBAAiB,EAAE;IACxE,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;CAC1B,CAAC,CAAC;AAEH,SAAgB,qBAAqB,CACnC,UAAmE;IAEnE,OAAO;QACL,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE;KACzC,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB;IAClC,OAAO;QACL,OAAO,EAAE,iBAAU;QACnB,UAAU,EAAE,GAAG,EAAE;YACf,MAAM,MAAM,GAAG,IAAA,aAAM,EAAC,6BAAa,CAAC,CAAC;YACrC,MAAM,WAAW,GAAG,IAAA,aAAM,EAAC,eAAe,CAAC,CAAC;YAC5C,OAAO,IAAA,0BAAkB,EAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB;IAClC,OAAO;QACL,OAAO,EAAE,+BAAc;QACvB,UAAU,EAAE,CAAC,IAAgB,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,oBAAa,EAAE,EAAE,IAAI,EAAE,CAAC;QACxE,IAAI,EAAE,CAAC,iBAAU,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,MAAoB;IAChD,OAAO;QACL,IAAA,0BAAmB,EAAC,6BAAY,CAAC;QACjC,IAAA,mCAAmB,EAAC,MAAM,CAAC;QAC3B,oBAAoB,EAAE;QACtB,eAAe,EAAE;KAClB,CAAA;AACH,CAAC;AAED,SAAgB,0BAA0B,CAAC,MAAoB;IAC7D,OAAO;QACL,IAAA,0BAAmB,EAAC,6BAAY,CAAC;QACjC,IAAA,mCAAmB,EAAC,MAAM,CAAC;QAC3B,oBAAoB,EAAE;QACtB,oBAAoB,EAAE;KACvB,CAAA;AACH,CAAC"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HasuraInterceptor = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@angular/core");
6
- const hasura_config_1 = require("./hasura.config");
7
- let HasuraInterceptor = class HasuraInterceptor {
8
- constructor() {
9
- this.config = (0, core_1.inject)(hasura_config_1.HASURA_CONFIG);
10
- }
11
- intercept(req, next) {
12
- if (req.url.startsWith(this.config.url)) {
13
- return next.handle(req.clone({
14
- headers: req.headers.set('x-hasura-admin-secret', this.config.adminSecret),
15
- }));
16
- }
17
- return next.handle(req);
18
- }
19
- };
20
- exports.HasuraInterceptor = HasuraInterceptor;
21
- exports.HasuraInterceptor = HasuraInterceptor = tslib_1.__decorate([
22
- (0, core_1.Injectable)()
23
- ], HasuraInterceptor);
24
- //# sourceMappingURL=hasura.interceptor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hasura.interceptor.js","sourceRoot":"","sources":["../../../../../packages/@nx-ddd/hasura/src/lib/hasura.interceptor.ts"],"names":[],"mappings":";;;;AACA,wCAAmD;AAEnD,mDAAgD;AAGzC,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAAvB;QACG,WAAM,GAAG,IAAA,aAAM,EAAC,6BAAa,CAAC,CAAC;IAUzC,CAAC;IARC,SAAS,CAAC,GAAqB,EAAE,IAAiB;QAChD,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC3B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;aAC3E,CAAC,CAAC,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;CACF,CAAA;AAXY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,iBAAU,GAAE;GACA,iBAAiB,CAW7B"}