@thzero/library_server 0.15.19 → 0.15.22
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/boot/index.js +1 -1
- package/boot/koa/index.js +10 -3
- package/package.json +3 -3
- package/routes/admin/index.js +1 -1
- package/routes/admin/news.js +8 -0
- package/routes/admin/users.js +8 -0
- package/routes/baseNews.js +6 -2
- package/routes/baseUsers.js +6 -2
- package/routes/home.js +9 -1
- package/routes/index.js +36 -2
- package/routes/plans.js +10 -2
- package/routes/utility.js +9 -1
- package/routes/version.js +9 -1
package/boot/index.js
CHANGED
|
@@ -177,7 +177,7 @@ class BootMain {
|
|
|
177
177
|
this._initServicesLoggers();
|
|
178
178
|
this._injectService(LibraryCommonServiceConstants.InjectorKeys.SERVICE_LOGGER, this.loggerServiceI);
|
|
179
179
|
|
|
180
|
-
|
|
180
|
+
let monitoringService = this._initServicesMonitoring();
|
|
181
181
|
if (!monitoringService)
|
|
182
182
|
monitoringService = new nullMonitoringService();
|
|
183
183
|
this._injectService(LibraryCommonServiceConstants.InjectorKeys.SERVICE_MONITORING, monitoringService);
|
package/boot/koa/index.js
CHANGED
|
@@ -132,14 +132,21 @@ class KoaBootMain extends BootMain {
|
|
|
132
132
|
await pluginRoute.initRoutes(this._routes);
|
|
133
133
|
|
|
134
134
|
await this._initRoutes();
|
|
135
|
+
|
|
136
|
+
console.log();
|
|
135
137
|
|
|
136
138
|
for (const route of this._routes) {
|
|
137
|
-
await route.init(injector)
|
|
139
|
+
await route.init(injector, this._appConfig);
|
|
138
140
|
app
|
|
139
141
|
.use(route.router.routes())
|
|
140
142
|
.use(route.router.allowedMethods());
|
|
141
|
-
|
|
142
|
-
console.log(route.
|
|
143
|
+
|
|
144
|
+
console.log([ route.id ]);
|
|
145
|
+
|
|
146
|
+
for (let i = 0; i < route.router.stack.length; i++)
|
|
147
|
+
console.log([ route.router.stack[i].path, route.router.stack[i].methods ]);
|
|
148
|
+
|
|
149
|
+
console.log();
|
|
143
150
|
}
|
|
144
151
|
|
|
145
152
|
return app;
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thzero/library_server",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.15.
|
|
4
|
+
"version": "0.15.22",
|
|
5
5
|
"version_major": 0,
|
|
6
6
|
"version_minor": 15,
|
|
7
|
-
"version_patch":
|
|
8
|
-
"version_date": "04/
|
|
7
|
+
"version_patch": 22,
|
|
8
|
+
"version_date": "04/15/2022",
|
|
9
9
|
"description": "An opinionated library of common functionality to bootstrap a Koa based API application using MongoDb and Firebase.",
|
|
10
10
|
"author": "thZero",
|
|
11
11
|
"license": "MIT",
|
package/routes/admin/index.js
CHANGED
package/routes/admin/news.js
CHANGED
|
@@ -9,6 +9,14 @@ class NewsAdminRoute extends AdminRoute {
|
|
|
9
9
|
serviceKey = serviceKey ? serviceKey : LibraryConstants.InjectorKeys.SERVICE_ADMIN_NEWS;
|
|
10
10
|
super(urlFragment, role, serviceKey);
|
|
11
11
|
}
|
|
12
|
+
|
|
13
|
+
get id() {
|
|
14
|
+
return 'admin-news';
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
get _version() {
|
|
18
|
+
return 'v1';
|
|
19
|
+
}
|
|
12
20
|
}
|
|
13
21
|
|
|
14
22
|
export default NewsAdminRoute;
|
package/routes/admin/users.js
CHANGED
|
@@ -10,9 +10,17 @@ class UsersAdminRoute extends AdminRoute {
|
|
|
10
10
|
super(urlFragment, role, serviceKey);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
get id() {
|
|
14
|
+
return 'admin-users';
|
|
15
|
+
}
|
|
16
|
+
|
|
13
17
|
_allowsCreate() {
|
|
14
18
|
return false;
|
|
15
19
|
}
|
|
20
|
+
|
|
21
|
+
get _version() {
|
|
22
|
+
return 'v1';
|
|
23
|
+
}
|
|
16
24
|
}
|
|
17
25
|
|
|
18
26
|
export default UsersAdminRoute;
|
package/routes/baseNews.js
CHANGED
|
@@ -7,8 +7,12 @@ import BaseRoute from './index';
|
|
|
7
7
|
import authentication from '../middleware/authentication';
|
|
8
8
|
|
|
9
9
|
class BaseNewsRoute extends BaseRoute {
|
|
10
|
-
constructor(prefix) {
|
|
11
|
-
super(prefix ? prefix : '/
|
|
10
|
+
constructor(prefix, version) {
|
|
11
|
+
super(prefix ? prefix : '/news');
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
get id() {
|
|
15
|
+
return 'news';
|
|
12
16
|
}
|
|
13
17
|
|
|
14
18
|
_initializeRoutes(router) {
|
package/routes/baseUsers.js
CHANGED
|
@@ -10,8 +10,12 @@ import authentication from '../middleware/authentication';
|
|
|
10
10
|
import authorization from '../middleware/authorization';
|
|
11
11
|
|
|
12
12
|
class BaseUsersRoute extends BaseRoute {
|
|
13
|
-
constructor(prefix) {
|
|
14
|
-
super(prefix ? prefix : '/
|
|
13
|
+
constructor(prefix, version) {
|
|
14
|
+
super(prefix ? prefix : '/users');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
get id() {
|
|
18
|
+
return 'users';
|
|
15
19
|
}
|
|
16
20
|
|
|
17
21
|
_initializeRoutes(router) {
|
package/routes/home.js
CHANGED
|
@@ -2,7 +2,11 @@ import BaseRoute from './index';
|
|
|
2
2
|
|
|
3
3
|
class HomeRoute extends BaseRoute {
|
|
4
4
|
constructor(prefix) {
|
|
5
|
-
super(prefix ? prefix : '
|
|
5
|
+
super(prefix ? prefix : '');
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
get id() {
|
|
9
|
+
return 'home';
|
|
6
10
|
}
|
|
7
11
|
|
|
8
12
|
_initializeRoutes(router) {
|
|
@@ -11,6 +15,10 @@ class HomeRoute extends BaseRoute {
|
|
|
11
15
|
ctx.status = 404;
|
|
12
16
|
});
|
|
13
17
|
}
|
|
18
|
+
|
|
19
|
+
get _version() {
|
|
20
|
+
return 'v1';
|
|
21
|
+
}
|
|
14
22
|
}
|
|
15
23
|
|
|
16
24
|
export default HomeRoute;
|
package/routes/index.js
CHANGED
|
@@ -2,19 +2,49 @@ import koaRouter from '@koa/router';
|
|
|
2
2
|
|
|
3
3
|
class BaseRoute {
|
|
4
4
|
constructor(prefix) {
|
|
5
|
-
if (
|
|
5
|
+
if (prefix === null || prefix === undefined)
|
|
6
6
|
throw Error('Invalid prefix');
|
|
7
7
|
|
|
8
8
|
this._prefix = prefix;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
+
get id() {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
|
|
11
15
|
get router() {
|
|
12
16
|
return this._router;
|
|
13
17
|
}
|
|
14
18
|
|
|
15
|
-
async init(injector) {
|
|
19
|
+
async init(injector, config) {
|
|
20
|
+
if (!injector)
|
|
21
|
+
throw Error('Invalid injector for route.');
|
|
22
|
+
if (!config)
|
|
23
|
+
throw Error('Invalid injector for route.');
|
|
24
|
+
if (this._prefix === null || this._prefix === undefined)
|
|
25
|
+
throw Error('Invalid prefix for route.');
|
|
26
|
+
|
|
16
27
|
this._injector = injector;
|
|
17
28
|
|
|
29
|
+
const api = config.get('api', { });
|
|
30
|
+
let prefix = api.prefix !== null && api.prefix !== undefined ? api.prefix : 'api';
|
|
31
|
+
if (!String.isNullOrEmpty(prefix) && (prefix !== '/'))
|
|
32
|
+
prefix = '/' + prefix;
|
|
33
|
+
|
|
34
|
+
let version = !String.isNullOrEmpty(api.version) ? api.version : null;
|
|
35
|
+
if (!String.isNullOrEmpty(this._version))
|
|
36
|
+
version = this._version;
|
|
37
|
+
if (!String.isNullOrEmpty(this.id) && api.apis && Array.isArray(api.apis))
|
|
38
|
+
version = api.apis[this.id];
|
|
39
|
+
|
|
40
|
+
if (!String.isNullOrEmpty(version))
|
|
41
|
+
prefix += '/' + version;
|
|
42
|
+
|
|
43
|
+
if (!String.isNullOrEmpty(this._prefix) && (this._prefix[0] !== '/'))
|
|
44
|
+
this._prefix = '/' + this._prefix;
|
|
45
|
+
|
|
46
|
+
this._prefix = prefix + this._prefix;
|
|
47
|
+
|
|
18
48
|
this._router = new koaRouter({
|
|
19
49
|
prefix: this._prefix
|
|
20
50
|
});
|
|
@@ -26,6 +56,10 @@ class BaseRoute {
|
|
|
26
56
|
|
|
27
57
|
_initializeRoutes(router) {
|
|
28
58
|
}
|
|
59
|
+
|
|
60
|
+
get _version() {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
29
63
|
}
|
|
30
64
|
|
|
31
65
|
export default BaseRoute;
|
package/routes/plans.js
CHANGED
|
@@ -6,11 +6,15 @@ import BaseRoute from './index';
|
|
|
6
6
|
|
|
7
7
|
class PlansRoute extends BaseRoute {
|
|
8
8
|
constructor(prefix) {
|
|
9
|
-
super(prefix ? prefix : '/
|
|
9
|
+
super(prefix ? prefix : '/plans');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
get id() {
|
|
13
|
+
return 'plans';
|
|
10
14
|
}
|
|
11
15
|
|
|
12
16
|
_initializeRoutes(router) {
|
|
13
|
-
router.get('/
|
|
17
|
+
router.get('/',
|
|
14
18
|
// eslint-disable-next-line
|
|
15
19
|
async (ctx, next) => {
|
|
16
20
|
const service = this._injector.getService(LibraryConstants.InjectorKeys.SERVICE_PLANS);
|
|
@@ -19,6 +23,10 @@ class PlansRoute extends BaseRoute {
|
|
|
19
23
|
}
|
|
20
24
|
);
|
|
21
25
|
}
|
|
26
|
+
|
|
27
|
+
get _version() {
|
|
28
|
+
return 'v1';
|
|
29
|
+
}
|
|
22
30
|
}
|
|
23
31
|
|
|
24
32
|
export default PlansRoute;
|
package/routes/utility.js
CHANGED
|
@@ -11,7 +11,11 @@ import authentication from '../middleware/authentication';
|
|
|
11
11
|
|
|
12
12
|
class UtilityRoute extends BaseRoute {
|
|
13
13
|
constructor(prefix) {
|
|
14
|
-
super(prefix ? prefix : '/
|
|
14
|
+
super(prefix ? prefix : '/utility');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
get id() {
|
|
18
|
+
return 'utility';
|
|
15
19
|
}
|
|
16
20
|
|
|
17
21
|
_initializeRoutes(router) {
|
|
@@ -29,6 +33,10 @@ class UtilityRoute extends BaseRoute {
|
|
|
29
33
|
}
|
|
30
34
|
);
|
|
31
35
|
}
|
|
36
|
+
|
|
37
|
+
get _version() {
|
|
38
|
+
return 'v1';
|
|
39
|
+
}
|
|
32
40
|
}
|
|
33
41
|
|
|
34
42
|
export default UtilityRoute;
|
package/routes/version.js
CHANGED
|
@@ -6,7 +6,11 @@ import BaseRoute from './index';
|
|
|
6
6
|
|
|
7
7
|
class VersionRoute extends BaseRoute {
|
|
8
8
|
constructor(prefix) {
|
|
9
|
-
super(prefix ? prefix : '
|
|
9
|
+
super(prefix ? prefix : '');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
get id() {
|
|
13
|
+
return 'version';
|
|
10
14
|
}
|
|
11
15
|
|
|
12
16
|
_initializeRoutes(router) {
|
|
@@ -19,6 +23,10 @@ class VersionRoute extends BaseRoute {
|
|
|
19
23
|
}
|
|
20
24
|
);
|
|
21
25
|
}
|
|
26
|
+
|
|
27
|
+
get _version() {
|
|
28
|
+
return 'v1';
|
|
29
|
+
}
|
|
22
30
|
}
|
|
23
31
|
|
|
24
32
|
export default VersionRoute;
|