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,255 @@
|
|
|
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.BaseSequelizeTable = void 0;
|
|
13
|
+
const sequelize_1 = require("sequelize");
|
|
14
|
+
const namirasoft_node_1 = require("namirasoft-node");
|
|
15
|
+
const namirasoft_core_1 = require("namirasoft-core");
|
|
16
|
+
const namirasoft_schema_1 = require("namirasoft-schema");
|
|
17
|
+
const namirasoft_schema_2 = require("namirasoft-schema");
|
|
18
|
+
class BaseSequelizeTable extends namirasoft_node_1.BaseTable {
|
|
19
|
+
constructor(database) {
|
|
20
|
+
super(database);
|
|
21
|
+
}
|
|
22
|
+
getName() {
|
|
23
|
+
return this.model.name;
|
|
24
|
+
}
|
|
25
|
+
getExamples() {
|
|
26
|
+
let ans = super.getExamples();
|
|
27
|
+
let add = (name, uuid) => {
|
|
28
|
+
if (uuid.short)
|
|
29
|
+
ans[name] = uuid.new();
|
|
30
|
+
};
|
|
31
|
+
this.forEachColumn((name, column) => {
|
|
32
|
+
if (this.isChar(column.type)) {
|
|
33
|
+
if (name == "id")
|
|
34
|
+
add(name, this.uuid);
|
|
35
|
+
else if (name.endsWith("_id")) {
|
|
36
|
+
try {
|
|
37
|
+
let t = this.database.getTable(name.replace(/_id$/gm, ""));
|
|
38
|
+
add(name, t.uuid);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
return ans;
|
|
46
|
+
}
|
|
47
|
+
getSecureColumns() {
|
|
48
|
+
let columns = super.getSecureColumns();
|
|
49
|
+
return ["deletedAt", "deleted_at", ...columns];
|
|
50
|
+
}
|
|
51
|
+
getReadOnlyColumns() {
|
|
52
|
+
let columns = super.getReadOnlyColumns();
|
|
53
|
+
return ["id", "created_at", "updated_at", "createdAt", "updatedAt", ...columns];
|
|
54
|
+
}
|
|
55
|
+
getModelAllAttributes() {
|
|
56
|
+
let dateAttributes = {
|
|
57
|
+
created_at: { type: sequelize_1.DataTypes.DATE, allowNull: false },
|
|
58
|
+
updated_at: { type: sequelize_1.DataTypes.DATE, allowNull: false },
|
|
59
|
+
};
|
|
60
|
+
return Object.assign(Object.assign({}, this.attributes), dateAttributes);
|
|
61
|
+
}
|
|
62
|
+
getColumnOption(name) {
|
|
63
|
+
let att = this.getModelAllAttributes();
|
|
64
|
+
return att[name];
|
|
65
|
+
}
|
|
66
|
+
forEachColumn(handler) {
|
|
67
|
+
let att = this.getModelAllAttributes();
|
|
68
|
+
let keys = Object.keys(att);
|
|
69
|
+
for (let i = 0; i < keys.length; i++)
|
|
70
|
+
handler(keys[i], this.getColumnOption(keys[i]));
|
|
71
|
+
}
|
|
72
|
+
getColumn(name) {
|
|
73
|
+
let option = this.getColumnOption(name);
|
|
74
|
+
let table_name = this.getName();
|
|
75
|
+
let table = new namirasoft_core_1.BaseMetaTable(null, table_name, table_name);
|
|
76
|
+
let type = option.type;
|
|
77
|
+
try {
|
|
78
|
+
if (typeof (type) == "function")
|
|
79
|
+
type = type();
|
|
80
|
+
type = type + "";
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
type = "Enum";
|
|
84
|
+
}
|
|
85
|
+
let column = new namirasoft_core_1.BaseMetaColumn(table, name, name, type, option.allowNull != true);
|
|
86
|
+
return column;
|
|
87
|
+
}
|
|
88
|
+
getTypeSchema(option) {
|
|
89
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
90
|
+
let required = !((_a = option.allowNull) !== null && _a !== void 0 ? _a : true);
|
|
91
|
+
let type = option.type;
|
|
92
|
+
try {
|
|
93
|
+
if (typeof (type) == "function")
|
|
94
|
+
type = type();
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
}
|
|
98
|
+
let type_name = "";
|
|
99
|
+
try {
|
|
100
|
+
type_name = type + "";
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
type_name = "Enum";
|
|
104
|
+
}
|
|
105
|
+
let min = ((_c = (_b = option.validate) === null || _b === void 0 ? void 0 : _b.min) !== null && _c !== void 0 ? _c : null);
|
|
106
|
+
let max = ((_e = (_d = option.validate) === null || _d === void 0 ? void 0 : _d.max) !== null && _e !== void 0 ? _e : null);
|
|
107
|
+
if (type instanceof sequelize_1.DataTypes.BOOLEAN)
|
|
108
|
+
return new namirasoft_schema_1.BoolSchema(required);
|
|
109
|
+
else if (type instanceof sequelize_1.DataTypes.TINYINT)
|
|
110
|
+
return new namirasoft_schema_1.TinyIntSchema(required, min, max);
|
|
111
|
+
else if (type instanceof sequelize_1.DataTypes.SMALLINT)
|
|
112
|
+
return new namirasoft_schema_1.SmallIntSchema(required, min, max);
|
|
113
|
+
else if (type instanceof sequelize_1.DataTypes.MEDIUMINT)
|
|
114
|
+
return new namirasoft_schema_1.MediumIntSchema(required, min, max);
|
|
115
|
+
else if (type instanceof sequelize_1.DataTypes.INTEGER)
|
|
116
|
+
return new namirasoft_schema_1.IntegerSchema(required, min, max);
|
|
117
|
+
else if (type instanceof sequelize_1.DataTypes.BIGINT)
|
|
118
|
+
return new namirasoft_schema_1.BigIntSchema(required, min, max);
|
|
119
|
+
else if (this.isFloat(type))
|
|
120
|
+
return new namirasoft_schema_1.FloatSchema(required, type.options.decimals, min, max);
|
|
121
|
+
else if (this.isDouble(type))
|
|
122
|
+
return new namirasoft_schema_1.DoubleSchema(required, type.options.decimals, min, max);
|
|
123
|
+
else if (this.isDecimal(type))
|
|
124
|
+
return new namirasoft_schema_1.DecimalSchema(required, type.options.scale, min, max);
|
|
125
|
+
else if (this.isReal(type))
|
|
126
|
+
return new namirasoft_schema_1.RealSchema(required, type.options.decimals, min, max);
|
|
127
|
+
else if (this.isChar(type))
|
|
128
|
+
return new namirasoft_schema_1.StringSchema(required, (_f = type.options.length) !== null && _f !== void 0 ? _f : type._length, (_g = type.options.length) !== null && _g !== void 0 ? _g : type._length);
|
|
129
|
+
else if (this.isString(type))
|
|
130
|
+
return new namirasoft_schema_1.StringSchema(required, null, (_h = type.options.length) !== null && _h !== void 0 ? _h : type._length);
|
|
131
|
+
else if (type instanceof sequelize_1.DataTypes.TEXT)
|
|
132
|
+
return new namirasoft_schema_1.StringSchema(required, null, null);
|
|
133
|
+
else if (type instanceof sequelize_1.DataTypes.DATE || type_name == "TIMESTAMP")
|
|
134
|
+
return new namirasoft_schema_1.DateTimeSchema(required);
|
|
135
|
+
else if (type instanceof sequelize_1.DataTypes.DATEONLY)
|
|
136
|
+
return new namirasoft_schema_1.DateSchema(required);
|
|
137
|
+
else if (type instanceof sequelize_1.DataTypes.TIME)
|
|
138
|
+
return new namirasoft_schema_1.TimeSchema(required);
|
|
139
|
+
else if (this.isEnum(type)) {
|
|
140
|
+
let name = namirasoft_core_1.NamingConvention.lower_case_underscore.convert(this.model.name + "_" + option.field, namirasoft_core_1.NamingConvention.Pascal_Case);
|
|
141
|
+
return new namirasoft_schema_2.EnumSchema(name, required, type.options.values);
|
|
142
|
+
}
|
|
143
|
+
else if (type instanceof sequelize_1.DataTypes.JSON) {
|
|
144
|
+
let tags_type = (_j = option.tags) === null || _j === void 0 ? void 0 : _j.type;
|
|
145
|
+
if (tags_type) {
|
|
146
|
+
if (tags_type == "BaseTypeSchema")
|
|
147
|
+
return new namirasoft_schema_1.TypeSchema(required);
|
|
148
|
+
if (tags_type == "BaseVariableSchema")
|
|
149
|
+
return new namirasoft_schema_1.VariableSchema(required);
|
|
150
|
+
if (tags_type == "BaseTypeSchema[]")
|
|
151
|
+
return new namirasoft_schema_1.ArraySchema(required, [new namirasoft_schema_1.TypeSchema(required)]);
|
|
152
|
+
if (tags_type == "BaseVariableSchema[]")
|
|
153
|
+
return new namirasoft_schema_1.ArraySchema(required, [new namirasoft_schema_1.VariableSchema(required)]);
|
|
154
|
+
}
|
|
155
|
+
return new namirasoft_schema_1.AnySchema(required);
|
|
156
|
+
}
|
|
157
|
+
throw new Error("Unsupported datatype for schema: " + option.type);
|
|
158
|
+
}
|
|
159
|
+
isFloat(type) {
|
|
160
|
+
return type instanceof sequelize_1.DataTypes.FLOAT;
|
|
161
|
+
}
|
|
162
|
+
isDouble(type) {
|
|
163
|
+
return type instanceof sequelize_1.DataTypes.DOUBLE;
|
|
164
|
+
}
|
|
165
|
+
isDecimal(type) {
|
|
166
|
+
return type instanceof sequelize_1.DataTypes.DECIMAL;
|
|
167
|
+
}
|
|
168
|
+
isReal(type) {
|
|
169
|
+
return type instanceof sequelize_1.DataTypes.REAL;
|
|
170
|
+
}
|
|
171
|
+
isChar(type) {
|
|
172
|
+
return type instanceof sequelize_1.DataTypes.CHAR;
|
|
173
|
+
}
|
|
174
|
+
isString(type) {
|
|
175
|
+
return type instanceof sequelize_1.DataTypes.STRING;
|
|
176
|
+
}
|
|
177
|
+
isEnum(type) {
|
|
178
|
+
return type instanceof sequelize_1.DataTypes.ENUM;
|
|
179
|
+
}
|
|
180
|
+
define(modelName, attributes, options) {
|
|
181
|
+
this.database.addTable(modelName, this);
|
|
182
|
+
this.attributes = attributes;
|
|
183
|
+
if (!options)
|
|
184
|
+
options = {};
|
|
185
|
+
if (options.name == undefined)
|
|
186
|
+
options.name = {
|
|
187
|
+
plural: modelName,
|
|
188
|
+
singular: modelName
|
|
189
|
+
};
|
|
190
|
+
if (options.paranoid == undefined)
|
|
191
|
+
options.paranoid = true;
|
|
192
|
+
if (options.freezeTableName == undefined)
|
|
193
|
+
options.freezeTableName = true;
|
|
194
|
+
if (options.tableName == undefined)
|
|
195
|
+
options.tableName = modelName;
|
|
196
|
+
if (options.underscored == undefined)
|
|
197
|
+
options.underscored = true;
|
|
198
|
+
if (options.timestamps == undefined)
|
|
199
|
+
options.timestamps = true;
|
|
200
|
+
if (options.paranoid == undefined)
|
|
201
|
+
options.paranoid = true;
|
|
202
|
+
if (options.createdAt == undefined)
|
|
203
|
+
options.createdAt = 'created_at';
|
|
204
|
+
if (options.updatedAt == undefined)
|
|
205
|
+
options.updatedAt = 'updated_at';
|
|
206
|
+
if (options.deletedAt == undefined)
|
|
207
|
+
options.deletedAt = 'deleted_at';
|
|
208
|
+
this.model = this.database.sequelize.define(modelName, attributes, options);
|
|
209
|
+
}
|
|
210
|
+
addForeignKey(primary, name, allowNull) {
|
|
211
|
+
var _a;
|
|
212
|
+
let schema = this.getSchema(true);
|
|
213
|
+
let field = (_a = schema.fields) === null || _a === void 0 ? void 0 : _a.find(x => x.name == name);
|
|
214
|
+
if (field == null)
|
|
215
|
+
throw new Error(`Column ${name} could not be found for relation between tables ${primary.getName()} and ${this.getName()}`);
|
|
216
|
+
primary.model.hasMany(this.model, { foreignKey: { name, allowNull }, sourceKey: "id" });
|
|
217
|
+
this.model.belongsTo(primary.model, { foreignKey: { name, allowNull }, targetKey: "id" });
|
|
218
|
+
}
|
|
219
|
+
_getOrNull(options, trx) {
|
|
220
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
221
|
+
options.transaction = trx;
|
|
222
|
+
return yield this.model.findOne(options);
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
_get(options, trx) {
|
|
226
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
227
|
+
let value = yield this._getOrNull(options, trx);
|
|
228
|
+
if (value != null)
|
|
229
|
+
return value;
|
|
230
|
+
throw this.getNotFoundError(options.where);
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
_list(where, pagination, sorts, options, trx) {
|
|
234
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
235
|
+
let offset = undefined;
|
|
236
|
+
let limit = undefined;
|
|
237
|
+
if (!('dont' in pagination)) {
|
|
238
|
+
let p = this.database.paginate(pagination.page, pagination.size);
|
|
239
|
+
offset = p.offset;
|
|
240
|
+
limit = p.limit;
|
|
241
|
+
}
|
|
242
|
+
if (!('dont' in sorts)) {
|
|
243
|
+
if (options.order) {
|
|
244
|
+
if (sorts.length > 0)
|
|
245
|
+
throw new Error("options.order and sorts must not be provided together.");
|
|
246
|
+
}
|
|
247
|
+
else
|
|
248
|
+
options.order = this.database.getSortOptions(sorts);
|
|
249
|
+
}
|
|
250
|
+
return yield this.model.findAndCountAll(Object.assign(Object.assign({ where, offset, limit }, options), { distinct: true, subQuery: false, transaction: trx }));
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
exports.BaseSequelizeTable = BaseSequelizeTable;
|
|
255
|
+
//# sourceMappingURL=BaseSequelizeTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseSequelizeTable.js","sourceRoot":"","sources":["../src/BaseSequelizeTable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseSnowFlakeDatabase = void 0;
|
|
4
|
+
const BaseSequelizeDatabase_1 = require("./BaseSequelizeDatabase");
|
|
5
|
+
class BaseSnowFlakeDatabase 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.BaseSnowFlakeDatabase = BaseSnowFlakeDatabase;
|
|
11
|
+
//# sourceMappingURL=BaseSnowFlakeDatabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseSnowFlakeDatabase.js","sourceRoot":"","sources":["../src/BaseSnowFlakeDatabase.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAEhE,MAAsB,qBAAsB,SAAQ,6CAAqB;IAErE,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,sDAMC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from "./BaseDB2Database";
|
|
2
|
+
export * from "./BaseFilterItemBuilderSequelize";
|
|
3
|
+
export * from "./BaseMariaDBDatabase";
|
|
4
|
+
export * from "./BaseMSSQLDatabase";
|
|
5
|
+
export * from "./BaseOracleDatabase";
|
|
6
|
+
export * from "./BasePostgreSQLDatabase";
|
|
7
|
+
export * from "./BaseSequelizeDatabase";
|
|
8
|
+
export * from "./BaseSequelizeModel";
|
|
9
|
+
export * from "./BaseSequelizeModelAttributeColumnOptions";
|
|
10
|
+
export * from "./BaseSequelizeModelAttributes";
|
|
11
|
+
export * from "./BaseSequelizeTable";
|
|
12
|
+
export * from "./BaseSnowFlakeDatabase";
|
|
13
|
+
export * from "./BaseSQLiteDatabase";
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./BaseDB2Database"), exports);
|
|
18
|
+
__exportStar(require("./BaseFilterItemBuilderSequelize"), exports);
|
|
19
|
+
__exportStar(require("./BaseMariaDBDatabase"), exports);
|
|
20
|
+
__exportStar(require("./BaseMSSQLDatabase"), exports);
|
|
21
|
+
__exportStar(require("./BaseOracleDatabase"), exports);
|
|
22
|
+
__exportStar(require("./BasePostgreSQLDatabase"), exports);
|
|
23
|
+
__exportStar(require("./BaseSequelizeDatabase"), exports);
|
|
24
|
+
__exportStar(require("./BaseSequelizeModel"), exports);
|
|
25
|
+
__exportStar(require("./BaseSequelizeModelAttributeColumnOptions"), exports);
|
|
26
|
+
__exportStar(require("./BaseSequelizeModelAttributes"), exports);
|
|
27
|
+
__exportStar(require("./BaseSequelizeTable"), exports);
|
|
28
|
+
__exportStar(require("./BaseSnowFlakeDatabase"), exports);
|
|
29
|
+
__exportStar(require("./BaseSQLiteDatabase"), exports);
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,mEAAiD;AACjD,wDAAsC;AACtC,sDAAoC;AACpC,uDAAqC;AACrC,2DAAyC;AACzC,0DAAwC;AACxC,uDAAqC;AACrC,6EAA2D;AAC3D,iEAA+C;AAC/C,uDAAqC;AACrC,0DAAwC;AACxC,uDAAqC"}
|
package/logo.png
ADDED
|
Binary file
|
package/package.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "namirasoft-node-sequelize",
|
|
3
|
+
"title": "Namirasoft Node Sequelize NPM Package",
|
|
4
|
+
"description": "Namira Software Corporation Node Sequelize NPM Package",
|
|
5
|
+
"icon": "logo.png",
|
|
6
|
+
"logo": "https://static.namirasoft.com/image/namirasoft/site/logo/base.png",
|
|
7
|
+
"language": "ts",
|
|
8
|
+
"framework": "npm",
|
|
9
|
+
"application": "package",
|
|
10
|
+
"private": false,
|
|
11
|
+
"version": "1.4.0",
|
|
12
|
+
"author": "Amir Abolhasani",
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"main": "./dist/index.js",
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": ""
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@types/node": "^24.0.7",
|
|
21
|
+
"namirasoft-core": "^1.4.76",
|
|
22
|
+
"namirasoft-node": "^1.4.102",
|
|
23
|
+
"sequelize": "^6.37.7"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseSequelizeDatabase } from "./BaseSequelizeDatabase";
|
|
2
|
+
|
|
3
|
+
export abstract class BaseDB2Database extends BaseSequelizeDatabase
|
|
4
|
+
{
|
|
5
|
+
constructor(host: string, port: number, name: string, user: string, pass: string, logging: boolean = false)
|
|
6
|
+
{
|
|
7
|
+
super('db2', host, port, name, user, pass, logging);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import sequelize, { Op, WhereOptions } from "sequelize";
|
|
2
|
+
import { BaseFilterItemBuilder_JoinTable, BaseFilterItemBuilderDatabase } from "namirasoft-node";
|
|
3
|
+
import { BaseSequelizeTable } from "./BaseSequelizeTable";
|
|
4
|
+
import { BaseSequelizeDatabase } from "./BaseSequelizeDatabase";
|
|
5
|
+
|
|
6
|
+
export class BaseFilterItemBuilderSequelize extends BaseFilterItemBuilderDatabase<WhereOptions>
|
|
7
|
+
{
|
|
8
|
+
override async getAdvancedSearchConditions(columns: string[], search: string)
|
|
9
|
+
{
|
|
10
|
+
let database = this.database as BaseSequelizeDatabase;
|
|
11
|
+
return database.getAdvancedSearchConditions(columns, search);
|
|
12
|
+
}
|
|
13
|
+
override getIn(column_name: string, not: boolean, values: string[])
|
|
14
|
+
{
|
|
15
|
+
let condition: WhereOptions = {};
|
|
16
|
+
condition[column_name] = not ? { [Op.notIn]: values } : { [Op.in]: values };
|
|
17
|
+
return { condition };
|
|
18
|
+
}
|
|
19
|
+
override getLike(column_name: string, not: boolean, value: string)
|
|
20
|
+
{
|
|
21
|
+
let condition: WhereOptions = {};
|
|
22
|
+
condition[column_name] = not ? { [Op.notLike]: `%${value}%` } : { [Op.like]: `%${value}%` };
|
|
23
|
+
return { condition };
|
|
24
|
+
}
|
|
25
|
+
override getRegex(column_name: string, not: boolean, value: string)
|
|
26
|
+
{
|
|
27
|
+
let condition: WhereOptions = {};
|
|
28
|
+
condition[column_name] = not ? { [Op.notRegexp]: value } : { [Op.regexp]: value };
|
|
29
|
+
return { condition };
|
|
30
|
+
}
|
|
31
|
+
override getEmpty(column_name: string, not: boolean)
|
|
32
|
+
{
|
|
33
|
+
let condition: WhereOptions = {};
|
|
34
|
+
if (!not)
|
|
35
|
+
{
|
|
36
|
+
condition = {
|
|
37
|
+
[Op.or]: [
|
|
38
|
+
{ [column_name]: { [Op.is]: null } },
|
|
39
|
+
{ [column_name]: '' }
|
|
40
|
+
]
|
|
41
|
+
} as WhereOptions;
|
|
42
|
+
}
|
|
43
|
+
else
|
|
44
|
+
condition[column_name] = { [Op.and]: [{ [Op.ne]: null }, { [Op.ne]: '' }] };
|
|
45
|
+
return { condition };
|
|
46
|
+
}
|
|
47
|
+
override getExists(column_name: string, not: boolean)
|
|
48
|
+
{
|
|
49
|
+
let condition: WhereOptions = {};
|
|
50
|
+
condition[column_name] = { [Op.and]: [{ [Op.ne]: null }, { [Op.ne]: '' }] };
|
|
51
|
+
if (!not)
|
|
52
|
+
return { condition };
|
|
53
|
+
return { condition, independant: { not } };
|
|
54
|
+
}
|
|
55
|
+
override getIncludes(column_name: string, not: boolean, values: string[])
|
|
56
|
+
{
|
|
57
|
+
let condition: WhereOptions = {};
|
|
58
|
+
condition[column_name] = { [Op.in]: values };
|
|
59
|
+
if (!not)
|
|
60
|
+
return { condition };
|
|
61
|
+
return { condition, independant: { not } };
|
|
62
|
+
}
|
|
63
|
+
override getStartsWith(column_name: string, not: boolean, value: string)
|
|
64
|
+
{
|
|
65
|
+
let condition: WhereOptions = {};
|
|
66
|
+
condition[column_name] = not ? { [Op.notLike]: `${value}%` } : { [Op.like]: `${value}%` };
|
|
67
|
+
return { condition };
|
|
68
|
+
}
|
|
69
|
+
override getEndsWith(column_name: string, not: boolean, value: string)
|
|
70
|
+
{
|
|
71
|
+
let condition: WhereOptions = {};
|
|
72
|
+
condition[column_name] = not ? { [Op.notLike]: `%${value}` } : { [Op.like]: `%${value}` };
|
|
73
|
+
return { condition };
|
|
74
|
+
}
|
|
75
|
+
override getLT(column_name: string, value: any)
|
|
76
|
+
{
|
|
77
|
+
let condition: WhereOptions = {};
|
|
78
|
+
condition[column_name] = { [Op.lt]: value };
|
|
79
|
+
return { condition };
|
|
80
|
+
}
|
|
81
|
+
override getLTE(column_name: string, value: any)
|
|
82
|
+
{
|
|
83
|
+
let condition: WhereOptions = {};
|
|
84
|
+
condition[column_name] = { [Op.lte]: value };
|
|
85
|
+
return { condition };
|
|
86
|
+
}
|
|
87
|
+
override getGT(column_name: string, value: any)
|
|
88
|
+
{
|
|
89
|
+
let condition: WhereOptions = {};
|
|
90
|
+
condition[column_name] = { [Op.gt]: value };
|
|
91
|
+
return { condition };
|
|
92
|
+
}
|
|
93
|
+
override getGTE(column_name: string, value: any)
|
|
94
|
+
{
|
|
95
|
+
let condition: WhereOptions = {};
|
|
96
|
+
condition[column_name] = { [Op.gte]: value };
|
|
97
|
+
return { condition };
|
|
98
|
+
}
|
|
99
|
+
override async getInSelect(table_name: string, not: boolean, join: BaseFilterItemBuilder_JoinTable<WhereOptions>, conditions: WhereOptions[])
|
|
100
|
+
{
|
|
101
|
+
let select = await new Promise<string>(resolve =>
|
|
102
|
+
{
|
|
103
|
+
let t = this.database.getTable(table_name);
|
|
104
|
+
let table = t as BaseSequelizeTable<BaseSequelizeDatabase, any>;
|
|
105
|
+
table.model.findAll({
|
|
106
|
+
where: { [Op.and]: conditions },
|
|
107
|
+
attributes: [join.secondary.column],
|
|
108
|
+
logging(sql)
|
|
109
|
+
{
|
|
110
|
+
let q = sql.substring(sql.indexOf("SELECT"));
|
|
111
|
+
if (q.endsWith(";"))
|
|
112
|
+
q = q.slice(0, -1);
|
|
113
|
+
resolve(q);
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
let query = `${join.main.column} ${not ? "NOT" : ""} IN (${select})`;
|
|
118
|
+
return sequelize.literal(query);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseSequelizeDatabase } from "./BaseSequelizeDatabase";
|
|
2
|
+
|
|
3
|
+
export abstract class BaseMSSQLDatabase extends BaseSequelizeDatabase
|
|
4
|
+
{
|
|
5
|
+
constructor(host: string, port: number, name: string, user: string, pass: string, logging: boolean = false)
|
|
6
|
+
{
|
|
7
|
+
super('sqlite', host, port, name, user, pass, logging);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseSequelizeDatabase } from "./BaseSequelizeDatabase";
|
|
2
|
+
|
|
3
|
+
export abstract class BaseMariaDBDatabase extends BaseSequelizeDatabase
|
|
4
|
+
{
|
|
5
|
+
constructor(host: string, port: number, name: string, user: string, pass: string, logging: boolean = false)
|
|
6
|
+
{
|
|
7
|
+
super('sqlite', host, port, name, user, pass, logging);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseSequelizeDatabase } from "./BaseSequelizeDatabase";
|
|
2
|
+
|
|
3
|
+
export abstract class BaseMySqlDatabase extends BaseSequelizeDatabase
|
|
4
|
+
{
|
|
5
|
+
constructor(host: string, port: number, name: string, user: string, pass: string, logging: boolean = false)
|
|
6
|
+
{
|
|
7
|
+
super('mysql', host, port, name, user, pass, logging);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseSequelizeDatabase } from "./BaseSequelizeDatabase";
|
|
2
|
+
|
|
3
|
+
export abstract class BaseOracleDatabase extends BaseSequelizeDatabase
|
|
4
|
+
{
|
|
5
|
+
constructor(host: string, port: number, name: string, user: string, pass: string, logging: boolean = false)
|
|
6
|
+
{
|
|
7
|
+
super('db2', host, port, name, user, pass, logging);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseSequelizeDatabase } from "./BaseSequelizeDatabase";
|
|
2
|
+
|
|
3
|
+
export abstract class BasePostgreSQLDatabase extends BaseSequelizeDatabase
|
|
4
|
+
{
|
|
5
|
+
constructor(host: string, port: number, name: string, user: string, pass: string, logging: boolean = false)
|
|
6
|
+
{
|
|
7
|
+
super('postgres', host, port, name, user, pass, logging);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseSequelizeDatabase } from "./BaseSequelizeDatabase";
|
|
2
|
+
|
|
3
|
+
export abstract class BaseSQLiteDatabase extends BaseSequelizeDatabase
|
|
4
|
+
{
|
|
5
|
+
constructor(host: string, port: number, name: string, user: string, pass: string, logging: boolean = false)
|
|
6
|
+
{
|
|
7
|
+
super('sqlite', host, port, name, user, pass, logging);
|
|
8
|
+
}
|
|
9
|
+
}
|