@flink-app/management-api-plugin 1.0.0 → 2.0.0-alpha.100
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/.flink/generatedAgents.ts +5 -0
- package/.flink/generatedHandlers.ts +9 -9
- package/.flink/generatedJobs.ts +1 -1
- package/.flink/generatedRepos.ts +1 -1
- package/.flink/generatedServices.ts +5 -0
- package/.flink/generatedTools.ts +5 -0
- package/.flink/schema-cache.json +347 -0
- package/.flink/schemas/schemas.json +293 -113
- package/.flink/start.ts +4 -1
- package/CHANGELOG.md +375 -0
- package/dist/.flink/generatedAgents.d.ts +1 -0
- package/dist/.flink/generatedAgents.js +14 -0
- package/dist/.flink/generatedAgents.js.map +1 -0
- package/dist/.flink/generatedHandlers.d.ts +10 -10
- package/dist/.flink/generatedHandlers.js +83 -32
- package/dist/.flink/generatedHandlers.js.map +1 -0
- package/dist/.flink/generatedJobs.js +13 -6
- package/dist/.flink/generatedJobs.js.map +1 -0
- package/dist/.flink/generatedRepos.js +25 -10
- package/dist/.flink/generatedRepos.js.map +1 -0
- package/dist/.flink/generatedServices.js +14 -0
- package/dist/.flink/generatedServices.js.map +1 -0
- package/dist/.flink/generatedTools.d.ts +1 -0
- package/dist/.flink/generatedTools.js +14 -0
- package/dist/.flink/generatedTools.js.map +1 -0
- package/dist/.flink/schema-manifest.json +297 -0
- package/dist/.flink/schemas/schemas.d.ts +10 -10
- package/dist/.flink/schemas/schemas.json +293 -113
- package/dist/.flink/start.d.ts +2 -0
- package/dist/.flink/start.js +15 -3
- package/dist/.flink/start.js.map +1 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/src/Ctx.js +3 -1
- package/dist/src/Ctx.js.map +1 -0
- package/dist/src/handlers/Management/GetManagement.d.ts +1 -1
- package/dist/src/handlers/Management/GetManagement.js +14 -47
- package/dist/src/handlers/Management/GetManagement.js.map +1 -0
- package/dist/src/handlers/User/DeleteByUserid.d.ts +1 -2
- package/dist/src/handlers/User/DeleteByUserid.js +29 -60
- package/dist/src/handlers/User/DeleteByUserid.js.map +1 -0
- package/dist/src/handlers/User/GetByUserid.d.ts +1 -2
- package/dist/src/handlers/User/GetByUserid.js +30 -61
- package/dist/src/handlers/User/GetByUserid.js.map +1 -0
- package/dist/src/handlers/User/GetList.d.ts +1 -1
- package/dist/src/handlers/User/GetList.js +19 -58
- package/dist/src/handlers/User/GetList.js.map +1 -0
- package/dist/src/handlers/User/GetMe.d.ts +1 -1
- package/dist/src/handlers/User/GetMe.js +67 -74
- package/dist/src/handlers/User/GetMe.js.map +1 -0
- package/dist/src/handlers/User/Post.d.ts +1 -2
- package/dist/src/handlers/User/Post.js +43 -79
- package/dist/src/handlers/User/Post.js.map +1 -0
- package/dist/src/handlers/User/PostLogin.d.ts +1 -2
- package/dist/src/handlers/User/PostLogin.js +47 -78
- package/dist/src/handlers/User/PostLogin.js.map +1 -0
- package/dist/src/handlers/User/PutByUserid.d.ts +1 -2
- package/dist/src/handlers/User/PutByUserid.js +47 -86
- package/dist/src/handlers/User/PutByUserid.js.map +1 -0
- package/dist/src/index.js +185 -117
- package/dist/src/index.js.map +1 -0
- package/dist/src/managementApiContext.js +3 -1
- package/dist/src/managementApiContext.js.map +1 -0
- package/dist/src/models/ManagementApi.js +12 -5
- package/dist/src/models/ManagementApi.js.map +1 -0
- package/dist/src/repos/ManagementUserRepo.js +12 -24
- package/dist/src/repos/ManagementUserRepo.js.map +1 -0
- package/dist/src/schemas/Management/GetReq.js +3 -1
- package/dist/src/schemas/Management/GetReq.js.map +1 -0
- package/dist/src/schemas/Management/GetRes.js +3 -1
- package/dist/src/schemas/Management/GetRes.js.map +1 -0
- package/dist/src/schemas/ManagementUser.js +3 -1
- package/dist/src/schemas/ManagementUser.js.map +1 -0
- package/dist/src/schemas/ManagementUserViewModel.js +49 -15
- package/dist/src/schemas/ManagementUserViewModel.js.map +1 -0
- package/dist/src/schemas/ModuleList.js +3 -1
- package/dist/src/schemas/ModuleList.js.map +1 -0
- package/dist/src/schemas/User/DeleteByUseridReq.js +3 -1
- package/dist/src/schemas/User/DeleteByUseridReq.js.map +1 -0
- package/dist/src/schemas/User/DeleteByUseridRes.js +3 -1
- package/dist/src/schemas/User/DeleteByUseridRes.js.map +1 -0
- package/dist/src/schemas/User/GetByUseridReq.js +3 -1
- package/dist/src/schemas/User/GetByUseridReq.js.map +1 -0
- package/dist/src/schemas/User/GetByUseridRes.js +3 -1
- package/dist/src/schemas/User/GetByUseridRes.js.map +1 -0
- package/dist/src/schemas/User/GetListReq.js +3 -1
- package/dist/src/schemas/User/GetListReq.js.map +1 -0
- package/dist/src/schemas/User/GetListRes.js +3 -1
- package/dist/src/schemas/User/GetListRes.js.map +1 -0
- package/dist/src/schemas/User/GetMeReq.js +3 -1
- package/dist/src/schemas/User/GetMeReq.js.map +1 -0
- package/dist/src/schemas/User/GetMeRes.js +3 -1
- package/dist/src/schemas/User/GetMeRes.js.map +1 -0
- package/dist/src/schemas/User/PostLoginReq.js +3 -1
- package/dist/src/schemas/User/PostLoginReq.js.map +1 -0
- package/dist/src/schemas/User/PostLoginRes.js +3 -1
- package/dist/src/schemas/User/PostLoginRes.js.map +1 -0
- package/dist/src/schemas/User/PostReq.js +3 -1
- package/dist/src/schemas/User/PostReq.js.map +1 -0
- package/dist/src/schemas/User/PostRes.js +3 -1
- package/dist/src/schemas/User/PostRes.js.map +1 -0
- package/dist/src/schemas/User/PutByUseridReq.js +3 -1
- package/dist/src/schemas/User/PutByUseridReq.js.map +1 -0
- package/dist/src/schemas/User/PutByUseridRes.js +3 -1
- package/dist/src/schemas/User/PutByUseridRes.js.map +1 -0
- package/dist/src/utils/bcrypt.js +30 -17
- package/dist/src/utils/bcrypt.js.map +1 -0
- package/package.json +5 -2
- package/src/handlers/User/DeleteByUserid.ts +11 -17
- package/src/handlers/User/GetByUserid.ts +7 -8
- package/src/handlers/User/GetMe.ts +15 -21
- package/src/handlers/User/PostLogin.ts +14 -24
- package/src/handlers/User/PutByUserid.ts +20 -30
- package/src/index.ts +26 -4
- package/.flink/schemas/schemas.ts +0 -31
package/dist/src/index.js
CHANGED
|
@@ -1,161 +1,231 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "managementApiPlugin", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return managementApiPlugin;
|
|
7
9
|
}
|
|
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
10
|
});
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
11
|
+
const _flink = require("@flink-app/flink");
|
|
12
|
+
const _jsonwebtoken = /*#__PURE__*/ _interop_require_default(require("jsonwebtoken"));
|
|
13
|
+
const _GetManagement = /*#__PURE__*/ _interop_require_wildcard(require("./handlers/Management/GetManagement"));
|
|
14
|
+
const _DeleteByUserid = /*#__PURE__*/ _interop_require_wildcard(require("./handlers/User/DeleteByUserid"));
|
|
15
|
+
const _GetByUserid = /*#__PURE__*/ _interop_require_wildcard(require("./handlers/User/GetByUserid"));
|
|
16
|
+
const _GetList = /*#__PURE__*/ _interop_require_wildcard(require("./handlers/User/GetList"));
|
|
17
|
+
const _GetMe = /*#__PURE__*/ _interop_require_wildcard(require("./handlers/User/GetMe"));
|
|
18
|
+
const _Post = /*#__PURE__*/ _interop_require_wildcard(require("./handlers/User/Post"));
|
|
19
|
+
const _PostLogin = /*#__PURE__*/ _interop_require_wildcard(require("./handlers/User/PostLogin"));
|
|
20
|
+
const _PutByUserid = /*#__PURE__*/ _interop_require_wildcard(require("./handlers/User/PutByUserid"));
|
|
21
|
+
const _ManagementApi = _export_star(require("./models/ManagementApi"), exports);
|
|
22
|
+
const _ManagementUserRepo = /*#__PURE__*/ _interop_require_default(require("./repos/ManagementUserRepo"));
|
|
23
|
+
function _define_property(obj, key, value) {
|
|
24
|
+
if (key in obj) {
|
|
25
|
+
Object.defineProperty(obj, key, {
|
|
26
|
+
value: value,
|
|
27
|
+
enumerable: true,
|
|
28
|
+
configurable: true,
|
|
29
|
+
writable: true
|
|
30
|
+
});
|
|
31
|
+
} else {
|
|
32
|
+
obj[key] = value;
|
|
33
|
+
}
|
|
34
|
+
return obj;
|
|
35
|
+
}
|
|
36
|
+
function _export_star(from, to) {
|
|
37
|
+
Object.keys(from).forEach(function(k) {
|
|
38
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
39
|
+
Object.defineProperty(to, k, {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
get: function() {
|
|
42
|
+
return from[k];
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
return from;
|
|
48
|
+
}
|
|
49
|
+
function _interop_require_default(obj) {
|
|
50
|
+
return obj && obj.__esModule ? obj : {
|
|
51
|
+
default: obj
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
55
|
+
if (typeof WeakMap !== "function") return null;
|
|
56
|
+
var cacheBabelInterop = new WeakMap();
|
|
57
|
+
var cacheNodeInterop = new WeakMap();
|
|
58
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
59
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
60
|
+
})(nodeInterop);
|
|
61
|
+
}
|
|
62
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
63
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
64
|
+
return obj;
|
|
65
|
+
}
|
|
66
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
67
|
+
return {
|
|
68
|
+
default: obj
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
72
|
+
if (cache && cache.has(obj)) {
|
|
73
|
+
return cache.get(obj);
|
|
74
|
+
}
|
|
75
|
+
var newObj = {
|
|
76
|
+
__proto__: null
|
|
77
|
+
};
|
|
78
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
79
|
+
for(var key in obj){
|
|
80
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
81
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
82
|
+
if (desc && (desc.get || desc.set)) {
|
|
83
|
+
Object.defineProperty(newObj, key, desc);
|
|
84
|
+
} else {
|
|
85
|
+
newObj[key] = obj[key];
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
newObj.default = obj;
|
|
90
|
+
if (cache) {
|
|
91
|
+
cache.set(obj, newObj);
|
|
92
|
+
}
|
|
93
|
+
return newObj;
|
|
94
|
+
}
|
|
95
|
+
function _object_spread(target) {
|
|
96
|
+
for(var i = 1; i < arguments.length; i++){
|
|
97
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
98
|
+
var ownKeys = Object.keys(source);
|
|
99
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
100
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
101
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
ownKeys.forEach(function(key) {
|
|
105
|
+
_define_property(target, key, source[key]);
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
return target;
|
|
109
|
+
}
|
|
110
|
+
const PLUGIN_ID = "managementApi";
|
|
111
|
+
const managementApiPlugin = (options)=>{
|
|
112
|
+
const pluginSchemas = (0, _flink.loadPluginSchemas)("@flink-app/management-api-plugin");
|
|
113
|
+
const schemas = (filePath)=>pluginSchemas.getHandlerSchemas(PLUGIN_ID, filePath);
|
|
114
|
+
let managementApiModule = {
|
|
48
115
|
id: "managementapiuser",
|
|
49
|
-
type:
|
|
116
|
+
type: _ManagementApi.ManagementApiType.managementUser,
|
|
50
117
|
ui: true,
|
|
51
118
|
uiSettings: {
|
|
52
119
|
title: "Admin users",
|
|
53
120
|
icon: "",
|
|
54
|
-
features: []
|
|
121
|
+
features: []
|
|
55
122
|
},
|
|
56
123
|
endpoints: [],
|
|
57
|
-
data: {}
|
|
124
|
+
data: {}
|
|
58
125
|
};
|
|
59
126
|
managementApiModule.endpoints.push({
|
|
60
|
-
handler:
|
|
61
|
-
routeProps: {
|
|
62
|
-
method:
|
|
127
|
+
handler: _GetList,
|
|
128
|
+
routeProps: _object_spread({
|
|
129
|
+
method: _flink.HttpMethod.get,
|
|
63
130
|
path: "",
|
|
64
|
-
docs: "List all management users"
|
|
65
|
-
},
|
|
131
|
+
docs: "List all management users"
|
|
132
|
+
}, schemas("src/handlers/User/GetList.ts"))
|
|
66
133
|
});
|
|
67
134
|
managementApiModule.endpoints.push({
|
|
68
|
-
handler:
|
|
69
|
-
routeProps: {
|
|
70
|
-
method:
|
|
135
|
+
handler: _GetMe,
|
|
136
|
+
routeProps: _object_spread({
|
|
137
|
+
method: _flink.HttpMethod.get,
|
|
71
138
|
path: "/me",
|
|
72
|
-
docs: "Get current user information"
|
|
73
|
-
},
|
|
139
|
+
docs: "Get current user information"
|
|
140
|
+
}, schemas("src/handlers/User/GetMe.ts"))
|
|
74
141
|
});
|
|
75
142
|
managementApiModule.endpoints.push({
|
|
76
|
-
handler:
|
|
77
|
-
routeProps: {
|
|
78
|
-
method:
|
|
143
|
+
handler: _GetByUserid,
|
|
144
|
+
routeProps: _object_spread({
|
|
145
|
+
method: _flink.HttpMethod.get,
|
|
79
146
|
path: "/:userid",
|
|
80
|
-
docs: "Get one management user by id"
|
|
81
|
-
},
|
|
147
|
+
docs: "Get one management user by id"
|
|
148
|
+
}, schemas("src/handlers/User/GetByUserid.ts"))
|
|
82
149
|
});
|
|
83
150
|
managementApiModule.endpoints.push({
|
|
84
|
-
handler:
|
|
85
|
-
routeProps: {
|
|
86
|
-
method:
|
|
151
|
+
handler: _Post,
|
|
152
|
+
routeProps: _object_spread({
|
|
153
|
+
method: _flink.HttpMethod.post,
|
|
87
154
|
path: "",
|
|
88
|
-
docs: "Create a new management user"
|
|
89
|
-
},
|
|
155
|
+
docs: "Create a new management user"
|
|
156
|
+
}, schemas("src/handlers/User/Post.ts"))
|
|
90
157
|
});
|
|
91
158
|
managementApiModule.endpoints.push({
|
|
92
|
-
handler:
|
|
93
|
-
routeProps: {
|
|
94
|
-
method:
|
|
159
|
+
handler: _DeleteByUserid,
|
|
160
|
+
routeProps: _object_spread({
|
|
161
|
+
method: _flink.HttpMethod.delete,
|
|
95
162
|
path: "/:userid",
|
|
96
|
-
docs: "Deletes a management user"
|
|
97
|
-
},
|
|
163
|
+
docs: "Deletes a management user"
|
|
164
|
+
}, schemas("src/handlers/User/DeleteByUserid.ts"))
|
|
98
165
|
});
|
|
99
166
|
managementApiModule.endpoints.push({
|
|
100
|
-
handler:
|
|
101
|
-
routeProps: {
|
|
102
|
-
method:
|
|
167
|
+
handler: _PutByUserid,
|
|
168
|
+
routeProps: _object_spread({
|
|
169
|
+
method: _flink.HttpMethod.put,
|
|
103
170
|
path: "/:userid",
|
|
104
|
-
docs: "Updates a management user"
|
|
105
|
-
},
|
|
171
|
+
docs: "Updates a management user"
|
|
172
|
+
}, schemas("src/handlers/User/PutByUserid.ts"))
|
|
106
173
|
});
|
|
107
174
|
managementApiModule.endpoints.push({
|
|
108
|
-
handler:
|
|
109
|
-
routeProps: {
|
|
110
|
-
method:
|
|
175
|
+
handler: _PostLogin,
|
|
176
|
+
routeProps: _object_spread({
|
|
177
|
+
method: _flink.HttpMethod.post,
|
|
111
178
|
path: "/login",
|
|
112
|
-
docs: "Authenticates a management user"
|
|
113
|
-
},
|
|
179
|
+
docs: "Authenticates a management user"
|
|
180
|
+
}, schemas("src/handlers/User/PostLogin.ts"))
|
|
114
181
|
});
|
|
115
182
|
options.modules.push(managementApiModule);
|
|
116
|
-
|
|
117
|
-
modules: []
|
|
183
|
+
let moduleList = {
|
|
184
|
+
modules: []
|
|
118
185
|
};
|
|
119
|
-
options.modules.forEach(
|
|
120
|
-
var
|
|
121
|
-
|
|
186
|
+
options.modules.forEach((m)=>{
|
|
187
|
+
var _m_uiSettings, _m_uiSettings1;
|
|
188
|
+
let module = {
|
|
122
189
|
id: m.id,
|
|
123
190
|
ui: m.ui ? "true" : "false",
|
|
124
191
|
type: m.type,
|
|
125
|
-
features: ((
|
|
126
|
-
title: ((
|
|
192
|
+
features: ((_m_uiSettings = m.uiSettings) === null || _m_uiSettings === void 0 ? void 0 : _m_uiSettings.features) || [],
|
|
193
|
+
title: ((_m_uiSettings1 = m.uiSettings) === null || _m_uiSettings1 === void 0 ? void 0 : _m_uiSettings1.title) || "",
|
|
127
194
|
data: m.data,
|
|
128
|
-
endpoints: []
|
|
195
|
+
endpoints: []
|
|
129
196
|
};
|
|
130
197
|
// m.endpoints.forEach((e) => {
|
|
131
198
|
// let url = options.baseUrl || "/managementapi";
|
|
132
199
|
// url += "/" + m.id + e.routeProps.path;
|
|
133
200
|
// // module.endpoints.push({
|
|
134
|
-
// // method : e.config.routeProps.method?.toString() ||
|
|
201
|
+
// // method : e.config.routeProps.method?.toString() || "get",
|
|
135
202
|
// // url : url
|
|
136
203
|
// // });
|
|
137
204
|
// });
|
|
138
205
|
moduleList.modules.push(module);
|
|
139
206
|
});
|
|
140
207
|
return {
|
|
141
|
-
id:
|
|
142
|
-
init:
|
|
208
|
+
id: PLUGIN_ID,
|
|
209
|
+
init: (app)=>init(app, options, pluginSchemas),
|
|
143
210
|
ctx: {
|
|
144
211
|
jwtSecret: options.jwtSecret,
|
|
145
|
-
moduleList
|
|
146
|
-
}
|
|
212
|
+
moduleList
|
|
213
|
+
}
|
|
147
214
|
};
|
|
148
215
|
};
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
baseUrl = "/" + baseUrl;
|
|
154
|
-
var expressApp = app.expressApp;
|
|
216
|
+
function init(app, options, pluginSchemas) {
|
|
217
|
+
let baseUrl = options.baseUrl || "/managementapi";
|
|
218
|
+
if (!baseUrl.startsWith("/")) baseUrl = "/" + baseUrl;
|
|
219
|
+
const { expressApp } = app;
|
|
155
220
|
if (!expressApp) {
|
|
156
221
|
throw new Error("Express app not initialized");
|
|
157
222
|
}
|
|
158
|
-
|
|
223
|
+
// Register all plugin schemas for $ref resolution
|
|
224
|
+
const allSchemas = pluginSchemas.getAllSchemas(PLUGIN_ID);
|
|
225
|
+
if (Object.keys(allSchemas).length > 0) {
|
|
226
|
+
app.registerSchemas(PLUGIN_ID, allSchemas);
|
|
227
|
+
}
|
|
228
|
+
expressApp.use(baseUrl + "/*", (req, res, next)=>{
|
|
159
229
|
//Allow unauthenticated login requests
|
|
160
230
|
if (req.baseUrl.startsWith(baseUrl + "/managementapiuser/login")) {
|
|
161
231
|
next();
|
|
@@ -163,29 +233,27 @@ function init(app, options) {
|
|
|
163
233
|
}
|
|
164
234
|
if (req.headers["management-token"] == options.token) {
|
|
165
235
|
next();
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
236
|
+
} else {
|
|
168
237
|
try {
|
|
169
|
-
|
|
238
|
+
const user = _jsonwebtoken.default.verify(req.headers["management-token"], options.jwtSecret);
|
|
170
239
|
next();
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
res.status(401).json((0, flink_1.unauthorized)());
|
|
240
|
+
} catch (ex) {
|
|
241
|
+
res.status(401).json((0, _flink.unauthorized)());
|
|
174
242
|
}
|
|
175
243
|
}
|
|
176
244
|
});
|
|
177
|
-
|
|
245
|
+
const schemas = (filePath)=>pluginSchemas.getHandlerSchemas(PLUGIN_ID, filePath);
|
|
246
|
+
app.addHandler(_GetManagement, _object_spread({
|
|
178
247
|
path: baseUrl,
|
|
179
|
-
method:
|
|
180
|
-
docs: "Gets information about configured management api"
|
|
181
|
-
});
|
|
248
|
+
method: _flink.HttpMethod.get,
|
|
249
|
+
docs: "Gets information about configured management api"
|
|
250
|
+
}, schemas("src/handlers/Management/GetManagement.ts")));
|
|
182
251
|
if (app.db != null) {
|
|
183
|
-
app.addRepo("managementuserRepo", new
|
|
252
|
+
app.addRepo("managementuserRepo", new _ManagementUserRepo.default("ManagmentUserRepo", app.db));
|
|
184
253
|
}
|
|
185
|
-
options.modules.forEach(
|
|
186
|
-
module.endpoints.forEach(
|
|
187
|
-
endpoint.routeProps.path =
|
|
188
|
-
baseUrl + "/" + module.id + endpoint.routeProps.path;
|
|
254
|
+
options.modules.forEach((module)=>{
|
|
255
|
+
module.endpoints.forEach((endpoint)=>{
|
|
256
|
+
endpoint.routeProps.path = baseUrl + "/" + module.id + endpoint.routeProps.path;
|
|
189
257
|
app.addHandler(endpoint.handler, endpoint.routeProps);
|
|
190
258
|
});
|
|
191
259
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/joel/projects/flink/flink-framework/packages/management-api-plugin/src/index.ts"],"sourcesContent":["import {\n FlinkApp,\n FlinkPlugin,\n HttpMethod,\n unauthorized,\n loadPluginSchemas,\n} from \"@flink-app/flink\";\nimport jsonwebtoken from \"jsonwebtoken\";\nimport * as GetManagement from \"./handlers/Management/GetManagement\";\nimport * as DeleteUserById from \"./handlers/User/DeleteByUserid\";\nimport * as GetUserByUserid from \"./handlers/User/GetByUserid\";\nimport * as GetUserList from \"./handlers/User/GetList\";\nimport * as GetUserMe from \"./handlers/User/GetMe\";\nimport * as PostUser from \"./handlers/User/Post\";\nimport * as PostUserLogin from \"./handlers/User/PostLogin\";\nimport * as PutUserById from \"./handlers/User/PutByUserid\";\nimport {\n ManagementApiModule,\n ManagementApiOptions,\n ManagementApiType,\n} from \"./models/ManagementApi\";\nimport managementuserRepo from \"./repos/ManagementUserRepo\";\nimport { Module, ModuleList } from \"./schemas/ModuleList\";\n\nexport * from \"./models/ManagementApi\";\n\nconst PLUGIN_ID = \"managementApi\";\n\nexport const managementApiPlugin = (\n options: ManagementApiOptions\n): FlinkPlugin => {\n const pluginSchemas = loadPluginSchemas(\"@flink-app/management-api-plugin\");\n const schemas = (filePath: string) => pluginSchemas.getHandlerSchemas(PLUGIN_ID, filePath);\n\n let managementApiModule: ManagementApiModule = {\n id: \"managementapiuser\",\n type: ManagementApiType.managementUser,\n ui: true,\n uiSettings: {\n title: \"Admin users\",\n icon: \"\",\n features: [],\n },\n endpoints: [],\n data: {},\n };\n\n managementApiModule.endpoints.push({\n handler: GetUserList,\n routeProps: {\n method: HttpMethod.get,\n path: \"\",\n docs: \"List all management users\",\n ...schemas(\"src/handlers/User/GetList.ts\"),\n },\n });\n\n managementApiModule.endpoints.push({\n handler: GetUserMe,\n routeProps: {\n method: HttpMethod.get,\n path: \"/me\",\n docs: \"Get current user information\",\n ...schemas(\"src/handlers/User/GetMe.ts\"),\n },\n });\n\n managementApiModule.endpoints.push({\n handler: GetUserByUserid,\n routeProps: {\n method: HttpMethod.get,\n path: \"/:userid\",\n docs: \"Get one management user by id\",\n ...schemas(\"src/handlers/User/GetByUserid.ts\"),\n },\n });\n\n managementApiModule.endpoints.push({\n handler: PostUser,\n\n routeProps: {\n method: HttpMethod.post,\n path: \"\",\n docs: \"Create a new management user\",\n ...schemas(\"src/handlers/User/Post.ts\"),\n },\n });\n\n managementApiModule.endpoints.push({\n handler: DeleteUserById,\n\n routeProps: {\n method: HttpMethod.delete,\n path: \"/:userid\",\n docs: \"Deletes a management user\",\n ...schemas(\"src/handlers/User/DeleteByUserid.ts\"),\n },\n });\n\n managementApiModule.endpoints.push({\n handler: PutUserById,\n routeProps: {\n method: HttpMethod.put,\n path: \"/:userid\",\n docs: \"Updates a management user\",\n ...schemas(\"src/handlers/User/PutByUserid.ts\"),\n },\n });\n\n managementApiModule.endpoints.push({\n handler: PostUserLogin,\n routeProps: {\n method: HttpMethod.post,\n path: \"/login\",\n docs: \"Authenticates a management user\",\n ...schemas(\"src/handlers/User/PostLogin.ts\"),\n },\n });\n\n options.modules.push(managementApiModule);\n\n let moduleList: ModuleList = {\n modules: [],\n };\n\n options.modules.forEach((m) => {\n let module: Module = {\n id: m.id,\n ui: m.ui ? \"true\" : \"false\",\n type: m.type,\n features: m.uiSettings?.features || [],\n title: m.uiSettings?.title || \"\",\n data: m.data,\n endpoints: [],\n };\n // m.endpoints.forEach((e) => {\n // let url = options.baseUrl || \"/managementapi\";\n // url += \"/\" + m.id + e.routeProps.path;\n // // module.endpoints.push({\n // // method : e.config.routeProps.method?.toString() || \"get\",\n // // url : url\n // // });\n // });\n moduleList.modules.push(module);\n });\n\n return {\n id: PLUGIN_ID,\n init: (app) => init(app, options, pluginSchemas),\n ctx: {\n jwtSecret: options.jwtSecret,\n moduleList,\n },\n };\n};\n\nfunction init(app: FlinkApp<any>, options: ManagementApiOptions, pluginSchemas: ReturnType<typeof loadPluginSchemas>) {\n let baseUrl = options.baseUrl || \"/managementapi\";\n if (!baseUrl.startsWith(\"/\")) baseUrl = \"/\" + baseUrl;\n\n const { expressApp } = app;\n\n if (!expressApp) {\n throw new Error(\"Express app not initialized\");\n }\n\n // Register all plugin schemas for $ref resolution\n const allSchemas = pluginSchemas.getAllSchemas(PLUGIN_ID);\n if (Object.keys(allSchemas).length > 0) {\n app.registerSchemas(PLUGIN_ID, allSchemas);\n }\n\n expressApp.use(baseUrl + \"/*\", (req: any, res: any, next: any) => {\n //Allow unauthenticated login requests\n if (req.baseUrl.startsWith(baseUrl + \"/managementapiuser/login\")) {\n next();\n return;\n }\n\n if (req.headers[\"management-token\"] == options.token) {\n next();\n } else {\n try {\n const user = jsonwebtoken.verify(\n req.headers[\"management-token\"],\n options.jwtSecret\n );\n next();\n } catch (ex) {\n res.status(401).json(unauthorized());\n }\n }\n });\n\n const schemas = (filePath: string) => pluginSchemas.getHandlerSchemas(PLUGIN_ID, filePath);\n\n app.addHandler(GetManagement, {\n path: baseUrl,\n method: HttpMethod.get,\n docs: \"Gets information about configured management api\",\n ...schemas(\"src/handlers/Management/GetManagement.ts\"),\n });\n\n if (app.db != null) {\n app.addRepo(\n \"managementuserRepo\",\n new managementuserRepo(\"ManagmentUserRepo\", app.db)\n );\n }\n\n options.modules.forEach((module) => {\n module.endpoints.forEach((endpoint) => {\n endpoint.routeProps.path =\n baseUrl + \"/\" + module.id + endpoint.routeProps.path;\n app.addHandler(endpoint.handler, endpoint.routeProps);\n });\n });\n}\n"],"names":["managementApiPlugin","PLUGIN_ID","options","pluginSchemas","loadPluginSchemas","schemas","filePath","getHandlerSchemas","managementApiModule","id","type","ManagementApiType","managementUser","ui","uiSettings","title","icon","features","endpoints","data","push","handler","GetUserList","routeProps","method","HttpMethod","get","path","docs","GetUserMe","GetUserByUserid","PostUser","post","DeleteUserById","delete","PutUserById","put","PostUserLogin","modules","moduleList","forEach","m","module","init","app","ctx","jwtSecret","baseUrl","startsWith","expressApp","Error","allSchemas","getAllSchemas","Object","keys","length","registerSchemas","use","req","res","next","headers","token","user","jsonwebtoken","verify","ex","status","json","unauthorized","addHandler","GetManagement","db","addRepo","managementuserRepo","endpoint"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
(
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "ManagementApiType", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return ManagementApiType;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var ManagementApiType = /*#__PURE__*/ function(ManagementApiType) {
|
|
6
12
|
ManagementApiType["user"] = "USER";
|
|
7
13
|
ManagementApiType["managementUser"] = "MANAGEMENT_USER";
|
|
8
14
|
ManagementApiType["action"] = "ACTION";
|
|
9
15
|
ManagementApiType["debug"] = "DEBUG";
|
|
10
16
|
ManagementApiType["notification"] = "NOTIFICATION";
|
|
11
|
-
|
|
17
|
+
return ManagementApiType;
|
|
18
|
+
}({});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/joel/projects/flink/flink-framework/packages/management-api-plugin/src/models/ManagementApi.ts"],"sourcesContent":["import { HandlerFile, RouteProps } from \"@flink-app/flink\";\n\nexport interface ManagementApiModule {\n id: string;\n type: ManagementApiType;\n endpoints: { handler: HandlerFile; routeProps: Partial<RouteProps> }[];\n ui: boolean;\n uiSettings?: {\n title: string;\n icon: string;\n features: string[];\n };\n data: { [key: string]: any };\n}\nexport interface ManagementApiOptions {\n token: string;\n baseUrl?: string;\n jwtSecret: string;\n modules: ManagementApiModule[];\n}\n\nexport enum ManagementApiType {\n user = \"USER\",\n managementUser = \"MANAGEMENT_USER\",\n action = \"ACTION\",\n debug = \"DEBUG\",\n notification = \"NOTIFICATION\"\n}\n"],"names":["ManagementApiType"],"mappings":";;;;+BAqBYA;;;eAAAA;;;AAAL,IAAA,AAAKA,2CAAAA;;;;;;WAAAA"}
|
|
@@ -1,26 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
var flink_1 = require("@flink-app/flink");
|
|
19
|
-
var ManagementUserRepo = /** @class */ (function (_super) {
|
|
20
|
-
__extends(ManagementUserRepo, _super);
|
|
21
|
-
function ManagementUserRepo() {
|
|
22
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
23
9
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
10
|
+
});
|
|
11
|
+
const _flink = require("@flink-app/flink");
|
|
12
|
+
let ManagementUserRepo = class ManagementUserRepo extends _flink.FlinkRepo {
|
|
13
|
+
};
|
|
14
|
+
const _default = ManagementUserRepo;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/joel/projects/flink/flink-framework/packages/management-api-plugin/src/repos/ManagementUserRepo.ts"],"sourcesContent":["import { FlinkRepo } from \"@flink-app/flink\";\nimport { ManagementUser } from \"../schemas/ManagementUser\";\n\nclass ManagementUserRepo extends FlinkRepo<any, ManagementUser> {}\n\nexport default ManagementUserRepo;\n"],"names":["ManagementUserRepo","FlinkRepo"],"mappings":";;;;+BAKA;;;eAAA;;;uBAL0B;AAG1B,IAAA,AAAMA,qBAAN,MAAMA,2BAA2BC,gBAAS;AAAuB;MAEjE,WAAeD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -1,19 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "GetManagementUserViewModel", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return GetManagementUserViewModel;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function _object_without_properties(source, excluded) {
|
|
12
|
+
if (source == null) return {};
|
|
13
|
+
var target = {}, sourceKeys, key, i;
|
|
14
|
+
if (typeof Reflect !== "undefined" && Reflect.ownKeys) {
|
|
15
|
+
sourceKeys = Reflect.ownKeys(Object(source));
|
|
16
|
+
for(i = 0; i < sourceKeys.length; i++){
|
|
17
|
+
key = sourceKeys[i];
|
|
18
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
19
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
20
|
+
target[key] = source[key];
|
|
10
21
|
}
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
22
|
+
return target;
|
|
23
|
+
}
|
|
24
|
+
target = _object_without_properties_loose(source, excluded);
|
|
25
|
+
if (Object.getOwnPropertySymbols) {
|
|
26
|
+
sourceKeys = Object.getOwnPropertySymbols(source);
|
|
27
|
+
for(i = 0; i < sourceKeys.length; i++){
|
|
28
|
+
key = sourceKeys[i];
|
|
29
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
30
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
31
|
+
target[key] = source[key];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return target;
|
|
35
|
+
}
|
|
36
|
+
function _object_without_properties_loose(source, excluded) {
|
|
37
|
+
if (source == null) return {};
|
|
38
|
+
var target = {}, sourceKeys = Object.getOwnPropertyNames(source), key, i;
|
|
39
|
+
for(i = 0; i < sourceKeys.length; i++){
|
|
40
|
+
key = sourceKeys[i];
|
|
41
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
42
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
43
|
+
target[key] = source[key];
|
|
44
|
+
}
|
|
45
|
+
return target;
|
|
46
|
+
}
|
|
47
|
+
const GetManagementUserViewModel = (user)=>{
|
|
48
|
+
const { password, salt } = user, resp = _object_without_properties(user, [
|
|
49
|
+
"password",
|
|
50
|
+
"salt"
|
|
51
|
+
]);
|
|
17
52
|
return resp;
|
|
18
53
|
};
|
|
19
|
-
exports.GetManagementUserViewModel = GetManagementUserViewModel;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/joel/projects/flink/flink-framework/packages/management-api-plugin/src/schemas/ManagementUserViewModel.ts"],"sourcesContent":["import { ManagementUser } from \"./ManagementUser\";\nexport interface ManagementUserViewModel extends Omit<ManagementUser, \"password\" | \"salt\"> {}\n\nexport const GetManagementUserViewModel = (user: ManagementUser): ManagementUserViewModel => {\n const { password, salt, ...resp } = user;\n return resp;\n};\n"],"names":["GetManagementUserViewModel","user","password","salt","resp"],"mappings":";;;;+BAGaA;;;eAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAN,MAAMA,6BAA6B,CAACC;IACvC,MAAM,EAAEC,QAAQ,EAAEC,IAAI,EAAW,GAAGF,MAATG,kCAASH;;;;IACpC,OAAOG;AACX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|