namirasoft-node 1.1.20 → 1.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@ import { ILogger } from 'namirasoft-log';
5
5
  import { Meta } from './Meta';
6
6
  import { HTTPMethod } from 'namirasoft-core';
7
7
  import { BaseApplication } from './BaseApplication';
8
- import { BaseVariableSchema, ControllerSchema } from 'namirasoft-schema';
8
+ import { BaseTypeSchema, BaseVariableSchema, ControllerSchema } from 'namirasoft-schema';
9
9
  export declare abstract class BaseController<D extends BaseDatabase, State, Props, Output> {
10
10
  protected showLogAtTheBeginning: boolean;
11
11
  protected showLogAtTheEnd: boolean;
@@ -30,9 +30,9 @@ export declare abstract class BaseController<D extends BaseDatabase, State, Prop
30
30
  summary: string;
31
31
  };
32
32
  abstract getParametersSchema(): BaseVariableSchema[];
33
- abstract getBodySchema(): BaseVariableSchema | null;
33
+ abstract getBodySchema(): BaseTypeSchema | null;
34
34
  abstract getQueriesSchema(): BaseVariableSchema[];
35
- abstract getOutputSchema(): BaseVariableSchema | null;
35
+ abstract getOutputSchema(): BaseTypeSchema | null;
36
36
  abstract getState(): Promise<State>;
37
37
  abstract getProps(): Promise<Props>;
38
38
  abstract preHandle(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseController.js","sourceRoot":"","sources":["../src/BaseController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseController.js","sourceRoot":"","sources":["../src/BaseController.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,6 @@ export declare class BaseSequelizeTable<D extends BaseSequelizeDatabase, M exten
12
12
  define(modelName: string, attributes: ModelAttributes<M, Attributes<M>>, options?: ModelOptions<M>): void;
13
13
  getSchema(require: boolean, excludeColumns?: string[], joins?: BaseVariableSchema[]): ObjectSchema;
14
14
  getArraySchema(require: boolean, excludeColumns?: string[], joins?: BaseVariableSchema[]): ArraySchema;
15
- private getVariable;
15
+ private getVariableSchema;
16
+ private getTypeSchema;
16
17
  }
@@ -14,6 +14,7 @@ const sequelize_1 = require("sequelize");
14
14
  const BaseTable_1 = require("./BaseTable");
15
15
  const namirasoft_core_1 = require("namirasoft-core");
16
16
  const namirasoft_schema_1 = require("namirasoft-schema");
17
+ const EnumSchema_1 = require("namirasoft-schema/dist/schema/type/EnumSchema");
17
18
  class BaseSequelizeTable extends BaseTable_1.BaseTable {
18
19
  constructor(database) {
19
20
  super(database);
@@ -57,14 +58,14 @@ class BaseSequelizeTable extends BaseTable_1.BaseTable {
57
58
  getSchema(require, excludeColumns, joins) {
58
59
  if (!excludeColumns)
59
60
  excludeColumns = [];
60
- let ans = new namirasoft_schema_1.ObjectSchema("", require, null);
61
+ let ans = new namirasoft_schema_1.ObjectSchema(this.model.name, require, null);
61
62
  let keys = Object.keys(this.attributes);
62
63
  let secures = this.getSecureColumns();
63
64
  for (let i = 0; i < keys.length; i++)
64
65
  if (!secures.includes(keys[i]))
65
66
  if (!excludeColumns.includes(keys[i])) {
66
67
  const element = this.attributes[keys[i]];
67
- ans.addField(this.getVariable(keys[i], element));
68
+ ans.addField(this.getVariableSchema(keys[i], element));
68
69
  }
69
70
  if (joins)
70
71
  ans.addField(...joins);
@@ -72,43 +73,48 @@ class BaseSequelizeTable extends BaseTable_1.BaseTable {
72
73
  }
73
74
  getArraySchema(require, excludeColumns, joins) {
74
75
  let ans = this.getSchema(require, excludeColumns, joins);
75
- return new namirasoft_schema_1.ArraySchema("", require, [ans]);
76
+ return new namirasoft_schema_1.ArraySchema(require, [ans]);
76
77
  }
77
- getVariable(name, element) {
78
+ getVariableSchema(name, element) {
79
+ return new namirasoft_schema_1.BaseVariableSchema(name, this.getTypeSchema(element));
80
+ }
81
+ getTypeSchema(element) {
78
82
  var _a;
79
83
  let required = !((_a = element.allowNull) !== null && _a !== void 0 ? _a : true);
80
84
  if (element.type == sequelize_1.DataTypes.BOOLEAN)
81
- return new namirasoft_schema_1.BoolSchema(name, required);
85
+ return new namirasoft_schema_1.BoolSchema(required);
82
86
  else if (element.type == sequelize_1.DataTypes.TINYINT)
83
- return new namirasoft_schema_1.TinyIntSchema(name, required);
87
+ return new namirasoft_schema_1.TinyIntSchema(required);
84
88
  else if (element.type == sequelize_1.DataTypes.SMALLINT)
85
- return new namirasoft_schema_1.SmallIntSchema(name, required);
89
+ return new namirasoft_schema_1.SmallIntSchema(required);
86
90
  else if (element.type == sequelize_1.DataTypes.MEDIUMINT)
87
- return new namirasoft_schema_1.MediumIntSchema(name, required);
91
+ return new namirasoft_schema_1.MediumIntSchema(required);
88
92
  else if (element.type == sequelize_1.DataTypes.INTEGER)
89
- return new namirasoft_schema_1.IntegerSchema(name, required);
93
+ return new namirasoft_schema_1.IntegerSchema(required);
90
94
  else if (element.type == sequelize_1.DataTypes.BIGINT)
91
- return new namirasoft_schema_1.BigIntSchema(name, required);
95
+ return new namirasoft_schema_1.BigIntSchema(required);
92
96
  else if (element.type == sequelize_1.DataTypes.FLOAT)
93
- return new namirasoft_schema_1.FloatSchema(name, required, null);
97
+ return new namirasoft_schema_1.FloatSchema(required, null);
94
98
  else if (element.type == sequelize_1.DataTypes.DOUBLE)
95
- return new namirasoft_schema_1.DoubleSchema(name, required, null);
99
+ return new namirasoft_schema_1.DoubleSchema(required, null);
96
100
  else if (element.type == sequelize_1.DataTypes.DECIMAL)
97
- return new namirasoft_schema_1.DecimalSchema(name, required, null);
101
+ return new namirasoft_schema_1.DecimalSchema(required, null);
98
102
  else if (element.type == sequelize_1.DataTypes.REAL)
99
- return new namirasoft_schema_1.RealSchema(name, required, null);
103
+ return new namirasoft_schema_1.RealSchema(required, null);
100
104
  else if (element.type == sequelize_1.DataTypes.CHAR)
101
- return new namirasoft_schema_1.StringSchema(name, required, element.type.length, element.type.length);
105
+ return new namirasoft_schema_1.StringSchema(required, element.type.length, element.type.length);
102
106
  else if (element.type == sequelize_1.DataTypes.STRING || element.type == sequelize_1.DataTypes.TEXT)
103
- return new namirasoft_schema_1.StringSchema(name, required, null, element.type.length);
107
+ return new namirasoft_schema_1.StringSchema(required, null, element.type.length);
104
108
  else if (element.type == sequelize_1.DataTypes.DATE)
105
- return new namirasoft_schema_1.DateTimeSchema(name, required);
109
+ return new namirasoft_schema_1.DateTimeSchema(required);
106
110
  else if (element.type == sequelize_1.DataTypes.DATEONLY)
107
- return new namirasoft_schema_1.DateSchema(name, required);
111
+ return new namirasoft_schema_1.DateSchema(required);
108
112
  else if (element.type == sequelize_1.DataTypes.TIME)
109
- return new namirasoft_schema_1.TimeSchema(name, required);
113
+ return new namirasoft_schema_1.TimeSchema(required);
114
+ else if (element.type == sequelize_1.DataTypes.ENUM)
115
+ return new EnumSchema_1.EnumSchema(required, element.type.arguments);
110
116
  else if (element.type == sequelize_1.DataTypes.JSON)
111
- return new namirasoft_schema_1.AnySchema(name, required);
117
+ return new namirasoft_schema_1.AnySchema(required);
112
118
  throw new Error("Unsupported datatype for schema: " + element.type);
113
119
  }
114
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseSequelizeTable.js","sourceRoot":"","sources":["../src/BaseSequelizeTable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseSequelizeTable.js","sourceRoot":"","sources":["../src/BaseSequelizeTable.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "namirasoft-node",
3
3
  "description": "Namira Software Corporation Node NPM Package",
4
- "version": "1.1.20",
4
+ "version": "1.1.22",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "scripts": {},
@@ -21,7 +21,7 @@
21
21
  "joi": "^17.11.0",
22
22
  "namirasoft-core": "^1.1.8",
23
23
  "namirasoft-log": "^1.1.1",
24
- "namirasoft-schema": "^1.1.26",
24
+ "namirasoft-schema": "^1.1.30",
25
25
  "nodemailer": "^6.9.7",
26
26
  "nodemailer-smtp-transport": "^2.7.4",
27
27
  "request-ip": "^3.3.0",
@@ -5,7 +5,7 @@ import { ILogger } from 'namirasoft-log';
5
5
  import { Meta } from './Meta';
6
6
  import { ErrorOperation, HTTPError, HTTPMethod } from 'namirasoft-core';
7
7
  import { BaseApplication } from './BaseApplication';
8
- import { BaseVariableSchema, ControllerSchema, JoiValidator } from 'namirasoft-schema';
8
+ import { BaseTypeSchema, BaseVariableSchema, ControllerSchema, JoiValidator } from 'namirasoft-schema';
9
9
 
10
10
  export abstract class BaseController<D extends BaseDatabase, State, Props, Output>
11
11
  {
@@ -33,9 +33,9 @@ export abstract class BaseController<D extends BaseDatabase, State, Props, Outpu
33
33
  abstract getLogger(): ILogger;
34
34
  abstract getInfo(): { method: HTTPMethod, path: string, tag: string, summary: string };
35
35
  abstract getParametersSchema(): BaseVariableSchema[];
36
- abstract getBodySchema(): BaseVariableSchema | null;
36
+ abstract getBodySchema(): BaseTypeSchema | null;
37
37
  abstract getQueriesSchema(): BaseVariableSchema[];
38
- abstract getOutputSchema(): BaseVariableSchema | null;
38
+ abstract getOutputSchema(): BaseTypeSchema | null;
39
39
  abstract getState(): Promise<State>;
40
40
  abstract getProps(): Promise<Props>;
41
41
  abstract preHandle(): Promise<void>;
@@ -4,7 +4,8 @@ import { BaseTable } from "./BaseTable";
4
4
  import { ModelCtor, FindOptions, Transaction, Attributes } from 'sequelize';
5
5
  import { BaseSequelizeModel } from "./BaseSequelizeModel";
6
6
  import { ErrorOperation } from "namirasoft-core";
7
- import { AnySchema, ArraySchema, BaseVariableSchema, BigIntSchema, BoolSchema, DateSchema, DateTimeSchema, DecimalSchema, DoubleSchema, FloatSchema, IntegerSchema, MediumIntSchema, ObjectSchema, RealSchema, SmallIntSchema, StringSchema, TimeSchema, TinyIntSchema } from "namirasoft-schema";
7
+ import { AnySchema, ArraySchema, BaseTypeSchema, BaseVariableSchema, BigIntSchema, BoolSchema, DateSchema, DateTimeSchema, DecimalSchema, DoubleSchema, FloatSchema, IntegerSchema, MediumIntSchema, ObjectSchema, RealSchema, SmallIntSchema, StringSchema, TimeSchema, TinyIntSchema } from "namirasoft-schema";
8
+ import { EnumSchema } from "namirasoft-schema/dist/schema/type/EnumSchema";
8
9
 
9
10
  export class BaseSequelizeTable<D extends BaseSequelizeDatabase, M extends BaseSequelizeModel> extends BaseTable<D>
10
11
  {
@@ -56,7 +57,7 @@ export class BaseSequelizeTable<D extends BaseSequelizeDatabase, M extends BaseS
56
57
  {
57
58
  if (!excludeColumns)
58
59
  excludeColumns = [];
59
- let ans = new ObjectSchema("", require, null);
60
+ let ans = new ObjectSchema(this.model.name, require, null);
60
61
  let keys = Object.keys(this.attributes);
61
62
  let secures = this.getSecureColumns();
62
63
  for (let i = 0; i < keys.length; i++)
@@ -64,7 +65,7 @@ export class BaseSequelizeTable<D extends BaseSequelizeDatabase, M extends BaseS
64
65
  if (!excludeColumns.includes(keys[i]))
65
66
  {
66
67
  const element = this.attributes[keys[i]] as ModelAttributeColumnOptions;
67
- ans.addField(this.getVariable(keys[i], element));
68
+ ans.addField(this.getVariableSchema(keys[i], element));
68
69
  }
69
70
  if (joins)
70
71
  ans.addField(...joins);
@@ -73,43 +74,49 @@ export class BaseSequelizeTable<D extends BaseSequelizeDatabase, M extends BaseS
73
74
  getArraySchema(require: boolean, excludeColumns?: string[], joins?: BaseVariableSchema[]): ArraySchema
74
75
  {
75
76
  let ans = this.getSchema(require, excludeColumns, joins);
76
- return new ArraySchema("", require, [ans]);
77
+ return new ArraySchema(require, [ans]);
77
78
  }
78
- private getVariable(name: string, element: ModelAttributeColumnOptions): BaseVariableSchema
79
+ private getVariableSchema(name: string, element: ModelAttributeColumnOptions): BaseVariableSchema
80
+ {
81
+ return new BaseVariableSchema(name, this.getTypeSchema(element));
82
+ }
83
+ private getTypeSchema(element: ModelAttributeColumnOptions): BaseTypeSchema
79
84
  {
80
85
  let required = !(element.allowNull ?? true);
81
86
  if (element.type == DataTypes.BOOLEAN)
82
- return new BoolSchema(name, required);
87
+ return new BoolSchema(required);
83
88
  else if (element.type == DataTypes.TINYINT)
84
- return new TinyIntSchema(name, required);
89
+ return new TinyIntSchema(required);
85
90
  else if (element.type == DataTypes.SMALLINT)
86
- return new SmallIntSchema(name, required);
91
+ return new SmallIntSchema(required);
87
92
  else if (element.type == DataTypes.MEDIUMINT)
88
- return new MediumIntSchema(name, required);
93
+ return new MediumIntSchema(required);
89
94
  else if (element.type == DataTypes.INTEGER)
90
- return new IntegerSchema(name, required);
95
+ return new IntegerSchema(required);
91
96
  else if (element.type == DataTypes.BIGINT)
92
- return new BigIntSchema(name, required);
97
+ return new BigIntSchema(required);
93
98
  else if (element.type == DataTypes.FLOAT)
94
- return new FloatSchema(name, required, null);
99
+ return new FloatSchema(required, null);
95
100
  else if (element.type == DataTypes.DOUBLE)
96
- return new DoubleSchema(name, required, null);
101
+ return new DoubleSchema(required, null);
97
102
  else if (element.type == DataTypes.DECIMAL)
98
- return new DecimalSchema(name, required, null);
103
+ return new DecimalSchema(required, null);
99
104
  else if (element.type == DataTypes.REAL)
100
- return new RealSchema(name, required, null);
105
+ return new RealSchema(required, null);
101
106
  else if (element.type == DataTypes.CHAR)
102
- return new StringSchema(name, required, element.type.length, element.type.length);
107
+ return new StringSchema(required, element.type.length, element.type.length);
103
108
  else if (element.type == DataTypes.STRING || element.type == DataTypes.TEXT)
104
- return new StringSchema(name, required, null, element.type.length);
109
+ return new StringSchema(required, null, element.type.length);
105
110
  else if (element.type == DataTypes.DATE)
106
- return new DateTimeSchema(name, required);
111
+ return new DateTimeSchema(required);
107
112
  else if (element.type == DataTypes.DATEONLY)
108
- return new DateSchema(name, required);
113
+ return new DateSchema(required);
109
114
  else if (element.type == DataTypes.TIME)
110
- return new TimeSchema(name, required);
115
+ return new TimeSchema(required);
116
+ else if (element.type == DataTypes.ENUM)
117
+ return new EnumSchema(required, element.type.arguments);
111
118
  else if (element.type == DataTypes.JSON)
112
- return new AnySchema(name, required);
119
+ return new AnySchema(required);
113
120
  throw new Error("Unsupported datatype for schema: " + element.type);
114
121
  }
115
122
  }