namirasoft-node-sequelize 1.4.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.
- package/dist/BaseDB2Database.d.ts +4 -0
- package/dist/BaseDB2Database.js +11 -0
- package/dist/BaseDB2Database.js.map +1 -0
- package/dist/BaseFilterItemBuilderSequelize.d.ts +54 -0
- package/dist/BaseFilterItemBuilderSequelize.js +150 -0
- package/dist/BaseFilterItemBuilderSequelize.js.map +1 -0
- package/dist/BaseMSSQLDatabase.d.ts +4 -0
- package/dist/BaseMSSQLDatabase.js +11 -0
- package/dist/BaseMSSQLDatabase.js.map +1 -0
- package/dist/BaseMariaDBDatabase.d.ts +4 -0
- package/dist/BaseMariaDBDatabase.js +11 -0
- package/dist/BaseMariaDBDatabase.js.map +1 -0
- package/dist/BaseMySqlDatabase.d.ts +4 -0
- package/dist/BaseMySqlDatabase.js +11 -0
- package/dist/BaseMySqlDatabase.js.map +1 -0
- package/dist/BaseOracleDatabase.d.ts +4 -0
- package/dist/BaseOracleDatabase.js +11 -0
- package/dist/BaseOracleDatabase.js.map +1 -0
- package/dist/BasePostgreSQLDatabase.d.ts +4 -0
- package/dist/BasePostgreSQLDatabase.js +11 -0
- package/dist/BasePostgreSQLDatabase.js.map +1 -0
- package/dist/BaseSQLiteDatabase.d.ts +4 -0
- package/dist/BaseSQLiteDatabase.js +11 -0
- package/dist/BaseSQLiteDatabase.js.map +1 -0
- package/dist/BaseSequelizeDatabase.d.ts +19 -0
- package/dist/BaseSequelizeDatabase.js +103 -0
- package/dist/BaseSequelizeDatabase.js.map +1 -0
- package/dist/BaseSequelizeModel.d.ts +3 -0
- package/dist/BaseSequelizeModel.js +8 -0
- package/dist/BaseSequelizeModel.js.map +1 -0
- package/dist/BaseSequelizeModelAttributeColumnOptions.d.ts +9 -0
- package/dist/BaseSequelizeModelAttributeColumnOptions.js +4 -0
- package/dist/BaseSequelizeModelAttributeColumnOptions.js.map +1 -0
- package/dist/BaseSequelizeModelAttributes.d.ts +5 -0
- package/dist/BaseSequelizeModelAttributes.js +3 -0
- package/dist/BaseSequelizeModelAttributes.js.map +1 -0
- package/dist/BaseSequelizeTable.d.ts +81 -0
- package/dist/BaseSequelizeTable.js +255 -0
- package/dist/BaseSequelizeTable.js.map +1 -0
- package/dist/BaseSnowFlakeDatabase.d.ts +4 -0
- package/dist/BaseSnowFlakeDatabase.js +11 -0
- package/dist/BaseSnowFlakeDatabase.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/logo.png +0 -0
- package/package.json +25 -0
- package/src/BaseDB2Database.ts +9 -0
- package/src/BaseFilterItemBuilderSequelize.ts +120 -0
- package/src/BaseMSSQLDatabase.ts +9 -0
- package/src/BaseMariaDBDatabase.ts +9 -0
- package/src/BaseMySqlDatabase.ts +9 -0
- package/src/BaseOracleDatabase.ts +9 -0
- package/src/BasePostgreSQLDatabase.ts +9 -0
- package/src/BaseSQLiteDatabase.ts +9 -0
- package/src/BaseSequelizeDatabase.ts +115 -0
- package/src/BaseSequelizeModel.ts +5 -0
- package/src/BaseSequelizeModelAttributeColumnOptions.ts +11 -0
- package/src/BaseSequelizeModelAttributes.ts +6 -0
- package/src/BaseSequelizeTable.ts +285 -0
- package/src/BaseSnowFlakeDatabase.ts +9 -0
- package/src/index.ts +13 -0
- package/tsconfig.json +42 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseDB2Database = void 0;
|
|
4
|
+
const BaseSequelizeDatabase_1 = require("./BaseSequelizeDatabase");
|
|
5
|
+
class BaseDB2Database extends BaseSequelizeDatabase_1.BaseSequelizeDatabase {
|
|
6
|
+
constructor(host, port, name, user, pass, logging = false) {
|
|
7
|
+
super('db2', host, port, name, user, pass, logging);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.BaseDB2Database = BaseDB2Database;
|
|
11
|
+
//# sourceMappingURL=BaseDB2Database.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseDB2Database.js","sourceRoot":"","sources":["../src/BaseDB2Database.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAEhE,MAAsB,eAAgB,SAAQ,6CAAqB;IAE/D,YAAY,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,UAAmB,KAAK;QAEtG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;CACJ;AAND,0CAMC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import sequelize, { WhereOptions } from "sequelize";
|
|
2
|
+
import { BaseFilterItemBuilder_JoinTable, BaseFilterItemBuilderDatabase } from "namirasoft-node";
|
|
3
|
+
export declare class BaseFilterItemBuilderSequelize extends BaseFilterItemBuilderDatabase<WhereOptions> {
|
|
4
|
+
getAdvancedSearchConditions(columns: string[], search: string): Promise<sequelize.WhereOptions[]>;
|
|
5
|
+
getIn(column_name: string, not: boolean, values: string[]): {
|
|
6
|
+
condition: sequelize.WhereAttributeHash<any>;
|
|
7
|
+
};
|
|
8
|
+
getLike(column_name: string, not: boolean, value: string): {
|
|
9
|
+
condition: sequelize.WhereAttributeHash<any>;
|
|
10
|
+
};
|
|
11
|
+
getRegex(column_name: string, not: boolean, value: string): {
|
|
12
|
+
condition: sequelize.WhereAttributeHash<any>;
|
|
13
|
+
};
|
|
14
|
+
getEmpty(column_name: string, not: boolean): {
|
|
15
|
+
condition: sequelize.WhereOptions;
|
|
16
|
+
};
|
|
17
|
+
getExists(column_name: string, not: boolean): {
|
|
18
|
+
condition: sequelize.WhereAttributeHash<any>;
|
|
19
|
+
independant?: undefined;
|
|
20
|
+
} | {
|
|
21
|
+
condition: sequelize.WhereAttributeHash<any>;
|
|
22
|
+
independant: {
|
|
23
|
+
not: true;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
getIncludes(column_name: string, not: boolean, values: string[]): {
|
|
27
|
+
condition: sequelize.WhereAttributeHash<any>;
|
|
28
|
+
independant?: undefined;
|
|
29
|
+
} | {
|
|
30
|
+
condition: sequelize.WhereAttributeHash<any>;
|
|
31
|
+
independant: {
|
|
32
|
+
not: true;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
getStartsWith(column_name: string, not: boolean, value: string): {
|
|
36
|
+
condition: sequelize.WhereAttributeHash<any>;
|
|
37
|
+
};
|
|
38
|
+
getEndsWith(column_name: string, not: boolean, value: string): {
|
|
39
|
+
condition: sequelize.WhereAttributeHash<any>;
|
|
40
|
+
};
|
|
41
|
+
getLT(column_name: string, value: any): {
|
|
42
|
+
condition: sequelize.WhereAttributeHash<any>;
|
|
43
|
+
};
|
|
44
|
+
getLTE(column_name: string, value: any): {
|
|
45
|
+
condition: sequelize.WhereAttributeHash<any>;
|
|
46
|
+
};
|
|
47
|
+
getGT(column_name: string, value: any): {
|
|
48
|
+
condition: sequelize.WhereAttributeHash<any>;
|
|
49
|
+
};
|
|
50
|
+
getGTE(column_name: string, value: any): {
|
|
51
|
+
condition: sequelize.WhereAttributeHash<any>;
|
|
52
|
+
};
|
|
53
|
+
getInSelect(table_name: string, not: boolean, join: BaseFilterItemBuilder_JoinTable<WhereOptions>, conditions: WhereOptions[]): Promise<sequelize.Utils.Literal>;
|
|
54
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.BaseFilterItemBuilderSequelize = void 0;
|
|
46
|
+
const sequelize_1 = __importStar(require("sequelize"));
|
|
47
|
+
const namirasoft_node_1 = require("namirasoft-node");
|
|
48
|
+
class BaseFilterItemBuilderSequelize extends namirasoft_node_1.BaseFilterItemBuilderDatabase {
|
|
49
|
+
getAdvancedSearchConditions(columns, search) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
let database = this.database;
|
|
52
|
+
return database.getAdvancedSearchConditions(columns, search);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
getIn(column_name, not, values) {
|
|
56
|
+
let condition = {};
|
|
57
|
+
condition[column_name] = not ? { [sequelize_1.Op.notIn]: values } : { [sequelize_1.Op.in]: values };
|
|
58
|
+
return { condition };
|
|
59
|
+
}
|
|
60
|
+
getLike(column_name, not, value) {
|
|
61
|
+
let condition = {};
|
|
62
|
+
condition[column_name] = not ? { [sequelize_1.Op.notLike]: `%${value}%` } : { [sequelize_1.Op.like]: `%${value}%` };
|
|
63
|
+
return { condition };
|
|
64
|
+
}
|
|
65
|
+
getRegex(column_name, not, value) {
|
|
66
|
+
let condition = {};
|
|
67
|
+
condition[column_name] = not ? { [sequelize_1.Op.notRegexp]: value } : { [sequelize_1.Op.regexp]: value };
|
|
68
|
+
return { condition };
|
|
69
|
+
}
|
|
70
|
+
getEmpty(column_name, not) {
|
|
71
|
+
let condition = {};
|
|
72
|
+
if (!not) {
|
|
73
|
+
condition = {
|
|
74
|
+
[sequelize_1.Op.or]: [
|
|
75
|
+
{ [column_name]: { [sequelize_1.Op.is]: null } },
|
|
76
|
+
{ [column_name]: '' }
|
|
77
|
+
]
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
else
|
|
81
|
+
condition[column_name] = { [sequelize_1.Op.and]: [{ [sequelize_1.Op.ne]: null }, { [sequelize_1.Op.ne]: '' }] };
|
|
82
|
+
return { condition };
|
|
83
|
+
}
|
|
84
|
+
getExists(column_name, not) {
|
|
85
|
+
let condition = {};
|
|
86
|
+
condition[column_name] = { [sequelize_1.Op.and]: [{ [sequelize_1.Op.ne]: null }, { [sequelize_1.Op.ne]: '' }] };
|
|
87
|
+
if (!not)
|
|
88
|
+
return { condition };
|
|
89
|
+
return { condition, independant: { not } };
|
|
90
|
+
}
|
|
91
|
+
getIncludes(column_name, not, values) {
|
|
92
|
+
let condition = {};
|
|
93
|
+
condition[column_name] = { [sequelize_1.Op.in]: values };
|
|
94
|
+
if (!not)
|
|
95
|
+
return { condition };
|
|
96
|
+
return { condition, independant: { not } };
|
|
97
|
+
}
|
|
98
|
+
getStartsWith(column_name, not, value) {
|
|
99
|
+
let condition = {};
|
|
100
|
+
condition[column_name] = not ? { [sequelize_1.Op.notLike]: `${value}%` } : { [sequelize_1.Op.like]: `${value}%` };
|
|
101
|
+
return { condition };
|
|
102
|
+
}
|
|
103
|
+
getEndsWith(column_name, not, value) {
|
|
104
|
+
let condition = {};
|
|
105
|
+
condition[column_name] = not ? { [sequelize_1.Op.notLike]: `%${value}` } : { [sequelize_1.Op.like]: `%${value}` };
|
|
106
|
+
return { condition };
|
|
107
|
+
}
|
|
108
|
+
getLT(column_name, value) {
|
|
109
|
+
let condition = {};
|
|
110
|
+
condition[column_name] = { [sequelize_1.Op.lt]: value };
|
|
111
|
+
return { condition };
|
|
112
|
+
}
|
|
113
|
+
getLTE(column_name, value) {
|
|
114
|
+
let condition = {};
|
|
115
|
+
condition[column_name] = { [sequelize_1.Op.lte]: value };
|
|
116
|
+
return { condition };
|
|
117
|
+
}
|
|
118
|
+
getGT(column_name, value) {
|
|
119
|
+
let condition = {};
|
|
120
|
+
condition[column_name] = { [sequelize_1.Op.gt]: value };
|
|
121
|
+
return { condition };
|
|
122
|
+
}
|
|
123
|
+
getGTE(column_name, value) {
|
|
124
|
+
let condition = {};
|
|
125
|
+
condition[column_name] = { [sequelize_1.Op.gte]: value };
|
|
126
|
+
return { condition };
|
|
127
|
+
}
|
|
128
|
+
getInSelect(table_name, not, join, conditions) {
|
|
129
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
130
|
+
let select = yield new Promise(resolve => {
|
|
131
|
+
let t = this.database.getTable(table_name);
|
|
132
|
+
let table = t;
|
|
133
|
+
table.model.findAll({
|
|
134
|
+
where: { [sequelize_1.Op.and]: conditions },
|
|
135
|
+
attributes: [join.secondary.column],
|
|
136
|
+
logging(sql) {
|
|
137
|
+
let q = sql.substring(sql.indexOf("SELECT"));
|
|
138
|
+
if (q.endsWith(";"))
|
|
139
|
+
q = q.slice(0, -1);
|
|
140
|
+
resolve(q);
|
|
141
|
+
},
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
let query = `${join.main.column} ${not ? "NOT" : ""} IN (${select})`;
|
|
145
|
+
return sequelize_1.default.literal(query);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.BaseFilterItemBuilderSequelize = BaseFilterItemBuilderSequelize;
|
|
150
|
+
//# sourceMappingURL=BaseFilterItemBuilderSequelize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseFilterItemBuilderSequelize.js","sourceRoot":"","sources":["../src/BaseFilterItemBuilderSequelize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseMSSQLDatabase = void 0;
|
|
4
|
+
const BaseSequelizeDatabase_1 = require("./BaseSequelizeDatabase");
|
|
5
|
+
class BaseMSSQLDatabase extends BaseSequelizeDatabase_1.BaseSequelizeDatabase {
|
|
6
|
+
constructor(host, port, name, user, pass, logging = false) {
|
|
7
|
+
super('sqlite', host, port, name, user, pass, logging);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.BaseMSSQLDatabase = BaseMSSQLDatabase;
|
|
11
|
+
//# sourceMappingURL=BaseMSSQLDatabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseMSSQLDatabase.js","sourceRoot":"","sources":["../src/BaseMSSQLDatabase.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAEhE,MAAsB,iBAAkB,SAAQ,6CAAqB;IAEjE,YAAY,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,UAAmB,KAAK;QAEtG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;CACJ;AAND,8CAMC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseMariaDBDatabase = void 0;
|
|
4
|
+
const BaseSequelizeDatabase_1 = require("./BaseSequelizeDatabase");
|
|
5
|
+
class BaseMariaDBDatabase extends BaseSequelizeDatabase_1.BaseSequelizeDatabase {
|
|
6
|
+
constructor(host, port, name, user, pass, logging = false) {
|
|
7
|
+
super('sqlite', host, port, name, user, pass, logging);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.BaseMariaDBDatabase = BaseMariaDBDatabase;
|
|
11
|
+
//# sourceMappingURL=BaseMariaDBDatabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseMariaDBDatabase.js","sourceRoot":"","sources":["../src/BaseMariaDBDatabase.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAEhE,MAAsB,mBAAoB,SAAQ,6CAAqB;IAEnE,YAAY,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,UAAmB,KAAK;QAEtG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;CACJ;AAND,kDAMC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseMySqlDatabase = void 0;
|
|
4
|
+
const BaseSequelizeDatabase_1 = require("./BaseSequelizeDatabase");
|
|
5
|
+
class BaseMySqlDatabase extends BaseSequelizeDatabase_1.BaseSequelizeDatabase {
|
|
6
|
+
constructor(host, port, name, user, pass, logging = false) {
|
|
7
|
+
super('mysql', host, port, name, user, pass, logging);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.BaseMySqlDatabase = BaseMySqlDatabase;
|
|
11
|
+
//# sourceMappingURL=BaseMySqlDatabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseMySqlDatabase.js","sourceRoot":"","sources":["../src/BaseMySqlDatabase.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAEhE,MAAsB,iBAAkB,SAAQ,6CAAqB;IAEjE,YAAY,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,UAAmB,KAAK;QAEtG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;CACJ;AAND,8CAMC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseOracleDatabase = void 0;
|
|
4
|
+
const BaseSequelizeDatabase_1 = require("./BaseSequelizeDatabase");
|
|
5
|
+
class BaseOracleDatabase extends BaseSequelizeDatabase_1.BaseSequelizeDatabase {
|
|
6
|
+
constructor(host, port, name, user, pass, logging = false) {
|
|
7
|
+
super('db2', host, port, name, user, pass, logging);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.BaseOracleDatabase = BaseOracleDatabase;
|
|
11
|
+
//# sourceMappingURL=BaseOracleDatabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseOracleDatabase.js","sourceRoot":"","sources":["../src/BaseOracleDatabase.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAEhE,MAAsB,kBAAmB,SAAQ,6CAAqB;IAElE,YAAY,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,UAAmB,KAAK;QAEtG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;CACJ;AAND,gDAMC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BasePostgreSQLDatabase = void 0;
|
|
4
|
+
const BaseSequelizeDatabase_1 = require("./BaseSequelizeDatabase");
|
|
5
|
+
class BasePostgreSQLDatabase extends BaseSequelizeDatabase_1.BaseSequelizeDatabase {
|
|
6
|
+
constructor(host, port, name, user, pass, logging = false) {
|
|
7
|
+
super('postgres', host, port, name, user, pass, logging);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.BasePostgreSQLDatabase = BasePostgreSQLDatabase;
|
|
11
|
+
//# sourceMappingURL=BasePostgreSQLDatabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BasePostgreSQLDatabase.js","sourceRoot":"","sources":["../src/BasePostgreSQLDatabase.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAEhE,MAAsB,sBAAuB,SAAQ,6CAAqB;IAEtE,YAAY,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,UAAmB,KAAK;QAEtG,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;CACJ;AAND,wDAMC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseSQLiteDatabase = void 0;
|
|
4
|
+
const BaseSequelizeDatabase_1 = require("./BaseSequelizeDatabase");
|
|
5
|
+
class BaseSQLiteDatabase extends BaseSequelizeDatabase_1.BaseSequelizeDatabase {
|
|
6
|
+
constructor(host, port, name, user, pass, logging = false) {
|
|
7
|
+
super('sqlite', host, port, name, user, pass, logging);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.BaseSQLiteDatabase = BaseSQLiteDatabase;
|
|
11
|
+
//# sourceMappingURL=BaseSQLiteDatabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseSQLiteDatabase.js","sourceRoot":"","sources":["../src/BaseSQLiteDatabase.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAEhE,MAAsB,kBAAmB,SAAQ,6CAAqB;IAElE,YAAY,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,UAAmB,KAAK;QAEtG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;CACJ;AAND,gDAMC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Transaction } from 'sequelize';
|
|
2
|
+
import { Sequelize, Dialect, WhereOptions, Order } from "sequelize";
|
|
3
|
+
import { BaseDatabase, BaseFilterItemBuilder_JoinTable } from "namirasoft-node";
|
|
4
|
+
import { FilterItem, SortItem } from "namirasoft-core";
|
|
5
|
+
import { BaseSequelizeTable } from "./BaseSequelizeTable";
|
|
6
|
+
export declare abstract class BaseSequelizeDatabase extends BaseDatabase {
|
|
7
|
+
sequelize: Sequelize;
|
|
8
|
+
private dialect;
|
|
9
|
+
private name;
|
|
10
|
+
constructor(dialect: Dialect, host: string, port: number, name: string, user: string, pass: string, logging?: boolean);
|
|
11
|
+
connect(): Promise<void>;
|
|
12
|
+
sync(force: boolean): Promise<void>;
|
|
13
|
+
startTransaction<T>(handler: (trx: Transaction) => Promise<T>, trx: Transaction | null): Promise<T>;
|
|
14
|
+
getFiltersConditions(table_main: BaseSequelizeTable<BaseSequelizeDatabase, any>, table_joins: {
|
|
15
|
+
[table: string]: BaseFilterItemBuilder_JoinTable<WhereOptions>;
|
|
16
|
+
}, filters?: FilterItem[] | undefined): Promise<WhereOptions[]>;
|
|
17
|
+
getAdvancedSearchConditions(columns: string[], search: string): WhereOptions[];
|
|
18
|
+
getSortOptions(sorts?: SortItem[] | undefined): Order;
|
|
19
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.BaseSequelizeDatabase = void 0;
|
|
13
|
+
const namirasoft_log_1 = require("namirasoft-log");
|
|
14
|
+
const sequelize_1 = require("sequelize");
|
|
15
|
+
const namirasoft_node_1 = require("namirasoft-node");
|
|
16
|
+
const namirasoft_core_1 = require("namirasoft-core");
|
|
17
|
+
const BaseFilterItemBuilderSequelize_1 = require("./BaseFilterItemBuilderSequelize");
|
|
18
|
+
const namirasoft_schema_1 = require("namirasoft-schema");
|
|
19
|
+
class BaseSequelizeDatabase extends namirasoft_node_1.BaseDatabase {
|
|
20
|
+
constructor(dialect, host, port, name, user, pass, logging = false) {
|
|
21
|
+
super();
|
|
22
|
+
this.sequelize = new sequelize_1.Sequelize(name, user, pass, {
|
|
23
|
+
dialect,
|
|
24
|
+
host,
|
|
25
|
+
port,
|
|
26
|
+
logging,
|
|
27
|
+
pool: {
|
|
28
|
+
min: 2,
|
|
29
|
+
max: 10,
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
this.dialect = dialect;
|
|
33
|
+
this.name = name;
|
|
34
|
+
}
|
|
35
|
+
connect() {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
var _a;
|
|
38
|
+
if (!process.env.NAMIRASOFT_MUTE) {
|
|
39
|
+
yield this.sequelize.authenticate();
|
|
40
|
+
(_a = namirasoft_log_1.Logger.main) === null || _a === void 0 ? void 0 : _a.success(`Database ${this.dialect} was connected to ${this.name}`);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
sync(force) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
if (!process.env.NAMIRASOFT_MUTE)
|
|
47
|
+
yield this.sequelize.sync({ force });
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
startTransaction(handler, trx) {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
if (trx)
|
|
53
|
+
return yield handler(trx);
|
|
54
|
+
trx = yield this.sequelize.transaction();
|
|
55
|
+
try {
|
|
56
|
+
let result = yield handler(trx);
|
|
57
|
+
yield trx.commit();
|
|
58
|
+
return result;
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
yield trx.rollback();
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
getFiltersConditions(table_main, table_joins, filters) {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
let builder = new BaseFilterItemBuilderSequelize_1.BaseFilterItemBuilderSequelize(this);
|
|
69
|
+
return yield builder.build(table_main, table_joins, filters);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
getAdvancedSearchConditions(columns, search) {
|
|
73
|
+
let conditions = [];
|
|
74
|
+
if (search)
|
|
75
|
+
if (search.split) {
|
|
76
|
+
let toks = search.split(' ');
|
|
77
|
+
if (toks.length > 0) {
|
|
78
|
+
for (let i = 0; i < toks.length; i++) {
|
|
79
|
+
let rOpr = { [sequelize_1.Op.like]: '%' + toks[i].trim() + '%' };
|
|
80
|
+
let lOpr;
|
|
81
|
+
let cs = columns.map(column => sequelize_1.Sequelize.fn("IFNULL", sequelize_1.Sequelize.col(column), ''));
|
|
82
|
+
lOpr = sequelize_1.Sequelize.fn("concat", ...cs);
|
|
83
|
+
let condition = sequelize_1.Sequelize.where(lOpr, rOpr);
|
|
84
|
+
conditions.push(condition);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return conditions;
|
|
89
|
+
}
|
|
90
|
+
getSortOptions(sorts) {
|
|
91
|
+
let table = new namirasoft_core_1.BaseMetaTable(null, "", "");
|
|
92
|
+
let created_at = new namirasoft_core_1.SortItem(table, new namirasoft_core_1.BaseMetaColumn(table, "created_at", "Created At", namirasoft_schema_1.VariableType.DateTime, true), false);
|
|
93
|
+
let ans = [];
|
|
94
|
+
if (!sorts || sorts.length == 0)
|
|
95
|
+
sorts = [created_at];
|
|
96
|
+
ans = sorts.filter(s => s).map(s => {
|
|
97
|
+
return [s.column.name, s.ascending ? "asc" : "desc"];
|
|
98
|
+
});
|
|
99
|
+
return ans;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.BaseSequelizeDatabase = BaseSequelizeDatabase;
|
|
103
|
+
//# sourceMappingURL=BaseSequelizeDatabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseSequelizeDatabase.js","sourceRoot":"","sources":["../src/BaseSequelizeDatabase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseSequelizeModel = void 0;
|
|
4
|
+
const sequelize_1 = require("sequelize");
|
|
5
|
+
class BaseSequelizeModel extends sequelize_1.Model {
|
|
6
|
+
}
|
|
7
|
+
exports.BaseSequelizeModel = BaseSequelizeModel;
|
|
8
|
+
//# sourceMappingURL=BaseSequelizeModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseSequelizeModel.js","sourceRoot":"","sources":["../src/BaseSequelizeModel.ts"],"names":[],"mappings":";;;AAAA,yCAAkC;AAElC,MAAsB,kBAAmB,SAAQ,iBAAK;CAErD;AAFD,gDAEC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ModelAttributeColumnOptions, Model } from "sequelize";
|
|
2
|
+
export interface BaseSequelizeModelAttributeColumnOptions<M extends Model = Model> extends ModelAttributeColumnOptions<M> {
|
|
3
|
+
secure?: boolean;
|
|
4
|
+
read_only?: boolean;
|
|
5
|
+
searchable?: boolean;
|
|
6
|
+
tags?: {
|
|
7
|
+
type?: "BaseTypeSchema" | "BaseTypeSchema[]" | "BaseVariableSchema" | "BaseVariableSchema[]";
|
|
8
|
+
};
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseSequelizeModelAttributeColumnOptions.js","sourceRoot":"","sources":["../src/BaseSequelizeModelAttributeColumnOptions.ts"],"names":[],"mappings":";;AAUC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DataType, Model } from "sequelize";
|
|
2
|
+
import { BaseSequelizeModelAttributeColumnOptions } from "./BaseSequelizeModelAttributeColumnOptions";
|
|
3
|
+
export type BaseSequelizeModelAttributes<M extends Model = Model, TAttributes = any> = {
|
|
4
|
+
[name in keyof TAttributes]: DataType | BaseSequelizeModelAttributeColumnOptions<M>;
|
|
5
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseSequelizeModelAttributes.js","sourceRoot":"","sources":["../src/BaseSequelizeModelAttributes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { ModelOptions, WhereOptions } from "sequelize";
|
|
2
|
+
import { BaseSequelizeDatabase } from "./BaseSequelizeDatabase";
|
|
3
|
+
import { BaseTable } from "namirasoft-node";
|
|
4
|
+
import { ModelCtor, FindOptions, Transaction, Attributes } from 'sequelize';
|
|
5
|
+
import { BaseSequelizeModel } from "./BaseSequelizeModel";
|
|
6
|
+
import { BaseMetaColumn, SortItem } from "namirasoft-core";
|
|
7
|
+
import { BaseTypeSchema } from "namirasoft-schema";
|
|
8
|
+
import { BaseSequelizeModelAttributeColumnOptions } from "./BaseSequelizeModelAttributeColumnOptions";
|
|
9
|
+
import { BaseSequelizeModelAttributes } from "./BaseSequelizeModelAttributes";
|
|
10
|
+
export declare abstract class BaseSequelizeTable<D extends BaseSequelizeDatabase, M extends BaseSequelizeModel> extends BaseTable<D, BaseSequelizeModelAttributeColumnOptions> {
|
|
11
|
+
model: ModelCtor<M>;
|
|
12
|
+
attributes: BaseSequelizeModelAttributes<M, Attributes<M>>;
|
|
13
|
+
constructor(database: D);
|
|
14
|
+
getName(): string;
|
|
15
|
+
protected getExamples(): {
|
|
16
|
+
[name: string]: string;
|
|
17
|
+
};
|
|
18
|
+
getSecureColumns(): string[];
|
|
19
|
+
getReadOnlyColumns(): string[];
|
|
20
|
+
private getModelAllAttributes;
|
|
21
|
+
getColumnOption(name: string): BaseSequelizeModelAttributeColumnOptions;
|
|
22
|
+
forEachColumn(handler: (name: string, column: BaseSequelizeModelAttributeColumnOptions) => void): void;
|
|
23
|
+
getColumn(name: string): BaseMetaColumn;
|
|
24
|
+
protected getTypeSchema(option: BaseSequelizeModelAttributeColumnOptions): BaseTypeSchema;
|
|
25
|
+
protected isFloat(type: any): type is {
|
|
26
|
+
options: {
|
|
27
|
+
length: number;
|
|
28
|
+
decimals: number;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
protected isDouble(type: any): type is {
|
|
32
|
+
options: {
|
|
33
|
+
length: number;
|
|
34
|
+
decimals: number;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
protected isDecimal(type: any): type is {
|
|
38
|
+
options: {
|
|
39
|
+
precision: number;
|
|
40
|
+
scale: number;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
protected isReal(type: any): type is {
|
|
44
|
+
options: {
|
|
45
|
+
length: number;
|
|
46
|
+
decimals: number;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
protected isChar(type: any): type is {
|
|
50
|
+
_length: number;
|
|
51
|
+
options: {
|
|
52
|
+
length: number;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
protected isString(type: any): type is {
|
|
56
|
+
_length: number;
|
|
57
|
+
options: {
|
|
58
|
+
length: number;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
protected isEnum(type: any): type is {
|
|
62
|
+
options: {
|
|
63
|
+
values: string[];
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
define(modelName: string, attributes: BaseSequelizeModelAttributes<M, Attributes<M>>, options?: ModelOptions<M>): void;
|
|
67
|
+
addForeignKey(primary: BaseSequelizeTable<BaseSequelizeDatabase, BaseSequelizeModel>, name: string, allowNull?: boolean): void;
|
|
68
|
+
_getOrNull(options: FindOptions<Attributes<M>>, trx: Transaction | null): Promise<M | null>;
|
|
69
|
+
_get(options: FindOptions<Attributes<M>>, trx: Transaction | null): Promise<M>;
|
|
70
|
+
_list(where: WhereOptions<Attributes<M>>, pagination: {
|
|
71
|
+
dont: true;
|
|
72
|
+
} | {
|
|
73
|
+
page: number;
|
|
74
|
+
size: number;
|
|
75
|
+
}, sorts: {
|
|
76
|
+
dont: true;
|
|
77
|
+
} | SortItem[], options: FindOptions<Attributes<M>>, trx: Transaction | null): Promise<{
|
|
78
|
+
rows: M[];
|
|
79
|
+
count: number;
|
|
80
|
+
}>;
|
|
81
|
+
}
|