@things-factory/shell 4.0.0-y.0 → 4.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/bin/things-factory-dev +5 -11
- package/client/graphql-client.js +14 -15
- package/config/config.development.js +12 -1
- package/dist-server/pubsub.js +14 -12
- package/dist-server/pubsub.js.map +1 -1
- package/dist-server/schema.js +4 -4
- package/dist-server/schema.js.map +1 -1
- package/dist-server/server-dev.js +61 -42
- package/dist-server/server-dev.js.map +1 -1
- package/dist-server/server.js +53 -38
- package/dist-server/server.js.map +1 -1
- package/dist-server/service/domain/domain-resolver.js +5 -5
- package/dist-server/service/domain/domain-resolver.js.map +1 -1
- package/dist-server/service/index.js +7 -6
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/utils/condition-builder.js +23 -25
- package/dist-server/utils/condition-builder.js.map +1 -1
- package/dist-server/utils/list-query-builder.js +1 -1
- package/dist-server/utils/list-query-builder.js.map +1 -1
- package/package.json +25 -29
- package/server/pubsub.ts +16 -15
- package/server/schema.ts +5 -5
- package/server/server-dev.ts +55 -36
- package/server/server.ts +47 -31
- package/server/service/domain/domain-resolver.ts +8 -6
- package/server/service/index.ts +12 -5
- package/server/utils/condition-builder.ts +23 -25
- package/server/utils/list-query-builder.ts +1 -1
package/bin/things-factory-dev
CHANGED
@@ -1,11 +1,5 @@
|
|
1
|
-
#!/usr/bin/env
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
in
|
7
|
-
i) INSPECT=${OPTARG};;
|
8
|
-
esac
|
9
|
-
done
|
10
|
-
node --inspect=$INSPECT -e "'use strict'
|
11
|
-
require('@things-factory/shell/dist-server/server-dev')" $0 $@
|
1
|
+
#!/usr/bin/env node
|
2
|
+
|
3
|
+
'use strict'
|
4
|
+
|
5
|
+
require('@things-factory/shell/dist-server/server-dev')
|
package/client/graphql-client.js
CHANGED
@@ -1,13 +1,12 @@
|
|
1
|
-
import { ApolloClient } from 'apollo
|
2
|
-
|
3
|
-
import { ApolloLink } from 'apollo-link'
|
4
|
-
import { HttpLink } from 'apollo-link-http'
|
5
|
-
import { onError } from 'apollo-link-error'
|
6
|
-
import { createUploadLink } from 'apollo-upload-client'
|
7
|
-
import { persistCache } from 'apollo-cache-persist'
|
1
|
+
import { ApolloClient, ApolloLink, HttpLink, InMemoryCache, from } from '@apollo/client/core'
|
2
|
+
|
8
3
|
import { SubscriptionClient } from 'subscriptions-transport-ws'
|
4
|
+
import { createUploadLink } from 'apollo-upload-client'
|
5
|
+
import { onError } from '@apollo/client/link/error'
|
9
6
|
|
10
|
-
|
7
|
+
// import { persistCache } from 'apollo-cache-persist'
|
8
|
+
|
9
|
+
export const GRAPHQL_URI = '/graphql'
|
11
10
|
|
12
11
|
const defaultOptions = {
|
13
12
|
watchQuery: {
|
@@ -83,19 +82,19 @@ const httpLink = ApolloLink.split(
|
|
83
82
|
new HttpLink(httpOptions)
|
84
83
|
)
|
85
84
|
|
86
|
-
const initPersistCache = async () => {
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
}
|
85
|
+
// const initPersistCache = async () => {
|
86
|
+
// persistCache({
|
87
|
+
// cache,
|
88
|
+
// storage: window.localStorage
|
89
|
+
// })
|
90
|
+
// }
|
92
91
|
|
93
92
|
// initPersistCache()
|
94
93
|
|
95
94
|
export const client = new ApolloClient({
|
96
95
|
defaultOptions,
|
97
96
|
cache,
|
98
|
-
link:
|
97
|
+
link: from([onError(ERROR_HANDLER), httpLink])
|
99
98
|
})
|
100
99
|
|
101
100
|
/* SubscriptionClient */
|
@@ -26,13 +26,24 @@ module.exports = {
|
|
26
26
|
* pubsub configuration
|
27
27
|
* ie.
|
28
28
|
* pubsub: {
|
29
|
-
* middleware: 'redis', // empty, redis, mqtt
|
29
|
+
* middleware: 'redis', // empty, redis, mqtt, redisCluster
|
30
30
|
* host: 'redis',
|
31
31
|
* port: 6379,
|
32
32
|
* options: {
|
33
33
|
* ...
|
34
34
|
* }
|
35
35
|
* }
|
36
|
+
*
|
37
|
+
* pubsub: {
|
38
|
+
* middleware: 'redisCluster', // empty, redis, mqtt, redisCluster
|
39
|
+
* nodes: [
|
40
|
+
* { host: '{endpoint1}', port: 6379 },
|
41
|
+
* { host: '{endpoint2}', port: 6379 },
|
42
|
+
* ]
|
43
|
+
* options: {
|
44
|
+
* ...
|
45
|
+
* }
|
46
|
+
* }
|
36
47
|
*
|
37
48
|
* pubsub: {
|
38
49
|
* middleware: 'mqtt',
|
package/dist-server/pubsub.js
CHANGED
@@ -4,21 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.pubsub = void 0;
|
7
|
-
const
|
8
|
-
const { middleware, host, port, options } = env_1.config.get('pubsub', {});
|
9
|
-
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
7
|
+
const graphql_mqtt_subscriptions_1 = require("graphql-mqtt-subscriptions");
|
10
8
|
const graphql_redis_subscriptions_1 = require("graphql-redis-subscriptions");
|
9
|
+
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
11
10
|
const ioredis_1 = __importDefault(require("ioredis"));
|
12
11
|
const mqtt_1 = require("mqtt");
|
13
|
-
const
|
12
|
+
const env_1 = require("@things-factory/env");
|
13
|
+
const { middleware, host, port, nodes, options } = env_1.config.get('pubsub', {});
|
14
14
|
const debug = require('debug')('things-factory:shell');
|
15
|
-
// override publish because payload of redis publish is required string only.
|
16
|
-
class MyRedisPubSub extends graphql_redis_subscriptions_1.RedisPubSub {
|
17
|
-
publish(trigger, payload) {
|
18
|
-
debug('payload', payload);
|
19
|
-
return super.publish(trigger, JSON.stringify(payload));
|
20
|
-
}
|
21
|
-
}
|
22
15
|
let pubsub;
|
23
16
|
exports.pubsub = pubsub;
|
24
17
|
switch (middleware) {
|
@@ -33,11 +26,20 @@ switch (middleware) {
|
|
33
26
|
// reconnect after
|
34
27
|
return Math.min(times * 50, 2000);
|
35
28
|
} }, options);
|
36
|
-
exports.pubsub = pubsub = new
|
29
|
+
exports.pubsub = pubsub = new graphql_redis_subscriptions_1.RedisPubSub({
|
37
30
|
publisher: new ioredis_1.default(redisOption),
|
38
31
|
subscriber: new ioredis_1.default(redisOption)
|
39
32
|
});
|
33
|
+
break;
|
34
|
+
case 'redisCluster':
|
35
|
+
const cluster = new ioredis_1.default.Cluster(nodes, options);
|
36
|
+
exports.pubsub = pubsub = new graphql_redis_subscriptions_1.RedisPubSub({
|
37
|
+
publisher: cluster,
|
38
|
+
subscriber: cluster
|
39
|
+
});
|
40
|
+
break;
|
40
41
|
default:
|
41
42
|
exports.pubsub = pubsub = new graphql_subscriptions_1.PubSub();
|
43
|
+
break;
|
42
44
|
}
|
43
45
|
//# sourceMappingURL=pubsub.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../server/pubsub.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA4C;
|
1
|
+
{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../server/pubsub.ts"],"names":[],"mappings":";;;;;;AAAA,2EAAuD;AACvD,6EAAyD;AACzD,iEAA8C;AAC9C,sDAA2B;AAC3B,+BAA8B;AAE9B,6CAA4C;AAE5C,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AAE3E,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAA;AAEtD,IAAI,MAAW,CAAA;AAsCN,wBAAM;AApCf,QAAQ,UAAU,EAAE;IAClB,KAAK,MAAM;QACT,iBAAA,MAAM,GAAG,IAAI,uCAAU,CAAC;YACtB,MAAM,EAAE,IAAA,cAAO,EAAC,SAAS,GAAG,IAAI,kBAC9B,eAAe,EAAE,IAAI,IAClB,OAAO,EACH;SACV,CAAC,CAAA;QACF,MAAK;IACP,KAAK,OAAO;QACV,MAAM,WAAW,mBACf,IAAI;YACJ,IAAI,EACJ,aAAa,EAAE,KAAK,CAAC,EAAE;gBACrB,kBAAkB;gBAClB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;YACnC,CAAC,IACE,OAAO,CACX,CAAA;QACD,iBAAA,MAAM,GAAG,IAAI,yCAAW,CAAC;YACvB,SAAS,EAAE,IAAI,iBAAK,CAAC,WAAW,CAAC;YACjC,UAAU,EAAE,IAAI,iBAAK,CAAC,WAAW,CAAC;SACnC,CAAC,CAAA;QACF,MAAK;IACP,KAAK,cAAc;QACjB,MAAM,OAAO,GAAG,IAAI,iBAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACjD,iBAAA,MAAM,GAAG,IAAI,yCAAW,CAAC;YACvB,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,OAAO;SACpB,CAAC,CAAA;QACF,MAAK;IACP;QACE,iBAAA,MAAM,GAAG,IAAI,8BAAM,EAAE,CAAA;QACrB,MAAK;CACR"}
|
package/dist-server/schema.js
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.schema = void 0;
|
4
|
+
const env_1 = require("@things-factory/env");
|
5
|
+
const graphql_upload_1 = require("graphql-upload");
|
4
6
|
const type_graphql_1 = require("type-graphql");
|
5
|
-
const merge_1 = require("@graphql-tools/merge");
|
6
7
|
const utils_1 = require("@things-factory/utils");
|
7
|
-
const
|
8
|
-
const env_1 = require("@things-factory/env");
|
8
|
+
const schema_1 = require("@graphql-tools/schema");
|
9
9
|
async function schema() {
|
10
10
|
const schemas = env_1.orderedModuleNames
|
11
11
|
.map(dep => (0, env_1.loader)(dep).schema)
|
@@ -90,7 +90,7 @@ async function schema() {
|
|
90
90
|
delete resolvers.Subscription;
|
91
91
|
delete resolvers.Directive;
|
92
92
|
resolvers = Object.assign({ Upload: graphql_upload_1.GraphQLUpload, Query: (0, utils_1.deepMerge)(Query, queryResolvers), Mutation: (0, utils_1.deepMerge)(Mutation, mutationResolvers), Subscription: (0, utils_1.deepMerge)(Subscription, subscriptionResolvers) }, resolvers);
|
93
|
-
var merged = (0,
|
93
|
+
var merged = (0, schema_1.mergeSchemas)({
|
94
94
|
schemas: [
|
95
95
|
await (0, type_graphql_1.buildSchema)({
|
96
96
|
resolvers: schemas.resolverClasses,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../server/schema.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAC1C,
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../server/schema.ts"],"names":[],"mappings":"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"}
|
@@ -5,27 +5,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
process.env.NODE_ENV = 'development';
|
7
7
|
process.setMaxListeners(0);
|
8
|
-
const
|
9
|
-
const
|
10
|
-
const
|
11
|
-
const
|
12
|
-
const koa_bodyparser_1 = __importDefault(require("koa-bodyparser"));
|
13
|
-
const koa2_connect_history_api_fallback_1 = require("koa2-connect-history-api-fallback");
|
14
|
-
const koa_webpack_1 = __importDefault(require("koa-webpack"));
|
8
|
+
const subscriptions_transport_ws_1 = require("subscriptions-transport-ws");
|
9
|
+
const env_1 = require("@things-factory/env");
|
10
|
+
const routers_1 = require("./routers");
|
11
|
+
const graphql_1 = require("graphql");
|
15
12
|
const apollo_server_koa_1 = require("apollo-server-koa");
|
16
|
-
const
|
13
|
+
const apollo_server_core_1 = require("apollo-server-core");
|
14
|
+
const graphql_local_client_1 = require("./graphql-local-client");
|
15
|
+
const koa_1 = __importDefault(require("koa"));
|
17
16
|
const co_1 = __importDefault(require("co"));
|
18
17
|
const koa_compose_1 = __importDefault(require("koa-compose"));
|
19
|
-
const
|
18
|
+
const cors_1 = __importDefault(require("@koa/cors"));
|
19
|
+
const http_1 = require("http");
|
20
20
|
const database_1 = require("./initializers/database");
|
21
|
-
const
|
22
|
-
const
|
21
|
+
const graphql_upload_1 = require("graphql-upload");
|
22
|
+
const koa2_connect_history_api_fallback_1 = require("koa2-connect-history-api-fallback");
|
23
|
+
const koa_ip_1 = __importDefault(require("koa-ip"));
|
24
|
+
const koa_bodyparser_1 = __importDefault(require("koa-bodyparser"));
|
25
|
+
const koa_static_1 = __importDefault(require("koa-static"));
|
26
|
+
const koa_webpack_1 = __importDefault(require("koa-webpack"));
|
23
27
|
const schema_1 = require("./schema");
|
24
28
|
const debug = require('debug')('things-factory:shell:server-dev');
|
25
29
|
const args = require('args');
|
26
30
|
args.option('port', 'The port on which the app will be running', env_1.config.get('port', 3000));
|
27
31
|
args.option('inspect', `The address on which the inspection will be running. Used in development mode only.
|
28
|
-
This option is just to
|
32
|
+
This option is just to prevent termination for reasons of not recognizing the 'inspect' option.`, env_1.config.get('inspect', ':9229'));
|
29
33
|
const flags = args.parse(process.argv);
|
30
34
|
const path = require('path');
|
31
35
|
const webpack = require('webpack');
|
@@ -65,27 +69,32 @@ const bootstrap = async () => {
|
|
65
69
|
var subscriptionMiddleware = [];
|
66
70
|
process.emit('bootstrap-module-subscription', app, subscriptionMiddleware);
|
67
71
|
const builtSchema = await (0, schema_1.schema)();
|
72
|
+
const httpServer = (0, http_1.createServer)(app.callback());
|
73
|
+
const subscriptionServer = subscriptions_transport_ws_1.SubscriptionServer.create({
|
74
|
+
schema: builtSchema,
|
75
|
+
// These are imported from `graphql`.
|
76
|
+
execute: graphql_1.execute,
|
77
|
+
subscribe: graphql_1.subscribe,
|
78
|
+
async onConnect(connectionParams, webSocket, context) {
|
79
|
+
var { request } = context;
|
80
|
+
var url = new URL((connectionParams['headers'] || connectionParams).referer);
|
81
|
+
var accessToken = url.searchParams.get('access_token');
|
82
|
+
connectionParams['headers']['authorization'] = accessToken;
|
83
|
+
request.headers = Object.assign(Object.assign({}, request.headers), (connectionParams['headers'] || connectionParams));
|
84
|
+
var koacontext = await app.createContext(request, {});
|
85
|
+
koacontext['state'] = {};
|
86
|
+
/* in case connect error(like a authentication error) just throw exception */
|
87
|
+
var middlewares = [...subscriptionMiddleware];
|
88
|
+
const fn = co_1.default.wrap((0, koa_compose_1.default)(middlewares));
|
89
|
+
await fn(koacontext);
|
90
|
+
return koacontext;
|
91
|
+
}
|
92
|
+
}, {
|
93
|
+
server: httpServer,
|
94
|
+
path: '/subscriptions'
|
95
|
+
});
|
68
96
|
const server = new apollo_server_koa_1.ApolloServer({
|
69
97
|
schema: builtSchema,
|
70
|
-
uploads: false,
|
71
|
-
subscriptions: {
|
72
|
-
path: '/subscriptions',
|
73
|
-
onConnect: async (connectionParams, webSocket, context) => {
|
74
|
-
/* To maintain the same method as the http(s) request */
|
75
|
-
var { request } = context;
|
76
|
-
var url = new URL((connectionParams['headers'] || connectionParams).referer);
|
77
|
-
var accessToken = url.searchParams.get('access_token');
|
78
|
-
connectionParams['headers']['authorization'] = accessToken;
|
79
|
-
request.headers = Object.assign(Object.assign({}, request.headers), (connectionParams['headers'] || connectionParams));
|
80
|
-
var koacontext = await app.createContext(request, {});
|
81
|
-
koacontext['state'] = {};
|
82
|
-
/* in case connect error(like a authentication error) just throw exception */
|
83
|
-
var middlewares = [...subscriptionMiddleware];
|
84
|
-
const fn = co_1.default.wrap((0, koa_compose_1.default)(middlewares));
|
85
|
-
await fn(koacontext);
|
86
|
-
return koacontext;
|
87
|
-
}
|
88
|
-
},
|
89
98
|
formatError: error => {
|
90
99
|
env_1.logger.error(error);
|
91
100
|
return error;
|
@@ -94,11 +103,6 @@ const bootstrap = async () => {
|
|
94
103
|
// logger.info('response %s', JSON.stringify(response, null, 2))
|
95
104
|
return response;
|
96
105
|
},
|
97
|
-
playground: {
|
98
|
-
settings: {
|
99
|
-
'request.credentials': 'include'
|
100
|
-
}
|
101
|
-
},
|
102
106
|
context: async ({ connection, ctx }) => {
|
103
107
|
if (connection) {
|
104
108
|
return connection.context;
|
@@ -106,14 +110,31 @@ const bootstrap = async () => {
|
|
106
110
|
else {
|
107
111
|
return ctx;
|
108
112
|
}
|
109
|
-
}
|
113
|
+
},
|
114
|
+
plugins: [
|
115
|
+
(0, apollo_server_core_1.ApolloServerPluginLandingPageGraphQLPlayground)({
|
116
|
+
settings: {
|
117
|
+
'request.credentials': 'same-origin'
|
118
|
+
}
|
119
|
+
}),
|
120
|
+
{
|
121
|
+
async serverWillStart() {
|
122
|
+
return {
|
123
|
+
async drainServer() {
|
124
|
+
subscriptionServer.close();
|
125
|
+
}
|
126
|
+
};
|
127
|
+
}
|
128
|
+
}
|
129
|
+
]
|
110
130
|
});
|
131
|
+
server.start();
|
111
132
|
graphql_local_client_1.GraphqlLocalClient.init(builtSchema, app);
|
112
133
|
env_1.orderedModuleNames.forEach(name => {
|
113
134
|
const { initMiddlewares } = (0, env_1.loader)(name);
|
114
135
|
initMiddlewares && initMiddlewares(app);
|
115
136
|
});
|
116
|
-
const render = require('
|
137
|
+
const render = require('@things-factory/ejs-remote');
|
117
138
|
render(app, {
|
118
139
|
root: '/views',
|
119
140
|
host: `http://127.0.0.1:${PORT}`,
|
@@ -159,13 +180,11 @@ const bootstrap = async () => {
|
|
159
180
|
app.use((0, koa_static_1.default)(compiler.outputPath, {
|
160
181
|
index: false
|
161
182
|
}));
|
162
|
-
|
163
|
-
const httpServer = app.listen({ port: PORT }, () => {
|
183
|
+
httpServer.listen({ port: PORT }, () => {
|
164
184
|
env_1.logger.info(`🚀 Server ready at http://0.0.0.0:${PORT}${server.graphqlPath}`);
|
165
|
-
env_1.logger.info(`🚀 Subscriptions ready at ws://0.0.0.0:${PORT}${
|
185
|
+
env_1.logger.info(`🚀 Subscriptions ready at ws://0.0.0.0:${PORT}${'/subscriptions'}`);
|
166
186
|
process.emit('bootstrap-module-start', { app, config: env_1.config, builtSchema, httpServer });
|
167
187
|
});
|
168
|
-
server.installSubscriptionHandlers(httpServer);
|
169
188
|
};
|
170
189
|
bootstrap();
|
171
190
|
//# sourceMappingURL=server-dev.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"server-dev.js","sourceRoot":"","sources":["../server/server-dev.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAA;AACpC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;AAE1B,
|
1
|
+
{"version":3,"file":"server-dev.js","sourceRoot":"","sources":["../server/server-dev.ts"],"names":[],"mappings":"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"}
|
package/dist-server/server.js
CHANGED
@@ -5,20 +5,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
process.env.NODE_ENV = 'production';
|
7
7
|
process.setMaxListeners(0);
|
8
|
-
const
|
9
|
-
const
|
10
|
-
const
|
11
|
-
const
|
12
|
-
const koa_bodyparser_1 = __importDefault(require("koa-bodyparser"));
|
13
|
-
const koa2_connect_history_api_fallback_1 = require("koa2-connect-history-api-fallback");
|
8
|
+
const subscriptions_transport_ws_1 = require("subscriptions-transport-ws");
|
9
|
+
const env_1 = require("@things-factory/env");
|
10
|
+
const routers_1 = require("./routers");
|
11
|
+
const graphql_1 = require("graphql");
|
14
12
|
const apollo_server_koa_1 = require("apollo-server-koa");
|
15
|
-
const
|
13
|
+
const graphql_local_client_1 = require("./graphql-local-client");
|
14
|
+
const koa_1 = __importDefault(require("koa"));
|
16
15
|
const co_1 = __importDefault(require("co"));
|
17
16
|
const koa_compose_1 = __importDefault(require("koa-compose"));
|
18
|
-
const
|
17
|
+
const cors_1 = __importDefault(require("@koa/cors"));
|
18
|
+
const http_1 = require("http");
|
19
19
|
const database_1 = require("./initializers/database");
|
20
|
-
const
|
21
|
-
const
|
20
|
+
const graphql_upload_1 = require("graphql-upload");
|
21
|
+
const koa2_connect_history_api_fallback_1 = require("koa2-connect-history-api-fallback");
|
22
|
+
const koa_ip_1 = __importDefault(require("koa-ip"));
|
23
|
+
const koa_bodyparser_1 = __importDefault(require("koa-bodyparser"));
|
24
|
+
const koa_static_1 = __importDefault(require("koa-static"));
|
22
25
|
const schema_1 = require("./schema");
|
23
26
|
const args = require('args');
|
24
27
|
args.option('port', 'The port on which the app will be running', env_1.config.get('port', 3000));
|
@@ -58,26 +61,32 @@ const bootstrap = async () => {
|
|
58
61
|
var subscriptionMiddleware = [];
|
59
62
|
process.emit('bootstrap-module-subscription', app, subscriptionMiddleware);
|
60
63
|
const builtSchema = await (0, schema_1.schema)();
|
64
|
+
const httpServer = (0, http_1.createServer)(app.callback());
|
65
|
+
const subscriptionServer = subscriptions_transport_ws_1.SubscriptionServer.create({
|
66
|
+
schema: builtSchema,
|
67
|
+
// These are imported from `graphql`.
|
68
|
+
execute: graphql_1.execute,
|
69
|
+
subscribe: graphql_1.subscribe,
|
70
|
+
async onConnect(connectionParams, webSocket, context) {
|
71
|
+
var { request } = context;
|
72
|
+
var url = new URL((connectionParams['headers'] || connectionParams).referer);
|
73
|
+
var accessToken = url.searchParams.get('access_token');
|
74
|
+
connectionParams['headers']['authorization'] = accessToken;
|
75
|
+
request.headers = Object.assign(Object.assign({}, request.headers), (connectionParams['headers'] || connectionParams));
|
76
|
+
/* in case connect error(like a authentication error) just throw exception */
|
77
|
+
var koacontext = await app.createContext(request, {});
|
78
|
+
koacontext['state'] = {};
|
79
|
+
var middlewares = [...subscriptionMiddleware];
|
80
|
+
const fn = co_1.default.wrap((0, koa_compose_1.default)(middlewares));
|
81
|
+
await fn(koacontext);
|
82
|
+
return koacontext;
|
83
|
+
}
|
84
|
+
}, {
|
85
|
+
server: httpServer,
|
86
|
+
path: '/subscriptions'
|
87
|
+
});
|
61
88
|
const server = new apollo_server_koa_1.ApolloServer({
|
62
89
|
schema: builtSchema,
|
63
|
-
uploads: false,
|
64
|
-
subscriptions: {
|
65
|
-
path: '/subscriptions',
|
66
|
-
onConnect: async (connectionParams, webSocket, context) => {
|
67
|
-
var { request } = context;
|
68
|
-
var url = new URL((connectionParams['headers'] || connectionParams).referer);
|
69
|
-
var accessToken = url.searchParams.get('access_token');
|
70
|
-
connectionParams['headers']['authorization'] = accessToken;
|
71
|
-
request.headers = Object.assign(Object.assign({}, request.headers), (connectionParams['headers'] || connectionParams));
|
72
|
-
/* in case connect error(like a authentication error) just throw exception */
|
73
|
-
var koacontext = await app.createContext(request, {});
|
74
|
-
koacontext['state'] = {};
|
75
|
-
var middlewares = [...subscriptionMiddleware];
|
76
|
-
const fn = co_1.default.wrap((0, koa_compose_1.default)(middlewares));
|
77
|
-
await fn(koacontext);
|
78
|
-
return koacontext;
|
79
|
-
}
|
80
|
-
},
|
81
90
|
formatError: error => {
|
82
91
|
env_1.logger.error(error);
|
83
92
|
return error;
|
@@ -87,11 +96,6 @@ const bootstrap = async () => {
|
|
87
96
|
return response;
|
88
97
|
},
|
89
98
|
introspection: true,
|
90
|
-
playground: {
|
91
|
-
settings: {
|
92
|
-
'request.credentials': 'include'
|
93
|
-
}
|
94
|
-
},
|
95
99
|
context: async ({ connection, ctx }) => {
|
96
100
|
if (connection) {
|
97
101
|
return connection.context;
|
@@ -99,14 +103,26 @@ const bootstrap = async () => {
|
|
99
103
|
else {
|
100
104
|
return ctx;
|
101
105
|
}
|
102
|
-
}
|
106
|
+
},
|
107
|
+
plugins: [
|
108
|
+
{
|
109
|
+
async serverWillStart() {
|
110
|
+
return {
|
111
|
+
async drainServer() {
|
112
|
+
subscriptionServer.close();
|
113
|
+
}
|
114
|
+
};
|
115
|
+
}
|
116
|
+
}
|
117
|
+
]
|
103
118
|
});
|
119
|
+
await server.start();
|
104
120
|
graphql_local_client_1.GraphqlLocalClient.init(builtSchema, app);
|
105
121
|
env_1.orderedModuleNames.forEach(name => {
|
106
122
|
const { initMiddlewares } = (0, env_1.loader)(name);
|
107
123
|
initMiddlewares && initMiddlewares(app);
|
108
124
|
});
|
109
|
-
const render = require('
|
125
|
+
const render = require('@things-factory/ejs-remote');
|
110
126
|
render(app, {
|
111
127
|
root: '/views',
|
112
128
|
host: `http://127.0.0.1:${PORT}`,
|
@@ -139,12 +155,11 @@ const bootstrap = async () => {
|
|
139
155
|
app.use((0, koa_static_1.default)(path.join(process.cwd(), 'dist-client'), {
|
140
156
|
index: 'index.html'
|
141
157
|
}));
|
142
|
-
|
158
|
+
httpServer.listen({ port: PORT }, () => {
|
143
159
|
env_1.logger.info(`🚀 Server ready at http://0.0.0.0:${PORT}${server.graphqlPath}`);
|
144
|
-
env_1.logger.info(`🚀 Subscriptions ready at ws://0.0.0.0:${PORT}${
|
160
|
+
env_1.logger.info(`🚀 Subscriptions ready at ws://0.0.0.0:${PORT}${'/subscriptions'}`);
|
145
161
|
process.emit('bootstrap-module-start', { app, config: env_1.config, builtSchema, httpServer });
|
146
162
|
});
|
147
|
-
server.installSubscriptionHandlers(httpServer);
|
148
163
|
};
|
149
164
|
bootstrap();
|
150
165
|
//# sourceMappingURL=server.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../server/server.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAA;AACnC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;AAE1B,
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../server/server.ts"],"names":[],"mappings":"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"}
|
@@ -15,15 +15,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.DomainResolver = void 0;
|
16
16
|
const type_graphql_1 = require("type-graphql");
|
17
17
|
const typeorm_1 = require("typeorm");
|
18
|
-
const list_param_1 = require("../common-types/list-param");
|
19
18
|
const utils_1 = require("@things-factory/utils");
|
19
|
+
const list_query_builder_1 = require("../../utils/list-query-builder");
|
20
|
+
const list_param_1 = require("../common-types/list-param");
|
20
21
|
const domain_1 = require("./domain");
|
21
22
|
const domain_types_1 = require("./domain-types");
|
22
|
-
const list_query_builder_1 = require("../../utils/list-query-builder");
|
23
23
|
let DomainResolver = class DomainResolver {
|
24
|
-
async domain(
|
24
|
+
async domain(id) {
|
25
25
|
const repository = (0, typeorm_1.getRepository)(domain_1.Domain);
|
26
|
-
return await repository.findOne({
|
26
|
+
return await repository.findOne({ id });
|
27
27
|
}
|
28
28
|
async domains(params, context) {
|
29
29
|
const queryBuilder = (0, typeorm_1.getRepository)(domain_1.Domain).createQueryBuilder();
|
@@ -81,7 +81,7 @@ let DomainResolver = class DomainResolver {
|
|
81
81
|
__decorate([
|
82
82
|
(0, type_graphql_1.Directive)('@privilege(category: "system", privilege: "mutation", domainOwnerGranted: true, superUserGranted: true)'),
|
83
83
|
(0, type_graphql_1.Query)(returns => domain_1.Domain, { description: 'To fetch domain' }),
|
84
|
-
__param(0, (0, type_graphql_1.Arg)('
|
84
|
+
__param(0, (0, type_graphql_1.Arg)('id')),
|
85
85
|
__metadata("design:type", Function),
|
86
86
|
__metadata("design:paramtypes", [String]),
|
87
87
|
__metadata("design:returntype", Promise)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"domain-resolver.js","sourceRoot":"","sources":["../../../server/service/domain/domain-resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAmF;AACnF,qCAAuD;
|
1
|
+
{"version":3,"file":"domain-resolver.js","sourceRoot":"","sources":["../../../server/service/domain/domain-resolver.ts"],"names":[],"mappings":"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"}
|