@nx-ddd/hasura 19.0.0-preview.29 → 19.0.0-preview.6

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 (53) hide show
  1. package/README.md +11 -0
  2. package/package.json +6 -20
  3. package/src/index.d.ts +1 -0
  4. package/src/index.js +5 -0
  5. package/src/index.js.map +1 -0
  6. package/{apollo-multi.service.d.ts → src/lib/apollo-multi.service.d.ts} +8 -4
  7. package/src/lib/apollo-multi.service.js +52 -0
  8. package/src/lib/apollo-multi.service.js.map +1 -0
  9. package/src/lib/decorators.js +50 -0
  10. package/src/lib/decorators.js.map +1 -0
  11. package/src/lib/hasura.config.js +15 -0
  12. package/src/lib/hasura.config.js.map +1 -0
  13. package/src/lib/hasura.converter.d.ts +24 -0
  14. package/src/lib/hasura.converter.js +82 -0
  15. package/src/lib/hasura.converter.js.map +1 -0
  16. package/{hasura.di.d.ts → src/lib/hasura.di.d.ts} +2 -2
  17. package/src/lib/hasura.di.js +79 -0
  18. package/src/lib/hasura.di.js.map +1 -0
  19. package/{hasura.interceptor.d.ts → src/lib/hasura.interceptor.d.ts} +0 -3
  20. package/src/lib/hasura.interceptor.js +24 -0
  21. package/src/lib/hasura.interceptor.js.map +1 -0
  22. package/src/lib/hasura.repository.d.ts +40 -0
  23. package/src/lib/hasura.repository.js +261 -0
  24. package/src/lib/hasura.repository.js.map +1 -0
  25. package/src/lib/hasura.service.d.ts +18 -0
  26. package/src/lib/hasura.service.js +49 -0
  27. package/src/lib/hasura.service.js.map +1 -0
  28. package/{index.d.ts → src/lib/index.d.ts} +0 -1
  29. package/src/lib/index.js +12 -0
  30. package/src/lib/index.js.map +1 -0
  31. package/src/lib/links.js +23 -0
  32. package/src/lib/links.js.map +1 -0
  33. package/builders/index.d.ts +0 -2
  34. package/builders/parts/_meta/graphql-query-part.d.ts +0 -12
  35. package/builders/parts/mutations/create.builder.d.ts +0 -13
  36. package/builders/parts/mutations/delete.builder.d.ts +0 -12
  37. package/builders/parts/mutations/index.d.ts +0 -5
  38. package/builders/parts/mutations/mutations.builder.d.ts +0 -14
  39. package/builders/parts/mutations/save.builder.d.ts +0 -21
  40. package/builders/parts/mutations/update.builder.d.ts +0 -13
  41. package/builders/parts/parts.builder.d.ts +0 -10
  42. package/builders/parts/queries/get.builder.d.ts +0 -9
  43. package/builders/parts/queries/index.d.ts +0 -2
  44. package/builders/parts/queries/queries.builder.d.ts +0 -16
  45. package/builders/query-builder.d.ts +0 -15
  46. package/fesm2022/nx-ddd-hasura.mjs +0 -707
  47. package/fesm2022/nx-ddd-hasura.mjs.map +0 -1
  48. package/hasura.converter.d.ts +0 -37
  49. package/hasura.repository.d.ts +0 -40
  50. package/hasura.service.d.ts +0 -32
  51. /package/{decorators.d.ts → src/lib/decorators.d.ts} +0 -0
  52. /package/{hasura.config.d.ts → src/lib/hasura.config.d.ts} +0 -0
  53. /package/{links.d.ts → src/lib/links.d.ts} +0 -0
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HasuraRepository = void 0;
4
+ exports.makeSubscription = makeSubscription;
5
+ const tslib_1 = require("tslib");
6
+ const core_1 = require("@angular/core");
7
+ const core_2 = require("@apollo/client/core");
8
+ const hasura_service_1 = require("./hasura.service");
9
+ const lodash_es_1 = require("lodash-es");
10
+ const rxjs_1 = require("rxjs");
11
+ function makeSubscription(query) {
12
+ const { kind, definitions } = query;
13
+ const subscriptionDefinitions = definitions.map((definition) => {
14
+ if (definition.kind === 'OperationDefinition' && definition.operation === 'query') {
15
+ return Object.assign(Object.assign({}, definition), { operation: 'subscription' });
16
+ }
17
+ return definition;
18
+ });
19
+ return { kind, definitions: subscriptionDefinitions };
20
+ }
21
+ ;
22
+ let HasuraRepository = class HasuraRepository {
23
+ constructor() {
24
+ this.hasura = (0, core_1.inject)(hasura_service_1.HasuraService);
25
+ }
26
+ subscribe({ query, variables }) {
27
+ return this.hasura.getApolloClient().pipe((0, rxjs_1.switchMap)((client) => client.subscribe({
28
+ query: makeSubscription(query),
29
+ variables: variables,
30
+ })));
31
+ }
32
+ get pkey() {
33
+ return `${this.tableName}_pkey`;
34
+ }
35
+ get(params) {
36
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
37
+ const queryName = `${this.tableName}_by_pk`;
38
+ return (0, rxjs_1.lastValueFrom)(this.hasura.getApolloClient()).then((client) => client.query({
39
+ query: (0, core_2.gql) `query get($id: String!) {
40
+ ${queryName}(id: $id) {
41
+ ${this.updateColumns.join(' ')}
42
+ }
43
+ }`,
44
+ variables: params,
45
+ })).then((res => res.data[queryName])).then(data => data ? this.converter.fromHasura(data) : data);
46
+ });
47
+ }
48
+ get listQuery() {
49
+ return `query list {
50
+ ${this.tableName} {
51
+ ${this.updateColumns.join(' ')}
52
+ }
53
+ }`;
54
+ }
55
+ list() {
56
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
57
+ const client = yield (0, rxjs_1.lastValueFrom)(this.hasura.getApolloClient());
58
+ return client.query({
59
+ query: (0, core_2.gql) `${this.listQuery}`,
60
+ }).then(res => this.converter.fromHasuraMany(res.data[this.tableName]));
61
+ });
62
+ }
63
+ listChanges() {
64
+ return this.subscribe({
65
+ query: (0, core_2.gql) `${this.listQuery}`,
66
+ variables: {},
67
+ }).pipe((0, rxjs_1.map)(res => this.converter.fromHasuraMany(res.data[this.tableName])));
68
+ }
69
+ create(data) {
70
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
71
+ const mutationName = `insert_${this.tableName}`;
72
+ const mutation = (0, core_2.gql) `mutation create($object: ${this.tableName}_insert_input!) {
73
+ ${mutationName}(objects: [$object]) {
74
+ affected_rows
75
+ returning {
76
+ ${this.updateColumns.join(' ')}
77
+ }
78
+ }
79
+ }`;
80
+ const object = (0, lodash_es_1.omitBy)((0, lodash_es_1.omit)(this.converter.toHasura(data), ['createdAt', 'updatedAt', 'created_at', 'updated_at']), value => typeof value === 'undefined');
81
+ const client = yield (0, rxjs_1.lastValueFrom)(this.hasura.getApolloClient());
82
+ return client.mutate({
83
+ mutation,
84
+ variables: { object },
85
+ }).then(result => {
86
+ return this.converter.fromHasura(result.data[mutationName].returning[0]);
87
+ }).catch(error => {
88
+ console.error(error.graphQLErrors);
89
+ throw error;
90
+ });
91
+ });
92
+ }
93
+ createMany(data) {
94
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
95
+ const mutationName = `insert_${this.tableName}`;
96
+ const objects = data.map((item) => this.converter.toHasura(item));
97
+ const mutation = (0, core_2.gql) `
98
+ mutation createMany($objects: [${this.tableName}_insert_input!]!) {
99
+ ${mutationName}(objects: $objects) {
100
+ returning {
101
+ ${this.updateColumns.join(" ")}
102
+ }
103
+ }
104
+ }
105
+ `;
106
+ const client = yield (0, rxjs_1.lastValueFrom)(this.hasura.getApolloClient());
107
+ return client.mutate({
108
+ mutation,
109
+ variables: { objects },
110
+ }).then((result) => this.converter.fromHasuraMany(result.data[mutationName].returning)).catch((error) => {
111
+ console.error(error.graphQLErrors);
112
+ throw error;
113
+ });
114
+ });
115
+ }
116
+ update(data) {
117
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
118
+ const mutation = (0, core_2.gql) `mutation update($id: String!, $object: ${this.tableName}_set_input!) {
119
+ update_${this.tableName}(where: {id: {_eq: $id}}, _set: $object) { affected_rows }
120
+ }`;
121
+ const fields = Object.keys(data).map(lodash_es_1.snakeCase);
122
+ const object = (0, lodash_es_1.omitBy)((0, lodash_es_1.omit)((0, lodash_es_1.pick)(this.converter.toHasura(data), fields), ['createdAt', 'updatedAt', 'created_at', 'updated_at']), value => typeof value === 'undefined');
123
+ const client = yield (0, rxjs_1.lastValueFrom)(this.hasura.getApolloClient());
124
+ console.debug('[Hasura Repository] update:', object);
125
+ return client.mutate({
126
+ mutation,
127
+ variables: {
128
+ id: data.id,
129
+ object,
130
+ },
131
+ }).catch(error => {
132
+ console.error(error.graphQLErrors);
133
+ throw error;
134
+ });
135
+ });
136
+ }
137
+ updateMany(data) {
138
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
139
+ const mutationName = `update_${this.tableName}_many`;
140
+ const objects = data.map((item) => {
141
+ const fields = Object.keys(item).map(lodash_es_1.snakeCase);
142
+ const object = (0, lodash_es_1.pick)(this.converter.toHasura(item), fields);
143
+ return { where: { id: { _eq: item.id } }, _set: object };
144
+ });
145
+ const mutation = (0, core_2.gql) `
146
+ mutation ${mutationName}($objects: [${this.tableName}_updates!]!) {
147
+ ${mutationName}(updates: $objects) {
148
+ affected_rows
149
+ }
150
+ }
151
+ `;
152
+ const client = yield (0, rxjs_1.lastValueFrom)(this.hasura.getApolloClient());
153
+ return client
154
+ .mutate({ mutation, variables: { objects } })
155
+ .then((result) => result.data[mutationName].affected_rows)
156
+ .catch((error) => {
157
+ console.error(error.graphQLErrors);
158
+ throw error;
159
+ });
160
+ });
161
+ }
162
+ delete(id) {
163
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
164
+ const client = yield (0, rxjs_1.lastValueFrom)(this.hasura.getApolloClient());
165
+ return client.mutate({
166
+ mutation: (0, core_2.gql) `mutation delete($id: String!) {
167
+ delete_${this.tableName}(where: {id: {_eq: $id}}) { affected_rows }
168
+ }`,
169
+ variables: { id },
170
+ }).catch(error => {
171
+ console.error(error.graphQLErrors);
172
+ throw error;
173
+ });
174
+ });
175
+ }
176
+ save(data) {
177
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
178
+ const object = (0, lodash_es_1.omit)(this.converter.toHasura(data), ['createdAt', 'updatedAt']);
179
+ const query = (0, core_2.gql) `mutation upsert($object: [${this.tableName}_insert_input!]!) {
180
+ insert_${this.tableName}(
181
+ objects: $object,
182
+ on_conflict: {
183
+ constraint: ${this.pkey},
184
+ update_columns: [${this.updateColumns}]
185
+ }
186
+ ) { affected_rows }
187
+ }`;
188
+ const client = yield (0, rxjs_1.lastValueFrom)(this.hasura.getApolloClient());
189
+ console.debug('[Hasura Repository] save:', client);
190
+ return client.mutate({
191
+ mutation: query,
192
+ variables: {
193
+ object: object,
194
+ },
195
+ }).catch(error => {
196
+ console.error(error.graphQLErrors);
197
+ throw error;
198
+ });
199
+ });
200
+ }
201
+ saveMany(entities) {
202
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
203
+ const query = (0, core_2.gql) `mutation upsert($objects: [${this.tableName}_insert_input!]!) {
204
+ insert_${this.tableName}(
205
+ objects: $objects,
206
+ on_conflict: {
207
+ constraint: ${this.pkey},
208
+ update_columns: [${this.updateColumns}]
209
+ }
210
+ ) { affected_rows }
211
+ }`;
212
+ const objects = entities.map(entity => this.converter.toHasura(entity));
213
+ console.debug('[Hasura Repository] objects:', objects);
214
+ const client = yield (0, rxjs_1.lastValueFrom)(this.hasura.getApolloClient());
215
+ return client.mutate({
216
+ mutation: query,
217
+ variables: { objects },
218
+ }).catch(error => {
219
+ console.error(error);
220
+ // console.error(error.graphQLErrors?.[0]?.extensions?.internal);
221
+ throw error;
222
+ });
223
+ });
224
+ }
225
+ deleteMany(params) {
226
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
227
+ const mutationName = `delete_${this.tableName}`;
228
+ const mutation = (0, core_2.gql) `
229
+ mutation deleteMany($ids: [String!]!) {
230
+ ${mutationName}(where: {id: {_in: $ids}}) {
231
+ affected_rows
232
+ }
233
+ }
234
+ `;
235
+ const client = yield (0, rxjs_1.lastValueFrom)(this.hasura.getApolloClient());
236
+ return client.mutate({
237
+ mutation,
238
+ variables: { ids: params.map(param => param.id) },
239
+ }).then((result) => result.data[mutationName].affected_rows).catch((error) => {
240
+ console.error(error.graphQLErrors);
241
+ throw error;
242
+ });
243
+ });
244
+ }
245
+ deleteAll() {
246
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
247
+ const client = yield (0, rxjs_1.lastValueFrom)(this.hasura.getApolloClient());
248
+ return client.mutate({
249
+ mutation: (0, core_2.gql) `mutation delete_all {
250
+ delete_${this.tableName} (where: {}) { affected_rows }
251
+ }`,
252
+ variables: {},
253
+ });
254
+ });
255
+ }
256
+ };
257
+ exports.HasuraRepository = HasuraRepository;
258
+ exports.HasuraRepository = HasuraRepository = tslib_1.__decorate([
259
+ (0, core_1.Injectable)()
260
+ ], HasuraRepository);
261
+ //# sourceMappingURL=hasura.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasura.repository.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/hasura/src/lib/hasura.repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { Apollo } from "apollo-angular";
2
+ import { ApolloClient } from "@apollo/client/core";
3
+ import { Observable } from "rxjs";
4
+ import { ApolloMultiService } from "./apollo-multi.service";
5
+ export declare class HasuraService {
6
+ private http;
7
+ readonly apollo: Apollo;
8
+ readonly config: import("./hasura.config").HasuraConfig;
9
+ readonly apolloMulti: ApolloMultiService;
10
+ readonly _getApolloClient: import("./apollo-multi.service").GetApolloClient<any>;
11
+ getApolloClient(): Observable<ApolloClient<any>>;
12
+ graphql<T = any>(args: {
13
+ query: string;
14
+ variables?: object;
15
+ }): Observable<T>;
16
+ post<T>(endpoint: string, body: object): Observable<T>;
17
+ delete<T>(endpoint: string): Observable<T>;
18
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HasuraService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const http_1 = require("@angular/common/http");
6
+ const core_1 = require("@angular/core");
7
+ const apollo_angular_1 = require("apollo-angular");
8
+ const hasura_config_1 = require("./hasura.config");
9
+ const rxjs_1 = require("rxjs");
10
+ const apollo_multi_service_1 = require("./apollo-multi.service");
11
+ let HasuraService = class HasuraService {
12
+ constructor() {
13
+ var _a;
14
+ this.http = (0, core_1.inject)(http_1.HttpClient);
15
+ this.apollo = (0, core_1.inject)(apollo_angular_1.Apollo);
16
+ this.config = (0, core_1.inject)(hasura_config_1.HASURA_CONFIG);
17
+ this.apolloMulti = (0, core_1.inject)(apollo_multi_service_1.ApolloMultiService);
18
+ this._getApolloClient = (_a = apollo_multi_service_1.GET_APOLLO_CLIENT.inject()) !== null && _a !== void 0 ? _a : (() => this.apollo.client);
19
+ }
20
+ getApolloClient() {
21
+ const clientOrObsOrPromise = this._getApolloClient(this.config);
22
+ if ((0, rxjs_1.isObservable)(clientOrObsOrPromise)) {
23
+ return clientOrObsOrPromise;
24
+ }
25
+ else if (clientOrObsOrPromise instanceof Promise) {
26
+ return (0, rxjs_1.from)(clientOrObsOrPromise);
27
+ }
28
+ else {
29
+ return (0, rxjs_1.of)(clientOrObsOrPromise);
30
+ }
31
+ }
32
+ graphql(args) {
33
+ return this.post('/v1/graphql', {
34
+ query: args.query,
35
+ variables: args.variables,
36
+ });
37
+ }
38
+ post(endpoint, body) {
39
+ return this.http.post(`${this.config.url}${endpoint}`, body, {});
40
+ }
41
+ delete(endpoint) {
42
+ return this.http.delete(`${this.config.url}${endpoint}`);
43
+ }
44
+ };
45
+ exports.HasuraService = HasuraService;
46
+ exports.HasuraService = HasuraService = tslib_1.__decorate([
47
+ (0, core_1.Injectable)({ providedIn: 'root' })
48
+ ], HasuraService);
49
+ //# sourceMappingURL=hasura.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasura.service.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/hasura/src/lib/hasura.service.ts"],"names":[],"mappings":";;;;AAAA,+CAAkD;AAClD,wCAAmD;AACnD,mDAAwC;AACxC,mDAAgD;AAEhD,+BAA0D;AAC1D,iEAA+E;AAIxE,IAAM,aAAa,GAAnB,MAAM,aAAa;IAAnB;;QACG,SAAI,GAAG,IAAA,aAAM,EAAC,iBAAU,CAAC,CAAC;QACzB,WAAM,GAAG,IAAA,aAAM,EAAC,uBAAM,CAAC,CAAC;QACxB,WAAM,GAAG,IAAA,aAAM,EAAC,6BAAa,CAAC,CAAC;QAC/B,gBAAW,GAAG,IAAA,aAAM,EAAC,yCAAkB,CAAC,CAAC;QACzC,qBAAgB,GAAG,MAAA,wCAAiB,CAAC,MAAM,EAAE,mCAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IA2BvF,CAAC;IAzBC,eAAe;QACb,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,IAAA,mBAAY,EAAC,oBAAoB,CAAC,EAAE,CAAC;YACvC,OAAO,oBAAoB,CAAC;QAC9B,CAAC;aAAM,IAAI,oBAAoB,YAAY,OAAO,EAAE,CAAC;YACnD,OAAO,IAAA,WAAI,EAAC,oBAAoB,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,IAAA,SAAE,EAAC,oBAAoB,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,CAAU,IAAyC;QACxD,OAAO,IAAI,CAAC,IAAI,CAAI,aAAa,EAAE;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAI,QAAgB,EAAE,IAAY;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,CAAI,QAAgB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF,CAAA;AAhCY,sCAAa;wBAAb,aAAa;IADzB,IAAA,iBAAU,EAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAC;GACpB,aAAa,CAgCzB"}
@@ -6,4 +6,3 @@ export * from './hasura.di';
6
6
  export * from './hasura.interceptor';
7
7
  export * from './hasura.repository';
8
8
  export * from './hasura.service';
9
- export * from './builders';
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./apollo-multi.service"), exports);
5
+ tslib_1.__exportStar(require("./decorators"), exports);
6
+ tslib_1.__exportStar(require("./hasura.config"), exports);
7
+ tslib_1.__exportStar(require("./hasura.converter"), exports);
8
+ tslib_1.__exportStar(require("./hasura.di"), exports);
9
+ tslib_1.__exportStar(require("./hasura.interceptor"), exports);
10
+ tslib_1.__exportStar(require("./hasura.repository"), exports);
11
+ tslib_1.__exportStar(require("./hasura.service"), exports);
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/hasura/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC;AACvC,uDAA6B;AAC7B,0DAAgC;AAChC,6DAAmC;AACnC,sDAA4B;AAC5B,+DAAqC;AACrC,8DAAoC;AACpC,2DAAiC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolve = resolve;
4
+ exports.buildWebsocketLink = buildWebsocketLink;
5
+ const ws_1 = require("@apollo/client/link/ws");
6
+ const rxjs_1 = require("rxjs");
7
+ function wrap(token) {
8
+ return (0, rxjs_1.isObservable)(token) ? token : token instanceof Promise ? (0, rxjs_1.from)(token) : (0, rxjs_1.of)(token);
9
+ }
10
+ function resolve(getHeaders) {
11
+ const headers = wrap(getHeaders());
12
+ return (0, rxjs_1.firstValueFrom)(headers.pipe((0, rxjs_1.filter)((headers) => !!headers), (0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.tap)((headers) => console.debug('[resolve] headers:', headers))));
13
+ }
14
+ function buildWebsocketLink(endpoint, getHeaders) {
15
+ return new ws_1.WebSocketLink({
16
+ uri: endpoint.replace('http', 'ws'),
17
+ options: {
18
+ reconnect: true,
19
+ connectionParams: () => resolve(getHeaders).then((headers) => ({ headers })),
20
+ },
21
+ });
22
+ }
23
+ //# sourceMappingURL=links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"links.js","sourceRoot":"","sources":["../../../../../../packages/@nx-ddd/hasura/src/lib/links.ts"],"names":[],"mappings":";;AAUA,0BAOC;AAED,gDAQC;AA3BD,+CAAuD;AACvD,+BAA6G;AAK7G,SAAS,IAAI,CAAI,KAAqC;IACpD,OAAO,IAAA,mBAAY,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,SAAE,EAAC,KAAK,CAAC,CAAC;AAC1F,CAAC;AAED,SAAgB,OAAO,CAAC,UAAsB;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACnC,OAAO,IAAA,qBAAc,EAAC,OAAO,CAAC,IAAI,CAChC,IAAA,aAAM,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9B,IAAA,2BAAoB,GAAE,EACtB,IAAA,UAAG,EAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAC/D,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,QAAgB,EAAE,UAAsB;IACzE,OAAO,IAAI,kBAAa,CAAC;QACvB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;QACnC,OAAO,EAAE;YACP,SAAS,EAAE,IAAI;YACf,gBAAgB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;SAC7E;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './parts/_meta/graphql-query-part';
2
- export * from './query-builder';
@@ -1,12 +0,0 @@
1
- export interface TransactionQueryPart {
2
- queryPart: string;
3
- variableDefinitions: string[];
4
- variables: Record<string, any>;
5
- operationName: string;
6
- alias?: string;
7
- }
8
- export interface TableConfig {
9
- tableName: string;
10
- columns: string[];
11
- pk: string;
12
- }
@@ -1,13 +0,0 @@
1
- import { TableConfig, TransactionQueryPart } from '../../parts/_meta/graphql-query-part';
2
- type CreateData<E> = Omit<E, 'id' | 'createdAt' | 'updatedAt'>;
3
- export declare class CreateMutationBuilder<E extends {
4
- id: string;
5
- }> {
6
- protected readonly config: TableConfig;
7
- constructor(config: TableConfig);
8
- build(data: CreateData<E>, alias?: string): TransactionQueryPart;
9
- buildMany(data: CreateData<E>[], alias?: string): TransactionQueryPart;
10
- protected convertToObject(item: CreateData<E>): import("lodash").Dictionary<unknown>;
11
- protected convertToObjects(items: CreateData<E>[]): import("lodash").Dictionary<unknown>[];
12
- }
13
- export {};
@@ -1,12 +0,0 @@
1
- import { TableConfig, TransactionQueryPart } from '../../parts/_meta/graphql-query-part';
2
- export declare class DeleteMutationBuilder {
3
- protected readonly config: TableConfig;
4
- constructor(config: TableConfig);
5
- build({ id }: {
6
- id: any;
7
- }): TransactionQueryPart;
8
- buildMany(params: {
9
- id: string;
10
- }[], alias?: string): TransactionQueryPart;
11
- buildAll(alias?: string): TransactionQueryPart;
12
- }
@@ -1,5 +0,0 @@
1
- export * from './create.builder';
2
- export * from './delete.builder';
3
- export * from './save.builder';
4
- export * from './update.builder';
5
- export * from './mutations.builder';
@@ -1,14 +0,0 @@
1
- import { CreateMutationBuilder } from "./create.builder";
2
- import { UpdateMutationBuilder } from "./update.builder";
3
- import { SaveMutationBuilder } from "./save.builder";
4
- import { DeleteMutationBuilder } from "./delete.builder";
5
- import { TableConfig } from "../_meta/graphql-query-part";
6
- export declare class HasuraMutationBuilder<E extends {
7
- id: string;
8
- }> {
9
- readonly create: CreateMutationBuilder<E>;
10
- readonly update: UpdateMutationBuilder<E>;
11
- readonly save: SaveMutationBuilder<E>;
12
- readonly delete_: DeleteMutationBuilder;
13
- constructor(config: TableConfig);
14
- }
@@ -1,21 +0,0 @@
1
- import { TableConfig, TransactionQueryPart } from '../../parts/_meta/graphql-query-part';
2
- interface Options {
3
- operationName?: string;
4
- constraint?: string;
5
- columns?: string[];
6
- returningColumns?: string[];
7
- alias?: string;
8
- }
9
- export declare class SaveMutationBuilder<E = any> {
10
- protected readonly config: TableConfig;
11
- constructor(config: TableConfig);
12
- build(data: Omit<E, 'createdAt' | 'updatedAt'>, { operationName, constraint, columns, returningColumns, alias, }?: Options): TransactionQueryPart;
13
- buildMany(entities: E[], { operationName, constraint, columns, returningColumns, alias }?: Options): TransactionQueryPart;
14
- protected buildObject(item: Omit<E, 'createdAt' | 'updatedAt'>): import("lodash").Dictionary<unknown>;
15
- protected buildObjects(items: Omit<E, 'createdAt' | 'updatedAt'>[]): import("lodash").Dictionary<unknown>[];
16
- protected buildOnConflict(data: Omit<E, 'createdAt' | 'updatedAt'>, constraint: string, columns: string[]): {
17
- constraint: string;
18
- update_columns: string[];
19
- };
20
- }
21
- export {};
@@ -1,13 +0,0 @@
1
- import { TableConfig, TransactionQueryPart } from '../../parts/_meta/graphql-query-part';
2
- export declare class UpdateMutationBuilder<E extends {
3
- id: string;
4
- } = any> {
5
- protected readonly config: TableConfig;
6
- constructor(config: TableConfig);
7
- build(data: Partial<E> & {
8
- id: string;
9
- }, alias?: string): TransactionQueryPart;
10
- buildMany(data: Partial<E>[], alias?: string): TransactionQueryPart;
11
- protected buildObject(item: Partial<E>): any;
12
- protected buildObjects(items: Partial<E>[]): any[];
13
- }
@@ -1,10 +0,0 @@
1
- import { HasuraMutationBuilder } from './mutations';
2
- import { QueriesBuilder } from "./queries";
3
- import { TableConfig } from "./_meta/graphql-query-part";
4
- export declare class HasuraQueryPartsBuilder<E extends {
5
- id: string;
6
- }> {
7
- readonly mutations: HasuraMutationBuilder<E>;
8
- readonly queries: QueriesBuilder<E>;
9
- constructor(config: TableConfig);
10
- }
@@ -1,9 +0,0 @@
1
- import { TableConfig, TransactionQueryPart } from "../_meta/graphql-query-part";
2
- export declare class GetQueryPartBuilder {
3
- protected config: TableConfig;
4
- constructor(config: TableConfig);
5
- build(params: {
6
- id: string;
7
- }): TransactionQueryPart;
8
- buildMany(): TransactionQueryPart;
9
- }
@@ -1,2 +0,0 @@
1
- export * from './get.builder';
2
- export * from './queries.builder';
@@ -1,16 +0,0 @@
1
- import { TableConfig } from "../_meta/graphql-query-part";
2
- import { GetQueryPartBuilder } from "./get.builder";
3
- export declare function makeSubscription(query: any): {
4
- kind: any;
5
- definitions: any;
6
- };
7
- export declare class QueriesBuilder<E extends {
8
- id: string;
9
- }> {
10
- readonly get: GetQueryPartBuilder;
11
- constructor(config: TableConfig);
12
- makeSubscription(query: any): {
13
- kind: any;
14
- definitions: any;
15
- };
16
- }
@@ -1,15 +0,0 @@
1
- import { TableConfig, TransactionQueryPart } from './parts/_meta/graphql-query-part';
2
- import { HasuraQueryPartsBuilder } from './parts/parts.builder';
3
- export declare class HasuraQueryBuilder<E extends {
4
- id: string;
5
- }> {
6
- readonly parts: HasuraQueryPartsBuilder<E>;
7
- constructor(config: TableConfig);
8
- buildQuery(part: TransactionQueryPart): string;
9
- static buildMutation(part: TransactionQueryPart): string;
10
- buildMutation(part: TransactionQueryPart): string;
11
- buildTransactionQuery(parts: TransactionQueryPart[]): {
12
- query: string;
13
- variables: Record<string, any>;
14
- };
15
- }