namirasoft-node 1.3.28 → 1.3.29

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.
@@ -61,7 +61,7 @@ class BaseController {
61
61
  if (isJson) {
62
62
  this.database = this.getDatabase();
63
63
  this.database.init();
64
- yield this.database.connect();
64
+ this.database.connect();
65
65
  this.state = yield this.getState();
66
66
  this.props = yield this.getProps();
67
67
  yield this.preHandle();
@@ -1 +1 @@
1
- {"version":3,"file":"BaseController.js","sourceRoot":"","sources":["../src/BaseController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,iCAA8B;AAC9B,qDAAuF;AAEvF,yDAAuG;AAEvG,MAAsB,cAAc;IA8BhC,YAAY,GAAuB,EAAE,GAAoB,EAAE,GAAqB;QA5BtE,0BAAqB,GAAY,KAAK,CAAC;QACvC,oBAAe,GAAY,IAAI,CAAC;QAUhC,mBAAc,GAAY,IAAI,CAAC;QAC/B,WAAM,GAGZ;YACI,IAAI,EAAE;gBACF,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,OAAO;aACjB;YACD,GAAG,EAAE;gBACD,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,kBAAkB;aAC3B;SACJ,CAAC;QACI,cAAS,GAAY,KAAK,CAAC;QAC9B,iBAAY,GAAY,IAAI,CAAC;QAC7B,qBAAgB,GAAY,IAAI,CAAC;QAGpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACvC,CAAC;IACS,UAAU;QAEhB,OAAO,IAAI,CAAC;IAChB,CAAC;IAQK,sBAAsB;;YAExB,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAQK,GAAG;;YAEL,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAErD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IACA;gBAEI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,IAAI,CAAC,qBAAqB;oBAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;wBACnC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAExC,IAAI,MAAM,GAAW,IAAI,+BAAa,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC9E,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC3E,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;gBACrD,IAAI,MAAM,EACV;oBAEI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACrB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAC9B,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnC,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAGnC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;oBAGvB,IAAI,OAAO,GAA2B,IAAI,CAAC,UAAU,EAAE,CAAC;oBACxD,IAAI,OAAO,IAAI,IAAI;wBACf,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;4BAC9C,gCAAc,CAAC,SAAS,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;oBAGvE,gCAAY,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC9D,IAAI,IAAI,CAAC,cAAc,EACvB;wBACI,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;wBAC3B,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;wBAClD,IAAI,OAAO,IAAI,IAAI;4BACf,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;6BAE5C;4BACI,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAClC;gCACI,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gCACzB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;oCACtB,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;6BACtC;yBACJ;wBACD,gCAAY,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;qBAC3C;oBAGD,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;oBAGlC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;iBAC3B;qBACI,IAAI,QAAQ,EACjB;oBAEI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACrB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;iBACxC;;oBAEG,gCAAc,CAAC,SAAS,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAAC,CAAC;aAClE;YAAC,OAAO,KAAK,EACd;gBACI,IAAI,OAAe,CAAC;gBACpB,IAAI,KAAK,YAAY,KAAK,EAC1B;oBACI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACxB,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;iBAC3B;;oBAEG,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC;gBAEzB,IAAI,KAAK,YAAY,2BAAS,EAC9B;oBACI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;iBACtG;qBAED;oBACI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;oBACrB,IAAI,KAAK,YAAY,KAAK;wBACtB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;iBAC7G;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC5B,IAAI,KAAK,YAAY,2BAAS;oBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;;oBAEhC,IAAI,CAAC,MAAM,GAAG,8BAA8B,CAAC;aACpD;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB;gBACI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;oBACnB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;;oBAExB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;aACjC;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;oBACnC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC;KAAA;IACK,SAAS;;YAEX,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,MAAM,GAAG,IAAI,oCAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7F,MAAM,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/C,MAAM,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/C,MAAM,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7C,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;CACJ;AAzLD,wCAyLC"}
1
+ {"version":3,"file":"BaseController.js","sourceRoot":"","sources":["../src/BaseController.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,19 @@
1
+ import { ArraySchema, BaseTypeSchema, BaseVariableSchema, ObjectSchema } from "namirasoft-schema";
1
2
  import { BaseDatabase } from "./BaseDatabase";
2
- export declare class BaseTable<D extends BaseDatabase> {
3
+ export declare abstract class BaseTable<D extends BaseDatabase, ModelColumnOption> {
3
4
  database: D;
4
5
  constructor(database: D);
6
+ abstract getName(): string;
5
7
  getSecureColumns(): string[];
6
8
  getReadOnlyColumns(): string[];
7
9
  secure(obj: any): any;
10
+ getArraySchema(require: boolean, name?: string, excludeColumns?: string[], joins?: BaseVariableSchema[]): ArraySchema;
11
+ getSchema(require: boolean, name?: string, excludeColumns?: string[], joins?: BaseVariableSchema[]): ObjectSchema;
12
+ protected abstract forEachColumn(handler: (name: string, column: ModelColumnOption) => void): void;
13
+ private getVariableSchema;
14
+ protected abstract getTypeSchema(element: ModelColumnOption): BaseTypeSchema;
15
+ protected getExamples(): {
16
+ [name: string]: string;
17
+ };
18
+ abstract getSchemaByName(name: string): ObjectSchema;
8
19
  }
package/dist/BaseTable.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseTable = void 0;
4
+ const namirasoft_schema_1 = require("namirasoft-schema");
4
5
  class BaseTable {
5
6
  constructor(database) {
6
7
  this.database = database;
@@ -18,6 +19,34 @@ class BaseTable {
18
19
  cols.forEach(col => delete obj[col]);
19
20
  return obj;
20
21
  }
22
+ getArraySchema(require, name, excludeColumns, joins) {
23
+ let ans = this.getSchema(require, name, excludeColumns, joins);
24
+ return new namirasoft_schema_1.ArraySchema(require, [ans]);
25
+ }
26
+ getSchema(require, name, excludeColumns, joins) {
27
+ let secureColumns = this.getSecureColumns();
28
+ let readOnlyColumns = this.getReadOnlyColumns();
29
+ let ans = new namirasoft_schema_1.ObjectSchema(name !== null && name !== void 0 ? name : this.getName(), require, null);
30
+ this.forEachColumn((name, element) => {
31
+ if (!secureColumns.includes(name))
32
+ if (!excludeColumns || !excludeColumns.includes(name))
33
+ ans.addField(this.getVariableSchema(name, element, readOnlyColumns.includes(name)));
34
+ });
35
+ if (joins)
36
+ ans.addField(...joins);
37
+ return ans;
38
+ }
39
+ getVariableSchema(name, element, read_only) {
40
+ var _a;
41
+ let schema = this.getTypeSchema(element);
42
+ schema.read_only = read_only;
43
+ let es = this.getExamples();
44
+ schema.example = (_a = es[name]) !== null && _a !== void 0 ? _a : "";
45
+ return new namirasoft_schema_1.BaseVariableSchema(name, schema);
46
+ }
47
+ getExamples() {
48
+ return {};
49
+ }
21
50
  }
22
51
  exports.BaseTable = BaseTable;
23
52
  //# sourceMappingURL=BaseTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTable.js","sourceRoot":"","sources":["../src/BaseTable.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;IAGlB,YAAY,QAAW;QAEnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IACD,gBAAgB;QAEZ,OAAO,EAAE,CAAC;IACd,CAAC;IACD,kBAAkB;QAEd,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,CAAC,GAAQ;QAEX,IAAI,GAAG,CAAC,UAAU;YACd,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC;QACzB,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AAvBD,8BAuBC"}
1
+ {"version":3,"file":"BaseTable.js","sourceRoot":"","sources":["../src/BaseTable.ts"],"names":[],"mappings":";;;AAAA,yDAAkG;AAGlG,MAAsB,SAAS;IAG3B,YAAY,QAAW;QAEnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEM,gBAAgB;QAEnB,OAAO,EAAE,CAAC;IACd,CAAC;IACM,kBAAkB;QAErB,OAAO,EAAE,CAAC;IACd,CAAC;IACM,MAAM,CAAC,GAAQ;QAElB,IAAI,GAAG,CAAC,UAAU;YACd,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC;QACzB,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,OAAO,GAAG,CAAC;IACf,CAAC;IACM,cAAc,CAAC,OAAgB,EAAE,IAAa,EAAE,cAAyB,EAAE,KAA4B;QAE1G,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QAC/D,OAAO,IAAI,+BAAW,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IACM,SAAS,CAAC,OAAgB,EAAE,IAAa,EAAE,cAAyB,EAAE,KAA4B;QAErG,IAAI,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChD,IAAI,GAAG,GAAG,IAAI,gCAAY,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YAEjC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC7B,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjD,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QACH,IAAI,KAAK;YACL,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,IAAY,EAAE,OAA0B,EAAE,SAAkB;;QAElF,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,IAAI,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,MAAM,CAAC,OAAO,GAAG,MAAA,EAAE,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC;QAChC,OAAO,IAAI,sCAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAES,WAAW;QAEjB,OAAO,EAAE,CAAC;IACd,CAAC;CAEJ;AA3DD,8BA2DC"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.3.28",
11
+ "version": "1.3.29",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/index.js",
@@ -20,7 +20,7 @@
20
20
  "@supercharge/request-ip": "^1.2.0",
21
21
  "@types/cors": "^2.8.17",
22
22
  "@types/express": "^4.17.21",
23
- "@types/node": "^20.12.11",
23
+ "@types/node": "^20.12.12",
24
24
  "@types/nodemailer": "^6.4.15",
25
25
  "@types/nodemailer-smtp-transport": "^2.7.8",
26
26
  "@types/serve-index": "^1.9.4",
@@ -29,9 +29,9 @@
29
29
  "cors": "^2.8.5",
30
30
  "express": "^4.19.2",
31
31
  "joi": "^17.13.1",
32
- "namirasoft-core": "^1.3.26",
33
- "namirasoft-log": "^1.3.16",
34
- "namirasoft-schema": "^1.3.9",
32
+ "namirasoft-core": "^1.3.29",
33
+ "namirasoft-log": "^1.3.18",
34
+ "namirasoft-schema": "^1.3.10",
35
35
  "nodemailer": "^6.9.13",
36
36
  "nodemailer-smtp-transport": "^2.7.4",
37
37
  "request-ip": "^3.3.0",
@@ -89,7 +89,7 @@ export abstract class BaseController<D extends BaseDatabase, State, Props, Outpu
89
89
  // init controller
90
90
  this.database = this.getDatabase();
91
91
  this.database.init();
92
- await this.database.connect();
92
+ this.database.connect();
93
93
  this.state = await this.getState();
94
94
  this.props = await this.getProps();
95
95
 
package/src/BaseTable.ts CHANGED
@@ -1,21 +1,23 @@
1
+ import { ArraySchema, BaseTypeSchema, BaseVariableSchema, ObjectSchema } from "namirasoft-schema";
1
2
  import { BaseDatabase } from "./BaseDatabase";
2
3
 
3
- export class BaseTable<D extends BaseDatabase>
4
+ export abstract class BaseTable<D extends BaseDatabase, ModelColumnOption>
4
5
  {
5
6
  database: D;
6
7
  constructor(database: D)
7
8
  {
8
9
  this.database = database;
9
10
  }
10
- getSecureColumns(): string[]
11
+ public abstract getName(): string;
12
+ public getSecureColumns(): string[]
11
13
  {
12
14
  return [];
13
15
  }
14
- getReadOnlyColumns(): string[]
16
+ public getReadOnlyColumns(): string[]
15
17
  {
16
18
  return [];
17
19
  }
18
- secure(obj: any)
20
+ public secure(obj: any)
19
21
  {
20
22
  if (obj.dataValues)
21
23
  obj = obj.dataValues;
@@ -23,4 +25,39 @@ export class BaseTable<D extends BaseDatabase>
23
25
  cols.forEach(col => delete obj[col]);
24
26
  return obj;
25
27
  }
28
+ public getArraySchema(require: boolean, name?: string, excludeColumns?: string[], joins?: BaseVariableSchema[]): ArraySchema
29
+ {
30
+ let ans = this.getSchema(require, name, excludeColumns, joins);
31
+ return new ArraySchema(require, [ans]);
32
+ }
33
+ public getSchema(require: boolean, name?: string, excludeColumns?: string[], joins?: BaseVariableSchema[]): ObjectSchema
34
+ {
35
+ let secureColumns = this.getSecureColumns();
36
+ let readOnlyColumns = this.getReadOnlyColumns();
37
+ let ans = new ObjectSchema(name ?? this.getName(), require, null);
38
+ this.forEachColumn((name, element) =>
39
+ {
40
+ if (!secureColumns.includes(name))
41
+ if (!excludeColumns || !excludeColumns.includes(name))
42
+ ans.addField(this.getVariableSchema(name, element, readOnlyColumns.includes(name)));
43
+ });
44
+ if (joins)
45
+ ans.addField(...joins);
46
+ return ans;
47
+ }
48
+ protected abstract forEachColumn(handler: (name: string, column: ModelColumnOption) => void): void;
49
+ private getVariableSchema(name: string, element: ModelColumnOption, read_only: boolean): BaseVariableSchema
50
+ {
51
+ let schema = this.getTypeSchema(element);
52
+ schema.read_only = read_only;
53
+ let es = this.getExamples();
54
+ schema.example = es[name] ?? "";
55
+ return new BaseVariableSchema(name, schema);
56
+ }
57
+ protected abstract getTypeSchema(element: ModelColumnOption): BaseTypeSchema;
58
+ protected getExamples(): { [name: string]: string }
59
+ {
60
+ return {};
61
+ }
62
+ public abstract getSchemaByName(name: string): ObjectSchema;
26
63
  }