tspace-mysql 1.9.0 → 1.9.1-beta.1
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 +35 -15
- 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 +88 -77
- 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 +119 -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
|
@@ -13,11 +13,11 @@ declare const Config: Readonly<{
|
|
|
13
13
|
readonly USERNAME: string | undefined;
|
|
14
14
|
readonly PASSWORD: string;
|
|
15
15
|
readonly DATABASE: string | undefined;
|
|
16
|
-
readonly CONNECTION_LIMIT: string |
|
|
16
|
+
readonly CONNECTION_LIMIT: string | 10;
|
|
17
17
|
readonly DATE_STRINGS: string | false;
|
|
18
18
|
readonly CLUSTER: string | false;
|
|
19
19
|
readonly DRIVER: string;
|
|
20
|
-
readonly CACHE:
|
|
20
|
+
readonly CACHE: "memory" | "db" | "redis";
|
|
21
21
|
readonly CONNECTION_ERROR: string | false;
|
|
22
22
|
readonly CONNECTION_SUCCESS: string | false;
|
|
23
23
|
}>;
|
package/dist/lib/config/index.js
CHANGED
|
@@ -4,16 +4,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Config = exports.loadOptionsEnv = void 0;
|
|
7
|
-
const
|
|
7
|
+
const Package_1 = require("../core/Package");
|
|
8
8
|
const dotenv_1 = __importDefault(require("dotenv"));
|
|
9
9
|
const resolveEnvPath = (customEnv) => {
|
|
10
10
|
const NODE_ENV = customEnv ?? process.env?.NODE_ENV;
|
|
11
|
-
const env =
|
|
11
|
+
const env = Package_1.Package.path.join(Package_1.Package.path.resolve(), ".env");
|
|
12
12
|
if (NODE_ENV == null) {
|
|
13
13
|
return env;
|
|
14
14
|
}
|
|
15
|
-
const envWithNodeEnv =
|
|
16
|
-
if (
|
|
15
|
+
const envWithNodeEnv = Package_1.Package.path.join(Package_1.Package.path.resolve(), `.env.${NODE_ENV}`);
|
|
16
|
+
if (Package_1.Package.fs.existsSync(envWithNodeEnv)) {
|
|
17
17
|
return envWithNodeEnv;
|
|
18
18
|
}
|
|
19
19
|
return env;
|
|
@@ -21,16 +21,19 @@ const resolveEnvPath = (customEnv) => {
|
|
|
21
21
|
dotenv_1.default.config({ path: resolveEnvPath() });
|
|
22
22
|
const ENV = process.env;
|
|
23
23
|
const rawEnv = {
|
|
24
|
-
|
|
24
|
+
// general
|
|
25
|
+
HOST: ENV.DB_HOST ?? "localhost",
|
|
25
26
|
PORT: ENV.DB_PORT ?? 3306,
|
|
26
27
|
USERNAME: ENV.DB_USERNAME ?? ENV.DB_USER,
|
|
27
|
-
PASSWORD: ENV.DB_PASSWORD ??
|
|
28
|
+
PASSWORD: ENV.DB_PASSWORD ?? "",
|
|
28
29
|
DATABASE: ENV.DB_DATABASE,
|
|
29
|
-
CONNECTION_LIMIT: ENV.DB_CONNECTION_LIMIT ??
|
|
30
|
+
CONNECTION_LIMIT: ENV.DB_CONNECTION_LIMIT ?? 10,
|
|
31
|
+
// for mysql2 only
|
|
30
32
|
DATE_STRINGS: ENV.DB_DATE_STRINGS ?? false,
|
|
33
|
+
// options
|
|
31
34
|
CLUSTER: ENV.DB_CLUSTER ?? false,
|
|
32
|
-
DRIVER: ENV.DB_DRIVER ??
|
|
33
|
-
CACHE: ENV.DB_CACHE
|
|
35
|
+
DRIVER: ENV.DB_DRIVER ?? "mysql2",
|
|
36
|
+
CACHE: ENV.DB_CACHE,
|
|
34
37
|
CONNECTION_ERROR: ENV.DB_CONNECTION_ERROR ?? false,
|
|
35
38
|
CONNECTION_SUCCESS: ENV.DB_CONNECTION_SUCCESS ?? false,
|
|
36
39
|
};
|
|
@@ -39,16 +42,21 @@ const parseEnv = (env) => {
|
|
|
39
42
|
for (const [key, value] of Object.entries(env)) {
|
|
40
43
|
if (value == null)
|
|
41
44
|
continue;
|
|
42
|
-
if (value ===
|
|
45
|
+
if (value === "") {
|
|
43
46
|
parsed[key] = value;
|
|
44
47
|
continue;
|
|
45
48
|
}
|
|
46
|
-
if (
|
|
47
|
-
(
|
|
49
|
+
if (/^-?\d+$/.test(value)) {
|
|
50
|
+
if (Number.isSafeInteger(Number(value))) {
|
|
51
|
+
parsed[key] = Number(value);
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
parsed[key] = value;
|
|
48
55
|
continue;
|
|
49
56
|
}
|
|
50
|
-
if (typeof value ===
|
|
51
|
-
(
|
|
57
|
+
if (typeof value === "string" &&
|
|
58
|
+
(value.toLowerCase() === "true" || value.toLowerCase() === "false")) {
|
|
59
|
+
parsed[key] = value.toLowerCase() === "true";
|
|
52
60
|
continue;
|
|
53
61
|
}
|
|
54
62
|
parsed[key] = value;
|
|
@@ -62,11 +70,11 @@ const loadOptionsEnv = (customEnv) => {
|
|
|
62
70
|
const ENV = process.env;
|
|
63
71
|
const rawEnv = {
|
|
64
72
|
cluster: ENV.DB_CLUSTER ?? false,
|
|
65
|
-
driver: ENV.DB_DRIVER ??
|
|
73
|
+
driver: ENV.DB_DRIVER ?? "mysql2",
|
|
66
74
|
host: ENV.DB_HOST,
|
|
67
75
|
port: ENV.DB_PORT || 3306,
|
|
68
76
|
username: ENV.DB_USERNAME,
|
|
69
|
-
password: ENV.DB_PASSWORD ||
|
|
77
|
+
password: ENV.DB_PASSWORD || "",
|
|
70
78
|
database: ENV.DB_DATABASE,
|
|
71
79
|
};
|
|
72
80
|
const env = parseEnv(rawEnv);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,6 +62,7 @@ declare const CONSTANTS: Readonly<{
|
|
|
62
62
|
UPDATE: "UPDATE";
|
|
63
63
|
DELETE: "DELETE";
|
|
64
64
|
INSERT: "INSERT INTO";
|
|
65
|
+
DROP: "DROP";
|
|
65
66
|
DROP_DATABASE: "DROP DATABASE";
|
|
66
67
|
DROP_TABLE: "DROP TABLE";
|
|
67
68
|
DROP_VIEW: "DROP VIEW IF EXISTS";
|
|
@@ -74,6 +75,7 @@ declare const CONSTANTS: Readonly<{
|
|
|
74
75
|
CREATE_TABLE: "CREATE TABLE";
|
|
75
76
|
CREATE_TABLE_NOT_EXISTS: "CREATE TABLE IF NOT EXISTS";
|
|
76
77
|
CREATE_INDEX: "CREATE INDEX";
|
|
78
|
+
ADD_INDEX: "ADD INDEX";
|
|
77
79
|
ENGINE: "ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4";
|
|
78
80
|
DEFAULT: "DEFAULT";
|
|
79
81
|
RAND: "RAND()";
|
|
@@ -85,10 +87,13 @@ declare const CONSTANTS: Readonly<{
|
|
|
85
87
|
ON_UPDATE: "ON UPDATE";
|
|
86
88
|
ADD: "ADD";
|
|
87
89
|
CHANGE: "CHANGE";
|
|
90
|
+
CONSTRAINT: "CONSTRAINT";
|
|
88
91
|
ADD_CONSTRAINT: "ADD CONSTRAINT";
|
|
89
92
|
AFTER: "AFTER";
|
|
90
93
|
ALTER_TABLE: "ALTER TABLE";
|
|
91
94
|
ALTER_COLUMN: "ALTER COLUMN";
|
|
95
|
+
UNIQUE: "UNIQUE";
|
|
96
|
+
INDEX: "INDEX";
|
|
92
97
|
IFNULL: "IFNULL";
|
|
93
98
|
JSON_ARRAY: "JSON_ARRAY";
|
|
94
99
|
JSON_ARRAYAGG: "JSON_ARRAYAGG";
|
|
@@ -100,6 +105,8 @@ declare const CONSTANTS: Readonly<{
|
|
|
100
105
|
NULLIF: "NULLIF";
|
|
101
106
|
INFORMATION_SCHEMA: "INFORMATION_SCHEMA";
|
|
102
107
|
STATISTICS: "STATISTICS";
|
|
108
|
+
TYPE: "TYPE";
|
|
109
|
+
COLUMN: "COLUMN";
|
|
103
110
|
RELATIONSHIP: {
|
|
104
111
|
hasOne: string;
|
|
105
112
|
hasMany: string;
|
|
@@ -109,12 +116,14 @@ declare const CONSTANTS: Readonly<{
|
|
|
109
116
|
};
|
|
110
117
|
PATTERN: {
|
|
111
118
|
default: string;
|
|
112
|
-
|
|
119
|
+
snake_case: string;
|
|
113
120
|
camelCase: string;
|
|
114
121
|
};
|
|
115
122
|
ROW_LEVEL_LOCK: {
|
|
116
123
|
update: string;
|
|
117
124
|
share: string;
|
|
125
|
+
skipLocked: string;
|
|
126
|
+
nowait: string;
|
|
118
127
|
};
|
|
119
128
|
}>;
|
|
120
129
|
export { CONSTANTS };
|
|
@@ -65,6 +65,7 @@ const CONSTANTS = Object.freeze({
|
|
|
65
65
|
UPDATE: 'UPDATE',
|
|
66
66
|
DELETE: 'DELETE',
|
|
67
67
|
INSERT: 'INSERT INTO',
|
|
68
|
+
DROP: 'DROP',
|
|
68
69
|
DROP_DATABASE: 'DROP DATABASE',
|
|
69
70
|
DROP_TABLE: 'DROP TABLE',
|
|
70
71
|
DROP_VIEW: 'DROP VIEW IF EXISTS',
|
|
@@ -77,6 +78,7 @@ const CONSTANTS = Object.freeze({
|
|
|
77
78
|
CREATE_TABLE: 'CREATE TABLE',
|
|
78
79
|
CREATE_TABLE_NOT_EXISTS: 'CREATE TABLE IF NOT EXISTS',
|
|
79
80
|
CREATE_INDEX: 'CREATE INDEX',
|
|
81
|
+
ADD_INDEX: 'ADD INDEX',
|
|
80
82
|
ENGINE: 'ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4',
|
|
81
83
|
DEFAULT: 'DEFAULT',
|
|
82
84
|
RAND: 'RAND()',
|
|
@@ -88,10 +90,13 @@ const CONSTANTS = Object.freeze({
|
|
|
88
90
|
ON_UPDATE: 'ON UPDATE',
|
|
89
91
|
ADD: 'ADD',
|
|
90
92
|
CHANGE: 'CHANGE',
|
|
93
|
+
CONSTRAINT: 'CONSTRAINT',
|
|
91
94
|
ADD_CONSTRAINT: 'ADD CONSTRAINT',
|
|
92
95
|
AFTER: 'AFTER',
|
|
93
96
|
ALTER_TABLE: 'ALTER TABLE',
|
|
94
97
|
ALTER_COLUMN: 'ALTER COLUMN',
|
|
98
|
+
UNIQUE: 'UNIQUE',
|
|
99
|
+
INDEX: 'INDEX',
|
|
95
100
|
IFNULL: 'IFNULL',
|
|
96
101
|
JSON_ARRAY: 'JSON_ARRAY',
|
|
97
102
|
JSON_ARRAYAGG: 'JSON_ARRAYAGG',
|
|
@@ -103,6 +108,8 @@ const CONSTANTS = Object.freeze({
|
|
|
103
108
|
NULLIF: 'NULLIF',
|
|
104
109
|
INFORMATION_SCHEMA: 'INFORMATION_SCHEMA',
|
|
105
110
|
STATISTICS: 'STATISTICS',
|
|
111
|
+
TYPE: 'TYPE',
|
|
112
|
+
COLUMN: 'COLUMN',
|
|
106
113
|
RELATIONSHIP: {
|
|
107
114
|
hasOne: 'hasOne',
|
|
108
115
|
hasMany: 'hasMany',
|
|
@@ -112,12 +119,14 @@ const CONSTANTS = Object.freeze({
|
|
|
112
119
|
},
|
|
113
120
|
PATTERN: {
|
|
114
121
|
default: 'default',
|
|
115
|
-
|
|
122
|
+
snake_case: 'snake_case',
|
|
116
123
|
camelCase: 'camelCase'
|
|
117
124
|
},
|
|
118
125
|
ROW_LEVEL_LOCK: {
|
|
119
126
|
update: 'FOR UPDATE',
|
|
120
|
-
share: 'LOCK IN SHARE MODE'
|
|
127
|
+
share: 'LOCK IN SHARE MODE',
|
|
128
|
+
skipLocked: 'SKIP LOCKED',
|
|
129
|
+
nowait: 'NOWAIT'
|
|
121
130
|
}
|
|
122
131
|
});
|
|
123
132
|
exports.CONSTANTS = CONSTANTS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/constants/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/constants/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { StateManager } from
|
|
2
|
-
import { TUtils } from
|
|
3
|
-
import { Join } from
|
|
4
|
-
import type { TPagination, TConstant, TDriver } from
|
|
1
|
+
import { StateManager } from "../StateManager";
|
|
2
|
+
import { TUtils } from "../../utils";
|
|
3
|
+
import { Join } from "../Join";
|
|
4
|
+
import type { TPagination, TConstant, TDriver } from "../../types";
|
|
5
|
+
import { Builder } from "../Builder";
|
|
5
6
|
declare abstract class AbstractBuilder {
|
|
6
7
|
protected $utils: TUtils;
|
|
7
8
|
protected $database: string;
|
|
@@ -14,13 +15,17 @@ declare abstract class AbstractBuilder {
|
|
|
14
15
|
};
|
|
15
16
|
protected $driver: TDriver;
|
|
16
17
|
protected $cluster: boolean;
|
|
17
|
-
protected $constants:
|
|
18
|
+
protected $constants: {
|
|
19
|
+
(): TConstant;
|
|
20
|
+
<K extends keyof TConstant>(name?: K): TConstant[K];
|
|
21
|
+
};
|
|
18
22
|
protected $state: StateManager;
|
|
19
23
|
protected $pool: {
|
|
20
24
|
query: Function;
|
|
21
25
|
set: Function;
|
|
22
26
|
get: Function;
|
|
23
27
|
queryBuilder: Function;
|
|
28
|
+
transaction: Function;
|
|
24
29
|
};
|
|
25
30
|
abstract void(): this;
|
|
26
31
|
abstract debug(): this;
|
|
@@ -45,11 +50,10 @@ declare abstract class AbstractBuilder {
|
|
|
45
50
|
abstract whereIn(column: string, arrayValues: any[]): this;
|
|
46
51
|
abstract orWhereIn(column: string, arrayValues: any[]): this;
|
|
47
52
|
abstract whereNotIn(column: string, arrayValues: any[]): this;
|
|
48
|
-
abstract whereSubQuery(column: string, subQuery: string): this;
|
|
49
53
|
abstract whereNotSubQuery(column: string, subQuery: string): this;
|
|
50
54
|
abstract orWhereSubQuery(column: string, subQuery: string): this;
|
|
51
|
-
abstract whereBetween(column: string, arrayValue: any
|
|
52
|
-
abstract whereNotBetween(column: string, arrayValue: any
|
|
55
|
+
abstract whereBetween(column: string, arrayValue: [any, any]): this;
|
|
56
|
+
abstract whereNotBetween(column: string, arrayValue: [any, any]): this;
|
|
53
57
|
abstract having(condition: string): this;
|
|
54
58
|
abstract join(pk: string | ((join: Join) => Join), fk?: string): this;
|
|
55
59
|
abstract rightJoin(pk: string | ((join: Join) => Join), fk?: string): this;
|
|
@@ -73,30 +77,31 @@ declare abstract class AbstractBuilder {
|
|
|
73
77
|
abstract limit(number: number): this;
|
|
74
78
|
abstract insert(data: Record<string, any>, { database }: {
|
|
75
79
|
database?: string;
|
|
76
|
-
}):
|
|
80
|
+
}): Builder<"create">;
|
|
77
81
|
abstract create(data: Record<string, any>, { database }: {
|
|
78
82
|
database?: string;
|
|
79
|
-
}):
|
|
80
|
-
abstract update(data: Record<string, any>, updateNotExists?: string[]):
|
|
81
|
-
abstract updateMany(data: Record<string, any>, updateNotExists?: string[]):
|
|
82
|
-
abstract insertNotExists(data: Record<string, any>):
|
|
83
|
-
abstract createNotExists(data: Record<string, any>):
|
|
84
|
-
abstract insertOrUpdate(data: Record<string, any>):
|
|
85
|
-
abstract createOrUpdate(data: Record<string, any>):
|
|
86
|
-
abstract updateOrInsert(data: Record<string, any>):
|
|
87
|
-
abstract updateOrCreate(data: Record<string, any>):
|
|
83
|
+
}): Builder<"create">;
|
|
84
|
+
abstract update(data: Record<string, any>, updateNotExists?: string[]): Builder<"update">;
|
|
85
|
+
abstract updateMany(data: Record<string, any>, updateNotExists?: string[]): Builder<"updateMany">;
|
|
86
|
+
abstract insertNotExists(data: Record<string, any>): Builder<"create"> | null;
|
|
87
|
+
abstract createNotExists(data: Record<string, any>): Builder<"create"> | null;
|
|
88
|
+
abstract insertOrUpdate(data: Record<string, any>): Builder<"createOrUpdate">;
|
|
89
|
+
abstract createOrUpdate(data: Record<string, any>): Builder<"createOrUpdate">;
|
|
90
|
+
abstract updateOrInsert(data: Record<string, any>): Builder<"createOrUpdate">;
|
|
91
|
+
abstract updateOrCreate(data: Record<string, any>): Builder<"createOrUpdate">;
|
|
88
92
|
abstract createMultiple(data: Record<string, any>[], { database }: {
|
|
89
93
|
database?: string;
|
|
90
|
-
}):
|
|
94
|
+
}): Builder<"createMany">;
|
|
91
95
|
abstract insertMultiple(data: Record<string, any>[], { database }: {
|
|
92
96
|
database?: string;
|
|
93
|
-
}):
|
|
97
|
+
}): Builder<"createMany">;
|
|
94
98
|
abstract createMany(data: Record<string, any>[], { database }: {
|
|
95
99
|
database?: string;
|
|
96
|
-
}):
|
|
100
|
+
}): Builder<"createMany">;
|
|
97
101
|
abstract insertMany(data: Record<string, any>[], { database }: {
|
|
98
102
|
database?: string;
|
|
99
|
-
}):
|
|
103
|
+
}): Builder<"createMany">;
|
|
104
|
+
abstract save(): Promise<any>;
|
|
100
105
|
abstract except(...columns: string[]): this;
|
|
101
106
|
abstract drop(): Promise<any>;
|
|
102
107
|
abstract truncate({ force }: {
|
|
@@ -133,7 +138,6 @@ declare abstract class AbstractBuilder {
|
|
|
133
138
|
abstract delete(): Promise<boolean>;
|
|
134
139
|
abstract deleteMany(): Promise<boolean>;
|
|
135
140
|
abstract exists(): Promise<boolean>;
|
|
136
|
-
abstract save(): Promise<Record<string, any> | any[] | null | undefined>;
|
|
137
141
|
abstract increment(column: string, value: number): Promise<number>;
|
|
138
142
|
abstract decrement(column: string, value: number): Promise<number>;
|
|
139
143
|
abstract faker(round: number, cb?: Function): Promise<void>;
|
|
@@ -1,29 +1,27 @@
|
|
|
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.AbstractBuilder = void 0;
|
|
7
|
-
const config_1 =
|
|
4
|
+
const config_1 = require("../../config");
|
|
8
5
|
class AbstractBuilder {
|
|
9
6
|
$utils;
|
|
10
|
-
$database = String(config_1.
|
|
7
|
+
$database = String(config_1.Config.DATABASE ?? '');
|
|
11
8
|
$credentials = {
|
|
12
|
-
host: config_1.
|
|
13
|
-
port: Number(config_1.
|
|
14
|
-
database: String(config_1.
|
|
15
|
-
username: String(config_1.
|
|
16
|
-
password: config_1.
|
|
9
|
+
host: config_1.Config.HOST,
|
|
10
|
+
port: Number(config_1.Config.PORT),
|
|
11
|
+
database: String(config_1.Config.DATABASE),
|
|
12
|
+
username: String(config_1.Config.USERNAME),
|
|
13
|
+
password: config_1.Config.PASSWORD
|
|
17
14
|
};
|
|
18
|
-
$driver = String(config_1.
|
|
19
|
-
$cluster = Boolean(config_1.
|
|
15
|
+
$driver = String(config_1.Config.DRIVER ?? 'mysql');
|
|
16
|
+
$cluster = Boolean(config_1.Config.CLUSTER ?? false);
|
|
20
17
|
$constants;
|
|
21
18
|
$state;
|
|
22
19
|
$pool = {
|
|
23
20
|
query: (sql) => { },
|
|
24
21
|
set: (pool) => { },
|
|
25
22
|
get: () => { },
|
|
26
|
-
queryBuilder: () => { }
|
|
23
|
+
queryBuilder: () => { },
|
|
24
|
+
transaction: () => { },
|
|
27
25
|
};
|
|
28
26
|
}
|
|
29
27
|
exports.AbstractBuilder = AbstractBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractBuilder.js","sourceRoot":"","sources":["../../../../src/lib/core/Abstracts/AbstractBuilder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractBuilder.js","sourceRoot":"","sources":["../../../../src/lib/core/Abstracts/AbstractBuilder.ts"],"names":[],"mappings":";;;AAGA,yCAA4C;AAO5C,MAAe,eAAe;IAEhB,MAAM,CAAU;IAEhB,SAAS,GAAY,MAAM,CAAC,eAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAEnD,YAAY,GAAG;QACrB,IAAI,EAAO,eAAM,CAAC,IAAI;QACtB,IAAI,EAAO,MAAM,CAAC,eAAM,CAAC,IAAI,CAAC;QAC9B,QAAQ,EAAG,MAAM,CAAC,eAAM,CAAC,QAAQ,CAAC;QAClC,QAAQ,EAAG,MAAM,CAAC,eAAM,CAAC,QAAQ,CAAC;QAClC,QAAQ,EAAG,eAAM,CAAC,QAAQ;KAC7B,CAAA;IAES,OAAO,GAAI,MAAM,CAAC,eAAM,CAAC,MAAM,IAAI,OAAO,CAAY,CAAC;IAEvD,QAAQ,GAAa,OAAO,CAAC,eAAM,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;IAEtD,UAAU,CAGlB;IAEQ,MAAM,CAAgB;IAEtB,KAAK,GAMX;QACA,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,GAAE,CAAC;QAC1B,GAAG,EAAE,CAAC,IAAU,EAAE,EAAE,GAAE,CAAC;QACvB,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;QACb,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;QACtB,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;KACxB,CAAA;CAyFJ;AAES,0CAAe;AACzB,kBAAe,eAAe,CAAA"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import Builder from '../Builder';
|
|
2
|
-
import type { TPoolConnected, TConnectionOptions, TConnectionTransaction } from '../../types';
|
|
2
|
+
import type { TPoolConnected, TConnectionOptions, TConnectionTransaction, TConnection, TPoolEvent } from '../../types';
|
|
3
3
|
declare abstract class AbstractDB extends Builder {
|
|
4
4
|
abstract beginTransaction(): Promise<TConnectionTransaction>;
|
|
5
|
+
abstract transaction<T>(handler: (conn: TConnection) => Promise<T>): Promise<T>;
|
|
5
6
|
abstract generateUUID(): string;
|
|
6
7
|
abstract raw(sql: string): string;
|
|
8
|
+
abstract query(sql: string, parameters: Record<string, any>): Promise<any>;
|
|
9
|
+
abstract event(event: TPoolEvent, callback: (data: any) => any): Promise<void>;
|
|
7
10
|
abstract escape(sql: string): string;
|
|
8
11
|
abstract escapeXSS(sql: string): string;
|
|
9
12
|
abstract snakeCase(sql: string): string;
|
|
@@ -15,7 +18,7 @@ declare abstract class AbstractDB extends Builder {
|
|
|
15
18
|
when: string;
|
|
16
19
|
then: string;
|
|
17
20
|
}[], final?: string): string | [];
|
|
18
|
-
abstract getConnection(options: TConnectionOptions):
|
|
21
|
+
abstract getConnection(options: TConnectionOptions): TPoolConnected;
|
|
19
22
|
}
|
|
20
23
|
export { AbstractDB };
|
|
21
24
|
export default AbstractDB;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractDB.js","sourceRoot":"","sources":["../../../../src/lib/core/Abstracts/AbstractDB.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAmC;
|
|
1
|
+
{"version":3,"file":"AbstractDB.js","sourceRoot":"","sources":["../../../../src/lib/core/Abstracts/AbstractDB.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAmC;AASnC,MAAe,UAAW,SAAQ,iBAAO;CAiBxC;AAEQ,gCAAU;AACnB,kBAAe,UAAU,CAAA"}
|
|
@@ -3,8 +3,9 @@ import { Builder } from '../Builder';
|
|
|
3
3
|
import { RelationManager } from '../RelationManager';
|
|
4
4
|
import { Model } from '../Model';
|
|
5
5
|
import type { T } from '../UtilityTypes';
|
|
6
|
-
import type { TPattern, TValidateSchema, TCache, TRelationOptions, TRelationQueryOptions } from '../../types';
|
|
7
|
-
|
|
6
|
+
import type { TPattern, TValidateSchema, TCache, TRelationOptions, TRelationQueryOptions, TModelOrObject } from '../../types';
|
|
7
|
+
import { JoinModel } from '../JoinModel';
|
|
8
|
+
declare abstract class AbstractModel extends Builder<any> {
|
|
8
9
|
protected $cache: TCache;
|
|
9
10
|
protected $relation: RelationManager;
|
|
10
11
|
protected $schema: Record<string, Blueprint>;
|
|
@@ -76,6 +77,10 @@ declare abstract class AbstractModel extends Builder {
|
|
|
76
77
|
abstract relationsAll<K extends T.RelationKeys<this>>(...nameRelations: K[]): this;
|
|
77
78
|
abstract relationsCount<K extends T.RelationKeys<this>>(...nameRelations: K[]): this;
|
|
78
79
|
abstract relationsTrashed<K extends T.RelationKeys<this>>(...nameRelations: K[]): this;
|
|
80
|
+
abstract joinModel(m1: TModelOrObject | ((join: JoinModel) => JoinModel), m2?: TModelOrObject): this;
|
|
81
|
+
abstract rightJoinModel(m1: TModelOrObject | ((join: JoinModel) => JoinModel), m2?: TModelOrObject): this;
|
|
82
|
+
abstract leftJoinModel(m1: TModelOrObject | ((join: JoinModel) => JoinModel), m2?: TModelOrObject): this;
|
|
83
|
+
abstract crossJoinModel(m1: TModelOrObject | ((join: JoinModel) => JoinModel), m2?: TModelOrObject): this;
|
|
79
84
|
}
|
|
80
85
|
export { AbstractModel };
|
|
81
86
|
export default AbstractModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractModel.js","sourceRoot":"","sources":["../../../../src/lib/core/Abstracts/AbstractModel.ts"],"names":[],"mappings":";;;AACA,wCAA8C;
|
|
1
|
+
{"version":3,"file":"AbstractModel.js","sourceRoot":"","sources":["../../../../src/lib/core/Abstracts/AbstractModel.ts"],"names":[],"mappings":";;;AACA,wCAA8C;AAa9C,MAAe,aAAc,SAAQ,iBAAY;IAEnC,MAAM,CAAsB;IAC5B,SAAS,CAA4B;IACrC,OAAO,CAAyC;IAChD,eAAe,CAAsB;IACrC,MAAM,CAAsB;IAC5B,QAAQ,CAAsB;IAC9B,QAAQ,CAAqC;IAC7C,OAAO,CAAsC;IAC7C,UAAU,CAAmC;IAC7C,cAAc,CAA+B;IAC7C,UAAU,CAAmB;IAC7B,WAAW,CAAkB;IAC7B,KAAK,CAAwB;IAC7B,WAAW,CAAiB;IAC5B,iBAAiB,CAAgD;IACjE,iBAAiB,CAAW;IAC5B,SAAS,CAKjB;IACQ,WAAW,CAGZ;CAuJZ;AAEQ,sCAAa;AACtB,kBAAe,aAAa,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractView.js","sourceRoot":"","sources":["../../../../src/lib/core/Abstracts/AbstractView.ts"],"names":[],"mappings":";;;AAAA,oCAAgC;
|
|
1
|
+
{"version":3,"file":"AbstractView.js","sourceRoot":"","sources":["../../../../src/lib/core/Abstracts/AbstractView.ts"],"names":[],"mappings":";;;AAAA,oCAAgC;AAChC,MAAe,YAAgE,SAAQ,aAAY;CAMlG;AAEQ,oCAAY;AACrB,kBAAe,YAAY,CAAA"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
+
import { type T } from "./UtilityTypes";
|
|
1
2
|
import { Model } from "./Model";
|
|
3
|
+
type ExtendType = NumberConstructor | StringConstructor | BooleanConstructor | DateConstructor | readonly ExtendType[] | {
|
|
4
|
+
[_: string]: ExtendType;
|
|
5
|
+
};
|
|
6
|
+
type ResolveType<T> = T extends NumberConstructor ? number : T extends StringConstructor ? string : T extends BooleanConstructor ? boolean : T extends DateConstructor ? Date : T extends readonly (infer U)[] ? ResolveType<U>[] : T extends Record<string, any> ? {
|
|
7
|
+
[K in keyof T]: ResolveType<T[K]>;
|
|
8
|
+
} : never;
|
|
2
9
|
/**
|
|
3
10
|
* Class 'Blueprint' is used to make the schema for table
|
|
4
11
|
* @example
|
|
@@ -6,8 +13,8 @@ import { Model } from "./Model";
|
|
|
6
13
|
* import sql from '../../../build/lib/core/SqlLike';
|
|
7
14
|
* await new Schema().table('users',{
|
|
8
15
|
* id : Blueprint.int().notNull().primary().autoIncrement(),
|
|
9
|
-
* name : Blueprint.varchar(255).default('my name'),
|
|
10
|
-
* email : Blueprint.varchar(255).unique(),
|
|
16
|
+
* name : Blueprint.varchar(255).default('my name').index(),
|
|
17
|
+
* email : Blueprint.varchar(255).unique().compositeIndex(['verify']), // composite index email,verify
|
|
11
18
|
* json : Blueprint.json().null(),
|
|
12
19
|
* verify : Blueprint.tinyInt(1).notNull(),
|
|
13
20
|
* created_at : Blueprint.timestamp().null(),
|
|
@@ -22,9 +29,11 @@ declare class Blueprint<T = any> {
|
|
|
22
29
|
private _attributes;
|
|
23
30
|
private _foreignKey;
|
|
24
31
|
private _index;
|
|
32
|
+
private _compositeIndex;
|
|
25
33
|
private _column;
|
|
26
34
|
private _isVirtual;
|
|
27
35
|
private _isEnum;
|
|
36
|
+
private _isNull;
|
|
28
37
|
private _sql;
|
|
29
38
|
private _valueType;
|
|
30
39
|
/**
|
|
@@ -317,13 +326,13 @@ declare class Blueprint<T = any> {
|
|
|
317
326
|
* @param {...string} enums n1, n2, n3, ...n
|
|
318
327
|
* @return {Blueprint<T>} Blueprint
|
|
319
328
|
*/
|
|
320
|
-
static enum<K extends string |
|
|
329
|
+
static enum<K extends string | Record<string, string>>(...enums: K[]): Blueprint<K extends string ? `${K & string}` : `${K[keyof K] & string}`>;
|
|
321
330
|
/**
|
|
322
331
|
* Assign type 'ENUM'
|
|
323
332
|
* @param {...string} enums n1, n2, n3, ...n
|
|
324
333
|
* @return {Blueprint<T>} Blueprint
|
|
325
334
|
*/
|
|
326
|
-
enum<K extends string |
|
|
335
|
+
enum<K extends string | Record<string, string>>(...enums: K[]): Blueprint<K extends string ? `${K & string}` : `${K[keyof K] & string}`>;
|
|
327
336
|
/**
|
|
328
337
|
* Assign type 'DATE' in table
|
|
329
338
|
* @static
|
|
@@ -387,12 +396,12 @@ declare class Blueprint<T = any> {
|
|
|
387
396
|
* Assign attributes 'NOT NULL' in table
|
|
388
397
|
* @return {Blueprint<T>} Blueprint
|
|
389
398
|
*/
|
|
390
|
-
notNull(): Blueprint<T
|
|
399
|
+
notNull(): Blueprint<NonNullable<T>>;
|
|
391
400
|
/**
|
|
392
401
|
* Assign attributes 'NOT NULL' in table
|
|
393
402
|
* @return {Blueprint<T>} Blueprint
|
|
394
403
|
*/
|
|
395
|
-
notnull(): Blueprint<T
|
|
404
|
+
notnull(): Blueprint<NonNullable<T>>;
|
|
396
405
|
/**
|
|
397
406
|
* Assign attributes 'PRIMARY KEY' in table
|
|
398
407
|
* @return {Blueprint<T>} Blueprint
|
|
@@ -403,13 +412,7 @@ declare class Blueprint<T = any> {
|
|
|
403
412
|
* @param {string | number} value default value
|
|
404
413
|
* @return {Blueprint<T>} Blueprint
|
|
405
414
|
*/
|
|
406
|
-
default(value: string
|
|
407
|
-
/**
|
|
408
|
-
* Assign attributes 'defaultValue' in table
|
|
409
|
-
* @param {string | number} value default value
|
|
410
|
-
* @return {Blueprint<T>} Blueprint
|
|
411
|
-
*/
|
|
412
|
-
defaultValue(value: string | number | boolean): Blueprint<T>;
|
|
415
|
+
default<I extends T>(value: I): Blueprint<string extends T ? T.Default<I> : number extends T ? T.Default<I> : boolean extends T ? T.Default<I> : `${T & string}` | null>;
|
|
413
416
|
/**
|
|
414
417
|
* Assign attributes 'default currentTimestamp' in table
|
|
415
418
|
* @return {Blueprint<T>} Blueprint
|
|
@@ -452,6 +455,18 @@ declare class Blueprint<T = any> {
|
|
|
452
455
|
* @return {Blueprint<T>} Blueprint
|
|
453
456
|
*/
|
|
454
457
|
index(name?: string): Blueprint<T>;
|
|
458
|
+
/**
|
|
459
|
+
* Assign attributes 'index' in table
|
|
460
|
+
* @param {string} name of index
|
|
461
|
+
* @return {Blueprint<T>} Blueprint
|
|
462
|
+
*/
|
|
463
|
+
compositeIndex(columns: string[], name?: string): Blueprint<T>;
|
|
464
|
+
/**
|
|
465
|
+
* Assign type to blueprint
|
|
466
|
+
* @param {NumberConstructor|StringConstructor|BooleanConstructor|DateConstructor} type
|
|
467
|
+
* @return {Blueprint<T>} Blueprint
|
|
468
|
+
*/
|
|
469
|
+
transform<T extends ExtendType>(type: T): Blueprint<ResolveType<T>>;
|
|
455
470
|
get sql(): {
|
|
456
471
|
select?: string;
|
|
457
472
|
where?: string;
|
|
@@ -463,11 +478,16 @@ declare class Blueprint<T = any> {
|
|
|
463
478
|
get attributes(): string[];
|
|
464
479
|
get foreignKey(): Record<string, any> | null;
|
|
465
480
|
get indexKey(): string | null;
|
|
466
|
-
get
|
|
481
|
+
get compositeIndexKey(): {
|
|
482
|
+
columns: string[];
|
|
483
|
+
name?: string;
|
|
484
|
+
} | null;
|
|
485
|
+
get defaultValue(): string | number | null;
|
|
486
|
+
get valueType(): ExtendType;
|
|
467
487
|
get enums(): string[];
|
|
468
|
-
get valueDefault(): unknown;
|
|
469
488
|
get isVirtual(): boolean;
|
|
470
489
|
get isEnum(): boolean;
|
|
490
|
+
get isNull(): boolean;
|
|
471
491
|
private _addAssignType;
|
|
472
492
|
private _addAssignAttribute;
|
|
473
493
|
}
|