apeframework 0.0.0-dev.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/LICENSE +21 -0
- package/README.md +55 -0
- package/api/api.d.ts +7 -0
- package/api/api.js +2 -0
- package/api/api.ts +8 -0
- package/api/auth.d.ts +9 -0
- package/api/auth.js +11 -0
- package/api/auth.ts +9 -0
- package/api/config.d.ts +13 -0
- package/api/config.js +59 -0
- package/api/config.ts +69 -0
- package/api/endpoint.d.ts +20 -0
- package/api/endpoint.js +5 -0
- package/api/endpoint.ts +23 -0
- package/api/handler.d.ts +8 -0
- package/api/handler.js +13 -0
- package/api/handler.ts +23 -0
- package/api/index.d.ts +7 -0
- package/api/index.js +187 -0
- package/api/index.ts +97 -0
- package/api/route.d.ts +6 -0
- package/api/route.js +2 -0
- package/api/route.ts +4 -0
- package/api/router.d.ts +4 -0
- package/api/router.js +111 -0
- package/api/router.ts +36 -0
- package/api/schema.d.ts +29 -0
- package/api/schema.js +69 -0
- package/api/schema.ts +98 -0
- package/app/app.d.ts +6 -0
- package/app/app.js +2 -0
- package/app/app.ts +7 -0
- package/app/boot.d.ts +4 -0
- package/app/boot.js +2 -0
- package/app/boot.ts +5 -0
- package/app/bundle.d.ts +14 -0
- package/app/bundle.js +2 -0
- package/app/bundle.ts +15 -0
- package/app/config.d.ts +4 -0
- package/app/config.js +9 -0
- package/app/config.ts +9 -0
- package/app/index.d.ts +9 -0
- package/app/index.js +103 -0
- package/app/index.ts +32 -0
- package/bin/ape-cli-ts.js +4 -0
- package/bin/ape-cli.js +2 -0
- package/cli/command.d.ts +4 -0
- package/cli/command.js +2 -0
- package/cli/command.ts +7 -0
- package/cli/index.d.ts +2 -0
- package/cli/index.js +103 -0
- package/cli/index.ts +41 -0
- package/cli/internal/api.d.ts +3 -0
- package/cli/internal/api.js +110 -0
- package/cli/internal/api.ts +38 -0
- package/cli/internal/index.d.ts +2 -0
- package/cli/internal/index.js +13 -0
- package/cli/internal/index.ts +9 -0
- package/cli/internal/migration.d.ts +3 -0
- package/cli/internal/migration.js +214 -0
- package/cli/internal/migration.ts +110 -0
- package/cli/internal/queue.d.ts +3 -0
- package/cli/internal/queue.js +147 -0
- package/cli/internal/queue.ts +60 -0
- package/cli/utils.d.ts +18 -0
- package/cli/utils.js +52 -0
- package/cli/utils.ts +48 -0
- package/config/config.d.ts +5 -0
- package/config/config.js +2 -0
- package/config/config.ts +6 -0
- package/config/configuration.d.ts +63 -0
- package/config/configuration.js +2 -0
- package/config/configuration.ts +72 -0
- package/config/default.d.ts +33 -0
- package/config/default.js +34 -0
- package/config/default.ts +40 -0
- package/config/env.d.ts +66 -0
- package/config/env.js +72 -0
- package/config/env.ts +79 -0
- package/config/index.d.ts +8 -0
- package/config/index.js +91 -0
- package/config/index.ts +101 -0
- package/config/loadFile.d.ts +2 -0
- package/config/loadFile.js +13 -0
- package/config/loadFile.ts +9 -0
- package/config/node.d.ts +5 -0
- package/config/node.js +11 -0
- package/config/node.ts +7 -0
- package/config/store.d.ts +6 -0
- package/config/store.js +20 -0
- package/config/store.ts +15 -0
- package/db/config/index.d.ts +10 -0
- package/db/config/index.js +43 -0
- package/db/config/index.ts +35 -0
- package/db/config/memory.d.ts +3 -0
- package/db/config/memory.js +15 -0
- package/db/config/memory.ts +13 -0
- package/db/config/mysql.d.ts +3 -0
- package/db/config/mysql.js +56 -0
- package/db/config/mysql.ts +58 -0
- package/db/config/postgres.d.ts +3 -0
- package/db/config/postgres.js +59 -0
- package/db/config/postgres.ts +61 -0
- package/db/config/sqlite.d.ts +3 -0
- package/db/config/sqlite.js +21 -0
- package/db/config/sqlite.ts +20 -0
- package/db/database.d.ts +3 -0
- package/db/database.js +3 -0
- package/db/database.ts +5 -0
- package/db/index.d.ts +10 -0
- package/db/index.js +32 -0
- package/db/index.ts +26 -0
- package/db/postProcess.d.ts +3 -0
- package/db/postProcess.js +25 -0
- package/db/postProcess.ts +27 -0
- package/db/schema/builder/_.d.ts +30 -0
- package/db/schema/builder/_.js +87 -0
- package/db/schema/builder/_.ts +101 -0
- package/db/schema/builder/columnBuilder.d.ts +7 -0
- package/db/schema/builder/columnBuilder.js +14 -0
- package/db/schema/builder/columnBuilder.ts +15 -0
- package/db/schema/builder/dataType.d.ts +28 -0
- package/db/schema/builder/dataType.js +170 -0
- package/db/schema/builder/dataType.ts +184 -0
- package/db/schema/builder/index.d.ts +15 -0
- package/db/schema/builder/index.js +42 -0
- package/db/schema/builder/index.ts +50 -0
- package/db/schema/builder/tableBuilder.d.ts +45 -0
- package/db/schema/builder/tableBuilder.js +307 -0
- package/db/schema/builder/tableBuilder.ts +409 -0
- package/db/schema/config.d.ts +4 -0
- package/db/schema/config.js +5 -0
- package/db/schema/config.ts +3 -0
- package/db/schema/index.d.ts +7 -0
- package/db/schema/index.js +252 -0
- package/db/schema/index.ts +88 -0
- package/db/schema/migration.d.ts +6 -0
- package/db/schema/migration.js +2 -0
- package/db/schema/migration.ts +7 -0
- package/db/schema/migrationList.d.ts +5 -0
- package/db/schema/migrationList.js +2 -0
- package/db/schema/migrationList.ts +5 -0
- package/db/schema/migrationSource.d.ts +10 -0
- package/db/schema/migrationSource.js +60 -0
- package/db/schema/migrationSource.ts +24 -0
- package/db/schema/schema.d.ts +6 -0
- package/db/schema/schema.js +2 -0
- package/db/schema/schema.ts +7 -0
- package/db/utils/index.d.ts +7 -0
- package/db/utils/index.js +10 -0
- package/db/utils/index.ts +8 -0
- package/db/utils/insertGetKey.d.ts +8 -0
- package/db/utils/insertGetKey.js +109 -0
- package/db/utils/insertGetKey.ts +80 -0
- package/i18n/config.d.ts +4 -0
- package/i18n/config.js +9 -0
- package/i18n/config.ts +9 -0
- package/i18n/i18n.d.ts +5 -0
- package/i18n/i18n.js +2 -0
- package/i18n/i18n.ts +6 -0
- package/i18n/index.d.ts +8 -0
- package/i18n/index.js +155 -0
- package/i18n/index.ts +42 -0
- package/i18n/internationalization.d.ts +3 -0
- package/i18n/internationalization.js +2 -0
- package/i18n/internationalization.ts +5 -0
- package/i18n/translation.d.ts +4 -0
- package/i18n/translation.js +2 -0
- package/i18n/translation.ts +4 -0
- package/jwt/config.d.ts +5 -0
- package/jwt/config.js +12 -0
- package/jwt/config.ts +11 -0
- package/jwt/index.d.ts +8 -0
- package/jwt/index.js +90 -0
- package/jwt/index.ts +60 -0
- package/jwt/jwt.d.ts +6 -0
- package/jwt/jwt.js +2 -0
- package/jwt/jwt.ts +19 -0
- package/jwt/user.d.ts +4 -0
- package/jwt/user.js +2 -0
- package/jwt/user.ts +4 -0
- package/log/config.d.ts +23 -0
- package/log/config.js +47 -0
- package/log/config.ts +43 -0
- package/log/index.d.ts +4 -0
- package/log/index.js +9 -0
- package/log/index.ts +9 -0
- package/log/logger.d.ts +3 -0
- package/log/logger.js +2 -0
- package/log/logger.ts +5 -0
- package/mail/config.d.ts +4 -0
- package/mail/config.js +5 -0
- package/mail/config.ts +3 -0
- package/mail/email.d.ts +20 -0
- package/mail/email.js +2 -0
- package/mail/email.ts +21 -0
- package/mail/index.d.ts +2 -0
- package/mail/index.js +4 -0
- package/mail/index.ts +3 -0
- package/mail/mail.d.ts +12 -0
- package/mail/mail.js +2 -0
- package/mail/mail.ts +13 -0
- package/mail/module/bypass/index.d.ts +6 -0
- package/mail/module/bypass/index.js +74 -0
- package/mail/module/bypass/index.ts +9 -0
- package/mail/module/config.d.ts +11 -0
- package/mail/module/config.js +24 -0
- package/mail/module/config.ts +25 -0
- package/mail/module/index.d.ts +8 -0
- package/mail/module/index.js +107 -0
- package/mail/module/index.ts +61 -0
- package/mail/module/smtp/config.d.ts +6 -0
- package/mail/module/smtp/config.js +25 -0
- package/mail/module/smtp/config.ts +25 -0
- package/mail/module/smtp/index.d.ts +9 -0
- package/mail/module/smtp/index.js +104 -0
- package/mail/module/smtp/index.ts +36 -0
- package/mq/index.d.ts +3 -0
- package/mq/index.js +27 -0
- package/mq/index.ts +4 -0
- package/mq/module/bypass/index.d.ts +13 -0
- package/mq/module/bypass/index.js +86 -0
- package/mq/module/bypass/index.ts +20 -0
- package/mq/module/config.d.ts +6 -0
- package/mq/module/config.js +15 -0
- package/mq/module/config.ts +14 -0
- package/mq/module/index.d.ts +9 -0
- package/mq/module/index.js +93 -0
- package/mq/module/index.ts +24 -0
- package/mq/module/redis/config.d.ts +27 -0
- package/mq/module/redis/config.js +37 -0
- package/mq/module/redis/config.ts +34 -0
- package/mq/module/redis/index.d.ts +15 -0
- package/mq/module/redis/index.js +132 -0
- package/mq/module/redis/index.ts +60 -0
- package/mq/mq.d.ts +15 -0
- package/mq/mq.js +2 -0
- package/mq/mq.ts +18 -0
- package/mq/queue.d.ts +9 -0
- package/mq/queue.js +2 -0
- package/mq/queue.ts +11 -0
- package/package.json +53 -0
- package/pwd/config.d.ts +4 -0
- package/pwd/config.js +9 -0
- package/pwd/config.ts +9 -0
- package/pwd/index.d.ts +6 -0
- package/pwd/index.js +21 -0
- package/pwd/index.ts +20 -0
- package/pwd/pwd.d.ts +4 -0
- package/pwd/pwd.js +2 -0
- package/pwd/pwd.ts +4 -0
- package/utils/index.d.ts +25 -0
- package/utils/index.js +72 -0
- package/utils/index.ts +56 -0
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
var config_1 = require("../../config");
|
|
15
|
+
var dataType = function (types) {
|
|
16
|
+
var dataTypes = __assign(__assign({}, types), { memory: types.sqlite });
|
|
17
|
+
return dataTypes[config_1.module];
|
|
18
|
+
};
|
|
19
|
+
var boolean = function () { return dataType({
|
|
20
|
+
mysql: 'bit',
|
|
21
|
+
postgres: 'boolean',
|
|
22
|
+
sqlite: 'integer',
|
|
23
|
+
}); };
|
|
24
|
+
var tinyInt = function () { return dataType({
|
|
25
|
+
mysql: 'tinyint',
|
|
26
|
+
postgres: 'smallint',
|
|
27
|
+
sqlite: 'integer',
|
|
28
|
+
}); };
|
|
29
|
+
var smallInt = function () { return dataType({
|
|
30
|
+
mysql: 'smallint',
|
|
31
|
+
postgres: 'smallint',
|
|
32
|
+
sqlite: 'integer',
|
|
33
|
+
}); };
|
|
34
|
+
var smallIntPrimaryAutoIncrement = function () { return dataType({
|
|
35
|
+
mysql: 'smallint primary key auto_increment',
|
|
36
|
+
postgres: 'smallserial primary key',
|
|
37
|
+
sqlite: 'integer primary key autoincrement',
|
|
38
|
+
}); };
|
|
39
|
+
var int = function () { return dataType({
|
|
40
|
+
mysql: 'integer',
|
|
41
|
+
postgres: 'integer',
|
|
42
|
+
sqlite: 'integer',
|
|
43
|
+
}); };
|
|
44
|
+
var intPrimaryAutoIncrement = function () { return dataType({
|
|
45
|
+
mysql: 'integer primary key auto_increment',
|
|
46
|
+
postgres: 'serial primary key',
|
|
47
|
+
sqlite: 'integer primary key autoincrement',
|
|
48
|
+
}); };
|
|
49
|
+
var bigInt = function () { return dataType({
|
|
50
|
+
mysql: 'bigint',
|
|
51
|
+
postgres: 'bigint',
|
|
52
|
+
sqlite: 'integer',
|
|
53
|
+
}); };
|
|
54
|
+
var bigIntPrimaryAutoIncrement = function () { return dataType({
|
|
55
|
+
mysql: 'bigint primary key auto_increment',
|
|
56
|
+
postgres: 'bigserial primary key',
|
|
57
|
+
sqlite: 'integer primary key autoincrement',
|
|
58
|
+
}); };
|
|
59
|
+
var float = function () { return dataType({
|
|
60
|
+
mysql: 'float',
|
|
61
|
+
postgres: 'real',
|
|
62
|
+
sqlite: 'real',
|
|
63
|
+
}); };
|
|
64
|
+
var double = function () { return dataType({
|
|
65
|
+
mysql: 'double',
|
|
66
|
+
postgres: 'double precision',
|
|
67
|
+
sqlite: 'real',
|
|
68
|
+
}); };
|
|
69
|
+
var numeric = function (precision, scale) { return dataType({
|
|
70
|
+
mysql: "numeric(".concat(precision, ", ").concat(scale, ")"),
|
|
71
|
+
postgres: "numeric(".concat(precision, ", ").concat(scale, ")"),
|
|
72
|
+
sqlite: 'numeric',
|
|
73
|
+
}); };
|
|
74
|
+
var char = function (length) { return dataType({
|
|
75
|
+
mysql: "char(".concat(length, ")"),
|
|
76
|
+
postgres: "char(".concat(length, ")"),
|
|
77
|
+
sqlite: 'text',
|
|
78
|
+
}); };
|
|
79
|
+
var varChar = function (maxLength) { return dataType({
|
|
80
|
+
mysql: "varchar(".concat(maxLength, ")"),
|
|
81
|
+
postgres: "varchar(".concat(maxLength, ")"),
|
|
82
|
+
sqlite: 'text',
|
|
83
|
+
}); };
|
|
84
|
+
var tinyText = function () { return dataType({
|
|
85
|
+
mysql: 'tinytext',
|
|
86
|
+
postgres: 'text',
|
|
87
|
+
sqlite: 'text',
|
|
88
|
+
}); };
|
|
89
|
+
var text = function () { return dataType({
|
|
90
|
+
mysql: 'text',
|
|
91
|
+
postgres: 'text',
|
|
92
|
+
sqlite: 'text',
|
|
93
|
+
}); };
|
|
94
|
+
var longText = function () { return dataType({
|
|
95
|
+
mysql: 'longtext',
|
|
96
|
+
postgres: 'text',
|
|
97
|
+
sqlite: 'text',
|
|
98
|
+
}); };
|
|
99
|
+
var binary = function (length) { return dataType({
|
|
100
|
+
mysql: "binary(".concat(length, ")"),
|
|
101
|
+
postgres: 'bytea',
|
|
102
|
+
sqlite: 'blob',
|
|
103
|
+
}); };
|
|
104
|
+
var varBinary = function (maxLength) { return dataType({
|
|
105
|
+
mysql: "varbinary(".concat(maxLength, ")"),
|
|
106
|
+
postgres: 'bytea',
|
|
107
|
+
sqlite: 'blob',
|
|
108
|
+
}); };
|
|
109
|
+
var tinyBlob = function () { return dataType({
|
|
110
|
+
mysql: 'tinyblob',
|
|
111
|
+
postgres: 'bytea',
|
|
112
|
+
sqlite: 'blob',
|
|
113
|
+
}); };
|
|
114
|
+
var blob = function () { return dataType({
|
|
115
|
+
mysql: 'blob',
|
|
116
|
+
postgres: 'bytea',
|
|
117
|
+
sqlite: 'blob',
|
|
118
|
+
}); };
|
|
119
|
+
var longBlob = function () { return dataType({
|
|
120
|
+
mysql: 'longblob',
|
|
121
|
+
postgres: 'bytea',
|
|
122
|
+
sqlite: 'blob',
|
|
123
|
+
}); };
|
|
124
|
+
var timestamp = function () { return dataType({
|
|
125
|
+
mysql: 'timestamp(3)',
|
|
126
|
+
postgres: 'timestamp(3)',
|
|
127
|
+
sqlite: 'text',
|
|
128
|
+
}); };
|
|
129
|
+
var dateTime = function () { return dataType({
|
|
130
|
+
mysql: ' datetime(3)',
|
|
131
|
+
postgres: 'timestamp(3)',
|
|
132
|
+
sqlite: 'text',
|
|
133
|
+
}); };
|
|
134
|
+
var date = function () { return dataType({
|
|
135
|
+
mysql: 'date',
|
|
136
|
+
postgres: 'date',
|
|
137
|
+
sqlite: 'text',
|
|
138
|
+
}); };
|
|
139
|
+
var time = function () { return dataType({
|
|
140
|
+
mysql: 'time(3)',
|
|
141
|
+
postgres: 'time(3)',
|
|
142
|
+
sqlite: 'text',
|
|
143
|
+
}); };
|
|
144
|
+
exports.default = {
|
|
145
|
+
bigInt: bigInt,
|
|
146
|
+
bigIntPrimaryAutoIncrement: bigIntPrimaryAutoIncrement,
|
|
147
|
+
binary: binary,
|
|
148
|
+
blob: blob,
|
|
149
|
+
boolean: boolean,
|
|
150
|
+
char: char,
|
|
151
|
+
date: date,
|
|
152
|
+
dateTime: dateTime,
|
|
153
|
+
double: double,
|
|
154
|
+
float: float,
|
|
155
|
+
int: int,
|
|
156
|
+
intPrimaryAutoIncrement: intPrimaryAutoIncrement,
|
|
157
|
+
longBlob: longBlob,
|
|
158
|
+
longText: longText,
|
|
159
|
+
numeric: numeric,
|
|
160
|
+
smallInt: smallInt,
|
|
161
|
+
smallIntPrimaryAutoIncrement: smallIntPrimaryAutoIncrement,
|
|
162
|
+
text: text,
|
|
163
|
+
time: time,
|
|
164
|
+
timestamp: timestamp,
|
|
165
|
+
tinyBlob: tinyBlob,
|
|
166
|
+
tinyInt: tinyInt,
|
|
167
|
+
tinyText: tinyText,
|
|
168
|
+
varBinary: varBinary,
|
|
169
|
+
varChar: varChar,
|
|
170
|
+
};
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { module, Module } from '../../config'
|
|
2
|
+
|
|
3
|
+
const dataType = (types: { [module in Exclude<Module, 'memory'>]: string }) => {
|
|
4
|
+
const dataTypes: { [module in Module]: string } = { ...types, memory: types.sqlite }
|
|
5
|
+
return dataTypes[module]
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const boolean = () => dataType({
|
|
9
|
+
mysql: 'bit',
|
|
10
|
+
postgres: 'boolean',
|
|
11
|
+
sqlite: 'integer',
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
const tinyInt = () => dataType({
|
|
15
|
+
mysql: 'tinyint',
|
|
16
|
+
postgres: 'smallint',
|
|
17
|
+
sqlite: 'integer',
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
const smallInt = () => dataType({
|
|
21
|
+
mysql: 'smallint',
|
|
22
|
+
postgres: 'smallint',
|
|
23
|
+
sqlite: 'integer',
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
const smallIntPrimaryAutoIncrement = () => dataType({
|
|
27
|
+
mysql: 'smallint primary key auto_increment',
|
|
28
|
+
postgres: 'smallserial primary key',
|
|
29
|
+
sqlite: 'integer primary key autoincrement',
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
const int = () => dataType({
|
|
33
|
+
mysql: 'integer',
|
|
34
|
+
postgres: 'integer',
|
|
35
|
+
sqlite: 'integer',
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
const intPrimaryAutoIncrement = () => dataType({
|
|
39
|
+
mysql: 'integer primary key auto_increment',
|
|
40
|
+
postgres: 'serial primary key',
|
|
41
|
+
sqlite: 'integer primary key autoincrement',
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
const bigInt = () => dataType({
|
|
45
|
+
mysql: 'bigint',
|
|
46
|
+
postgres: 'bigint',
|
|
47
|
+
sqlite: 'integer',
|
|
48
|
+
})
|
|
49
|
+
|
|
50
|
+
const bigIntPrimaryAutoIncrement = () => dataType({
|
|
51
|
+
mysql: 'bigint primary key auto_increment',
|
|
52
|
+
postgres: 'bigserial primary key',
|
|
53
|
+
sqlite: 'integer primary key autoincrement',
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
const float = () => dataType({
|
|
57
|
+
mysql: 'float',
|
|
58
|
+
postgres: 'real',
|
|
59
|
+
sqlite: 'real',
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
const double = () => dataType({
|
|
63
|
+
mysql: 'double',
|
|
64
|
+
postgres: 'double precision',
|
|
65
|
+
sqlite: 'real',
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
const numeric = (precision: number, scale: number) => dataType({
|
|
69
|
+
mysql: `numeric(${precision}, ${scale})`,
|
|
70
|
+
postgres: `numeric(${precision}, ${scale})`,
|
|
71
|
+
sqlite: 'numeric',
|
|
72
|
+
})
|
|
73
|
+
|
|
74
|
+
const char = (length: number) => dataType({
|
|
75
|
+
mysql: `char(${length})`,
|
|
76
|
+
postgres: `char(${length})`,
|
|
77
|
+
sqlite: 'text',
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
const varChar = (maxLength: number) => dataType({
|
|
81
|
+
mysql: `varchar(${maxLength})`,
|
|
82
|
+
postgres: `varchar(${maxLength})`,
|
|
83
|
+
sqlite: 'text',
|
|
84
|
+
})
|
|
85
|
+
|
|
86
|
+
const tinyText = () => dataType({
|
|
87
|
+
mysql: 'tinytext',
|
|
88
|
+
postgres: 'text',
|
|
89
|
+
sqlite: 'text',
|
|
90
|
+
})
|
|
91
|
+
|
|
92
|
+
const text = () => dataType({
|
|
93
|
+
mysql: 'text',
|
|
94
|
+
postgres: 'text',
|
|
95
|
+
sqlite: 'text',
|
|
96
|
+
})
|
|
97
|
+
|
|
98
|
+
const longText = () => dataType({
|
|
99
|
+
mysql: 'longtext',
|
|
100
|
+
postgres: 'text',
|
|
101
|
+
sqlite: 'text',
|
|
102
|
+
})
|
|
103
|
+
|
|
104
|
+
const binary = (length: number) => dataType({
|
|
105
|
+
mysql: `binary(${length})`,
|
|
106
|
+
postgres: 'bytea',
|
|
107
|
+
sqlite: 'blob',
|
|
108
|
+
})
|
|
109
|
+
|
|
110
|
+
const varBinary = (maxLength: number) => dataType({
|
|
111
|
+
mysql: `varbinary(${maxLength})`,
|
|
112
|
+
postgres: 'bytea',
|
|
113
|
+
sqlite: 'blob',
|
|
114
|
+
})
|
|
115
|
+
|
|
116
|
+
const tinyBlob = () => dataType({
|
|
117
|
+
mysql: 'tinyblob',
|
|
118
|
+
postgres: 'bytea',
|
|
119
|
+
sqlite: 'blob',
|
|
120
|
+
})
|
|
121
|
+
|
|
122
|
+
const blob = () => dataType({
|
|
123
|
+
mysql: 'blob',
|
|
124
|
+
postgres: 'bytea',
|
|
125
|
+
sqlite: 'blob',
|
|
126
|
+
})
|
|
127
|
+
|
|
128
|
+
const longBlob = () => dataType({
|
|
129
|
+
mysql: 'longblob',
|
|
130
|
+
postgres: 'bytea',
|
|
131
|
+
sqlite: 'blob',
|
|
132
|
+
})
|
|
133
|
+
|
|
134
|
+
const timestamp = () => dataType({
|
|
135
|
+
mysql: 'timestamp(3)',
|
|
136
|
+
postgres: 'timestamp(3)',
|
|
137
|
+
sqlite: 'text',
|
|
138
|
+
})
|
|
139
|
+
|
|
140
|
+
const dateTime = () => dataType({
|
|
141
|
+
mysql: ' datetime(3)',
|
|
142
|
+
postgres: 'timestamp(3)',
|
|
143
|
+
sqlite: 'text',
|
|
144
|
+
})
|
|
145
|
+
|
|
146
|
+
const date = () => dataType({
|
|
147
|
+
mysql: 'date',
|
|
148
|
+
postgres: 'date',
|
|
149
|
+
sqlite: 'text',
|
|
150
|
+
})
|
|
151
|
+
|
|
152
|
+
const time = () => dataType({
|
|
153
|
+
mysql: 'time(3)',
|
|
154
|
+
postgres: 'time(3)',
|
|
155
|
+
sqlite: 'text',
|
|
156
|
+
})
|
|
157
|
+
|
|
158
|
+
export default {
|
|
159
|
+
bigInt,
|
|
160
|
+
bigIntPrimaryAutoIncrement,
|
|
161
|
+
binary,
|
|
162
|
+
blob,
|
|
163
|
+
boolean,
|
|
164
|
+
char,
|
|
165
|
+
date,
|
|
166
|
+
dateTime,
|
|
167
|
+
double,
|
|
168
|
+
float,
|
|
169
|
+
int,
|
|
170
|
+
intPrimaryAutoIncrement,
|
|
171
|
+
longBlob,
|
|
172
|
+
longText,
|
|
173
|
+
numeric,
|
|
174
|
+
smallInt,
|
|
175
|
+
smallIntPrimaryAutoIncrement,
|
|
176
|
+
text,
|
|
177
|
+
time,
|
|
178
|
+
timestamp,
|
|
179
|
+
tinyBlob,
|
|
180
|
+
tinyInt,
|
|
181
|
+
tinyText,
|
|
182
|
+
varBinary,
|
|
183
|
+
varChar,
|
|
184
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TableBuilder } from './tableBuilder';
|
|
2
|
+
import type { Database } from '../../database';
|
|
3
|
+
export declare class SchemaBuilder {
|
|
4
|
+
private db;
|
|
5
|
+
constructor(db: Database);
|
|
6
|
+
createTable(name: string, build: (table: TableBuilder) => void): Database.SchemaBuilder;
|
|
7
|
+
createTableLike(name: string, likeName: string, build: (table: TableBuilder) => void): Database.SchemaBuilder;
|
|
8
|
+
alterTable(name: string, build: (table: TableBuilder) => void): Database.SchemaBuilder;
|
|
9
|
+
dropTable(name: string): Database.SchemaBuilder;
|
|
10
|
+
dropTableIfExists(name: string): Database.SchemaBuilder;
|
|
11
|
+
renameTable(name: string, toName: string): Promise<void>;
|
|
12
|
+
hasTable(name: string): Promise<boolean>;
|
|
13
|
+
hasColumn(tableName: string, columnName: string): Promise<boolean>;
|
|
14
|
+
}
|
|
15
|
+
export default SchemaBuilder;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SchemaBuilder = void 0;
|
|
4
|
+
var tableBuilder_1 = require("./tableBuilder");
|
|
5
|
+
var SchemaBuilder = /** @class */ (function () {
|
|
6
|
+
function SchemaBuilder(db) {
|
|
7
|
+
this.db = db;
|
|
8
|
+
}
|
|
9
|
+
SchemaBuilder.prototype.createTable = function (name, build) {
|
|
10
|
+
return this.db.schema.createTable(name, function (knexTableBuilder) {
|
|
11
|
+
build(new tableBuilder_1.TableBuilder(knexTableBuilder));
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
SchemaBuilder.prototype.createTableLike = function (name, likeName, build) {
|
|
15
|
+
return this.db.schema.createTableLike(name, likeName, function (knexTableBuilder) {
|
|
16
|
+
build(new tableBuilder_1.TableBuilder(knexTableBuilder));
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
SchemaBuilder.prototype.alterTable = function (name, build) {
|
|
20
|
+
return this.db.schema.alterTable(name, function (knexTableBuilder) {
|
|
21
|
+
build(new tableBuilder_1.TableBuilder(knexTableBuilder));
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
SchemaBuilder.prototype.dropTable = function (name) {
|
|
25
|
+
return this.db.schema.dropTable(name);
|
|
26
|
+
};
|
|
27
|
+
SchemaBuilder.prototype.dropTableIfExists = function (name) {
|
|
28
|
+
return this.db.schema.dropTableIfExists(name);
|
|
29
|
+
};
|
|
30
|
+
SchemaBuilder.prototype.renameTable = function (name, toName) {
|
|
31
|
+
return this.db.schema.renameTable(name, toName);
|
|
32
|
+
};
|
|
33
|
+
SchemaBuilder.prototype.hasTable = function (name) {
|
|
34
|
+
return this.db.schema.hasTable(name);
|
|
35
|
+
};
|
|
36
|
+
SchemaBuilder.prototype.hasColumn = function (tableName, columnName) {
|
|
37
|
+
return this.db.schema.hasColumn(tableName, columnName);
|
|
38
|
+
};
|
|
39
|
+
return SchemaBuilder;
|
|
40
|
+
}());
|
|
41
|
+
exports.SchemaBuilder = SchemaBuilder;
|
|
42
|
+
exports.default = SchemaBuilder;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { TableBuilder } from './tableBuilder'
|
|
2
|
+
import type { Database } from '../../database'
|
|
3
|
+
|
|
4
|
+
export class SchemaBuilder {
|
|
5
|
+
private db: Database
|
|
6
|
+
|
|
7
|
+
constructor(db: Database) {
|
|
8
|
+
this.db = db
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
createTable(name: string, build: (table: TableBuilder) => void) {
|
|
12
|
+
return this.db.schema.createTable(name, (knexTableBuilder) => {
|
|
13
|
+
build(new TableBuilder(knexTableBuilder))
|
|
14
|
+
})
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
createTableLike(name: string, likeName: string, build: (table: TableBuilder) => void) {
|
|
18
|
+
return this.db.schema.createTableLike(name, likeName, (knexTableBuilder) => {
|
|
19
|
+
build(new TableBuilder(knexTableBuilder))
|
|
20
|
+
})
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
alterTable(name: string, build: (table: TableBuilder) => void) {
|
|
24
|
+
return this.db.schema.alterTable(name, (knexTableBuilder) => {
|
|
25
|
+
build(new TableBuilder(knexTableBuilder))
|
|
26
|
+
})
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
dropTable(name: string) {
|
|
30
|
+
return this.db.schema.dropTable(name)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
dropTableIfExists(name: string) {
|
|
34
|
+
return this.db.schema.dropTableIfExists(name)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
renameTable(name: string, toName: string) {
|
|
38
|
+
return this.db.schema.renameTable(name, toName)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
hasTable(name: string) {
|
|
42
|
+
return this.db.schema.hasTable(name)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
hasColumn(tableName: string, columnName: string) {
|
|
46
|
+
return this.db.schema.hasColumn(tableName, columnName)
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export default SchemaBuilder
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ColumnBuilder } from './columnBuilder';
|
|
2
|
+
import type { Database } from '../../database';
|
|
3
|
+
export type NullConstraint = 'null' | 'notNull';
|
|
4
|
+
export declare class TableBuilder {
|
|
5
|
+
private knexTableBuilder;
|
|
6
|
+
constructor(knexTableBuilder: Database.TableBuilder);
|
|
7
|
+
boolean(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
8
|
+
tinyInt(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
9
|
+
smallInt(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
10
|
+
smallIntPrimaryAutoIncrement(name: string): ColumnBuilder;
|
|
11
|
+
int(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
12
|
+
intPrimaryAutoIncrement(name: string): ColumnBuilder;
|
|
13
|
+
bigInt(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
14
|
+
bigIntPrimaryAutoIncrement(name: string): ColumnBuilder;
|
|
15
|
+
float(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
16
|
+
double(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
17
|
+
numeric(name: string, precision: number, scale: number, nullConstraint: NullConstraint): ColumnBuilder;
|
|
18
|
+
char(name: string, length: number, nullConstraint: NullConstraint): ColumnBuilder;
|
|
19
|
+
varChar(name: string, maxLength: number, nullConstraint: NullConstraint): ColumnBuilder;
|
|
20
|
+
tinyText(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
21
|
+
text(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
22
|
+
longText(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
23
|
+
binary(name: string, length: number, nullConstraint: NullConstraint): ColumnBuilder;
|
|
24
|
+
varBinary(name: string, maxLength: number, nullConstraint: NullConstraint): ColumnBuilder;
|
|
25
|
+
tinyBlob(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
26
|
+
blob(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
27
|
+
longBlob(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
28
|
+
timestamp(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
29
|
+
dateTime(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
30
|
+
date(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
31
|
+
time(name: string, nullConstraint: NullConstraint): ColumnBuilder;
|
|
32
|
+
dropColumn(name: string): this;
|
|
33
|
+
renameColumn(name: string, toName: string): this;
|
|
34
|
+
setNull(): void;
|
|
35
|
+
setNotNull(): void;
|
|
36
|
+
setPrimary(): void;
|
|
37
|
+
dropPrimary(): void;
|
|
38
|
+
addForeign(): void;
|
|
39
|
+
dropForeign(): void;
|
|
40
|
+
addUnique(): void;
|
|
41
|
+
dropUnique(): void;
|
|
42
|
+
addIndex(): void;
|
|
43
|
+
dropIndex(): void;
|
|
44
|
+
}
|
|
45
|
+
export default TableBuilder;
|