namirasoft-node 1.3.57 → 1.3.59
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/dist/BaseDatabase.d.ts +0 -1
- package/dist/BaseDatabase.js +5 -1
- package/dist/BaseDatabase.js.map +1 -1
- package/dist/BaseTable.d.ts +2 -1
- package/dist/BaseTable.js +7 -0
- package/dist/BaseTable.js.map +1 -1
- package/dist/EmptyDatabase.d.ts +0 -1
- package/dist/EmptyDatabase.js +0 -5
- package/dist/EmptyDatabase.js.map +1 -1
- package/package.json +5 -5
- package/src/BaseDatabase.ts +6 -2
- package/src/BaseTable.ts +9 -1
- package/src/EmptyDatabase.ts +0 -4
package/dist/BaseDatabase.d.ts
CHANGED
|
@@ -5,7 +5,6 @@ export declare abstract class BaseDatabase {
|
|
|
5
5
|
abstract sync(force: boolean): Promise<void>;
|
|
6
6
|
addTable(name: string, table: any): void;
|
|
7
7
|
getTable<T>(name: string): T;
|
|
8
|
-
abstract getValues(table: string, column: string, limit: number): Promise<string[]>;
|
|
9
8
|
paginate(page_number: number, page_size: number, page_size_default?: number): {
|
|
10
9
|
offset: number;
|
|
11
10
|
limit: number;
|
package/dist/BaseDatabase.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseDatabase = void 0;
|
|
4
|
+
const namirasoft_core_1 = require("namirasoft-core");
|
|
4
5
|
class BaseDatabase {
|
|
5
6
|
constructor() {
|
|
6
7
|
this.tables = {};
|
|
@@ -9,7 +10,10 @@ class BaseDatabase {
|
|
|
9
10
|
this.tables[name] = table;
|
|
10
11
|
}
|
|
11
12
|
getTable(name) {
|
|
12
|
-
|
|
13
|
+
let ans = this.tables[name];
|
|
14
|
+
if (!ans)
|
|
15
|
+
namirasoft_core_1.ErrorOperation.throwHTTP(404, `Table '${name}' not found`);
|
|
16
|
+
return ans;
|
|
13
17
|
}
|
|
14
18
|
paginate(page_number, page_size, page_size_default) {
|
|
15
19
|
if (isNaN(page_number))
|
package/dist/BaseDatabase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDatabase.js","sourceRoot":"","sources":["../src/BaseDatabase.ts"],"names":[],"mappings":";;;AAAA,MAAsB,YAAY;IAAlC;QAEY,WAAM,GAA4B,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseDatabase.js","sourceRoot":"","sources":["../src/BaseDatabase.ts"],"names":[],"mappings":";;;AAAA,qDAAiD;AAEjD,MAAsB,YAAY;IAAlC;QAEY,WAAM,GAA4B,EAAE,CAAC;IA+BjD,CAAC;IA3BG,QAAQ,CAAC,IAAY,EAAE,KAAU;QAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,QAAQ,CAAI,IAAY;QAEpB,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAM,CAAC;QACjC,IAAI,CAAC,GAAG;YACJ,gCAAc,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,IAAI,aAAa,CAAC,CAAC;QAC/D,OAAO,GAAG,CAAC;IACf,CAAC;IACD,QAAQ,CAAC,WAAmB,EAAE,SAAiB,EAAE,iBAA0B;QAGvE,IAAI,KAAK,CAAC,WAAW,CAAC;YAClB,WAAW,GAAG,CAAC,CAAC;QAEpB,IAAI,KAAK,CAAC,SAAS,CAAC;YAChB,IAAI,iBAAiB;gBACjB,SAAS,GAAG,iBAAiB,CAAC;QACtC,IAAI,KAAK,CAAC,SAAS,CAAC;YAChB,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,MAAM,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;QAC3C,IAAI,KAAK,GAAG,SAAS,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;CACJ;AAjCD,oCAiCC"}
|
package/dist/BaseTable.d.ts
CHANGED
|
@@ -9,7 +9,8 @@ export declare abstract class BaseTable<D extends BaseDatabase, ModelColumnOptio
|
|
|
9
9
|
secure(obj: any): any;
|
|
10
10
|
getArraySchema(require: boolean, name?: string): ArraySchema;
|
|
11
11
|
getSchema(require: boolean, name?: string): ObjectSchema;
|
|
12
|
-
|
|
12
|
+
checkColumn(column: string): void;
|
|
13
|
+
abstract forEachColumn(handler: (name: string, column: ModelColumnOption) => void): void;
|
|
13
14
|
private getVariableSchema;
|
|
14
15
|
protected abstract getTypeSchema(element: ModelColumnOption): BaseTypeSchema;
|
|
15
16
|
protected getExamples(): {
|
package/dist/BaseTable.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseTable = void 0;
|
|
4
4
|
const namirasoft_schema_1 = require("namirasoft-schema");
|
|
5
|
+
const namirasoft_core_1 = require("namirasoft-core");
|
|
5
6
|
class BaseTable {
|
|
6
7
|
constructor(database) {
|
|
7
8
|
this.database = database;
|
|
@@ -33,6 +34,12 @@ class BaseTable {
|
|
|
33
34
|
});
|
|
34
35
|
return ans;
|
|
35
36
|
}
|
|
37
|
+
checkColumn(column) {
|
|
38
|
+
let columns = [];
|
|
39
|
+
this.forEachColumn(name => columns.push(name));
|
|
40
|
+
if (!columns.includes(column))
|
|
41
|
+
namirasoft_core_1.ErrorOperation.throwHTTP(404, `Column '${column}' not found`);
|
|
42
|
+
}
|
|
36
43
|
getVariableSchema(name, element, read_only) {
|
|
37
44
|
var _a;
|
|
38
45
|
let schema = this.getTypeSchema(element);
|
package/dist/BaseTable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTable.js","sourceRoot":"","sources":["../src/BaseTable.ts"],"names":[],"mappings":";;;AAAA,yDAAkG;
|
|
1
|
+
{"version":3,"file":"BaseTable.js","sourceRoot":"","sources":["../src/BaseTable.ts"],"names":[],"mappings":"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"}
|
package/dist/EmptyDatabase.d.ts
CHANGED
package/dist/EmptyDatabase.js
CHANGED
|
@@ -17,11 +17,6 @@ class EmptyDatabase extends BaseDatabase_1.BaseDatabase {
|
|
|
17
17
|
sync(_) {
|
|
18
18
|
return __awaiter(this, void 0, void 0, function* () { });
|
|
19
19
|
}
|
|
20
|
-
getValues(_, __, ___) {
|
|
21
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
return [];
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
20
|
}
|
|
26
21
|
exports.EmptyDatabase = EmptyDatabase;
|
|
27
22
|
//# sourceMappingURL=EmptyDatabase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyDatabase.js","sourceRoot":"","sources":["../src/EmptyDatabase.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAA8C;AAE9C,MAAa,aAAc,SAAQ,2BAAY;IAElC,IAAI,KAAK,CAAC;IACV,OAAO,KAAK,CAAC;IACP,IAAI,CAAC,CAAU;8DAAI,CAAC;KAAA;
|
|
1
|
+
{"version":3,"file":"EmptyDatabase.js","sourceRoot":"","sources":["../src/EmptyDatabase.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAA8C;AAE9C,MAAa,aAAc,SAAQ,2BAAY;IAElC,IAAI,KAAK,CAAC;IACV,OAAO,KAAK,CAAC;IACP,IAAI,CAAC,CAAU;8DAAI,CAAC;KAAA;CACtC;AALD,sCAKC"}
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"framework": "npm",
|
|
9
9
|
"application": "package",
|
|
10
10
|
"private": false,
|
|
11
|
-
"version": "1.3.
|
|
11
|
+
"version": "1.3.59",
|
|
12
12
|
"author": "Amir Abolhasani",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"main": "./dist/index.js",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@types/cookie-parser": "^1.4.7",
|
|
22
22
|
"@types/cors": "^2.8.17",
|
|
23
23
|
"@types/express": "^4.17.21",
|
|
24
|
-
"@types/node": "^20.14.
|
|
24
|
+
"@types/node": "^20.14.6",
|
|
25
25
|
"@types/node-cron": "^3.0.11",
|
|
26
26
|
"@types/nodemailer": "^6.4.15",
|
|
27
27
|
"@types/nodemailer-smtp-transport": "^2.7.8",
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
"cookie-parser": "^1.4.6",
|
|
32
32
|
"cors": "^2.8.5",
|
|
33
33
|
"express": "^4.19.2",
|
|
34
|
-
"joi": "^17.13.
|
|
35
|
-
"namirasoft-core": "^1.3.
|
|
34
|
+
"joi": "^17.13.3",
|
|
35
|
+
"namirasoft-core": "^1.3.62",
|
|
36
36
|
"namirasoft-log": "^1.3.24",
|
|
37
37
|
"namirasoft-schema": "^1.3.16",
|
|
38
38
|
"node-cron": "^3.0.3",
|
|
39
|
-
"nodemailer": "^6.9.
|
|
39
|
+
"nodemailer": "^6.9.14",
|
|
40
40
|
"nodemailer-smtp-transport": "^2.7.4",
|
|
41
41
|
"request-ip": "^3.3.0",
|
|
42
42
|
"serve-index": "^1.9.1",
|
package/src/BaseDatabase.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { ErrorOperation } from "namirasoft-core";
|
|
2
|
+
|
|
1
3
|
export abstract class BaseDatabase
|
|
2
4
|
{
|
|
3
5
|
private tables: { [name: string]: any } = {};
|
|
@@ -10,9 +12,11 @@ export abstract class BaseDatabase
|
|
|
10
12
|
}
|
|
11
13
|
getTable<T>(name: string): T
|
|
12
14
|
{
|
|
13
|
-
|
|
15
|
+
let ans = this.tables[name] as T;
|
|
16
|
+
if (!ans)
|
|
17
|
+
ErrorOperation.throwHTTP(404, `Table '${name}' not found`);
|
|
18
|
+
return ans;
|
|
14
19
|
}
|
|
15
|
-
abstract getValues(table: string, column: string, limit: number): Promise<string[]>;
|
|
16
20
|
paginate(page_number: number, page_size: number, page_size_default?: number): { offset: number, limit: number }
|
|
17
21
|
{
|
|
18
22
|
// page_number
|
package/src/BaseTable.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ArraySchema, BaseTypeSchema, BaseVariableSchema, ObjectSchema } from "namirasoft-schema";
|
|
2
2
|
import { BaseDatabase } from "./BaseDatabase";
|
|
3
|
+
import { ErrorOperation } from "namirasoft-core";
|
|
3
4
|
|
|
4
5
|
export abstract class BaseTable<D extends BaseDatabase, ModelColumnOption>
|
|
5
6
|
{
|
|
@@ -42,7 +43,14 @@ export abstract class BaseTable<D extends BaseDatabase, ModelColumnOption>
|
|
|
42
43
|
});
|
|
43
44
|
return ans;
|
|
44
45
|
}
|
|
45
|
-
|
|
46
|
+
public checkColumn(column: string)
|
|
47
|
+
{
|
|
48
|
+
let columns: string[] = [];
|
|
49
|
+
this.forEachColumn(name => columns.push(name));
|
|
50
|
+
if (!columns.includes(column))
|
|
51
|
+
ErrorOperation.throwHTTP(404, `Column '${column}' not found`);
|
|
52
|
+
}
|
|
53
|
+
public abstract forEachColumn(handler: (name: string, column: ModelColumnOption) => void): void;
|
|
46
54
|
private getVariableSchema(name: string, element: ModelColumnOption, read_only: boolean): BaseVariableSchema
|
|
47
55
|
{
|
|
48
56
|
let schema = this.getTypeSchema(element);
|
package/src/EmptyDatabase.ts
CHANGED