@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.
- package/README.md +11 -0
- package/package.json +6 -20
- package/src/index.d.ts +1 -0
- package/src/index.js +5 -0
- package/src/index.js.map +1 -0
- package/{apollo-multi.service.d.ts → src/lib/apollo-multi.service.d.ts} +8 -4
- package/src/lib/apollo-multi.service.js +52 -0
- package/src/lib/apollo-multi.service.js.map +1 -0
- package/src/lib/decorators.js +50 -0
- package/src/lib/decorators.js.map +1 -0
- package/src/lib/hasura.config.js +15 -0
- package/src/lib/hasura.config.js.map +1 -0
- package/src/lib/hasura.converter.d.ts +24 -0
- package/src/lib/hasura.converter.js +82 -0
- package/src/lib/hasura.converter.js.map +1 -0
- package/{hasura.di.d.ts → src/lib/hasura.di.d.ts} +2 -2
- package/src/lib/hasura.di.js +79 -0
- package/src/lib/hasura.di.js.map +1 -0
- package/{hasura.interceptor.d.ts → src/lib/hasura.interceptor.d.ts} +0 -3
- package/src/lib/hasura.interceptor.js +24 -0
- package/src/lib/hasura.interceptor.js.map +1 -0
- package/src/lib/hasura.repository.d.ts +40 -0
- package/src/lib/hasura.repository.js +261 -0
- package/src/lib/hasura.repository.js.map +1 -0
- package/src/lib/hasura.service.d.ts +18 -0
- package/src/lib/hasura.service.js +49 -0
- package/src/lib/hasura.service.js.map +1 -0
- package/{index.d.ts → src/lib/index.d.ts} +0 -1
- package/src/lib/index.js +12 -0
- package/src/lib/index.js.map +1 -0
- package/src/lib/links.js +23 -0
- package/src/lib/links.js.map +1 -0
- package/builders/index.d.ts +0 -2
- package/builders/parts/_meta/graphql-query-part.d.ts +0 -12
- package/builders/parts/mutations/create.builder.d.ts +0 -13
- package/builders/parts/mutations/delete.builder.d.ts +0 -12
- package/builders/parts/mutations/index.d.ts +0 -5
- package/builders/parts/mutations/mutations.builder.d.ts +0 -14
- package/builders/parts/mutations/save.builder.d.ts +0 -21
- package/builders/parts/mutations/update.builder.d.ts +0 -13
- package/builders/parts/parts.builder.d.ts +0 -10
- package/builders/parts/queries/get.builder.d.ts +0 -9
- package/builders/parts/queries/index.d.ts +0 -2
- package/builders/parts/queries/queries.builder.d.ts +0 -16
- package/builders/query-builder.d.ts +0 -15
- package/fesm2022/nx-ddd-hasura.mjs +0 -707
- package/fesm2022/nx-ddd-hasura.mjs.map +0 -1
- package/hasura.converter.d.ts +0 -37
- package/hasura.repository.d.ts +0 -40
- package/hasura.service.d.ts +0 -32
- /package/{decorators.d.ts → src/lib/decorators.d.ts} +0 -0
- /package/{hasura.config.d.ts → src/lib/hasura.config.d.ts} +0 -0
- /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"}
|
package/src/lib/index.js
ADDED
|
@@ -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"}
|
package/src/lib/links.js
ADDED
|
@@ -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"}
|
package/builders/index.d.ts
DELETED
|
@@ -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,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,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
|
-
}
|