chyz 1.0.13-rc.9 → 1.1.0-rc.0

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.
Files changed (70) hide show
  1. package/BaseChyz.ts +74 -20
  2. package/Doc/Moel kullanma.md +13 -0
  3. package/Examples/Controllers/ApiController.ts +22 -22
  4. package/Examples/Controllers/BasicApiController.ts +121 -0
  5. package/Examples/Controllers/SiteController.ts +18 -8
  6. package/Examples/Models/AuthAssignment.ts +50 -0
  7. package/Examples/Models/AuthItem.ts +59 -0
  8. package/Examples/Models/AuthItemChild.ts +49 -0
  9. package/Examples/Models/Categories.ts +4 -0
  10. package/Examples/Models/KeycloakUser.ts +4 -0
  11. package/Examples/Models/User.ts +8 -1
  12. package/Examples/index.ts +22 -2
  13. package/Examples/log/app.log +14466 -0
  14. package/Examples/log/errors.log +594 -0
  15. package/Examples/package.json +5 -2
  16. package/README.md +265 -12
  17. package/base/ActionFilter.ts +1 -1
  18. package/base/BaseError.ts +4 -2
  19. package/base/DbConnection.ts +9 -5
  20. package/base/Model.ts +231 -30
  21. package/base/ModelManager.ts +6 -1
  22. package/base/RestClient.ts +4 -4
  23. package/base/ValidationHttpException.ts +1 -1
  24. package/dist/BaseChyz.js +42 -8
  25. package/dist/BaseChyz.js.map +1 -1
  26. package/dist/base/ActionFilter.js +1 -1
  27. package/dist/base/ActionFilter.js.map +1 -1
  28. package/dist/base/BaseError.js +6 -2
  29. package/dist/base/BaseError.js.map +1 -1
  30. package/dist/base/DbConnection.js.map +1 -1
  31. package/dist/base/Model.js +186 -4
  32. package/dist/base/Model.js.map +1 -1
  33. package/dist/base/ModelManager.js +0 -8
  34. package/dist/base/ModelManager.js.map +1 -1
  35. package/dist/base/RestClient.js +4 -4
  36. package/dist/base/RestClient.js.map +1 -1
  37. package/dist/base/ValidationHttpException.js +1 -1
  38. package/dist/filters/AccessControl.js +15 -3
  39. package/dist/filters/AccessControl.js.map +1 -1
  40. package/dist/filters/AccessRule.js +99 -38
  41. package/dist/filters/AccessRule.js.map +1 -1
  42. package/dist/filters/auth/HttpBasicAuth.js +65 -0
  43. package/dist/filters/auth/HttpBasicAuth.js.map +1 -1
  44. package/dist/filters/auth/index.js +1 -0
  45. package/dist/filters/auth/index.js.map +1 -1
  46. package/dist/package.json +1 -3
  47. package/dist/rbac/AuthAssignment.js +45 -0
  48. package/dist/rbac/AuthAssignment.js.map +1 -0
  49. package/dist/rbac/AuthItem.js +52 -0
  50. package/dist/rbac/AuthItem.js.map +1 -0
  51. package/dist/rbac/AuthItemChild.js +44 -0
  52. package/dist/rbac/AuthItemChild.js.map +1 -0
  53. package/dist/rbac/AuthManager.js +13 -5
  54. package/dist/rbac/AuthManager.js.map +1 -1
  55. package/dist/requiments/Utils.js +5 -1
  56. package/dist/requiments/Utils.js.map +1 -1
  57. package/dist/web/WebUser.js +78 -0
  58. package/dist/web/WebUser.js.map +1 -1
  59. package/filters/AccessControl.ts +19 -6
  60. package/filters/AccessRule.ts +61 -16
  61. package/filters/auth/HttpBasicAuth.ts +68 -0
  62. package/filters/auth/index.ts +1 -0
  63. package/package.json +2 -3
  64. package/rbac/AuthAssignment.ts +50 -0
  65. package/rbac/AuthItem.ts +57 -0
  66. package/rbac/AuthItemChild.ts +50 -0
  67. package/rbac/AuthManager.ts +19 -9
  68. package/requiments/Utils.ts +6 -0
  69. package/web/IdentityInterface.ts +6 -0
  70. package/web/WebUser.ts +88 -1
package/base/Model.ts CHANGED
@@ -9,20 +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 {DatabaseError, DataTypes, ExclusionConstraintError, ForeignKeyConstraintError, Model as SModel, TimeoutError, UniqueConstraintError, ValidationError,} from "sequelize";
12
+ import {DatabaseError, DataTypes, ExclusionConstraintError, ForeignKeyConstraintError, Model as SModel, QueryTypes, TimeoutError, UniqueConstraintError, ValidationError,} from "sequelize";
13
13
  import {Exception} from "./db/Exception";
14
14
 
15
15
  export {DataTypes, NOW} from "sequelize";
16
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?:any,
25
- as?:string
17
+
18
+ export interface Relation {
19
+ type: "hasOne" | "hasMany" | "belongsToMany" | "belongsTo",
20
+ allowNull?: boolean,
21
+ sourceKey?: string,
22
+ model: SModel,
23
+ foreignKey: string,
24
+ name?: string,
25
+ through?: any,
26
+ as?: string
26
27
  }
27
28
 
28
29
  /**
@@ -80,7 +81,8 @@ export interface Relation{
80
81
  */
81
82
 
82
83
  export class Model extends Component {
83
- _sequelize: any ;
84
+ _sequelize: any;
85
+ _register: any;
84
86
  private _tableName: string;
85
87
  private _model: any;
86
88
  private _attributes: any = {};
@@ -89,19 +91,22 @@ export class Model extends Component {
89
91
 
90
92
  constructor(sequelize?: IDBDatabase) {
91
93
  super();
92
- this._tableName = this.constructor.name;
94
+ this._tableName = this.alias();
95
+
96
+ BaseChyz.debug("Model constructor", this._tableName)
93
97
  // this._sequelize = BaseChyz.getComponent("db").db;
94
98
  if (sequelize != null)
95
99
  this._sequelize = sequelize;
96
100
  else
97
- this._sequelize = BaseChyz.getComponent("db").db;
101
+ this._sequelize = this.getDb();
98
102
 
99
103
  if (!Utils.isEmpty(this.attributes())) {
100
- this._model = this._sequelize.define(this.constructor.name, this.attributes(), {
104
+
105
+ this._model = this._sequelize.define(this._tableName, this.attributes(), {
101
106
  tableName: this.tableName(),
102
107
  timestamps: false,
103
108
  createdAt: false,
104
- updateAt:false
109
+ updateAt: false
105
110
  });
106
111
 
107
112
  } else {
@@ -119,11 +124,14 @@ export class Model extends Component {
119
124
  * You may override this method if you want to use a different database connection.
120
125
  * @return Connection the database connection used by this AR class.
121
126
  */
122
- public static getDb()
123
- {
127
+ public getDb() {
124
128
  return BaseChyz.getComponent("db").db
125
129
  }
126
130
 
131
+ public getDbConnection() {
132
+ return BaseChyz.getComponent("db");
133
+ }
134
+
127
135
  get sequelize(): any {
128
136
  return this._sequelize;
129
137
  }
@@ -132,6 +140,10 @@ export class Model extends Component {
132
140
  this._sequelize = value;
133
141
  }
134
142
 
143
+ public provider() {
144
+ return this._sequelize;
145
+ }
146
+
135
147
 
136
148
  /**
137
149
  *
@@ -153,33 +165,37 @@ export class Model extends Component {
153
165
  for (const relation of this.relations()) {
154
166
  let m = relation.model;
155
167
 
156
- if(relation.type=="hasOne" ){
168
+ if (relation.type == "hasOne") {
157
169
  // @ts-ignore
158
170
  delete relation.model
159
- this.model().hasOne(m, relation );
171
+ this.model().hasOne(m, relation);
160
172
  }
161
- //
162
- if(relation.type=="hasMany" ){
173
+ //
174
+ if (relation.type == "hasMany") {
163
175
  // @ts-ignore
164
176
  delete relation.model;
165
- this.model().hasMany(m, relation );
177
+ this.model().hasMany(m, relation);
166
178
  }
167
179
 
168
- if(relation.type=="belongsTo" ){
180
+ if (relation.type == "belongsTo") {
169
181
  // @ts-ignore
170
182
  delete relation.model;
171
- this.model().belongsTo(m, relation );
183
+ this.model().belongsTo(m, relation);
172
184
  }
173
185
 
174
- if(relation.type=="belongsToMany" ){
186
+ if (relation.type == "belongsToMany") {
175
187
  // @ts-ignore
176
188
  delete relation.model;
177
- this.model().belongsToMany(m, relation );
189
+ this.model().belongsToMany(m, relation);
178
190
  }
179
191
  }
180
192
 
193
+
181
194
  }
182
195
 
196
+ public alias() {
197
+ return this.constructor.name;
198
+ }
183
199
 
184
200
  public tableName() {
185
201
  return this._tableName;
@@ -193,17 +209,24 @@ export class Model extends Component {
193
209
  return []
194
210
  }
195
211
 
212
+
213
+ public setModel(value: any) {
214
+ this._model = value;
215
+ }
216
+
196
217
  public model() {
197
218
  return this._model;
198
219
  }
199
220
 
221
+
222
+
200
223
  public async save(params = {}, options = {}) {
201
224
  // now instantiate an object
202
225
  let p = Object.assign(params, this._attributes)
203
226
  let result: any;
204
227
  try {
205
228
  result = await this.model().create(p, options)
206
- } catch (e) {
229
+ } catch (e: any) {
207
230
  BaseChyz.debug(`Model[${this.constructor.name}].create`, e)
208
231
  if (e instanceof ValidationError) {
209
232
  let validationErrorItems = e.errors;
@@ -237,7 +260,7 @@ export class Model extends Component {
237
260
  let result: any;
238
261
  try {
239
262
  result = await this.model().bulkCreate(p, options)
240
- } catch (e) {
263
+ } catch (e: any) {
241
264
  BaseChyz.debug(`Model[${this.constructor.name}].bulkCreate`, e)
242
265
  if (e instanceof ValidationError) {
243
266
  let validationErrorItems = e.errors;
@@ -275,6 +298,174 @@ export class Model extends Component {
275
298
  return this.model().delete(p, options)
276
299
  }
277
300
 
301
+ /**
302
+ * As there are often use cases in which it is just easier to execute raw / already prepared SQL queries, you can use the sequelize.query method.
303
+ *
304
+ * By default the function will return two arguments - a results array, and an object containing metadata (such as amount of affected rows, etc). Note that since this is a raw query, the metadata are dialect specific. Some dialects return the metadata "within" the results object (as properties on an array). However, two arguments will always be returned, but for MSSQL and MySQL it will be two references to the same object.
305
+ *
306
+ * const [results, metadata] = await sequelize.query("UPDATE users SET y = 42 WHERE x = 12");
307
+ * // Results will be an empty array and metadata will contain the number of affected rows.
308
+ *
309
+ * In cases where you don't need to access the metadata you can pass in a query type to tell sequelize how to format the results. For example, for a simple select query you could do:
310
+ *
311
+ * const { QueryTypes } = require('@sequelize/core');
312
+ * const users = await sequelize.query("SELECT * FROM `users`", { type: QueryTypes.SELECT });
313
+ * // We didn't need to destructure the result here - the results were returned directly
314
+ *
315
+ * Several other query types are available. Peek into the source for details.
316
+ *
317
+ * A second option is the model. If you pass a model the returned data will be instances of that model.
318
+ *
319
+ * // Callee is the model definition. This allows you to easily map a query to a predefined model
320
+ * const projects = await sequelize.query('SELECT * FROM projects', {
321
+ * model: Projects,
322
+ * mapToModel: true // pass true here if you have any mapped fields
323
+ * });
324
+ * // Each element of `projects` is now an instance of Project
325
+ *
326
+ * See more options in the query API reference. Some examples:
327
+ * ``
328
+ * const { QueryTypes } = require('@sequelize/core');
329
+ * await sequelize.query('SELECT 1', {
330
+ * // A function (or false) for logging your queries
331
+ * // Will get called for every SQL query that gets sent
332
+ * // to the server.
333
+ * logging: console.log,
334
+ *
335
+ * // If plain is true, then sequelize will only return the first
336
+ * // record of the result set. In case of false it will return all records.
337
+ * plain: false,
338
+ *
339
+ * // Set this to true if you don't have a model definition for your query.
340
+ * raw: false,
341
+ *
342
+ * // The type of query you are executing. The query type affects how results are formatted before they are passed back.
343
+ * type: QueryTypes.SELECT
344
+ * });
345
+ *``
346
+ * // Note the second argument being null!
347
+ * // Even if we declared a callee here, the raw: true would
348
+ * // supersede and return a raw object.
349
+ * console.log(await sequelize.query('SELECT * FROM projects', { raw: true }));
350
+ *
351
+ * ##"Dotted" attributes and the nest option
352
+ *
353
+ * If an attribute name of the table contains dots, the resulting objects can become nested objects by setting the nest: true option. This is achieved with dottie.js under the hood. See below:
354
+ *
355
+ * Without nest: true:
356
+ * ``
357
+ * const { QueryTypes } = require('@sequelize/core');
358
+ * const records = await sequelize.query('select 1 as `foo.bar.baz`', {
359
+ * type: QueryTypes.SELECT
360
+ * });
361
+ * console.log(JSON.stringify(records[0], null, 2));
362
+ *
363
+ * {
364
+ * "foo.bar.baz": 1
365
+ * }
366
+ *
367
+ * With nest: true:
368
+ *
369
+ * const { QueryTypes } = require('@sequelize/core');
370
+ * const records = await sequelize.query('select 1 as `foo.bar.baz`', {
371
+ * nest: true,
372
+ * type: QueryTypes.SELECT
373
+ * });
374
+ * console.log(JSON.stringify(records[0], null, 2));
375
+ *
376
+ * {
377
+ * "foo": {
378
+ * "bar": {
379
+ * "baz": 1
380
+ * }
381
+ * }
382
+ * }
383
+ * ``
384
+ * ##Replacements
385
+ *
386
+ * Replacements in a query can be done in two different ways, either using named parameters (starting with :), or unnamed, represented by a ?. Replacements are passed in the options object.
387
+ *
388
+ * If an array is passed, ? will be replaced in the order that they appear in the array
389
+ * If an object is passed, :key will be replaced with the keys from that object. If the object contains keys not found in the query or vice versa, an exception will be thrown.
390
+ * ``
391
+ * const { QueryTypes } = require('@sequelize/core');
392
+ *
393
+ * await sequelize.query(
394
+ * 'SELECT * FROM projects WHERE status = ?',
395
+ * {
396
+ * replacements: ['active'],
397
+ * type: QueryTypes.SELECT
398
+ * }
399
+ * );
400
+ *
401
+ * await sequelize.query(
402
+ * 'SELECT * FROM projects WHERE status = :status',
403
+ * {
404
+ * replacements: { status: 'active' },
405
+ * type: QueryTypes.SELECT
406
+ * }
407
+ * );
408
+ * ``
409
+ * Array replacements will automatically be handled, the following query searches for projects where the status matches an array of values.
410
+ * ``
411
+ * const { QueryTypes } = require('@sequelize/core');
412
+ *
413
+ * await sequelize.query(
414
+ * 'SELECT * FROM projects WHERE status IN(:status)',
415
+ * {
416
+ * replacements: { status: ['active', 'inactive'] },
417
+ * type: QueryTypes.SELECT
418
+ * }
419
+ * );
420
+ * ``
421
+ * To use the wildcard operator %, append it to your replacement. The following query matches users with names that start with 'ben'.
422
+ * ``
423
+ * const { QueryTypes } = require('@sequelize/core');
424
+ *
425
+ * await sequelize.query(
426
+ * 'SELECT * FROM users WHERE name LIKE :search_name',
427
+ * {
428
+ * replacements: { search_name: 'ben%' },
429
+ * type: QueryTypes.SELECT
430
+ * }
431
+ * ); ``
432
+ *
433
+ * ##Bind Parameter
434
+ *
435
+ * Bind parameters are like replacements. Except replacements are escaped and inserted into the query by sequelize before the query is sent to the database, while bind parameters are sent to the database outside the SQL query text. A query can have either bind parameters or replacements. Bind parameters are referred to by either $1, $2, ... (numeric) or $key (alpha-numeric). This is independent of the dialect.
436
+ *
437
+ * If an array is passed, $1 is bound to the 1st element in the array (bind[0])
438
+ * If an object is passed, $key is bound to object['key']. Each key must begin with a non-numeric char. $1 is not a valid key, even if object['1'] exists.
439
+ * In either case $$ can be used to escape a literal $ sign.
440
+ *
441
+ * The array or object must contain all bound values or Sequelize will throw an exception. This applies even to cases in which the database may ignore the bound parameter.
442
+ *
443
+ * The database may add further restrictions to this. Bind parameters cannot be SQL keywords, nor table or column names. They are also ignored in quoted text or data. In PostgreSQL it may also be needed to typecast them, if the type cannot be inferred from the context $1::varchar.
444
+ *``
445
+ * const { QueryTypes } = require('@sequelize/core');
446
+ *
447
+ * await sequelize.query(
448
+ * 'SELECT *, "text with literal $$1 and literal $$status" as t FROM projects WHERE status = $1',
449
+ * {
450
+ * bind: ['active'],
451
+ * type: QueryTypes.SELECT
452
+ * }
453
+ * ); ``
454
+ *
455
+ * `` await sequelize.query(
456
+ * 'SELECT *, "text with literal $$1 and literal $$status" as t FROM projects WHERE status = $status',
457
+ * {
458
+ * bind: { status: 'active' },
459
+ * type: QueryTypes.SELECT
460
+ * }
461
+ * );``
462
+ * @param query
463
+ */
464
+ public async rawQuery(query: string, options: any = {type: QueryTypes.SELECT, nest: true}) {
465
+ return await this.model().query(query, options);
466
+ }
467
+
468
+
278
469
  /**
279
470
  *
280
471
  * @param args
@@ -288,7 +479,15 @@ export class Model extends Component {
288
479
  * @param args
289
480
  */
290
481
  public findAll(...args: any[]) {
291
- return this._model.findAll(...arguments)
482
+ return this._model. findAll(...arguments)
483
+ }
484
+
485
+ /**
486
+ * return {count : number , rows: any}
487
+ * @param args
488
+ */
489
+ public findAndCountAll(...args: any[]) {
490
+ return this._model.findAndCountAll(...arguments)
292
491
  }
293
492
 
294
493
 
@@ -348,7 +547,9 @@ export class Model extends Component {
348
547
  *
349
548
  * ]
350
549
  */
351
- public relations():Relation[]{
550
+ public relations(): Relation[] {
352
551
  return []
353
552
  }
553
+
554
+
354
555
  }
@@ -1,3 +1,5 @@
1
+ import {Model} from "./Model"
2
+
1
3
  /*
2
4
  *
3
5
  * Copyright (c) 2021.. Chy Bilgisayar Bilisim
@@ -6,9 +8,12 @@
6
8
  * Github:https://github.com/cihan53/
7
9
  *
8
10
  */
11
+ interface ObjectConstructor {
12
+ _register(o: Model): void;
13
+ }
9
14
 
10
15
  export const ModelManager: any = {
11
- _register(map: any) {
16
+ _register(map: Model) {
12
17
  Object.assign(this, map)
13
18
  }
14
19
  }
@@ -13,12 +13,12 @@ import {Component} from "./Component";
13
13
  const axios = require('axios')
14
14
 
15
15
  export class RestClient extends Component {
16
- public post(url: string, args: any[]) {
17
- return axios.post(url, args)
16
+ public post(url: string, args: any[],headers:any={}) {
17
+ return axios.post(url, args,headers)
18
18
  }
19
19
 
20
- public get(url: string, args: any[]) {
21
- return axios.post(url, args)
20
+ public get(url: string, args: any[],headers:any={}) {
21
+ return axios.get(url, args ,headers )
22
22
  }
23
23
 
24
24
  public Rest(params: any) {
@@ -9,6 +9,6 @@ import {BaseError} from "./BaseError";
9
9
 
10
10
  export class ValidationHttpException extends BaseError {
11
11
  constructor ( public message: string) {
12
- super(message,401);
12
+ super(message,403);
13
13
  }
14
14
  }
package/dist/BaseChyz.js CHANGED
@@ -19,6 +19,40 @@ const express = require("express");
19
19
  const log4js = require("log4js");
20
20
  const fs = require('fs');
21
21
  const validate = require('validate.js');
22
+ /**
23
+ * Use
24
+ * selectedBox: {
25
+ * array: {
26
+ * id: {
27
+ * numericality: {
28
+ * onlyInteger: true,
29
+ * greaterThan: 0
30
+ * }
31
+ * }
32
+ * }
33
+ * },
34
+ * @param arrayItems
35
+ * @param itemConstraints
36
+ */
37
+ validate.validators.array = (arrayItems, itemConstraints) => {
38
+ const arrayItemErrors = arrayItems.reduce((errors, item, index) => {
39
+ const error = validate(item, itemConstraints);
40
+ if (error)
41
+ errors[index] = { error: error };
42
+ return errors;
43
+ }, {});
44
+ return Utils_1.default.isEmpty(arrayItemErrors) ? null : { errors: arrayItemErrors };
45
+ };
46
+ validate.validators.tokenString = (items, itemConstraints) => {
47
+ let arrayItems = items.split(",");
48
+ const arrayItemErrors = arrayItems.reduce((errors, item, index) => {
49
+ const error = validate(item, itemConstraints);
50
+ if (error)
51
+ errors[index] = { error: error };
52
+ return errors;
53
+ }, {});
54
+ return Utils_1.default.isEmpty(arrayItemErrors) ? null : { errors: arrayItemErrors };
55
+ };
22
56
  var ip = require('ip');
23
57
  var bodyParser = require('body-parser');
24
58
  var methodOverride = require('method-override');
@@ -42,8 +76,6 @@ class BaseChyz {
42
76
  this._controllerpath = value;
43
77
  }
44
78
  init() {
45
- this.logProvider().level = log4js.levels.ALL;
46
- this.logProvider().configure(this._logConfig);
47
79
  /**
48
80
  * set request id
49
81
  */
@@ -113,17 +145,20 @@ class BaseChyz {
113
145
  * Config set
114
146
  */
115
147
  this.config = config;
148
+ // logger setting
149
+ this.logProvider().level = log4js.levels.ALL;
150
+ this.logProvider().configure(this._logConfig);
116
151
  let components = Utils_1.default.findKeyValue(config, "components");
117
152
  if (components) {
118
153
  for (const componentsKey in components) {
119
154
  let comp = components[componentsKey];
120
- BaseChyz.logs().info("Create Component ", componentsKey);
155
+ BaseChyz.debug("Create Component ", componentsKey);
121
156
  try {
122
157
  BaseChyz.components[componentsKey] = Utils_1.default.createObject(new comp.class, comp);
123
158
  (_a = BaseChyz.components[componentsKey]) === null || _a === void 0 ? void 0 : _a.init();
124
159
  }
125
160
  catch (e) {
126
- console.error(e);
161
+ BaseChyz.error("Create Component ", e);
127
162
  }
128
163
  }
129
164
  }
@@ -188,8 +223,7 @@ class BaseChyz {
188
223
  if (res.headersSent) {
189
224
  return next(err);
190
225
  }
191
- res.status(500);
192
- res.json('error', { error: err });
226
+ res.status(500).json({ error: err });
193
227
  }
194
228
  static getComponent(key) {
195
229
  var _a;
@@ -285,8 +319,8 @@ class BaseChyz {
285
319
  });
286
320
  }
287
321
  middleware() {
288
- BaseChyz.express.use(bodyParser.json());
289
- BaseChyz.express.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
322
+ BaseChyz.express.use(bodyParser.json({ limit: '1mb' }));
323
+ BaseChyz.express.use(bodyParser.urlencoded({ limit: '1mb', extended: true })); // support encoded bodies
290
324
  BaseChyz.express.use(methodOverride());
291
325
  BaseChyz.express.use(methodOverride());
292
326
  // CORS
@@ -1 +1 @@
1
- {"version":3,"file":"BaseChyz.js","sourceRoot":"","sources":["../BaseChyz.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseChyz.js","sourceRoot":"","sources":["../BaseChyz.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ class ActionFilter extends Behavior_1.Behavior {
44
44
  else {
45
45
  onlyMatch = false;
46
46
  for (const onlyKey of this.only) {
47
- if (Utils_1.default.matchWildcard(action, onlyKey)) {
47
+ if (Utils_1.default.matchWildcard(action.id, onlyKey)) {
48
48
  onlyMatch = true;
49
49
  break;
50
50
  }
@@ -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;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"}
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,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE;oBACzC,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"}
@@ -5,15 +5,19 @@
5
5
  * E-mail: cihan@chy.com.tr
6
6
  * Github:https://github.com/cihan53/
7
7
  */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
8
11
  Object.defineProperty(exports, "__esModule", { value: true });
9
12
  exports.BaseError = void 0;
13
+ const Utils_1 = __importDefault(require("../requiments/Utils"));
10
14
  class BaseError extends Error {
11
15
  constructor(message, statusCode = 500) {
12
16
  super(message);
13
- this.message = message;
17
+ this.message = Utils_1.default.isString(message) ? message : JSON.stringify(message);
14
18
  this.name = this.constructor.name; // good practice
15
19
  this.statusCode = statusCode; // error code for responding to client
16
- Error.captureStackTrace(this);
20
+ //Error.captureStackTrace(this)
17
21
  }
18
22
  toString() {
19
23
  return `${this.name}[${this.statusCode}] ${this.message}`;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseError.js","sourceRoot":"","sources":["../../base/BaseError.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,MAAa,SAAU,SAAQ,KAAK;IAGhC,YAAY,OAAe,EAAC,UAAU,GAAC,GAAG;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAC,OAAO,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA,CAAC,gBAAgB;QAClD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA,CAAC,sCAAsC;QACnE,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,QAAQ;QACJ,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,EAAE,CAAA;IAC7D,CAAC;IACD,MAAM;QACF,OAAO,EAAC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,CAAA;IAC3E,CAAC;CACJ;AAjBD,8BAiBC"}
1
+ {"version":3,"file":"BaseError.js","sourceRoot":"","sources":["../../base/BaseError.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;AAEH,gEAAwC;AAExC,MAAa,SAAU,SAAQ,KAAK;IAGhC,YAAY,OAAe,EAAC,UAAU,GAAC,GAAG;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAE,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA,CAAC,CAAA,OAAO,CAAA,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA,CAAC,gBAAgB;QAClD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA,CAAC,sCAAsC;QACnE,+BAA+B;IACnC,CAAC;IAED,QAAQ;QACJ,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,EAAE,CAAA;IAC7D,CAAC;IACD,MAAM;QACF,OAAO,EAAC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,CAAA;IAC3E,CAAC;CACJ;AAjBD,8BAiBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DbConnection.js","sourceRoot":"","sources":["../../base/DbConnection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,aAAa;AACb,MAAM,EAAC,SAAS,EAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACzC,2CAAsC;AACtC,2DAAmC;AAEnC,MAAa,YAAa,SAAQ,qBAAS;IAUjC,IAAI;;YACN,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3F,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;YACrB,SAAS;iBACJ,YAAY,EAAE;iBACd,IAAI,CAAC,GAAG,EAAE;gBACP,kBAAQ,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAChB,kBAAQ,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;YAE9D,CAAC,CAAC,CAAC;YAEP,wBAAwB;QAC5B,CAAC;KAAA;IAGD,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,IAAI,EAAE,CAAC,KAAU;QACb,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;CAEJ;AAvCD,oCAuCC"}
1
+ {"version":3,"file":"DbConnection.js","sourceRoot":"","sources":["../../base/DbConnection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,aAAa;AACb,MAAM,EAAC,SAAS,EAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACzC,2CAAsC;AACtC,2DAAmC;AAEnC,MAAa,YAAa,SAAQ,qBAAS;IASjC,IAAI;;YACN,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3F,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;YACrB,SAAS;iBACJ,YAAY,EAAE;iBACd,IAAI,CAAC,GAAG,EAAE;gBACP,kBAAQ,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAChB,kBAAQ,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;YAE9D,CAAC,CAAC,CAAC;YAEP,wBAAwB;QAC5B,CAAC;KAAA;IAGD,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,IAAI,EAAE,CAAC,KAAU;QACb,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;CAEJ;AAtCD,oCAsCC"}