chyz 1.0.12-rc.9 → 1.0.13-rc.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/BaseChyz.ts +52 -10
- package/Examples/Controllers/ApiController.ts +41 -31
- package/Examples/Controllers/KeyCloakController.ts +100 -0
- package/Examples/Controllers/PublicController.ts +5 -7
- package/Examples/Controllers/SiteController.ts +18 -6
- package/Examples/Models/Categories.ts +36 -0
- package/Examples/Models/Customer.ts +10 -8
- package/Examples/Models/KeycloakUser.ts +66 -0
- package/Examples/Models/Order.ts +33 -17
- package/Examples/Models/OrderItem.ts +4 -3
- package/Examples/Models/ProductModels.ts +50 -0
- package/Examples/Models/ProductToCategories.ts +35 -0
- package/Examples/Models/Products.ts +49 -0
- package/Examples/Models/Stocks.ts +60 -0
- package/Examples/Models/User.ts +26 -6
- package/Examples/Models/UserPermission.ts +37 -0
- package/Examples/index-keycloack.ts +78 -0
- package/Examples/index.ts +16 -15
- package/Examples/keycloak.json +7 -0
- package/Examples/log/access.log +0 -0
- package/Examples/log/app.log +871 -0
- package/Examples/log/errors.log +80 -0
- package/Examples/package.json +46 -45
- package/Examples/yarn.lock +354 -7
- package/README.md +77 -22
- package/base/ActionFilter.ts +2 -2
- package/base/BaseError.ts +2 -2
- package/base/DataErrorDbException.ts +1 -1
- package/base/ForbiddenHttpException.ts +1 -1
- package/base/InvalidConfigException.ts +1 -1
- package/base/Model.ts +155 -10
- package/base/NotFoundHttpException.ts +1 -1
- package/base/RestClient.ts +28 -0
- package/base/UnauthorizedHttpException.ts +2 -1
- package/base/ValidationHttpException.ts +1 -1
- package/base/index.ts +2 -0
- package/dist/BaseChyz.js +37 -6
- package/dist/BaseChyz.js.map +1 -1
- package/dist/base/ActionFilter.js +2 -2
- package/dist/base/ActionFilter.js.map +1 -1
- package/dist/base/BaseError.js +2 -2
- package/dist/base/BaseError.js.map +1 -1
- package/dist/base/DataErrorDbException.js +1 -1
- package/dist/base/DataErrorDbException.js.map +1 -1
- package/dist/base/ForbiddenHttpException.js +1 -1
- package/dist/base/ForbiddenHttpException.js.map +1 -1
- package/dist/base/InvalidConfigException.js +1 -1
- package/dist/base/InvalidConfigException.js.map +1 -1
- package/dist/base/Model.js +121 -3
- package/dist/base/Model.js.map +1 -1
- package/dist/base/NotFoundHttpException.js +1 -1
- package/dist/base/NotFoundHttpException.js.map +1 -1
- package/dist/base/RestClient.js +27 -0
- package/dist/base/RestClient.js.map +1 -0
- package/dist/base/UnauthorizedHttpException.js +1 -1
- package/dist/base/UnauthorizedHttpException.js.map +1 -1
- package/dist/base/ValidationHttpException.js +1 -1
- package/dist/base/ValidationHttpException.js.map +1 -1
- package/dist/base/index.js +2 -0
- package/dist/base/index.js.map +1 -1
- package/dist/filters/AccessControl.js +2 -2
- package/dist/filters/AccessControl.js.map +1 -1
- package/dist/filters/AccessRule.js.map +1 -1
- package/dist/filters/auth/AuthMethod.js +2 -2
- package/dist/filters/auth/AuthMethod.js.map +1 -1
- package/dist/filters/auth/HttpHeaderAuth.js.map +1 -1
- package/dist/filters/auth/JwtHttpBearerAuth.js +1 -0
- package/dist/filters/auth/JwtHttpBearerAuth.js.map +1 -1
- package/dist/filters/auth/KeyCloakHttpBearerAuth.js +117 -0
- package/dist/filters/auth/KeyCloakHttpBearerAuth.js.map +1 -0
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -0
- package/dist/log/config/log4js.json +55 -0
- package/dist/web/{User.js → WebUser.js} +12 -7
- package/dist/web/WebUser.js.map +1 -0
- package/filters/AccessControl.ts +3 -3
- package/filters/AccessRule.ts +2 -2
- package/filters/auth/AuthMethod.ts +4 -4
- package/filters/auth/HttpHeaderAuth.ts +2 -2
- package/filters/auth/JwtHttpBearerAuth.ts +4 -5
- package/filters/auth/KeyCloakHttpBearerAuth.ts +115 -0
- package/index.ts +14 -0
- package/log/config/log4js.json +55 -0
- package/package.json +55 -52
- package/web/{User.ts → WebUser.ts} +10 -6
- package/dist/web/User.js.map +0 -1
package/README.md
CHANGED
|
@@ -17,6 +17,13 @@ yarn start
|
|
|
17
17
|
## index.ts alanlar düzenlenmeli.
|
|
18
18
|
|
|
19
19
|
```js
|
|
20
|
+
require('dotenv-flow').config();
|
|
21
|
+
|
|
22
|
+
import BaseChyz from "chyz/dist/BaseChyz";
|
|
23
|
+
import Chyz, {DbConnection} from "chyz/dist";
|
|
24
|
+
import {WebUser} from "../web/WebUser";
|
|
25
|
+
import {User} from "./Models/User";
|
|
26
|
+
|
|
20
27
|
let config = {
|
|
21
28
|
components: {
|
|
22
29
|
db: {
|
|
@@ -32,8 +39,8 @@ let config = {
|
|
|
32
39
|
}
|
|
33
40
|
},
|
|
34
41
|
user: {
|
|
35
|
-
'class':
|
|
36
|
-
'identityClass':
|
|
42
|
+
'class': WebUser,
|
|
43
|
+
'identityClass': User
|
|
37
44
|
}
|
|
38
45
|
}
|
|
39
46
|
}
|
|
@@ -47,7 +54,7 @@ Veritabanı işlemleri için model oluşturma, sequelize desteklidir.
|
|
|
47
54
|
```js
|
|
48
55
|
import {Model, DataTypes} from "chyz/base/Model";
|
|
49
56
|
|
|
50
|
-
export class
|
|
57
|
+
export class CustomerCLass extends Model {
|
|
51
58
|
public tableName() {
|
|
52
59
|
return 'customer';
|
|
53
60
|
}
|
|
@@ -79,29 +86,77 @@ export class Customer extends Model {
|
|
|
79
86
|
}
|
|
80
87
|
|
|
81
88
|
}
|
|
89
|
+
const Customer= new CustomerCLass();
|
|
90
|
+
export { Customer };
|
|
91
|
+
|
|
82
92
|
```
|
|
93
|
+
````js
|
|
94
|
+
export class ProductsClass extends Model {
|
|
95
|
+
[x: string]: any;
|
|
96
|
+
|
|
97
|
+
tableName() {
|
|
98
|
+
return 'products';
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
attributes() {
|
|
102
|
+
return {
|
|
103
|
+
// Model attributes are defined here
|
|
104
|
+
title: {
|
|
105
|
+
type: DataTypes.STRING,
|
|
106
|
+
allowNull: false
|
|
107
|
+
},
|
|
108
|
+
model_id: {
|
|
109
|
+
type: DataTypes.INTEGER,
|
|
110
|
+
allowNull: false
|
|
111
|
+
},
|
|
112
|
+
properties: {
|
|
113
|
+
type: DataTypes.STRING,
|
|
114
|
+
allowNull: false
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
relations(): Relation[] {
|
|
121
|
+
return [
|
|
122
|
+
{
|
|
123
|
+
type: "hasOne",
|
|
124
|
+
foreignKey: "id",
|
|
125
|
+
sourceKey: "customer_id",
|
|
126
|
+
model: Customer.model()
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
const Products = new ProductsClass()
|
|
133
|
+
export {Products}
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
|
|
83
137
|
## Http POST ve GET verilerini model'e yükleme
|
|
138
|
+
|
|
84
139
|
````js
|
|
85
140
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
141
|
+
/**
|
|
142
|
+
* post data
|
|
143
|
+
* {
|
|
144
|
+
* "Customer":{
|
|
145
|
+
* "firstname":"cihan",
|
|
146
|
+
* "lastname":"ozturk"
|
|
147
|
+
* ....
|
|
148
|
+
* }
|
|
149
|
+
* }
|
|
150
|
+
* @type {Customer}
|
|
151
|
+
*/
|
|
152
|
+
import {Customer} from "./Customer";
|
|
153
|
+
//Customer Model Create
|
|
154
|
+
let customer: Customer = Customer;
|
|
155
|
+
customer.load(req.body, "Customer");//load customer data
|
|
156
|
+
let cus: any = await customer.save();
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
|
|
105
160
|
|
|
106
161
|
````
|
|
107
162
|
## Transaction
|
package/base/ActionFilter.ts
CHANGED
|
@@ -25,7 +25,7 @@ export class ActionFilter extends Behavior {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
public async beforeFilter(route: any, req: Request, res: Response) {
|
|
28
|
-
if (!this.isActive(route
|
|
28
|
+
if (!this.isActive(route)) {
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -51,7 +51,7 @@ export class ActionFilter extends Behavior {
|
|
|
51
51
|
for (const exceptKey in this.except) {
|
|
52
52
|
let pattern = this.except[exceptKey];
|
|
53
53
|
let match = id.match(pattern)
|
|
54
|
-
if (match.length > 0) {
|
|
54
|
+
if (match && match.length > 0) {
|
|
55
55
|
exceptMatch = true;
|
|
56
56
|
}
|
|
57
57
|
}
|
package/base/BaseError.ts
CHANGED
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
export class BaseError extends Error {
|
|
9
9
|
private statusCode: number;
|
|
10
10
|
|
|
11
|
-
constructor(message: string) {
|
|
11
|
+
constructor(message: string,statusCode=500) {
|
|
12
12
|
super(message);
|
|
13
13
|
this.message=message;
|
|
14
14
|
this.name = this.constructor.name // good practice
|
|
15
|
-
this.statusCode =
|
|
15
|
+
this.statusCode = statusCode // error code for responding to client
|
|
16
16
|
Error.captureStackTrace(this)
|
|
17
17
|
}
|
|
18
18
|
|
package/base/Model.ts
CHANGED
|
@@ -9,10 +9,21 @@ import BaseChyz from "../BaseChyz";
|
|
|
9
9
|
import Utils from "../requiments/Utils";
|
|
10
10
|
import {Component} from "./Component";
|
|
11
11
|
import {InvalidConfigException} from "./InvalidConfigException";
|
|
12
|
-
import
|
|
12
|
+
import {DatabaseError, DataTypes, ExclusionConstraintError, ForeignKeyConstraintError, Model as SModel, TimeoutError, UniqueConstraintError, ValidationError,} from "sequelize";
|
|
13
13
|
import {Exception} from "./db/Exception";
|
|
14
14
|
|
|
15
|
-
export {DataTypes,NOW} from "sequelize";
|
|
15
|
+
export {DataTypes, NOW} from "sequelize";
|
|
16
|
+
|
|
17
|
+
export interface Relation{
|
|
18
|
+
type: "hasOne" | "hasMany" | "belongsToMany" | "belongsTo",
|
|
19
|
+
allowNull?:boolean,
|
|
20
|
+
sourceKey:string,
|
|
21
|
+
model:SModel,
|
|
22
|
+
foreignKey:string,
|
|
23
|
+
name?:string,
|
|
24
|
+
through?:string,
|
|
25
|
+
as?:string
|
|
26
|
+
}
|
|
16
27
|
|
|
17
28
|
/**
|
|
18
29
|
* ValidateMe.init({
|
|
@@ -69,24 +80,62 @@ export {DataTypes,NOW} from "sequelize";
|
|
|
69
80
|
*/
|
|
70
81
|
|
|
71
82
|
export class Model extends Component {
|
|
72
|
-
|
|
83
|
+
_sequelize: any ;
|
|
73
84
|
private _tableName: string;
|
|
74
85
|
private _model: any;
|
|
75
86
|
private _attributes: any = {};
|
|
76
87
|
private _errors: any = {}
|
|
77
88
|
|
|
78
|
-
|
|
89
|
+
|
|
90
|
+
constructor(sequelize?: IDBDatabase) {
|
|
79
91
|
super();
|
|
80
92
|
this._tableName = this.constructor.name;
|
|
81
|
-
this.
|
|
93
|
+
// this._sequelize = BaseChyz.getComponent("db").db;
|
|
94
|
+
if (sequelize != null)
|
|
95
|
+
this._sequelize = sequelize;
|
|
96
|
+
else
|
|
97
|
+
this._sequelize = BaseChyz.getComponent("db").db;
|
|
82
98
|
|
|
83
99
|
if (!Utils.isEmpty(this.attributes())) {
|
|
84
|
-
|
|
85
|
-
this._model = this.sequelize.define(this.constructor.name, this.attributes(), {
|
|
100
|
+
this._model = this._sequelize.define(this.constructor.name, this.attributes(), {
|
|
86
101
|
tableName: this.tableName(),
|
|
87
102
|
timestamps: false
|
|
88
103
|
});
|
|
89
104
|
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* init buraya
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
for (const relation of this.relations()) {
|
|
112
|
+
let m = relation.model;
|
|
113
|
+
|
|
114
|
+
if(relation.type=="hasOne" ){
|
|
115
|
+
// @ts-ignore
|
|
116
|
+
delete relation.model
|
|
117
|
+
this.model().hasOne(m, relation );
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if(relation.type=="hasMany" ){
|
|
121
|
+
// @ts-ignore
|
|
122
|
+
delete relation.model;
|
|
123
|
+
this.model().hasMany(m, relation );
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if(relation.type=="belongsTo" ){
|
|
127
|
+
// @ts-ignore
|
|
128
|
+
delete relation.model;
|
|
129
|
+
this.model().belongsTo(m, relation );
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if(relation.type=="belongsToMany" ){
|
|
133
|
+
// @ts-ignore
|
|
134
|
+
delete relation.model;
|
|
135
|
+
this.model().belongsToMany(m, relation );
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
90
139
|
} else {
|
|
91
140
|
throw new InvalidConfigException(BaseChyz.t("Invalid model configuration, is not emty attributes"))
|
|
92
141
|
}
|
|
@@ -96,6 +145,29 @@ export class Model extends Component {
|
|
|
96
145
|
}
|
|
97
146
|
|
|
98
147
|
|
|
148
|
+
/**
|
|
149
|
+
* Returns the database connection used by this AR class.
|
|
150
|
+
* By default, the "db" application component is used as the database connection.
|
|
151
|
+
* You may override this method if you want to use a different database connection.
|
|
152
|
+
* @return Connection the database connection used by this AR class.
|
|
153
|
+
*/
|
|
154
|
+
public static getDb()
|
|
155
|
+
{
|
|
156
|
+
return BaseChyz.getComponent("db").db
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
get sequelize(): any {
|
|
160
|
+
return this._sequelize;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
set sequelize(value: any) {
|
|
164
|
+
this._sequelize = value;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
*
|
|
170
|
+
*/
|
|
99
171
|
get errors(): any {
|
|
100
172
|
return this._errors;
|
|
101
173
|
}
|
|
@@ -108,6 +180,7 @@ export class Model extends Component {
|
|
|
108
180
|
BaseChyz.debug("Model init....", this.constructor.name)
|
|
109
181
|
}
|
|
110
182
|
|
|
183
|
+
|
|
111
184
|
public tableName() {
|
|
112
185
|
return this._tableName;
|
|
113
186
|
}
|
|
@@ -131,7 +204,7 @@ export class Model extends Component {
|
|
|
131
204
|
try {
|
|
132
205
|
result = await this.model().create(p, options)
|
|
133
206
|
} catch (e) {
|
|
134
|
-
BaseChyz.debug(`Model[${this.constructor.name}].create`,e)
|
|
207
|
+
BaseChyz.debug(`Model[${this.constructor.name}].create`, e)
|
|
135
208
|
if (e instanceof ValidationError) {
|
|
136
209
|
let validationErrorItems = e.errors;
|
|
137
210
|
validationErrorItems.forEach(({message, path}) => {
|
|
@@ -151,7 +224,41 @@ export class Model extends Component {
|
|
|
151
224
|
} else if (e instanceof ExclusionConstraintError) {
|
|
152
225
|
|
|
153
226
|
}
|
|
154
|
-
throw new Exception(e.message,this.errors,e.code);
|
|
227
|
+
throw new Exception(e.message, this.errors, e.code);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
return result;
|
|
231
|
+
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
public async bulkCreate(params = {}, options = {}) {
|
|
235
|
+
// now instantiate an object
|
|
236
|
+
let p = Object.assign(params, this._attributes)
|
|
237
|
+
let result: any;
|
|
238
|
+
try {
|
|
239
|
+
result = await this.model().bulkCreate(p, options)
|
|
240
|
+
} catch (e) {
|
|
241
|
+
BaseChyz.debug(`Model[${this.constructor.name}].bulkCreate`, e)
|
|
242
|
+
if (e instanceof ValidationError) {
|
|
243
|
+
let validationErrorItems = e.errors;
|
|
244
|
+
validationErrorItems.forEach(({message, path}) => {
|
|
245
|
+
// @ts-ignore
|
|
246
|
+
this._errors[path] = message
|
|
247
|
+
})
|
|
248
|
+
|
|
249
|
+
return false;
|
|
250
|
+
} else if (e instanceof DatabaseError) {
|
|
251
|
+
|
|
252
|
+
} else if (e instanceof TimeoutError) {
|
|
253
|
+
|
|
254
|
+
} else if (e instanceof UniqueConstraintError) {
|
|
255
|
+
|
|
256
|
+
} else if (e instanceof ForeignKeyConstraintError) {
|
|
257
|
+
|
|
258
|
+
} else if (e instanceof ExclusionConstraintError) {
|
|
259
|
+
|
|
260
|
+
}
|
|
261
|
+
throw new Exception(e.message, this.errors, e.code);
|
|
155
262
|
}
|
|
156
263
|
|
|
157
264
|
return result;
|
|
@@ -168,16 +275,32 @@ export class Model extends Component {
|
|
|
168
275
|
return this.model().delete(p, options)
|
|
169
276
|
}
|
|
170
277
|
|
|
171
|
-
|
|
278
|
+
/**
|
|
279
|
+
*
|
|
280
|
+
* @param args
|
|
281
|
+
*/
|
|
172
282
|
public findOne(...args: any[]) {
|
|
173
283
|
return this._model.findOne(...arguments)
|
|
174
284
|
}
|
|
175
285
|
|
|
286
|
+
/**
|
|
287
|
+
*
|
|
288
|
+
* @param args
|
|
289
|
+
*/
|
|
290
|
+
public findAll(...args: any[]) {
|
|
291
|
+
return this._model.findAll(...arguments)
|
|
292
|
+
}
|
|
293
|
+
|
|
176
294
|
|
|
177
295
|
public validate() {
|
|
178
296
|
|
|
179
297
|
}
|
|
180
298
|
|
|
299
|
+
/**
|
|
300
|
+
*
|
|
301
|
+
* @param data
|
|
302
|
+
* @param formName
|
|
303
|
+
*/
|
|
181
304
|
public load(data: any, formName: any = null) {
|
|
182
305
|
let scope = formName === null ? this.formName() : formName;
|
|
183
306
|
if (scope === '' && !Utils.isEmpty(data)) {
|
|
@@ -190,6 +313,18 @@ export class Model extends Component {
|
|
|
190
313
|
return false;
|
|
191
314
|
}
|
|
192
315
|
|
|
316
|
+
public bulkLoad(data: any, formName: any = null) {
|
|
317
|
+
let scope = formName === null ? this.formName() : formName;
|
|
318
|
+
if (scope === '' && !Utils.isEmpty(data)) {
|
|
319
|
+
this.setAttribute(data);
|
|
320
|
+
return true;
|
|
321
|
+
} else if (data[scope]) {
|
|
322
|
+
this.setAttribute(data[scope]);
|
|
323
|
+
return true;
|
|
324
|
+
}
|
|
325
|
+
return false;
|
|
326
|
+
}
|
|
327
|
+
|
|
193
328
|
public setAttribute(values: any, safeOnly = true) {
|
|
194
329
|
if (values instanceof Object) {
|
|
195
330
|
let attributes = this.attributes();
|
|
@@ -206,4 +341,14 @@ export class Model extends Component {
|
|
|
206
341
|
public attributes() {
|
|
207
342
|
return {}
|
|
208
343
|
}
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* relation return array
|
|
347
|
+
* [
|
|
348
|
+
*
|
|
349
|
+
* ]
|
|
350
|
+
*/
|
|
351
|
+
public relations():Relation[]{
|
|
352
|
+
return []
|
|
353
|
+
}
|
|
209
354
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) 2021.. Chy Bilgisayar Bilisim
|
|
4
|
+
* Author: Cihan Ozturk
|
|
5
|
+
* E-mail: cihan@chy.com.tr
|
|
6
|
+
* Github:https://github.com/cihan53/
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
import {Component} from "./Component";
|
|
12
|
+
|
|
13
|
+
const axios = require('axios')
|
|
14
|
+
|
|
15
|
+
export class RestClient extends Component {
|
|
16
|
+
public post(url: string, args: any[]) {
|
|
17
|
+
return axios.post(url, args)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
public get(url: string, args: any[]) {
|
|
21
|
+
return axios.post(url, args)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
public Rest(params: any) {
|
|
25
|
+
return axios(params)
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export default new RestClient();
|
package/base/index.ts
CHANGED
|
@@ -11,4 +11,6 @@ export * from "./InvalidConfigException"
|
|
|
11
11
|
export * from "./NotFoundHttpException"
|
|
12
12
|
export * from "./UnauthorizedHttpException"
|
|
13
13
|
export * from "./DataErrorDbException"
|
|
14
|
+
export * from "./ValidationHttpException"
|
|
14
15
|
export * from "./Model"
|
|
16
|
+
export * from "./RestClient"
|
package/dist/BaseChyz.js
CHANGED
|
@@ -17,7 +17,7 @@ const Utils_1 = __importDefault(require("./requiments/Utils"));
|
|
|
17
17
|
const express = require("express");
|
|
18
18
|
const log4js = require("log4js");
|
|
19
19
|
const fs = require('fs');
|
|
20
|
-
|
|
20
|
+
var ip = require('ip');
|
|
21
21
|
var bodyParser = require('body-parser');
|
|
22
22
|
var methodOverride = require('method-override');
|
|
23
23
|
class BaseChyz {
|
|
@@ -101,7 +101,6 @@ class BaseChyz {
|
|
|
101
101
|
* Config set
|
|
102
102
|
*/
|
|
103
103
|
this.config = config;
|
|
104
|
-
this.init();
|
|
105
104
|
let components = Utils_1.default.findKeyValue(config, "components");
|
|
106
105
|
if (components) {
|
|
107
106
|
for (const componentsKey in components) {
|
|
@@ -111,6 +110,16 @@ class BaseChyz {
|
|
|
111
110
|
(_a = BaseChyz.components[componentsKey]) === null || _a === void 0 ? void 0 : _a.init();
|
|
112
111
|
}
|
|
113
112
|
}
|
|
113
|
+
let middlewares = Utils_1.default.findKeyValue(config, "middlewares");
|
|
114
|
+
if (middlewares) {
|
|
115
|
+
for (const middlewareKey in middlewares) {
|
|
116
|
+
let middleware1 = middlewares[middlewareKey];
|
|
117
|
+
BaseChyz.debug("Create middlewares ", middlewareKey);
|
|
118
|
+
BaseChyz.middlewares[middlewareKey] = middleware1;
|
|
119
|
+
// BaseChyz.middlewares[middlewareKey] = Utils.createObject(new middleware1.class, middleware1);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
this.init();
|
|
114
123
|
return this;
|
|
115
124
|
}
|
|
116
125
|
logProvider() {
|
|
@@ -169,6 +178,10 @@ class BaseChyz {
|
|
|
169
178
|
var _a;
|
|
170
179
|
return (_a = BaseChyz.components[key]) !== null && _a !== void 0 ? _a : null;
|
|
171
180
|
}
|
|
181
|
+
static getMiddlewares(key) {
|
|
182
|
+
var _a;
|
|
183
|
+
return (_a = BaseChyz.middlewares[key]) !== null && _a !== void 0 ? _a : null;
|
|
184
|
+
}
|
|
172
185
|
/**
|
|
173
186
|
* load contoller
|
|
174
187
|
*/
|
|
@@ -215,8 +228,8 @@ class BaseChyz {
|
|
|
215
228
|
catch (e) {
|
|
216
229
|
BaseChyz.error(e);
|
|
217
230
|
// next(e)
|
|
218
|
-
res.status(e.statusCode);
|
|
219
|
-
res.json({ error: { code: e.statusCode, name: e.name, message: e.message } });
|
|
231
|
+
res.status(e.statusCode || 500);
|
|
232
|
+
res.json({ error: { code: e.statusCode || 500, name: e.name, message: e.message } });
|
|
220
233
|
}
|
|
221
234
|
}));
|
|
222
235
|
});
|
|
@@ -228,8 +241,7 @@ class BaseChyz {
|
|
|
228
241
|
BaseChyz.express.use(bodyParser.json());
|
|
229
242
|
BaseChyz.express.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
|
|
230
243
|
BaseChyz.express.use(methodOverride());
|
|
231
|
-
BaseChyz.express.use(
|
|
232
|
-
BaseChyz.express.use(this.errorHandler);
|
|
244
|
+
BaseChyz.express.use(methodOverride());
|
|
233
245
|
// CORS
|
|
234
246
|
BaseChyz.express.use(function (req, res, next) {
|
|
235
247
|
// @ts-ignore
|
|
@@ -241,12 +253,26 @@ class BaseChyz {
|
|
|
241
253
|
res.setHeader("Access-Control-Allow-Headers", "Access-Control-Allow-Origin,Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers,Authorization");
|
|
242
254
|
next();
|
|
243
255
|
});
|
|
256
|
+
//Middlewares
|
|
257
|
+
for (const middleware1 of Object.keys(BaseChyz.middlewares)) {
|
|
258
|
+
if (!Utils_1.default.isFunction(middleware1)) {
|
|
259
|
+
let keycloak = BaseChyz.middlewares[middleware1].keycloak;
|
|
260
|
+
BaseChyz.express.use(keycloak.middleware(BaseChyz.middlewares[middleware1].config));
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
BaseChyz.express.use(BaseChyz.middlewares[middleware1]);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
BaseChyz.express.use(this.errorResponder);
|
|
267
|
+
BaseChyz.express.use(this.errorHandler);
|
|
244
268
|
}
|
|
245
269
|
Start() {
|
|
246
270
|
BaseChyz.info("Express Server Starting");
|
|
247
271
|
BaseChyz.express.listen(this._port, () => {
|
|
248
272
|
BaseChyz.info("Express Server Start ");
|
|
249
273
|
BaseChyz.info(`Liten Port ${this._port}`);
|
|
274
|
+
BaseChyz.info(`http://localhost:${this._port}`);
|
|
275
|
+
BaseChyz.info(`http://${ip.address()}:${this._port}`);
|
|
250
276
|
});
|
|
251
277
|
return this;
|
|
252
278
|
}
|
|
@@ -255,4 +281,9 @@ exports.default = BaseChyz;
|
|
|
255
281
|
BaseChyz.express = express();
|
|
256
282
|
BaseChyz.controllers = [];
|
|
257
283
|
BaseChyz.components = {};
|
|
284
|
+
BaseChyz.middlewares = {};
|
|
285
|
+
process.on('uncaughtException', err => {
|
|
286
|
+
BaseChyz.error('There was an uncaught error', err);
|
|
287
|
+
process.exit(1); //mandatory (as per the Node.js docs)
|
|
288
|
+
});
|
|
258
289
|
//# sourceMappingURL=BaseChyz.js.map
|
package/dist/BaseChyz.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseChyz.js","sourceRoot":"","sources":["../BaseChyz.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4BAA0B;AAI1B,+DAAuC;AAGvC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseChyz.js","sourceRoot":"","sources":["../BaseChyz.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ class ActionFilter extends Behavior_1.Behavior {
|
|
|
28
28
|
}
|
|
29
29
|
beforeFilter(route, req, res) {
|
|
30
30
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
if (!this.isActive(route
|
|
31
|
+
if (!this.isActive(route)) {
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
34
|
yield this.beforeAction(route, req, res);
|
|
@@ -53,7 +53,7 @@ class ActionFilter extends Behavior_1.Behavior {
|
|
|
53
53
|
for (const exceptKey in this.except) {
|
|
54
54
|
let pattern = this.except[exceptKey];
|
|
55
55
|
let match = id.match(pattern);
|
|
56
|
-
if (match.length > 0) {
|
|
56
|
+
if (match && match.length > 0) {
|
|
57
57
|
exceptMatch = true;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionFilter.js","sourceRoot":"","sources":["../../base/ActionFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAQA,gEAAwC;AACxC,yCAAoC;AAEpC,MAAa,YAAa,SAAQ,mBAAQ;IAA1C;;QAII;;;WAGG;QACI,WAAM,GAAG,EAAE,CAAC;IAmDvB,CAAC;IAhDU,IAAI;IAEX,CAAC;IAEY,YAAY,CAAC,KAAU,EAAE,GAAY,EAAE,GAAa;;YAC7D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"ActionFilter.js","sourceRoot":"","sources":["../../base/ActionFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAQA,gEAAwC;AACxC,yCAAoC;AAEpC,MAAa,YAAa,SAAQ,mBAAQ;IAA1C;;QAII;;;WAGG;QACI,WAAM,GAAG,EAAE,CAAC;IAmDvB,CAAC;IAhDU,IAAI;IAEX,CAAC;IAEY,YAAY,CAAC,KAAU,EAAE,GAAY,EAAE,GAAa;;YAC7D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACvB,OAAO;aACV;YAED,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC5C,CAAC;KAAA;IAES,QAAQ,CAAC,MAAW;QAC1B,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACnB,IAAI,SAAS,GAAY,KAAK,CAAC;QAC/B,IAAI,WAAW,GAAY,KAAK,CAAC;QACjC,IAAI,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1B,SAAS,GAAG,IAAI,CAAC;SACpB;aAAM;YACH,SAAS,GAAG,KAAK,CAAC;YAClB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE;gBAC7B,IAAI,eAAK,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;oBACtC,SAAS,GAAG,IAAI,CAAC;oBACjB,MAAM;iBACT;aACJ;SACJ;QAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE;YACjC,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC7B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,WAAW,GAAG,IAAI,CAAC;aACtB;SACJ;QAED,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACU,YAAY,CAAC,KAAU,EAAE,GAAY,EAAE,GAAa;;YAC7D,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;CACJ;AA3DD,oCA2DC"}
|