tspace-mysql 1.9.0 → 1.9.1-beta.2
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/README.md +4580 -133
- package/dist/lib/config/index.d.ts +2 -2
- package/dist/lib/config/index.js +24 -16
- package/dist/lib/config/index.js.map +1 -1
- package/dist/lib/constants/index.d.ts +10 -1
- package/dist/lib/constants/index.js +11 -2
- package/dist/lib/constants/index.js.map +1 -1
- package/dist/lib/core/Abstracts/AbstractBuilder.d.ts +27 -23
- package/dist/lib/core/Abstracts/AbstractBuilder.js +11 -13
- package/dist/lib/core/Abstracts/AbstractBuilder.js.map +1 -1
- package/dist/lib/core/Abstracts/AbstractDB.d.ts +5 -2
- package/dist/lib/core/Abstracts/AbstractDB.js.map +1 -1
- package/dist/lib/core/Abstracts/AbstractModel.d.ts +7 -2
- package/dist/lib/core/Abstracts/AbstractModel.js.map +1 -1
- package/dist/lib/core/Abstracts/AbstractView.js.map +1 -1
- package/dist/lib/core/Blueprint.d.ts +37 -17
- package/dist/lib/core/Blueprint.js +38 -14
- package/dist/lib/core/Blueprint.js.map +1 -1
- package/dist/lib/core/Builder.d.ts +314 -42
- package/dist/lib/core/Builder.js +686 -391
- package/dist/lib/core/Builder.js.map +1 -1
- package/dist/lib/core/Cache/DBCache.js +19 -20
- package/dist/lib/core/Cache/DBCache.js.map +1 -1
- package/dist/lib/core/Cache/MemoryCache.js +3 -3
- package/dist/lib/core/Cache/MemoryCache.js.map +1 -1
- package/dist/lib/core/Cache/RedisCache.js +27 -17
- package/dist/lib/core/Cache/RedisCache.js.map +1 -1
- package/dist/lib/core/Cache/index.js +37 -17
- package/dist/lib/core/Cache/index.js.map +1 -1
- package/dist/lib/core/Contracts/AlterTable.d.ts +152 -0
- package/dist/lib/core/Contracts/AlterTable.js +243 -0
- package/dist/lib/core/Contracts/AlterTable.js.map +1 -0
- package/dist/lib/core/Contracts/Audit.d.ts +1 -1
- package/dist/lib/core/Contracts/Audit.js +2 -5
- package/dist/lib/core/Contracts/Audit.js.map +1 -1
- package/dist/lib/core/Contracts/Logger.d.ts +1 -1
- package/dist/lib/core/Contracts/Logger.js.map +1 -1
- package/dist/lib/core/DB.d.ts +103 -11
- package/dist/lib/core/DB.js +158 -32
- package/dist/lib/core/DB.js.map +1 -1
- package/dist/lib/core/Decorator.d.ts +144 -16
- package/dist/lib/core/Decorator.js +156 -14
- package/dist/lib/core/Decorator.js.map +1 -1
- package/dist/lib/core/Driver/index.d.ts +50 -14
- package/dist/lib/core/Driver/index.js +13 -9
- package/dist/lib/core/Driver/index.js.map +1 -1
- package/dist/lib/core/Driver/mariadb/MariadbDriver.js +84 -29
- package/dist/lib/core/Driver/mariadb/MariadbDriver.js.map +1 -1
- package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.d.ts +48 -12
- package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.js +189 -28
- package/dist/lib/core/Driver/mariadb/MariadbQueryBuilder.js.map +1 -1
- package/dist/lib/core/Driver/mongodb/MongodbDriver.d.ts +24 -0
- package/dist/lib/core/Driver/mongodb/MongodbDriver.js +261 -0
- package/dist/lib/core/Driver/mongodb/MongodbDriver.js.map +1 -0
- package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.d.ts +141 -0
- package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.js +571 -0
- package/dist/lib/core/Driver/mongodb/MongodbQueryBuilder.js.map +1 -0
- package/dist/lib/core/Driver/mysql/MysqlDriver.js +115 -97
- package/dist/lib/core/Driver/mysql/MysqlDriver.js.map +1 -1
- package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.d.ts +48 -12
- package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.js +189 -28
- package/dist/lib/core/Driver/mysql/MysqlQueryBuilder.js.map +1 -1
- package/dist/lib/core/Driver/postgres/PostgresDriver.js +106 -73
- package/dist/lib/core/Driver/postgres/PostgresDriver.js.map +1 -1
- package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.d.ts +53 -12
- package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.js +318 -48
- package/dist/lib/core/Driver/postgres/PostgresQueryBuilder.js.map +1 -1
- package/dist/lib/core/Driver/sqlite/SqliteDriver.d.ts +21 -0
- package/dist/lib/core/Driver/sqlite/SqliteDriver.js +213 -0
- package/dist/lib/core/Driver/sqlite/SqliteDriver.js.map +1 -0
- package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.d.ts +146 -0
- package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.js +705 -0
- package/dist/lib/core/Driver/sqlite/SqliteQueryBuilder.js.map +1 -0
- package/dist/lib/core/Join.d.ts +63 -5
- package/dist/lib/core/Join.js +92 -15
- package/dist/lib/core/Join.js.map +1 -1
- package/dist/lib/core/JoinModel.d.ts +65 -9
- package/dist/lib/core/JoinModel.js +81 -52
- package/dist/lib/core/JoinModel.js.map +1 -1
- package/dist/lib/core/Meta.d.ts +22 -16
- package/dist/lib/core/Meta.js +28 -21
- package/dist/lib/core/Meta.js.map +1 -1
- package/dist/lib/core/Model.d.ts +644 -134
- package/dist/lib/core/Model.js +1361 -631
- package/dist/lib/core/Model.js.map +1 -1
- package/dist/lib/{tools/index.d.ts → core/Package.d.ts} +11 -3
- package/dist/lib/{tools/index.js → core/Package.js} +20 -7
- package/dist/lib/core/Package.js.map +1 -0
- package/dist/lib/core/Pool.js +42 -30
- package/dist/lib/core/Pool.js.map +1 -1
- package/dist/lib/core/Queue.d.ts +249 -0
- package/dist/lib/core/Queue.js +726 -0
- package/dist/lib/core/Queue.js.map +1 -0
- package/dist/lib/core/RelationManager.d.ts +4 -4
- package/dist/lib/core/RelationManager.js +168 -41
- package/dist/lib/core/RelationManager.js.map +1 -1
- package/dist/lib/core/Repository.d.ts +73 -207
- package/dist/lib/core/Repository.js +122 -234
- package/dist/lib/core/Repository.js.map +1 -1
- package/dist/lib/core/Schema.d.ts +211 -1
- package/dist/lib/core/Schema.js +370 -65
- package/dist/lib/core/Schema.js.map +1 -1
- package/dist/lib/core/StateManager.d.ts +31 -12
- package/dist/lib/core/StateManager.js +11 -5
- package/dist/lib/core/StateManager.js.map +1 -1
- package/dist/lib/core/UtilityTypes.d.ts +103 -81
- package/dist/lib/core/UtilityTypes.js.map +1 -1
- package/dist/lib/core/index.d.ts +4 -0
- package/dist/lib/core/index.js +6 -2
- package/dist/lib/core/index.js.map +1 -1
- package/dist/lib/types/decorator/index.d.ts +1 -1
- package/dist/lib/types/index.d.ts +120 -30
- package/dist/lib/types/repository/index.d.ts +68 -37
- package/dist/lib/utils/index.d.ts +13 -2
- package/dist/lib/utils/index.js +81 -2
- package/dist/lib/utils/index.js.map +1 -1
- package/package.json +14 -6
- package/dist/lib/tools/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBCache.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/DBCache.ts"],"names":[],"mappings":";;;AAAA,oCAAqC;AACrC,8BAAmC;AACnC,4CAA0C;
|
|
1
|
+
{"version":3,"file":"DBCache.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/DBCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,20 +37,20 @@ class MemoryCache {
|
|
|
37
37
|
return resolve(cached.value);
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
|
-
set(key, value, ms) {
|
|
40
|
+
async set(key, value, ms) {
|
|
41
41
|
return new Promise((resolve) => {
|
|
42
42
|
const expiredAt = Date.now() + ms;
|
|
43
43
|
this.cache.set(key, { value, expiredAt });
|
|
44
44
|
return resolve();
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
|
-
clear() {
|
|
47
|
+
async clear() {
|
|
48
48
|
return new Promise((resolve) => {
|
|
49
49
|
this.cache.clear();
|
|
50
50
|
return resolve();
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
|
-
delete(key) {
|
|
53
|
+
async delete(key) {
|
|
54
54
|
return new Promise((resolve) => {
|
|
55
55
|
this.cache.delete(key);
|
|
56
56
|
return resolve();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryCache.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/MemoryCache.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"MemoryCache.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/MemoryCache.ts"],"names":[],"mappings":";;;AAEA,MAAM,WAAW;IACL,KAAK,CAAiD;IAE9D;QACI,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;IAC1B,CAAC;IAED,QAAQ;QACJ,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,GAAG;QACL,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAW,EAAE,CAAA;YAEzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACtB,CAAC;YAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACN,CAAC;IAED,MAAM,CAAC,GAAW;QACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAClC,OAAO,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACjB,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,EAAU;QACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAE1C,OAAO,OAAO,EAAE,CAAA;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,KAAK;QACP,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,OAAO,EAAE,CAAA;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,OAAO,EAAE,CAAA;QACpB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAEQ,kCAAW;AACpB,kBAAe,WAAW,CAAA"}
|
|
@@ -1,32 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RedisCache = void 0;
|
|
4
|
-
const
|
|
4
|
+
const Package_1 = require("../Package");
|
|
5
5
|
class RedisCache {
|
|
6
|
-
_redis =
|
|
6
|
+
_redis = Package_1.Package.redis;
|
|
7
7
|
client;
|
|
8
8
|
constructor(url) {
|
|
9
9
|
this.client = this._redis.createClient({
|
|
10
|
-
|
|
10
|
+
socket: {
|
|
11
|
+
reconnectStrategy: () => false
|
|
12
|
+
},
|
|
13
|
+
url,
|
|
11
14
|
});
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
console.log(err);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
try {
|
|
16
|
+
this.client.on("error", (err) => {
|
|
17
|
+
console.log(`\n\x1b[31mERROR: Redis error failed caused by '${err.message}'\x1b[0m`);
|
|
18
|
+
});
|
|
19
|
+
this.client.connect().catch((err) => {
|
|
20
|
+
console.log(`\n\x1b[31mERROR: Redis connection failed caused by '${err.message}'\x1b[0m`);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
console.log(`\n\x1b[31mERROR: Redis catch caused by '${err.message}'. Please try installing the package using : npm install redis@5.6.0 --save\x1b[0m`);
|
|
25
|
+
}
|
|
19
26
|
}
|
|
20
27
|
provider() {
|
|
21
|
-
return
|
|
28
|
+
return "redis";
|
|
22
29
|
}
|
|
23
30
|
async all() {
|
|
24
|
-
const cacheds = await this.client.keys(
|
|
31
|
+
const cacheds = await this.client.keys("*");
|
|
25
32
|
const values = [];
|
|
26
33
|
for (const cached in cacheds) {
|
|
27
|
-
values.push(cached == null
|
|
28
|
-
? null
|
|
29
|
-
: this._safetyJsonParse(cached));
|
|
34
|
+
values.push(cached == null ? null : this._safetyJsonParse(cached));
|
|
30
35
|
}
|
|
31
36
|
return values;
|
|
32
37
|
}
|
|
@@ -53,10 +58,15 @@ class RedisCache {
|
|
|
53
58
|
return;
|
|
54
59
|
}
|
|
55
60
|
_safetyJsonParse(value) {
|
|
61
|
+
if (typeof value !== 'string')
|
|
62
|
+
return value;
|
|
63
|
+
const v = value.trim();
|
|
64
|
+
if (!v || (v[0] !== '{' && v[0] !== '['))
|
|
65
|
+
return value;
|
|
56
66
|
try {
|
|
57
|
-
return JSON.parse(
|
|
67
|
+
return JSON.parse(v);
|
|
58
68
|
}
|
|
59
|
-
catch
|
|
69
|
+
catch {
|
|
60
70
|
return value;
|
|
61
71
|
}
|
|
62
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedisCache.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/RedisCache.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"RedisCache.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/RedisCache.ts"],"names":[],"mappings":";;;AAAA,wCAAqC;AAErC,MAAM,UAAU;IACN,MAAM,GAAG,iBAAO,CAAC,KAAK,CAAC;IACvB,MAAM,CASZ;IAEF,YAAY,GAAW;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACrC,MAAM,EAAE;gBACN,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;aAC/B;YACD,GAAG;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;gBACnC,OAAO,CAAC,GAAG,CAAC,kDAAkD,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACvC,OAAO,CAAC,GAAG,CAAC,uDAAuD,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC;YAC5F,CAAC,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,GAAO,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,2CAA2C,GAAG,CAAC,OAAO,oFAAoF,CAAC,CAAC;QAC1J,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAU,EAAE,CAAC;QAEzB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE1C,OAAO,MAAM,IAAI,IAAI,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QAEnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE1C,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAEhC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,EAAU;QAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE9D,OAAO;IACT,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAE7B,OAAO;IACT,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE3B,OAAO;IACT,CAAC;IAEO,gBAAgB,CAAC,KAAc;QACrC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAEvB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAEvD,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;CACF;AAEQ,gCAAU;AACnB,kBAAe,UAAU,CAAC"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.TCache = exports.Cache = void 0;
|
|
7
4
|
const MemoryCache_1 = require("./MemoryCache");
|
|
8
5
|
const DBCache_1 = require("./DBCache");
|
|
9
6
|
const RedisCache_1 = require("./RedisCache");
|
|
10
|
-
const config_1 =
|
|
7
|
+
const config_1 = require("../../config");
|
|
11
8
|
class Cache {
|
|
12
9
|
_driver = new MemoryCache_1.MemoryCache();
|
|
13
10
|
constructor() {
|
|
14
|
-
this._chooseDriver(config_1.
|
|
11
|
+
this._chooseDriver(config_1.Config.CACHE);
|
|
15
12
|
return this;
|
|
16
13
|
}
|
|
17
14
|
provider() {
|
|
@@ -24,7 +21,8 @@ class Cache {
|
|
|
24
21
|
* @returns {this} this
|
|
25
22
|
*/
|
|
26
23
|
driver(driver) {
|
|
27
|
-
|
|
24
|
+
this._chooseDriver(driver);
|
|
25
|
+
return this;
|
|
28
26
|
}
|
|
29
27
|
/**
|
|
30
28
|
* The 'all' method is used get all cache
|
|
@@ -32,7 +30,13 @@ class Cache {
|
|
|
32
30
|
* @returns {Promise<array>} array
|
|
33
31
|
*/
|
|
34
32
|
async all() {
|
|
35
|
-
|
|
33
|
+
try {
|
|
34
|
+
return await this._driver.all();
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
console.log(`\n\x1b[31mERROR: Cache ALL failed caused by '${err.message}'\x1b[0m`);
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
36
40
|
}
|
|
37
41
|
/**
|
|
38
42
|
* The 'exists' method is used get all cache
|
|
@@ -44,7 +48,8 @@ class Cache {
|
|
|
44
48
|
try {
|
|
45
49
|
return await this._driver.exists(key);
|
|
46
50
|
}
|
|
47
|
-
catch (
|
|
51
|
+
catch (err) {
|
|
52
|
+
console.log(`\n\x1b[31mERROR: Cache EXISTS failed caused by '${err.message}'\x1b[0m`);
|
|
48
53
|
return false;
|
|
49
54
|
}
|
|
50
55
|
}
|
|
@@ -60,7 +65,8 @@ class Cache {
|
|
|
60
65
|
return null;
|
|
61
66
|
return cache;
|
|
62
67
|
}
|
|
63
|
-
catch (
|
|
68
|
+
catch (err) {
|
|
69
|
+
console.log(`\n\x1b[31mERROR: Cache GET failed caused by '${err.message}'\x1b[0m`);
|
|
64
70
|
return null;
|
|
65
71
|
}
|
|
66
72
|
}
|
|
@@ -77,7 +83,8 @@ class Cache {
|
|
|
77
83
|
await this._driver.set(key, value, ms);
|
|
78
84
|
return;
|
|
79
85
|
}
|
|
80
|
-
catch (
|
|
86
|
+
catch (err) {
|
|
87
|
+
console.log(`\n\x1b[31mERROR: Cache SET failed caused by '${err.message}'\x1b[0m`);
|
|
81
88
|
return;
|
|
82
89
|
}
|
|
83
90
|
}
|
|
@@ -87,7 +94,14 @@ class Cache {
|
|
|
87
94
|
* @returns {Promise<void>} void
|
|
88
95
|
*/
|
|
89
96
|
async clear() {
|
|
90
|
-
|
|
97
|
+
try {
|
|
98
|
+
await this._driver.clear();
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
console.log(`\n\x1b[31mERROR: Cache CLEAR failed caused by '${err.message}'\x1b[0m`);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
91
105
|
}
|
|
92
106
|
/**
|
|
93
107
|
* The 'clear' method is used delete cache by key
|
|
@@ -95,20 +109,26 @@ class Cache {
|
|
|
95
109
|
* @returns {Promise<void>} void
|
|
96
110
|
*/
|
|
97
111
|
async delete(key) {
|
|
98
|
-
|
|
99
|
-
|
|
112
|
+
try {
|
|
113
|
+
await this._driver.delete(key);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
console.log(`\n\x1b[31mERROR: Cache DELETE failed caused by '${err.message}'\x1b[0m`);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
100
120
|
}
|
|
101
121
|
_chooseDriver(driver) {
|
|
102
122
|
if (driver === "db") {
|
|
103
123
|
this._driver = new DBCache_1.DBCache();
|
|
104
|
-
return
|
|
124
|
+
return;
|
|
105
125
|
}
|
|
106
126
|
if (driver != null && driver.includes("redis")) {
|
|
107
|
-
this._driver = new RedisCache_1.RedisCache(
|
|
108
|
-
return
|
|
127
|
+
this._driver = new RedisCache_1.RedisCache(config_1.Config.CACHE);
|
|
128
|
+
return;
|
|
109
129
|
}
|
|
110
130
|
this._driver = new MemoryCache_1.MemoryCache();
|
|
111
|
-
return
|
|
131
|
+
return;
|
|
112
132
|
}
|
|
113
133
|
}
|
|
114
134
|
exports.TCache = Cache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/Cache/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { Model } from "../Model";
|
|
2
|
+
import { T } from "../UtilityTypes";
|
|
3
|
+
/**
|
|
4
|
+
* Builder class for altering an existing database table.
|
|
5
|
+
*
|
|
6
|
+
* This class collects schema modification operations (primary key,
|
|
7
|
+
* unique constraints, indexes, etc.) and executes them sequentially
|
|
8
|
+
* when {@link run} is called.
|
|
9
|
+
*
|
|
10
|
+
* @template M - The model type extending Model.
|
|
11
|
+
*/
|
|
12
|
+
declare class AlterTable<M extends Model> {
|
|
13
|
+
private model;
|
|
14
|
+
private table;
|
|
15
|
+
private queries;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a new AlterTable builder.
|
|
18
|
+
*
|
|
19
|
+
* @param {new () => M} model - The model constructor used to resolve the table.
|
|
20
|
+
*/
|
|
21
|
+
constructor(model: new () => M);
|
|
22
|
+
/**
|
|
23
|
+
* Dumps debugging information from the underlying model.
|
|
24
|
+
*
|
|
25
|
+
* @returns {this} Returns the current builder instance for chaining.
|
|
26
|
+
*/
|
|
27
|
+
dd(): this;
|
|
28
|
+
/**
|
|
29
|
+
* Adds a primary key constraint to the table.
|
|
30
|
+
*
|
|
31
|
+
* @template C
|
|
32
|
+
* @param {C} columns - Column names that will form the primary key.
|
|
33
|
+
* @returns {this} Returns the current builder instance for chaining.
|
|
34
|
+
*/
|
|
35
|
+
addPrimary<C extends T.ColumnKeys<M>[]>(columns: C): this;
|
|
36
|
+
/**
|
|
37
|
+
* Drops the primary key constraint from the table.
|
|
38
|
+
*
|
|
39
|
+
* @returns {this} Returns the current builder instance for chaining.
|
|
40
|
+
*/
|
|
41
|
+
dropPrimary(): this;
|
|
42
|
+
/**
|
|
43
|
+
* Adds a unique constraint to the table.
|
|
44
|
+
*
|
|
45
|
+
* If no name is provided, a default constraint name will be generated
|
|
46
|
+
* in the format: `ux_{table}_{column1_column2...}`.
|
|
47
|
+
*
|
|
48
|
+
* @template C
|
|
49
|
+
* @param {C} columns - Column names included in the unique constraint.
|
|
50
|
+
* @param {string} [name=""] - Optional unique constraint name.
|
|
51
|
+
* @returns {this} Returns the current builder instance for chaining.
|
|
52
|
+
*/
|
|
53
|
+
addUnique<C extends T.ColumnKeys<M>[]>(columns: C, name?: string): this;
|
|
54
|
+
/**
|
|
55
|
+
* Drops a unique constraint from the table.
|
|
56
|
+
*
|
|
57
|
+
* @param {string} name - The name of the unique constraint to drop.
|
|
58
|
+
* @returns {this} Returns the current builder instance for chaining.
|
|
59
|
+
*/
|
|
60
|
+
dropUnique(name: string): this;
|
|
61
|
+
/**
|
|
62
|
+
* Adds an index to the table.
|
|
63
|
+
*
|
|
64
|
+
* If no name is provided, a default index name will be generated
|
|
65
|
+
* in the format: `idx_{table}_{column1_column2...}`.
|
|
66
|
+
*
|
|
67
|
+
* @template C
|
|
68
|
+
* @param {C} columns - Column names included in the index.
|
|
69
|
+
* @param {string} [name=""] - Optional index name.
|
|
70
|
+
* @returns {this} Returns the current builder instance for chaining.
|
|
71
|
+
*/
|
|
72
|
+
addIndex<C extends T.ColumnKeys<M>[]>(columns: C, name?: string): this;
|
|
73
|
+
/**
|
|
74
|
+
* Drops an index from the table.
|
|
75
|
+
*
|
|
76
|
+
* @param {string} name - The name of the index to drop.
|
|
77
|
+
* @returns {this} Returns the current builder instance for chaining.
|
|
78
|
+
*/
|
|
79
|
+
dropIndex(name: string): this;
|
|
80
|
+
/**
|
|
81
|
+
* Adds a foreign key constraint to the table.
|
|
82
|
+
*
|
|
83
|
+
* This method defines a relationship between a column in the current table
|
|
84
|
+
* and a referenced column in another table. If no constraint name is provided,
|
|
85
|
+
* a deterministic name will be automatically generated based on the table
|
|
86
|
+
* and column names.
|
|
87
|
+
*
|
|
88
|
+
* The generated constraint name follows the format:
|
|
89
|
+
* `fk_{table(column)}_{referencedTable(referencedColumn)}`.
|
|
90
|
+
* If the generated name exceeds the database identifier length limit,
|
|
91
|
+
* a shortened version with a hash suffix will be used.
|
|
92
|
+
*
|
|
93
|
+
* @param {Object} params - Foreign key configuration.
|
|
94
|
+
* @param {string} params.column - The column in the current table that will act as the foreign key.
|
|
95
|
+
* @param {string} [params.constraint] - Optional constraint of the foreign key constraint.
|
|
96
|
+
* @param {string} [params.references] - The referenced column in the foreign table. Defaults to `"id"`.
|
|
97
|
+
* @param {(new () => Model) | string} params.on - The referenced table. This can be a Model constructor or a table name string.
|
|
98
|
+
* @param {"CASCADE" | "NO ACTION" | "RESTRICT" | "SET NULL"} params.onDelete - Action executed when the referenced row is deleted.
|
|
99
|
+
* @param {"CASCADE" | "NO ACTION" | "RESTRICT" | "SET NULL"} params.onUpdate - Action executed when the referenced row is updated.
|
|
100
|
+
*
|
|
101
|
+
* @returns {this} Returns the current builder instance for method chaining.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* await Schema
|
|
105
|
+
* .alterTable(User)
|
|
106
|
+
* .addForeignKey({
|
|
107
|
+
* references: {
|
|
108
|
+
* on : User
|
|
109
|
+
* },
|
|
110
|
+
* onDelete: 'CASCADE',
|
|
111
|
+
* onUpdate: 'CASCADE'
|
|
112
|
+
* })
|
|
113
|
+
* .run();
|
|
114
|
+
*/
|
|
115
|
+
addForeignKey({ column, name, references, onDelete, onUpdate }: {
|
|
116
|
+
column: string;
|
|
117
|
+
name?: string;
|
|
118
|
+
references: {
|
|
119
|
+
on: (new () => Model) | string;
|
|
120
|
+
column?: string;
|
|
121
|
+
};
|
|
122
|
+
onDelete?: "CASCADE" | "NO ACTION" | "RESTRICT" | "SET NULL";
|
|
123
|
+
onUpdate?: "CASCADE" | "NO ACTION" | "RESTRICT" | "SET NULL";
|
|
124
|
+
}): this;
|
|
125
|
+
/**
|
|
126
|
+
* Drops a foreign key constraint from the table.
|
|
127
|
+
*
|
|
128
|
+
* The specified foreign key constraint will be removed from the current table.
|
|
129
|
+
*
|
|
130
|
+
* @param {string} constraint - The name of the foreign key constraint to drop.
|
|
131
|
+
*
|
|
132
|
+
* @returns {this} Returns the current builder instance for method chaining.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* alterTable(User)
|
|
136
|
+
* .dropForeignKey("fk_users_role_id")
|
|
137
|
+
* .run();
|
|
138
|
+
*/
|
|
139
|
+
dropForeignKey(constraint: string): this;
|
|
140
|
+
/**
|
|
141
|
+
* Executes all queued schema modification queries sequentially.
|
|
142
|
+
*
|
|
143
|
+
* If a query fails, the error will be logged but execution will
|
|
144
|
+
* continue with the remaining queries.
|
|
145
|
+
*
|
|
146
|
+
* @async
|
|
147
|
+
* @returns {Promise<void>}
|
|
148
|
+
*/
|
|
149
|
+
run(): Promise<void>;
|
|
150
|
+
}
|
|
151
|
+
export { AlterTable };
|
|
152
|
+
export default AlterTable;
|