@volcanicminds/backend 0.1.4 → 0.1.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/NPM.md +2 -0
- package/README.md +70 -0
- package/TODO.md +7 -3
- package/dist/api/me/controller/me.js +22 -6
- package/dist/api/me/controller/me.js.map +1 -1
- package/dist/api/me/routes.js +4 -5
- package/dist/api/me/routes.js.map +1 -1
- package/dist/apollo/context.js +13 -2
- package/dist/apollo/context.js.map +1 -1
- package/dist/config/roles.js.map +1 -1
- package/dist/index.js +156 -157
- package/dist/index.js.map +1 -1
- package/dist/loader/roles.js +15 -1
- package/dist/loader/roles.js.map +1 -1
- package/dist/loader/router.js +28 -42
- package/dist/loader/router.js.map +1 -1
- package/dist/middleware/example.js +0 -1
- package/dist/middleware/example.js.map +1 -1
- package/dist/middleware/isAdmin.js +3 -2
- package/dist/middleware/isAdmin.js.map +1 -1
- package/dist/middleware/isAuthenticated.js +3 -3
- package/dist/middleware/isAuthenticated.js.map +1 -1
- package/dist/server.js +5 -0
- package/dist/server.js.map +1 -0
- package/dist/util/logger.js +1 -12
- package/dist/util/logger.js.map +1 -1
- package/dist/util/mark.js +0 -3
- package/dist/util/mark.js.map +1 -1
- package/index.d.ts +12 -0
- package/lib/api/me/routes.ts +1 -1
- package/lib/config/roles.ts +1 -0
- package/lib/index.ts +18 -25
- package/lib/loader/roles.ts +20 -0
- package/lib/loader/router.ts +20 -41
- package/lib/server.ts +7 -0
- package/package.json +5 -5
- package/tsconfig.json +23 -19
- package/types/global.d.ts +72 -52
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volcanicminds/backend",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"codename": "turin",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "The volcanic (minds) backend",
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
"scripts": {
|
|
14
14
|
"compile": "tsc",
|
|
15
15
|
"preprod": "npm run compile",
|
|
16
|
-
"prod": "node ./dist/
|
|
17
|
-
"start": "ts-node ./lib/
|
|
18
|
-
"dev": "nodemon --exec \"ts-node\" ./lib/
|
|
16
|
+
"prod": "node ./dist/server.js",
|
|
17
|
+
"start": "ts-node ./lib/server.ts",
|
|
18
|
+
"dev": "nodemon --exec \"ts-node\" ./lib/server.ts",
|
|
19
19
|
"test": "jest test --config ./jest.config.js",
|
|
20
20
|
"upgrade-deps": "npm-upgrade"
|
|
21
21
|
},
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"type": "git",
|
|
47
47
|
"url": "git+https://github.com/volcanicminds/volcanic-backend.git"
|
|
48
48
|
},
|
|
49
|
-
"homepage": "https://
|
|
49
|
+
"homepage": "https://volcanicminds.com",
|
|
50
50
|
"bugs": {
|
|
51
51
|
"url": "https://github.com/volcanicminds/volcanic-backend/issues"
|
|
52
52
|
},
|
package/tsconfig.json
CHANGED
|
@@ -5,28 +5,32 @@
|
|
|
5
5
|
"files": true
|
|
6
6
|
},
|
|
7
7
|
"compilerOptions": {
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"allowSyntheticDefaultImports": true,
|
|
19
|
-
"strict": true,
|
|
8
|
+
"module": "commonjs",
|
|
9
|
+
"declaration": false,
|
|
10
|
+
"noImplicitAny": false,
|
|
11
|
+
"noUnusedLocals": false,
|
|
12
|
+
"removeComments": true,
|
|
13
|
+
"noLib": false,
|
|
14
|
+
"emitDecoratorMetadata": true,
|
|
15
|
+
"experimentalDecorators": true,
|
|
16
|
+
"useUnknownInCatchVariables": false,
|
|
17
|
+
"target": "es6",
|
|
20
18
|
"sourceMap": true,
|
|
21
|
-
"
|
|
22
|
-
"typeRoots": ["./node_modules/@types", "./types", "./lib/types"],
|
|
19
|
+
"allowJs": true,
|
|
23
20
|
"outDir": "dist",
|
|
24
|
-
"
|
|
25
|
-
|
|
21
|
+
"lib": ["es7"],
|
|
22
|
+
|
|
26
23
|
"paths": {
|
|
27
|
-
"
|
|
24
|
+
"@types": ["./types"]
|
|
28
25
|
}
|
|
26
|
+
// "types": ["node"],
|
|
27
|
+
// "typeRoots": ["./node_modules/@types", "./types", "./lib/types"],
|
|
28
|
+
// "rootDirs": ["lib", "config", "types"],
|
|
29
|
+
// "baseUrl": ".",
|
|
30
|
+
// "paths": {
|
|
31
|
+
// "*": ["*", "components/*"]
|
|
32
|
+
// }
|
|
29
33
|
},
|
|
30
|
-
"include": ["
|
|
31
|
-
"exclude": ["node_modules"]
|
|
34
|
+
"include": ["lib/**/*", "config/**/*", "types/**/*"],
|
|
35
|
+
"exclude": ["node_modules", "test/**/*"]
|
|
32
36
|
}
|
package/types/global.d.ts
CHANGED
|
@@ -1,66 +1,86 @@
|
|
|
1
|
-
|
|
2
|
-
interface AuthenticatedUser {
|
|
3
|
-
id: number
|
|
4
|
-
name: string
|
|
5
|
-
roles: string[]
|
|
6
|
-
}
|
|
1
|
+
import { FastifyRequest, FastifyReply } from 'fastify'
|
|
7
2
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
export interface AuthenticatedUser {
|
|
4
|
+
id: number
|
|
5
|
+
name: string
|
|
6
|
+
roles: string[]
|
|
7
|
+
}
|
|
13
8
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
export interface Role {
|
|
10
|
+
code: string
|
|
11
|
+
name: string
|
|
12
|
+
description: string
|
|
13
|
+
}
|
|
19
14
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
15
|
+
export declare enum RoleKey {
|
|
16
|
+
public = 'public',
|
|
17
|
+
admin = 'admin',
|
|
18
|
+
backoffice = 'backoffice'
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export declare type Roles = {
|
|
22
|
+
[key in RoleKey]: Role
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface RouteConfig {
|
|
26
|
+
title: string
|
|
27
|
+
description: string
|
|
28
|
+
enable: boolean
|
|
29
|
+
deprecated: boolean
|
|
30
|
+
version: string
|
|
31
|
+
params?: any
|
|
32
|
+
body?: any
|
|
33
|
+
response?: any
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface Route {
|
|
37
|
+
method: string
|
|
38
|
+
path: string
|
|
39
|
+
handler: string
|
|
40
|
+
roles: Role[]
|
|
41
|
+
config?: RouteConfig
|
|
42
|
+
middlewares: string[]
|
|
43
|
+
}
|
|
23
44
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
45
|
+
export interface ConfiguredRoute {
|
|
46
|
+
enable: boolean
|
|
47
|
+
method: any
|
|
48
|
+
path: string
|
|
49
|
+
handler: any
|
|
50
|
+
file: string
|
|
51
|
+
func: any
|
|
52
|
+
base: string
|
|
53
|
+
middlewares: string[]
|
|
54
|
+
roles: Role[]
|
|
55
|
+
doc: {
|
|
56
|
+
summary?: string
|
|
57
|
+
description?: string
|
|
58
|
+
deprecated?: boolean
|
|
59
|
+
version?: string
|
|
30
60
|
params?: any
|
|
31
61
|
body?: any
|
|
32
62
|
response?: any
|
|
33
63
|
}
|
|
64
|
+
}
|
|
34
65
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
roles: Role[]
|
|
40
|
-
config?: RouteConfig
|
|
41
|
-
middlewares: string[]
|
|
66
|
+
declare module 'fastify' {
|
|
67
|
+
import { FastifyRequest } from 'fastify'
|
|
68
|
+
export interface FastifyRequest {
|
|
69
|
+
user?: AuthenticatedUser
|
|
42
70
|
}
|
|
71
|
+
}
|
|
43
72
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
summary?: string
|
|
56
|
-
description?: string
|
|
57
|
-
deprecated?: boolean
|
|
58
|
-
version?: string
|
|
59
|
-
params?: any
|
|
60
|
-
body?: any
|
|
61
|
-
response?: any
|
|
62
|
-
}
|
|
63
|
-
}
|
|
73
|
+
export interface FastifyRequest extends FastifyRequest {
|
|
74
|
+
user?: AuthenticatedUser
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export interface FastifyReply extends FastifyReply {}
|
|
78
|
+
|
|
79
|
+
export interface global {}
|
|
80
|
+
|
|
81
|
+
declare global {
|
|
82
|
+
var log: any
|
|
83
|
+
var roles: Roles
|
|
64
84
|
}
|
|
65
85
|
|
|
66
86
|
export { global }
|