@gaias/basenode 0.0.1
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/.dockerignore +12 -0
- package/.drone.yml +54 -0
- package/.eslintignore +4 -0
- package/.ncurc.json +8 -0
- package/Dockerfile +15 -0
- package/README.adoc +44 -0
- package/README.md +47 -0
- package/dist/deps/Libs.d.ts +10 -0
- package/dist/deps/Libs.js +46 -0
- package/dist/deps/Libs.js.map +1 -0
- package/dist/deps/index.d.ts +1 -0
- package/dist/deps/index.js +18 -0
- package/dist/deps/index.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/libs/ApiGatewayLoader.d.ts +3 -0
- package/dist/libs/ApiGatewayLoader.js +82 -0
- package/dist/libs/ApiGatewayLoader.js.map +1 -0
- package/dist/libs/ApiRegisterController.d.ts +12 -0
- package/dist/libs/ApiRegisterController.js +245 -0
- package/dist/libs/ApiRegisterController.js.map +1 -0
- package/dist/libs/ApplicationConfig.d.ts +12 -0
- package/dist/libs/ApplicationConfig.js +3 -0
- package/dist/libs/ApplicationConfig.js.map +1 -0
- package/dist/libs/BizError.d.ts +8 -0
- package/dist/libs/BizError.js +14 -0
- package/dist/libs/BizError.js.map +1 -0
- package/dist/libs/CacheService.d.ts +57 -0
- package/dist/libs/CacheService.js +309 -0
- package/dist/libs/CacheService.js.map +1 -0
- package/dist/libs/ConfigManager.d.ts +19 -0
- package/dist/libs/ConfigManager.js +52 -0
- package/dist/libs/ConfigManager.js.map +1 -0
- package/dist/libs/Converter.d.ts +32 -0
- package/dist/libs/Converter.js +148 -0
- package/dist/libs/Converter.js.map +1 -0
- package/dist/libs/CurrentUserToken.d.ts +7 -0
- package/dist/libs/CurrentUserToken.js +3 -0
- package/dist/libs/CurrentUserToken.js.map +1 -0
- package/dist/libs/DistributedEvents.d.ts +13 -0
- package/dist/libs/DistributedEvents.js +102 -0
- package/dist/libs/DistributedEvents.js.map +1 -0
- package/dist/libs/DistributedEventsLoader.d.ts +6 -0
- package/dist/libs/DistributedEventsLoader.js +30 -0
- package/dist/libs/DistributedEventsLoader.js.map +1 -0
- package/dist/libs/EventsManager.d.ts +16 -0
- package/dist/libs/EventsManager.js +56 -0
- package/dist/libs/EventsManager.js.map +1 -0
- package/dist/libs/HealthCheckController.d.ts +24 -0
- package/dist/libs/HealthCheckController.js +83 -0
- package/dist/libs/HealthCheckController.js.map +1 -0
- package/dist/libs/HttpMethods.d.ts +8 -0
- package/dist/libs/HttpMethods.js +80 -0
- package/dist/libs/HttpMethods.js.map +1 -0
- package/dist/libs/IdGenerator.d.ts +1 -0
- package/dist/libs/IdGenerator.js +7 -0
- package/dist/libs/IdGenerator.js.map +1 -0
- package/dist/libs/KoaControllerReturnHandler.d.ts +6 -0
- package/dist/libs/KoaControllerReturnHandler.js +83 -0
- package/dist/libs/KoaControllerReturnHandler.js.map +1 -0
- package/dist/libs/KoaLoader.d.ts +20 -0
- package/dist/libs/KoaLoader.js +177 -0
- package/dist/libs/KoaLoader.js.map +1 -0
- package/dist/libs/Leader.d.ts +39 -0
- package/dist/libs/Leader.js +145 -0
- package/dist/libs/Leader.js.map +1 -0
- package/dist/libs/Logger.d.ts +8 -0
- package/dist/libs/Logger.js +48 -0
- package/dist/libs/Logger.js.map +1 -0
- package/dist/libs/Pagination.d.ts +23 -0
- package/dist/libs/Pagination.js +120 -0
- package/dist/libs/Pagination.js.map +1 -0
- package/dist/libs/RedisClient.d.ts +15 -0
- package/dist/libs/RedisClient.js +84 -0
- package/dist/libs/RedisClient.js.map +1 -0
- package/dist/libs/RedisLoader.d.ts +3 -0
- package/dist/libs/RedisLoader.js +31 -0
- package/dist/libs/RedisLoader.js.map +1 -0
- package/dist/libs/ResRegTypes.d.ts +17 -0
- package/dist/libs/ResRegTypes.js +3 -0
- package/dist/libs/ResRegTypes.js.map +1 -0
- package/dist/libs/Timer.d.ts +13 -0
- package/dist/libs/Timer.js +62 -0
- package/dist/libs/Timer.js.map +1 -0
- package/dist/libs/TypeormLoader.d.ts +8 -0
- package/dist/libs/TypeormLoader.js +49 -0
- package/dist/libs/TypeormLoader.js.map +1 -0
- package/dist/libs/ValidationHelper.d.ts +13 -0
- package/dist/libs/ValidationHelper.js +73 -0
- package/dist/libs/ValidationHelper.js.map +1 -0
- package/dist/libs/apisix/ApisixTemplate.d.ts +6 -0
- package/dist/libs/apisix/ApisixTemplate.js +88 -0
- package/dist/libs/apisix/ApisixTemplate.js.map +1 -0
- package/dist/libs/apisix/HttpPutter.d.ts +1 -0
- package/dist/libs/apisix/HttpPutter.js +51 -0
- package/dist/libs/apisix/HttpPutter.js.map +1 -0
- package/dist/libs/apisix/index.d.ts +2 -0
- package/dist/libs/apisix/index.js +19 -0
- package/dist/libs/apisix/index.js.map +1 -0
- package/dist/libs/i18nValidator.d.ts +3 -0
- package/dist/libs/i18nValidator.js +38 -0
- package/dist/libs/i18nValidator.js.map +1 -0
- package/dist/libs/index.d.ts +28 -0
- package/dist/libs/index.js +45 -0
- package/dist/libs/index.js.map +1 -0
- package/dist/libs/types.d.ts +3 -0
- package/dist/libs/types.js +3 -0
- package/dist/libs/types.js.map +1 -0
- package/dist/server/bootstrap.d.ts +14 -0
- package/dist/server/bootstrap.js +63 -0
- package/dist/server/bootstrap.js.map +1 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +18 -0
- package/dist/server/index.js.map +1 -0
- package/dist/utils/YamlUtil.d.ts +1 -0
- package/dist/utils/YamlUtil.js +43 -0
- package/dist/utils/YamlUtil.js.map +1 -0
- package/dist/utils/crypto.d.ts +9 -0
- package/dist/utils/crypto.js +34 -0
- package/dist/utils/crypto.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/jwtUtil.d.ts +9 -0
- package/dist/utils/jwtUtil.js +41 -0
- package/dist/utils/jwtUtil.js.map +1 -0
- package/dist/utils/transformer.d.ts +9 -0
- package/dist/utils/transformer.js +44 -0
- package/dist/utils/transformer.js.map +1 -0
- package/gen_db.json +7 -0
- package/package.json +127 -0
package/.dockerignore
ADDED
package/.drone.yml
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
kind: pipeline
|
|
2
|
+
type: docker
|
|
3
|
+
name: default
|
|
4
|
+
|
|
5
|
+
steps:
|
|
6
|
+
# - name: build docker image
|
|
7
|
+
# image: plugins/docker
|
|
8
|
+
# settings:
|
|
9
|
+
# username:
|
|
10
|
+
# from_secret: docker_username_alicloud
|
|
11
|
+
# password:
|
|
12
|
+
# from_secret: docker_password_alicloud
|
|
13
|
+
# repo: registry.cn-hongkong.aliyuncs.com/fotsg/${DRONE_REPO_NAME,,}
|
|
14
|
+
# registry: registry.cn-hongkong.aliyuncs.com
|
|
15
|
+
# tags: latest
|
|
16
|
+
# debug: false
|
|
17
|
+
# insecure: false
|
|
18
|
+
- name: build Base Node builder image
|
|
19
|
+
image: plugins/docker
|
|
20
|
+
settings:
|
|
21
|
+
username:
|
|
22
|
+
from_secret: docker_username_dockerhub
|
|
23
|
+
password:
|
|
24
|
+
from_secret: docker_password_dockerhub
|
|
25
|
+
repo: teedywang/base_node_builder
|
|
26
|
+
# registry: registry.cn-hongkong.aliyuncs.com
|
|
27
|
+
tags: latest
|
|
28
|
+
debug: false
|
|
29
|
+
insecure: false
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
kind: secret
|
|
33
|
+
name: docker_username_dockerhub
|
|
34
|
+
get:
|
|
35
|
+
path: cicd/infra
|
|
36
|
+
name: docker_username_dockerhub
|
|
37
|
+
---
|
|
38
|
+
kind: secret
|
|
39
|
+
name: docker_password_dockerhub
|
|
40
|
+
get:
|
|
41
|
+
path: cicd/infra
|
|
42
|
+
name: docker_password_dockerhub
|
|
43
|
+
---
|
|
44
|
+
kind: secret
|
|
45
|
+
name: docker_username_alicloud
|
|
46
|
+
get:
|
|
47
|
+
path: cicd/infra
|
|
48
|
+
name: docker_username_alicloud
|
|
49
|
+
---
|
|
50
|
+
kind: secret
|
|
51
|
+
name: docker_password_alicloud
|
|
52
|
+
get:
|
|
53
|
+
path: cicd/infra
|
|
54
|
+
name: docker_password_alicloud
|
package/.eslintignore
ADDED
package/.ncurc.json
ADDED
package/Dockerfile
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
FROM node:14-alpine as installer
|
|
2
|
+
|
|
3
|
+
RUN apk add --no-cache alpine-sdk python3
|
|
4
|
+
|
|
5
|
+
WORKDIR /fot.sg/build
|
|
6
|
+
ENV YARN_CACHE_FOLDER=/.yarn/cache
|
|
7
|
+
COPY package.json .
|
|
8
|
+
RUN yarn install --ignore-scripts
|
|
9
|
+
|
|
10
|
+
FROM node:14-alpine
|
|
11
|
+
|
|
12
|
+
WORKDIR /fot.sg/build
|
|
13
|
+
ENV YARN_CACHE_FOLDER=/.yarn/cache
|
|
14
|
+
COPY --from=installer /.yarn/cache /.yarn/cache
|
|
15
|
+
COPY --from=installer /fot.sg/build/node_modules /fot.sg/build/node_modules
|
package/README.adoc
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# README #
|
|
2
|
+
|
|
3
|
+
## Please follow the step by step to startup your fotapi project.
|
|
4
|
+
|
|
5
|
+
* Set fot npm private repository
|
|
6
|
+
++++
|
|
7
|
+
Already set configs in project level .npmrc & .yarnrc.
|
|
8
|
+
Change the npm password by setting env if you need to submit code.
|
|
9
|
+
++++
|
|
10
|
+
[source, shell]
|
|
11
|
+
----
|
|
12
|
+
echo -n 'myuser:mypassword' | openssl base64
|
|
13
|
+
npm_config__auth=xxxxxx yarn publish
|
|
14
|
+
----
|
|
15
|
+
|
|
16
|
+
* Install yarn packages
|
|
17
|
+
[source, shell]
|
|
18
|
+
----
|
|
19
|
+
yarn install
|
|
20
|
+
----
|
|
21
|
+
|
|
22
|
+
* Set up your marinedb and import the sql data in file mysqlsampledatabase.sql, then change the db address in ./cfg/database.development.yaml
|
|
23
|
+
|
|
24
|
+
* Run project
|
|
25
|
+
[source, shell]
|
|
26
|
+
----
|
|
27
|
+
yarn dev
|
|
28
|
+
----
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## Document links
|
|
33
|
+
* Restful controller:
|
|
34
|
+
https://github.com/typestack/routing-controllers/blob/master/README.md[routing-controllers]
|
|
35
|
+
* Socket.io controller:
|
|
36
|
+
https://github.com/typestack/socket-controllers/blob/master/README.md[socket-controllers]
|
|
37
|
+
* Validation: https://github.com/typestack/class-validator/blob/master/README.md[class-validator]
|
|
38
|
+
* Json <-> Object: https://github.com/typestack/class-transformer/blob/develop/README.md[class-transformer]
|
|
39
|
+
* socket.io: https://socket.io/docs/[socket.io]
|
|
40
|
+
* IoC: https://github.com/typestack/typedi/blob/master/README.md[typedi]
|
|
41
|
+
* ORM:
|
|
42
|
+
** https://typeorm.io/[typeorm]
|
|
43
|
+
** https://github.com/odavid/typeorm-transactional-cls-hooked/blob/master/README.md[tx decorators]
|
|
44
|
+
** https://github.com/typeorm/typeorm-typedi-extensions/blob/master/README.md[inject repo/conn]
|
package/README.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# basenode
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
# README #
|
|
5
|
+
|
|
6
|
+
## Please follow the step by step to startup your fotapi project.
|
|
7
|
+
|
|
8
|
+
* Set fot npm private repository
|
|
9
|
+
++++
|
|
10
|
+
Already set configs in project level .npmrc & .yarnrc.
|
|
11
|
+
Change the npm password by setting env if you need to submit code.
|
|
12
|
+
++++
|
|
13
|
+
[source, shell]
|
|
14
|
+
----
|
|
15
|
+
echo -n 'myuser:mypassword' | openssl base64
|
|
16
|
+
npm_config__auth=xxxxxx yarn publish
|
|
17
|
+
----
|
|
18
|
+
|
|
19
|
+
* Install yarn packages
|
|
20
|
+
[source, shell]
|
|
21
|
+
----
|
|
22
|
+
yarn install
|
|
23
|
+
----
|
|
24
|
+
|
|
25
|
+
* Set up your marinedb and import the sql data in file mysqlsampledatabase.sql, then change the db address in ./cfg/database.development.yaml
|
|
26
|
+
|
|
27
|
+
* Run project
|
|
28
|
+
[source, shell]
|
|
29
|
+
----
|
|
30
|
+
yarn dev
|
|
31
|
+
----
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Document links
|
|
36
|
+
* Restful controller:
|
|
37
|
+
https://github.com/typestack/routing-controllers/blob/master/README.md[routing-controllers]
|
|
38
|
+
* Socket.io controller:
|
|
39
|
+
https://github.com/typestack/socket-controllers/blob/master/README.md[socket-controllers]
|
|
40
|
+
* Validation: https://github.com/typestack/class-validator/blob/master/README.md[class-validator]
|
|
41
|
+
* Json <-> Object: https://github.com/typestack/class-transformer/blob/develop/README.md[class-transformer]
|
|
42
|
+
* socket.io: https://socket.io/docs/[socket.io]
|
|
43
|
+
* IoC: https://github.com/typestack/typedi/blob/master/README.md[typedi]
|
|
44
|
+
* ORM:
|
|
45
|
+
** https://typeorm.io/[typeorm]
|
|
46
|
+
** https://github.com/odavid/typeorm-transactional-cls-hooked/blob/master/README.md[tx decorators]
|
|
47
|
+
** https://github.com/typeorm/typeorm-typedi-extensions/blob/master/README.md[inject repo/conn]
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import ctl from 'routing-controllers';
|
|
2
|
+
export declare const rest: typeof ctl;
|
|
3
|
+
export * as ct from 'class-transformer';
|
|
4
|
+
export * as cv from 'class-validator';
|
|
5
|
+
export * as api from 'routing-controllers-openapi';
|
|
6
|
+
export * as ws from 'socket-controllers';
|
|
7
|
+
export * as di from 'typedi';
|
|
8
|
+
export * as orm from 'typeorm';
|
|
9
|
+
export * as tx from 'typeorm-transactional-cls-hooked';
|
|
10
|
+
export * as repo from 'typeorm-typedi-extensions';
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.repo = exports.tx = exports.orm = exports.di = exports.ws = exports.api = exports.cv = exports.ct = exports.rest = void 0;
|
|
27
|
+
exports.rest = Object.assign({}, require('routing-controllers'));
|
|
28
|
+
exports.ct = __importStar(require("class-transformer"));
|
|
29
|
+
exports.cv = __importStar(require("class-validator"));
|
|
30
|
+
exports.api = __importStar(require("routing-controllers-openapi"));
|
|
31
|
+
exports.ws = __importStar(require("socket-controllers"));
|
|
32
|
+
exports.di = __importStar(require("typedi"));
|
|
33
|
+
exports.orm = __importStar(require("typeorm"));
|
|
34
|
+
exports.tx = __importStar(require("typeorm-transactional-cls-hooked"));
|
|
35
|
+
exports.repo = __importStar(require("typeorm-typedi-extensions"));
|
|
36
|
+
const _body = exports.rest.Body;
|
|
37
|
+
exports.rest.Body = (options) => {
|
|
38
|
+
if (options && options.transform && options.transform.excludeExtraneousValues !== false) {
|
|
39
|
+
options.transform.excludeExtraneousValues = true;
|
|
40
|
+
}
|
|
41
|
+
if (!options) {
|
|
42
|
+
options = { transform: { excludeExtraneousValues: true } };
|
|
43
|
+
}
|
|
44
|
+
return _body(options);
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=Libs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Libs.js","sourceRoot":"","sources":["../../../src/deps/Libs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEa,QAAA,IAAI,GAAG,kBAAK,OAAO,CAAC,qBAAqB,CAAC,CAAgB,CAAC;AAExE,wDAAwC;AACxC,sDAAsC;AACtC,mEAAmD;AACnD,yDAAyC;AACzC,6CAA6B;AAC7B,+CAA+B;AAC/B,uEAAuD;AACvD,kEAAkD;AAElD,MAAM,KAAK,GAAG,YAAI,CAAC,IAAI,CAAC;AACxB,YAAI,CAAC,IAAI,GAAG,CAAC,OAAa,EAAE,EAAE;IAC5B,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,uBAAuB,KAAK,KAAK,EAAE;QACvF,OAAO,CAAC,SAAS,CAAC,uBAAuB,GAAG,IAAI,CAAC;KAClD;IACD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,GAAG,EAAE,SAAS,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,CAAC;KAC5D;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Libs';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Libs"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/deps/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,yCAAuB"}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./deps"), exports);
|
|
18
|
+
__exportStar(require("./libs"), exports);
|
|
19
|
+
__exportStar(require("./server"), exports);
|
|
20
|
+
__exportStar(require("./utils"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,yCAAuB;AACvB,yCAAuB;AACvB,2CAAyB;AACzB,0CAAwB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.apiGatewayLoader = void 0;
|
|
39
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
40
|
+
const tpl = __importStar(require("./apisix/ApisixTemplate"));
|
|
41
|
+
const HttpPutter_1 = require("./apisix/HttpPutter");
|
|
42
|
+
const ConfigManager_1 = require("./ConfigManager");
|
|
43
|
+
const Logger_1 = require("./Logger");
|
|
44
|
+
const sleep = (ms) => {
|
|
45
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
46
|
+
};
|
|
47
|
+
const apiGatewayLoader = (option) => (settings) => __awaiter(void 0, void 0, void 0, function* () {
|
|
48
|
+
var _a, _b;
|
|
49
|
+
const enableApiGateway = process.env['ENABLE_API_GATEWAY'];
|
|
50
|
+
const enableApiGatewayAuth = 'true' === process.env['ENABLE_API_GATEWAY_AUTH'];
|
|
51
|
+
if (!ConfigManager_1.ConfigManager.isDevelopment() && lodash_1.default.isEqual((enableApiGateway !== null && enableApiGateway !== void 0 ? enableApiGateway : '').toLowerCase().trim(), 'true')) {
|
|
52
|
+
const apiGatewayHostPort = (_a = process.env['API_GATEWAY_HOST_PORT']) !== null && _a !== void 0 ? _a : '';
|
|
53
|
+
const [host, _port] = apiGatewayHostPort.split(':');
|
|
54
|
+
const hostPort = lodash_1.default.parseInt(_port !== null && _port !== void 0 ? _port : '80');
|
|
55
|
+
const domains = ((_b = process.env['DOMAINS']) !== null && _b !== void 0 ? _b : '')
|
|
56
|
+
.split(',')
|
|
57
|
+
.map((domain) => lodash_1.default.trim(domain))
|
|
58
|
+
.filter((domain) => !lodash_1.default.isEmpty(domain));
|
|
59
|
+
const cfg = ConfigManager_1.ConfigManager.getConfig('application');
|
|
60
|
+
const appName = cfg.appName;
|
|
61
|
+
const appPort = cfg.port;
|
|
62
|
+
const apiVersion = cfg.version;
|
|
63
|
+
const build = ConfigManager_1.ConfigManager.getBuildNumber();
|
|
64
|
+
const version = ConfigManager_1.ConfigManager.getPkgVersion();
|
|
65
|
+
const { apiKey } = ConfigManager_1.ConfigManager.getConfig('apisix');
|
|
66
|
+
const upstreamUri = tpl.upstreamUriTemplate(appName);
|
|
67
|
+
const upstreamReqData = tpl.upstreamTemplate(appName, apiVersion, appPort);
|
|
68
|
+
const serviceUri = tpl.serviceUriTemplate(appName);
|
|
69
|
+
const serviceReqData = tpl.serviceTemplate(appName, enableApiGatewayAuth);
|
|
70
|
+
const routeUri = tpl.routeUriTemplate(appName);
|
|
71
|
+
const routeReqData = tpl.routeTemplate(appName, domains, apiVersion, build, version);
|
|
72
|
+
const logger = Logger_1.Logger.getLogger('ApiGatewayLoader');
|
|
73
|
+
yield (0, HttpPutter_1.httpPut)(host, hostPort, upstreamUri, upstreamReqData, apiKey);
|
|
74
|
+
yield sleep(1000);
|
|
75
|
+
yield (0, HttpPutter_1.httpPut)(host, hostPort, serviceUri, serviceReqData, apiKey);
|
|
76
|
+
yield sleep(1000);
|
|
77
|
+
yield (0, HttpPutter_1.httpPut)(host, hostPort, routeUri, routeReqData, apiKey);
|
|
78
|
+
logger.info(`🔗API Gateway routes mapping updated.`);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
exports.apiGatewayLoader = apiGatewayLoader;
|
|
82
|
+
//# sourceMappingURL=ApiGatewayLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiGatewayLoader.js","sourceRoot":"","sources":["../../../src/libs/ApiGatewayLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const API_EXPORT_EXCLUSION: never[];
|
|
2
|
+
export declare class ApiRegisterController {
|
|
3
|
+
private logger;
|
|
4
|
+
showAllApisOfThisModule(): Promise<import("./Converter").ApiData>;
|
|
5
|
+
index(): Promise<string>;
|
|
6
|
+
restClientConfigWebCommonApiParamWeb(): Promise<string>;
|
|
7
|
+
restClientConfigWeb(): Promise<string>;
|
|
8
|
+
restClientWebApis(): Promise<{}>;
|
|
9
|
+
restClientConfigWebCommonApiParamSvc(): Promise<string>;
|
|
10
|
+
restClientConfigService(): Promise<string>;
|
|
11
|
+
restClientSvcApi(): Promise<{}>;
|
|
12
|
+
}
|