nsgm-cli 2.0.6 → 2.0.8
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/LICENSE +201 -201
- package/README.md +161 -161
- package/client/layout/index.tsx +248 -245
- package/client/redux/reducers.ts +4 -4
- package/client/redux/store.ts +50 -50
- package/client/redux/template/manage/actions.ts +190 -190
- package/client/redux/template/manage/reducers.ts +118 -118
- package/client/redux/template/manage/types.ts +24 -24
- package/client/service/template/manage.ts +96 -96
- package/client/styled/common.ts +60 -27
- package/client/styled/layout/index.ts +25 -25
- package/client/styled/template/manage.ts +51 -51
- package/client/utils/common.ts +89 -86
- package/client/utils/cookie.ts +51 -51
- package/client/utils/fetch.ts +25 -25
- package/client/utils/menu.tsx +27 -27
- package/client/utils/sso.ts +205 -0
- package/generation/README.md +19 -19
- package/generation/app.js +2 -2
- package/generation/client/redux/reducers.ts +4 -4
- package/generation/client/utils/menu.tsx +27 -27
- package/generation/gitignore +4 -4
- package/generation/mysql.config.js +12 -13
- package/generation/next.config.js +6 -6
- package/generation/package.json +21 -26
- package/generation/project.config.js +13 -12
- package/generation/server/rest.js +23 -20
- package/generation/tsconfig.json +30 -30
- package/index.js +10 -10
- package/lib/args.d.ts +6 -6
- package/lib/args.js +53 -53
- package/lib/generate.d.ts +3 -3
- package/lib/generate.js +751 -736
- package/lib/index.d.ts +2 -2
- package/lib/index.js +272 -272
- package/lib/server/db.d.ts +5 -5
- package/lib/server/db.js +110 -110
- package/lib/server/graphql.d.ts +7 -7
- package/lib/server/graphql.js +119 -119
- package/lib/server/plugins/date.d.ts +5 -5
- package/lib/server/plugins/date.js +16 -16
- package/lib/tsconfig.build.tsbuildinfo +1 -1
- package/mysql.config.js +14 -14
- package/next-env.d.ts +6 -6
- package/next.config.js +2 -2
- package/package.json +126 -126
- package/pages/_app.tsx +54 -44
- package/pages/login.tsx +79 -0
- package/pages/template/manage.tsx +278 -278
- package/project.config.js +16 -14
- package/public/slbhealthcheck.html +9 -9
- package/scripts/shutdown.sh +9 -9
- package/scripts/startup.sh +34 -34
- package/server/apis/sso.js +44 -0
- package/server/apis/template.js +17 -17
- package/server/modules/template/schema.js +33 -33
- package/server/rest.js +24 -20
- package/server/sql/template.sql +8 -8
- package/generation/.DS_Store +0 -0
package/lib/server/db.js
CHANGED
|
@@ -1,110 +1,110 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var mysql_1 = __importDefault(require("mysql"));
|
|
7
|
-
var fs_1 = __importDefault(require("fs"));
|
|
8
|
-
// import { PHASE_DEVELOPMENT_SERVER } from 'next/constants'
|
|
9
|
-
var localMysqlFlag = true;
|
|
10
|
-
var mysqlConfig = null;
|
|
11
|
-
var clusterUser = '';
|
|
12
|
-
var clusterPassword = '';
|
|
13
|
-
var clusterHost = '';
|
|
14
|
-
var clusterPort = 0;
|
|
15
|
-
var clusterDatabase = '';
|
|
16
|
-
var clusterConnectFlag = false;
|
|
17
|
-
var getMysqlConfig = function () {
|
|
18
|
-
if (mysqlConfig == null) {
|
|
19
|
-
var curFolder = process.cwd();
|
|
20
|
-
var curMysqlConfigPath = curFolder + '/mysql.config.js';
|
|
21
|
-
if (fs_1.default.existsSync(curMysqlConfigPath)) {
|
|
22
|
-
mysqlConfig = require(curMysqlConfigPath);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
mysqlConfig = require('../../mysql.config.js');
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
// console.log('mysqlConfig', mysqlConfig)
|
|
29
|
-
return mysqlConfig;
|
|
30
|
-
};
|
|
31
|
-
var mysqlConnect = function (_a) {
|
|
32
|
-
var user = _a.user, password = _a.password, host = _a.host, port = _a.port, database = _a.database;
|
|
33
|
-
return new Promise(function (resolve, reject) {
|
|
34
|
-
if (user !== '' && password !== '' && host !== '' && port !== 0 && database !== '') {
|
|
35
|
-
try {
|
|
36
|
-
var connection_1 = mysql_1.default.createConnection({ user: user, password: password, host: host, port: port, database: database });
|
|
37
|
-
connection_1.connect(function (err) {
|
|
38
|
-
if (!err) {
|
|
39
|
-
resolve(connection_1);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
console.log('err_mysqlConnect: ', err);
|
|
43
|
-
reject();
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
catch (e) {
|
|
48
|
-
console.log('e_mysqlConnect: ', e);
|
|
49
|
-
reject();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
reject();
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
};
|
|
57
|
-
var reConnectDalCluster = function () {
|
|
58
|
-
/*
|
|
59
|
-
const nextConfig = getConfig()
|
|
60
|
-
const { publicRuntimeConfig } = nextConfig
|
|
61
|
-
const { env, phase } = publicRuntimeConfig
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
//if (phase === PHASE_DEVELOPMENT_SERVER) {
|
|
65
|
-
switch (env) {
|
|
66
|
-
case 'FAT':
|
|
67
|
-
clusterUser = 'us_test_erishen'
|
|
68
|
-
clusterPassword = 'ddpsFcMS8DxBoeMk'
|
|
69
|
-
break
|
|
70
|
-
case 'UAT':
|
|
71
|
-
clusterUser = 'us_test_erishen'
|
|
72
|
-
clusterPassword = 'vbvRZNF0zvbFKn7W'
|
|
73
|
-
break
|
|
74
|
-
}
|
|
75
|
-
//}
|
|
76
|
-
*/
|
|
77
|
-
return new Promise(function (resolve, reject) {
|
|
78
|
-
mysqlConnect({
|
|
79
|
-
user: clusterUser,
|
|
80
|
-
password: clusterPassword,
|
|
81
|
-
host: clusterHost,
|
|
82
|
-
port: clusterPort,
|
|
83
|
-
database: clusterDatabase
|
|
84
|
-
})
|
|
85
|
-
.then(resolve)
|
|
86
|
-
.catch(reject);
|
|
87
|
-
});
|
|
88
|
-
};
|
|
89
|
-
var getConnection = function () {
|
|
90
|
-
mysqlConfig = getMysqlConfig();
|
|
91
|
-
if (mysqlConfig != null) {
|
|
92
|
-
var mysqlOptions_1 = mysqlConfig.mysqlOptions;
|
|
93
|
-
return new Promise(function (resolve, reject) {
|
|
94
|
-
var index = 0;
|
|
95
|
-
if (mysqlOptions_1) {
|
|
96
|
-
if (localMysqlFlag) {
|
|
97
|
-
mysqlConnect(mysqlOptions_1)
|
|
98
|
-
.then(resolve)
|
|
99
|
-
.catch(function () {
|
|
100
|
-
console.log('e_getConnection');
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
exports.default = {
|
|
108
|
-
getMysqlConfig: getMysqlConfig,
|
|
109
|
-
getConnection: getConnection
|
|
110
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var mysql_1 = __importDefault(require("mysql"));
|
|
7
|
+
var fs_1 = __importDefault(require("fs"));
|
|
8
|
+
// import { PHASE_DEVELOPMENT_SERVER } from 'next/constants'
|
|
9
|
+
var localMysqlFlag = true;
|
|
10
|
+
var mysqlConfig = null;
|
|
11
|
+
var clusterUser = '';
|
|
12
|
+
var clusterPassword = '';
|
|
13
|
+
var clusterHost = '';
|
|
14
|
+
var clusterPort = 0;
|
|
15
|
+
var clusterDatabase = '';
|
|
16
|
+
var clusterConnectFlag = false;
|
|
17
|
+
var getMysqlConfig = function () {
|
|
18
|
+
if (mysqlConfig == null) {
|
|
19
|
+
var curFolder = process.cwd();
|
|
20
|
+
var curMysqlConfigPath = curFolder + '/mysql.config.js';
|
|
21
|
+
if (fs_1.default.existsSync(curMysqlConfigPath)) {
|
|
22
|
+
mysqlConfig = require(curMysqlConfigPath);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
mysqlConfig = require('../../mysql.config.js');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// console.log('mysqlConfig', mysqlConfig)
|
|
29
|
+
return mysqlConfig;
|
|
30
|
+
};
|
|
31
|
+
var mysqlConnect = function (_a) {
|
|
32
|
+
var user = _a.user, password = _a.password, host = _a.host, port = _a.port, database = _a.database;
|
|
33
|
+
return new Promise(function (resolve, reject) {
|
|
34
|
+
if (user !== '' && password !== '' && host !== '' && port !== 0 && database !== '') {
|
|
35
|
+
try {
|
|
36
|
+
var connection_1 = mysql_1.default.createConnection({ user: user, password: password, host: host, port: port, database: database });
|
|
37
|
+
connection_1.connect(function (err) {
|
|
38
|
+
if (!err) {
|
|
39
|
+
resolve(connection_1);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
console.log('err_mysqlConnect: ', err);
|
|
43
|
+
reject();
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
console.log('e_mysqlConnect: ', e);
|
|
49
|
+
reject();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
reject();
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
var reConnectDalCluster = function () {
|
|
58
|
+
/*
|
|
59
|
+
const nextConfig = getConfig()
|
|
60
|
+
const { publicRuntimeConfig } = nextConfig
|
|
61
|
+
const { env, phase } = publicRuntimeConfig
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
//if (phase === PHASE_DEVELOPMENT_SERVER) {
|
|
65
|
+
switch (env) {
|
|
66
|
+
case 'FAT':
|
|
67
|
+
clusterUser = 'us_test_erishen'
|
|
68
|
+
clusterPassword = 'ddpsFcMS8DxBoeMk'
|
|
69
|
+
break
|
|
70
|
+
case 'UAT':
|
|
71
|
+
clusterUser = 'us_test_erishen'
|
|
72
|
+
clusterPassword = 'vbvRZNF0zvbFKn7W'
|
|
73
|
+
break
|
|
74
|
+
}
|
|
75
|
+
//}
|
|
76
|
+
*/
|
|
77
|
+
return new Promise(function (resolve, reject) {
|
|
78
|
+
mysqlConnect({
|
|
79
|
+
user: clusterUser,
|
|
80
|
+
password: clusterPassword,
|
|
81
|
+
host: clusterHost,
|
|
82
|
+
port: clusterPort,
|
|
83
|
+
database: clusterDatabase
|
|
84
|
+
})
|
|
85
|
+
.then(resolve)
|
|
86
|
+
.catch(reject);
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
var getConnection = function () {
|
|
90
|
+
mysqlConfig = getMysqlConfig();
|
|
91
|
+
if (mysqlConfig != null) {
|
|
92
|
+
var mysqlOptions_1 = mysqlConfig.mysqlOptions;
|
|
93
|
+
return new Promise(function (resolve, reject) {
|
|
94
|
+
var index = 0;
|
|
95
|
+
if (mysqlOptions_1) {
|
|
96
|
+
if (localMysqlFlag) {
|
|
97
|
+
mysqlConnect(mysqlOptions_1)
|
|
98
|
+
.then(resolve)
|
|
99
|
+
.catch(function () {
|
|
100
|
+
console.log('e_getConnection');
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
exports.default = {
|
|
108
|
+
getMysqlConfig: getMysqlConfig,
|
|
109
|
+
getConnection: getConnection
|
|
110
|
+
};
|
package/lib/server/graphql.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
declare const _default: (command: string) => (request: import("http").IncomingMessage & {
|
|
3
|
-
url: string;
|
|
4
|
-
}, response: import("http").ServerResponse & {
|
|
5
|
-
json?: ((data: unknown) => void) | undefined;
|
|
6
|
-
}) => Promise<void>;
|
|
7
|
-
export default _default;
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
declare const _default: (command: string) => (request: import("http").IncomingMessage & {
|
|
3
|
+
url: string;
|
|
4
|
+
}, response: import("http").ServerResponse & {
|
|
5
|
+
json?: ((data: unknown) => void) | undefined;
|
|
6
|
+
}) => Promise<void>;
|
|
7
|
+
export default _default;
|
package/lib/server/graphql.js
CHANGED
|
@@ -1,119 +1,119 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
var express_graphql_1 = require("express-graphql");
|
|
18
|
-
var graphql_1 = require("graphql");
|
|
19
|
-
var fs_1 = __importDefault(require("fs"));
|
|
20
|
-
var lodash_1 = __importDefault(require("lodash"));
|
|
21
|
-
var path_1 = require("path");
|
|
22
|
-
var date_1 = __importDefault(require("./plugins/date"));
|
|
23
|
-
var defaultPath = (0, path_1.resolve)(__dirname, './modules/');
|
|
24
|
-
var typeDefFileName = 'schema.js';
|
|
25
|
-
var resolverFileName = 'resolver.js';
|
|
26
|
-
var curFolder = process.cwd();
|
|
27
|
-
var outModulesPath = (0, path_1.resolve)(curFolder + '/server/modules/');
|
|
28
|
-
var handleOutPlugins = function () {
|
|
29
|
-
var result = {};
|
|
30
|
-
var outPluginsPath = (0, path_1.resolve)(curFolder + '/server/plugins/');
|
|
31
|
-
if (fs_1.default.existsSync(outPluginsPath)) {
|
|
32
|
-
var list = fs_1.default.readdirSync(outPluginsPath);
|
|
33
|
-
list.forEach(function (item) {
|
|
34
|
-
var resolverPath = (0, path_1.resolve)(outPluginsPath + '/' + item);
|
|
35
|
-
var stat = fs_1.default.statSync(resolverPath);
|
|
36
|
-
var isFile = stat.isFile();
|
|
37
|
-
if (isFile) {
|
|
38
|
-
result = __assign({}, require(resolverPath));
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
return result;
|
|
43
|
-
};
|
|
44
|
-
function generateTypeDefsAndResolvers() {
|
|
45
|
-
var querySchemes = [
|
|
46
|
-
"\n _: Boolean\n "
|
|
47
|
-
];
|
|
48
|
-
var mutationSchemes = [
|
|
49
|
-
"\n _: Boolean\n "
|
|
50
|
-
];
|
|
51
|
-
var subscriptionSchemes = [
|
|
52
|
-
"\n _: Boolean\n "
|
|
53
|
-
];
|
|
54
|
-
var typeSchemes = [];
|
|
55
|
-
var resolvers = __assign(__assign({}, date_1.default), handleOutPlugins());
|
|
56
|
-
var scalars = lodash_1.default.keys(resolvers);
|
|
57
|
-
var scalarStr = '';
|
|
58
|
-
lodash_1.default.each(scalars, function (item, index) {
|
|
59
|
-
scalarStr += 'scalar ' + item + '\n ';
|
|
60
|
-
});
|
|
61
|
-
// console.log('resolvers', resolvers, _.keys(resolvers), scalarStr)
|
|
62
|
-
var _generateAllComponentRecursive = function (path) {
|
|
63
|
-
if (path === void 0) { path = defaultPath; }
|
|
64
|
-
if (fs_1.default.existsSync(path)) {
|
|
65
|
-
var list = fs_1.default.readdirSync(path);
|
|
66
|
-
list.forEach(function (item) {
|
|
67
|
-
var resolverPath = path + '/' + item;
|
|
68
|
-
var stat = fs_1.default.statSync(resolverPath);
|
|
69
|
-
var isDir = stat.isDirectory();
|
|
70
|
-
var isFile = stat.isFile();
|
|
71
|
-
if (isDir) {
|
|
72
|
-
_generateAllComponentRecursive(resolverPath);
|
|
73
|
-
}
|
|
74
|
-
else if (isFile && item === typeDefFileName) {
|
|
75
|
-
// console.log('resolverPath1', resolverPath)
|
|
76
|
-
var schemaObj = require(resolverPath);
|
|
77
|
-
if (schemaObj.default !== undefined)
|
|
78
|
-
schemaObj = schemaObj.default;
|
|
79
|
-
var query = schemaObj.query, mutation = schemaObj.mutation, subscription = schemaObj.subscription, type = schemaObj.type;
|
|
80
|
-
if (query !== '')
|
|
81
|
-
querySchemes.push(query);
|
|
82
|
-
if (mutation !== '')
|
|
83
|
-
mutationSchemes.push(mutation);
|
|
84
|
-
if (subscription !== '')
|
|
85
|
-
subscriptionSchemes.push(subscription);
|
|
86
|
-
if (type !== '')
|
|
87
|
-
typeSchemes.push(type);
|
|
88
|
-
}
|
|
89
|
-
else if (isFile && item === resolverFileName) {
|
|
90
|
-
// console.log('resolverPath2', resolverPath)
|
|
91
|
-
var resolversObj_1 = require(resolverPath);
|
|
92
|
-
if (resolversObj_1.default !== undefined)
|
|
93
|
-
resolversObj_1 = resolversObj_1.default;
|
|
94
|
-
Object.keys(resolversObj_1).forEach(function (k) {
|
|
95
|
-
if (!resolvers[k])
|
|
96
|
-
resolvers[k] = {};
|
|
97
|
-
resolvers[k] = resolversObj_1[k];
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
_generateAllComponentRecursive();
|
|
104
|
-
_generateAllComponentRecursive(outModulesPath);
|
|
105
|
-
return { querySchemes: querySchemes, mutationSchemes: mutationSchemes, subscriptionSchemes: subscriptionSchemes, typeSchemes: typeSchemes, resolvers: resolvers, scalarStr: scalarStr };
|
|
106
|
-
}
|
|
107
|
-
var _a = generateTypeDefsAndResolvers(), querySchemesV = _a.querySchemes, mutationSchemesV = _a.mutationSchemes, subscriptionSchemesV = _a.subscriptionSchemes, typeSchemesV = _a.typeSchemes, resolversV = _a.resolvers, scalarStrV = _a.scalarStr;
|
|
108
|
-
var schemaStr = "\n ".concat(scalarStrV, "\n\n type Query { \n ").concat(querySchemesV.join('\n'), " \n }\n\n type Mutation { \n ").concat(mutationSchemesV.join('\n'), " \n }\n\n type Subscription { \n ").concat(subscriptionSchemesV.join('\n'), " \n }\n\n ").concat(typeSchemesV.join('\n'), "\n");
|
|
109
|
-
exports.default = (function (command) {
|
|
110
|
-
if (command === 'dev') {
|
|
111
|
-
console.log('schemaStr', schemaStr);
|
|
112
|
-
console.log('resolvers', resolversV);
|
|
113
|
-
}
|
|
114
|
-
return (0, express_graphql_1.graphqlHTTP)({
|
|
115
|
-
schema: (0, graphql_1.buildSchema)(schemaStr),
|
|
116
|
-
rootValue: resolversV,
|
|
117
|
-
graphiql: true
|
|
118
|
-
});
|
|
119
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var express_graphql_1 = require("express-graphql");
|
|
18
|
+
var graphql_1 = require("graphql");
|
|
19
|
+
var fs_1 = __importDefault(require("fs"));
|
|
20
|
+
var lodash_1 = __importDefault(require("lodash"));
|
|
21
|
+
var path_1 = require("path");
|
|
22
|
+
var date_1 = __importDefault(require("./plugins/date"));
|
|
23
|
+
var defaultPath = (0, path_1.resolve)(__dirname, './modules/');
|
|
24
|
+
var typeDefFileName = 'schema.js';
|
|
25
|
+
var resolverFileName = 'resolver.js';
|
|
26
|
+
var curFolder = process.cwd();
|
|
27
|
+
var outModulesPath = (0, path_1.resolve)(curFolder + '/server/modules/');
|
|
28
|
+
var handleOutPlugins = function () {
|
|
29
|
+
var result = {};
|
|
30
|
+
var outPluginsPath = (0, path_1.resolve)(curFolder + '/server/plugins/');
|
|
31
|
+
if (fs_1.default.existsSync(outPluginsPath)) {
|
|
32
|
+
var list = fs_1.default.readdirSync(outPluginsPath);
|
|
33
|
+
list.forEach(function (item) {
|
|
34
|
+
var resolverPath = (0, path_1.resolve)(outPluginsPath + '/' + item);
|
|
35
|
+
var stat = fs_1.default.statSync(resolverPath);
|
|
36
|
+
var isFile = stat.isFile();
|
|
37
|
+
if (isFile) {
|
|
38
|
+
result = __assign({}, require(resolverPath));
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
function generateTypeDefsAndResolvers() {
|
|
45
|
+
var querySchemes = [
|
|
46
|
+
"\n _: Boolean\n "
|
|
47
|
+
];
|
|
48
|
+
var mutationSchemes = [
|
|
49
|
+
"\n _: Boolean\n "
|
|
50
|
+
];
|
|
51
|
+
var subscriptionSchemes = [
|
|
52
|
+
"\n _: Boolean\n "
|
|
53
|
+
];
|
|
54
|
+
var typeSchemes = [];
|
|
55
|
+
var resolvers = __assign(__assign({}, date_1.default), handleOutPlugins());
|
|
56
|
+
var scalars = lodash_1.default.keys(resolvers);
|
|
57
|
+
var scalarStr = '';
|
|
58
|
+
lodash_1.default.each(scalars, function (item, index) {
|
|
59
|
+
scalarStr += 'scalar ' + item + '\n ';
|
|
60
|
+
});
|
|
61
|
+
// console.log('resolvers', resolvers, _.keys(resolvers), scalarStr)
|
|
62
|
+
var _generateAllComponentRecursive = function (path) {
|
|
63
|
+
if (path === void 0) { path = defaultPath; }
|
|
64
|
+
if (fs_1.default.existsSync(path)) {
|
|
65
|
+
var list = fs_1.default.readdirSync(path);
|
|
66
|
+
list.forEach(function (item) {
|
|
67
|
+
var resolverPath = path + '/' + item;
|
|
68
|
+
var stat = fs_1.default.statSync(resolverPath);
|
|
69
|
+
var isDir = stat.isDirectory();
|
|
70
|
+
var isFile = stat.isFile();
|
|
71
|
+
if (isDir) {
|
|
72
|
+
_generateAllComponentRecursive(resolverPath);
|
|
73
|
+
}
|
|
74
|
+
else if (isFile && item === typeDefFileName) {
|
|
75
|
+
// console.log('resolverPath1', resolverPath)
|
|
76
|
+
var schemaObj = require(resolverPath);
|
|
77
|
+
if (schemaObj.default !== undefined)
|
|
78
|
+
schemaObj = schemaObj.default;
|
|
79
|
+
var query = schemaObj.query, mutation = schemaObj.mutation, subscription = schemaObj.subscription, type = schemaObj.type;
|
|
80
|
+
if (query !== '')
|
|
81
|
+
querySchemes.push(query);
|
|
82
|
+
if (mutation !== '')
|
|
83
|
+
mutationSchemes.push(mutation);
|
|
84
|
+
if (subscription !== '')
|
|
85
|
+
subscriptionSchemes.push(subscription);
|
|
86
|
+
if (type !== '')
|
|
87
|
+
typeSchemes.push(type);
|
|
88
|
+
}
|
|
89
|
+
else if (isFile && item === resolverFileName) {
|
|
90
|
+
// console.log('resolverPath2', resolverPath)
|
|
91
|
+
var resolversObj_1 = require(resolverPath);
|
|
92
|
+
if (resolversObj_1.default !== undefined)
|
|
93
|
+
resolversObj_1 = resolversObj_1.default;
|
|
94
|
+
Object.keys(resolversObj_1).forEach(function (k) {
|
|
95
|
+
if (!resolvers[k])
|
|
96
|
+
resolvers[k] = {};
|
|
97
|
+
resolvers[k] = resolversObj_1[k];
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
_generateAllComponentRecursive();
|
|
104
|
+
_generateAllComponentRecursive(outModulesPath);
|
|
105
|
+
return { querySchemes: querySchemes, mutationSchemes: mutationSchemes, subscriptionSchemes: subscriptionSchemes, typeSchemes: typeSchemes, resolvers: resolvers, scalarStr: scalarStr };
|
|
106
|
+
}
|
|
107
|
+
var _a = generateTypeDefsAndResolvers(), querySchemesV = _a.querySchemes, mutationSchemesV = _a.mutationSchemes, subscriptionSchemesV = _a.subscriptionSchemes, typeSchemesV = _a.typeSchemes, resolversV = _a.resolvers, scalarStrV = _a.scalarStr;
|
|
108
|
+
var schemaStr = "\n ".concat(scalarStrV, "\n\n type Query { \n ").concat(querySchemesV.join('\n'), " \n }\n\n type Mutation { \n ").concat(mutationSchemesV.join('\n'), " \n }\n\n type Subscription { \n ").concat(subscriptionSchemesV.join('\n'), " \n }\n\n ").concat(typeSchemesV.join('\n'), "\n");
|
|
109
|
+
exports.default = (function (command) {
|
|
110
|
+
if (command === 'dev') {
|
|
111
|
+
console.log('schemaStr', schemaStr);
|
|
112
|
+
console.log('resolvers', resolversV);
|
|
113
|
+
}
|
|
114
|
+
return (0, express_graphql_1.graphqlHTTP)({
|
|
115
|
+
schema: (0, graphql_1.buildSchema)(schemaStr),
|
|
116
|
+
rootValue: resolversV,
|
|
117
|
+
graphiql: true
|
|
118
|
+
});
|
|
119
|
+
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { GraphQLScalarType } from 'graphql';
|
|
2
|
-
declare const _default: {
|
|
3
|
-
Date: GraphQLScalarType;
|
|
4
|
-
};
|
|
5
|
-
export default _default;
|
|
1
|
+
import { GraphQLScalarType } from 'graphql';
|
|
2
|
+
declare const _default: {
|
|
3
|
+
Date: GraphQLScalarType;
|
|
4
|
+
};
|
|
5
|
+
export default _default;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
var moment_1 = __importDefault(require("moment"));
|
|
7
|
-
var language_1 = require("graphql/language");
|
|
8
|
-
var graphql_1 = require("graphql");
|
|
9
|
-
var customScalarDate = new graphql_1.GraphQLScalarType({
|
|
10
|
-
name: 'Date',
|
|
11
|
-
description: 'Date custom scalar type',
|
|
12
|
-
parseValue: function (value) { return (0, moment_1.default)(value).valueOf(); },
|
|
13
|
-
serialize: function (value) { return (0, moment_1.default)(value).format('YYYY-MM-DD HH:mm:ss:SSS'); },
|
|
14
|
-
parseLiteral: function (ast) { return (ast.kind === language_1.Kind.INT ? parseInt(ast.value, 10) : null); }
|
|
15
|
-
});
|
|
16
|
-
exports.default = { Date: customScalarDate };
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var moment_1 = __importDefault(require("moment"));
|
|
7
|
+
var language_1 = require("graphql/language");
|
|
8
|
+
var graphql_1 = require("graphql");
|
|
9
|
+
var customScalarDate = new graphql_1.GraphQLScalarType({
|
|
10
|
+
name: 'Date',
|
|
11
|
+
description: 'Date custom scalar type',
|
|
12
|
+
parseValue: function (value) { return (0, moment_1.default)(value).valueOf(); },
|
|
13
|
+
serialize: function (value) { return (0, moment_1.default)(value).format('YYYY-MM-DD HH:mm:ss:SSS'); },
|
|
14
|
+
parseLiteral: function (ast) { return (ast.kind === language_1.Kind.INT ? parseInt(ast.value, 10) : null); }
|
|
15
|
+
});
|
|
16
|
+
exports.default = { Date: customScalarDate };
|