prostgles-server 4.2.157 → 4.2.159
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/Auth/AuthHandler.js +2 -2
- package/dist/Auth/AuthHandler.js.map +1 -1
- package/dist/Auth/AuthTypes.d.ts +4 -8
- package/dist/Auth/AuthTypes.d.ts.map +1 -1
- package/dist/Auth/setAuthProviders.d.ts +1 -1
- package/dist/Auth/setAuthProviders.d.ts.map +1 -1
- package/dist/Auth/setAuthProviders.js +6 -7
- package/dist/Auth/setAuthProviders.js.map +1 -1
- package/dist/Auth/setEmailProvider.d.ts +1 -1
- package/dist/Auth/setEmailProvider.d.ts.map +1 -1
- package/dist/Auth/setEmailProvider.js +22 -2
- package/dist/Auth/setEmailProvider.js.map +1 -1
- package/dist/Auth/setupAuthRoutes.js +1 -1
- package/dist/Auth/setupAuthRoutes.js.map +1 -1
- package/dist/Prostgles.d.ts +1 -0
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/Prostgles.js +6 -0
- package/dist/Prostgles.js.map +1 -1
- package/dist/initProstgles.d.ts.map +1 -1
- package/dist/initProstgles.js +2 -6
- package/dist/initProstgles.js.map +1 -1
- package/package.json +1 -1
- package/lib/Auth/AuthHandler.ts +0 -436
- package/lib/Auth/AuthTypes.ts +0 -285
- package/lib/Auth/getSafeReturnURL.ts +0 -35
- package/lib/Auth/sendEmail.ts +0 -83
- package/lib/Auth/setAuthProviders.ts +0 -129
- package/lib/Auth/setEmailProvider.ts +0 -63
- package/lib/Auth/setupAuthRoutes.ts +0 -161
- package/lib/DBEventsManager.ts +0 -178
- package/lib/DBSchemaBuilder.ts +0 -225
- package/lib/DboBuilder/DboBuilder.ts +0 -319
- package/lib/DboBuilder/DboBuilderTypes.ts +0 -361
- package/lib/DboBuilder/QueryBuilder/Functions.ts +0 -1153
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.ts +0 -288
- package/lib/DboBuilder/QueryBuilder/getJoinQuery.ts +0 -263
- package/lib/DboBuilder/QueryBuilder/getNewQuery.ts +0 -271
- package/lib/DboBuilder/QueryBuilder/getSelectQuery.ts +0 -136
- package/lib/DboBuilder/QueryBuilder/prepareHaving.ts +0 -22
- package/lib/DboBuilder/QueryStreamer.ts +0 -250
- package/lib/DboBuilder/TableHandler/DataValidator.ts +0 -428
- package/lib/DboBuilder/TableHandler/TableHandler.ts +0 -205
- package/lib/DboBuilder/TableHandler/delete.ts +0 -115
- package/lib/DboBuilder/TableHandler/insert.ts +0 -183
- package/lib/DboBuilder/TableHandler/insertTest.ts +0 -78
- package/lib/DboBuilder/TableHandler/onDeleteFromFileTable.ts +0 -62
- package/lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts +0 -134
- package/lib/DboBuilder/TableHandler/update.ts +0 -126
- package/lib/DboBuilder/TableHandler/updateBatch.ts +0 -49
- package/lib/DboBuilder/TableHandler/updateFile.ts +0 -48
- package/lib/DboBuilder/TableHandler/upsert.ts +0 -34
- package/lib/DboBuilder/ViewHandler/ViewHandler.ts +0 -393
- package/lib/DboBuilder/ViewHandler/count.ts +0 -38
- package/lib/DboBuilder/ViewHandler/find.ts +0 -153
- package/lib/DboBuilder/ViewHandler/getExistsCondition.ts +0 -73
- package/lib/DboBuilder/ViewHandler/getExistsFilters.ts +0 -74
- package/lib/DboBuilder/ViewHandler/getInfo.ts +0 -32
- package/lib/DboBuilder/ViewHandler/getTableJoinQuery.ts +0 -84
- package/lib/DboBuilder/ViewHandler/parseComplexFilter.ts +0 -96
- package/lib/DboBuilder/ViewHandler/parseFieldFilter.ts +0 -105
- package/lib/DboBuilder/ViewHandler/parseJoinPath.ts +0 -208
- package/lib/DboBuilder/ViewHandler/prepareSortItems.ts +0 -163
- package/lib/DboBuilder/ViewHandler/prepareWhere.ts +0 -90
- package/lib/DboBuilder/ViewHandler/size.ts +0 -37
- package/lib/DboBuilder/ViewHandler/subscribe.ts +0 -118
- package/lib/DboBuilder/ViewHandler/validateViewRules.ts +0 -70
- package/lib/DboBuilder/dboBuilderUtils.ts +0 -222
- package/lib/DboBuilder/getColumns.ts +0 -114
- package/lib/DboBuilder/getCondition.ts +0 -201
- package/lib/DboBuilder/getSubscribeRelatedTables.ts +0 -190
- package/lib/DboBuilder/getTablesForSchemaPostgresSQL.ts +0 -426
- package/lib/DboBuilder/insertNestedRecords.ts +0 -355
- package/lib/DboBuilder/parseUpdateRules.ts +0 -187
- package/lib/DboBuilder/prepareShortestJoinPaths.ts +0 -186
- package/lib/DboBuilder/runSQL.ts +0 -182
- package/lib/DboBuilder/runTransaction.ts +0 -50
- package/lib/DboBuilder/sqlErrCodeToMsg.ts +0 -254
- package/lib/DboBuilder/uploadFile.ts +0 -69
- package/lib/Event_Trigger_Tags.ts +0 -118
- package/lib/FileManager/FileManager.ts +0 -358
- package/lib/FileManager/getValidatedFileType.ts +0 -69
- package/lib/FileManager/initFileManager.ts +0 -187
- package/lib/FileManager/upload.ts +0 -62
- package/lib/FileManager/uploadStream.ts +0 -79
- package/lib/Filtering.ts +0 -463
- package/lib/JSONBValidation/validate_jsonb_schema_sql.ts +0 -502
- package/lib/JSONBValidation/validation.ts +0 -143
- package/lib/Logging.ts +0 -127
- package/lib/PostgresNotifListenManager.ts +0 -143
- package/lib/Prostgles.ts +0 -479
- package/lib/ProstglesTypes.ts +0 -196
- package/lib/PubSubManager/PubSubManager.ts +0 -609
- package/lib/PubSubManager/addSub.ts +0 -138
- package/lib/PubSubManager/addSync.ts +0 -141
- package/lib/PubSubManager/getCreatePubSubManagerError.ts +0 -72
- package/lib/PubSubManager/getPubSubManagerInitQuery.ts +0 -662
- package/lib/PubSubManager/initPubSubManager.ts +0 -79
- package/lib/PubSubManager/notifListener.ts +0 -173
- package/lib/PubSubManager/orphanTriggerCheck.ts +0 -70
- package/lib/PubSubManager/pushSubData.ts +0 -55
- package/lib/PublishParser/PublishParser.ts +0 -162
- package/lib/PublishParser/getFileTableRules.ts +0 -124
- package/lib/PublishParser/getSchemaFromPublish.ts +0 -141
- package/lib/PublishParser/getTableRulesWithoutFileTable.ts +0 -177
- package/lib/PublishParser/publishTypesAndUtils.ts +0 -399
- package/lib/RestApi.ts +0 -127
- package/lib/SchemaWatch/SchemaWatch.ts +0 -90
- package/lib/SchemaWatch/createSchemaWatchEventTrigger.ts +0 -3
- package/lib/SchemaWatch/getValidatedWatchSchemaType.ts +0 -45
- package/lib/SchemaWatch/getWatchSchemaTagList.ts +0 -27
- package/lib/SyncReplication.ts +0 -557
- package/lib/TableConfig/TableConfig.ts +0 -468
- package/lib/TableConfig/getColumnDefinitionQuery.ts +0 -111
- package/lib/TableConfig/getConstraintDefinitionQueries.ts +0 -95
- package/lib/TableConfig/getFutureTableSchema.ts +0 -64
- package/lib/TableConfig/getPGIndexes.ts +0 -53
- package/lib/TableConfig/getTableColumnQueries.ts +0 -129
- package/lib/TableConfig/initTableConfig.ts +0 -326
- package/lib/index.ts +0 -13
- package/lib/initProstgles.ts +0 -322
- package/lib/onSocketConnected.ts +0 -102
- package/lib/runClientRequest.ts +0 -129
- package/lib/shortestPath.ts +0 -122
- package/lib/typeTests/DBoGenerated.d.ts +0 -320
- package/lib/typeTests/dboTypeCheck.ts +0 -81
- package/lib/utils.ts +0 -15
- package/tests/client/hooks.spec.ts +0 -205
- package/tests/client/index.ts +0 -139
- package/tests/client/package-lock.json +0 -637
- package/tests/client/package.json +0 -26
- package/tests/client/renderReactHook.ts +0 -177
- package/tests/client/tsconfig.json +0 -15
- package/tests/client/useProstgles.spec.ts +0 -120
- package/tests/clientFileTests.spec.ts +0 -102
- package/tests/clientOnlyQueries.spec.ts +0 -667
- package/tests/clientRestApi.spec.ts +0 -82
- package/tests/config_test/DBoGenerated.d.ts +0 -407
- package/tests/config_test/index.html +0 -109
- package/tests/config_test/index.js +0 -86
- package/tests/config_test/index.js.map +0 -1
- package/tests/config_test/index.ts +0 -91
- package/tests/config_test/init.sql +0 -48
- package/tests/config_test/package.json +0 -29
- package/tests/config_test/tsconfig.json +0 -23
- package/tests/config_testDBoGenerated.d.ts +0 -407
- package/tests/isomorphicQueries.spec.ts +0 -1493
- package/tests/server/DBoGenerated.d.ts +0 -537
- package/tests/server/index.html +0 -73
- package/tests/server/index.ts +0 -289
- package/tests/server/init.sql +0 -224
- package/tests/server/package-lock.json +0 -2164
- package/tests/server/package.json +0 -25
- package/tests/server/publishTypeCheck.ts +0 -136
- package/tests/server/server.ts +0 -35
- package/tests/server/testPublish.ts +0 -147
- package/tests/server/testTableConfig.ts +0 -156
- package/tests/server/tsconfig.json +0 -22
- package/tests/serverOnlyQueries.spec.ts +0 -32
- package/tests/test.sh +0 -20
package/tests/server/index.ts
DELETED
|
@@ -1,289 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import express from 'express';
|
|
4
|
-
import prostgles from "prostgles-server";
|
|
5
|
-
const app = express();
|
|
6
|
-
const http = require('http').createServer(app);
|
|
7
|
-
import { testPublishTypes } from "./publishTypeCheck";
|
|
8
|
-
import { testPublish } from "./testPublish";
|
|
9
|
-
import { testTableConfig } from "./testTableConfig";
|
|
10
|
-
|
|
11
|
-
testPublishTypes();
|
|
12
|
-
|
|
13
|
-
const isClientTest = (process.env.TEST_TYPE === "client");
|
|
14
|
-
const io = !isClientTest? undefined : require("socket.io")(http, { path: "/teztz/s" });
|
|
15
|
-
const ioWatchSchema = !isClientTest? undefined : require("socket.io")(http, { path: "/teztz/sWatchSchema" });
|
|
16
|
-
|
|
17
|
-
http.listen(3001);
|
|
18
|
-
|
|
19
|
-
import { isomorphicQueries } from "../isomorphicQueries.spec";
|
|
20
|
-
import { serverOnlyQueries } from "../serverOnlyQueries.spec";
|
|
21
|
-
|
|
22
|
-
import { DBSchemaGenerated } from "./DBoGenerated";
|
|
23
|
-
|
|
24
|
-
import type { DBOFullyTyped } from "prostgles-server/dist/DBSchemaBuilder";
|
|
25
|
-
import { spawn } from "child_process";
|
|
26
|
-
export type { DBHandlerServer } from "prostgles-server/dist/Prostgles";
|
|
27
|
-
|
|
28
|
-
let logs = [];
|
|
29
|
-
|
|
30
|
-
export const log = (msg: string, extra?: any, trace?: boolean) => {
|
|
31
|
-
const msgs = msg.includes("show-logs")? logs : ["(server): " + msg, extra].filter(v => v);
|
|
32
|
-
if(trace){
|
|
33
|
-
console.trace(...msgs);
|
|
34
|
-
} else {
|
|
35
|
-
console.log(...msgs);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
const stopTest = (err?) => {
|
|
39
|
-
log("Stopping server ...")
|
|
40
|
-
if(err) {
|
|
41
|
-
console.trace(err);
|
|
42
|
-
}
|
|
43
|
-
process.exit(err? 1 : 0);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const sessions: { id: string, user_id: string }[] = [];
|
|
47
|
-
type USER = {
|
|
48
|
-
id: string;
|
|
49
|
-
username: string;
|
|
50
|
-
password: string;
|
|
51
|
-
type: string;
|
|
52
|
-
}
|
|
53
|
-
const users: USER[] = [{ id: "1a", username: "john", password: "secret", type: "default" }];
|
|
54
|
-
|
|
55
|
-
process.on('unhandledRejection', (reason, p) => {
|
|
56
|
-
console.trace('Unhandled Rejection at:', p, 'reason:', reason)
|
|
57
|
-
process.exit(1)
|
|
58
|
-
});
|
|
59
|
-
/**
|
|
60
|
-
* To create a superuser in linux:
|
|
61
|
-
* sudo su - postgres
|
|
62
|
-
* createuser api -s -P
|
|
63
|
-
* createdb prostgles_server_tests -O api
|
|
64
|
-
*/
|
|
65
|
-
const dbConnection = {
|
|
66
|
-
host: process.env.POSTGRES_HOST || "localhost",
|
|
67
|
-
port: +process.env.POSTGRES_PORT || 5432,
|
|
68
|
-
database: process.env.POSTGRES_DB || "prostgles_server_tests",
|
|
69
|
-
user: process.env.POSTGRES_USER || "api",
|
|
70
|
-
password: process.env.POSTGRES_PASSWORD || "api",
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
function dd(){
|
|
74
|
-
|
|
75
|
-
const dbo: DBOFullyTyped<{ tbl: { is_view: true; columns: { col1: { type: number } } }}> = 1 as any
|
|
76
|
-
if(!dbo) return;
|
|
77
|
-
dbo.tbl.find;
|
|
78
|
-
}
|
|
79
|
-
(async () => {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if(isClientTest && process.env.TEST_NAME === "useProstgles"){
|
|
83
|
-
await prostgles<DBSchemaGenerated>({
|
|
84
|
-
dbConnection,
|
|
85
|
-
io: ioWatchSchema,
|
|
86
|
-
transactions: true,
|
|
87
|
-
schema: { public: 1, prostgles_test: 1 },
|
|
88
|
-
onReady: async ({ dbo, db }) => {},
|
|
89
|
-
publish: "*",
|
|
90
|
-
watchSchema: true,
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
prostgles<DBSchemaGenerated>({
|
|
95
|
-
dbConnection,
|
|
96
|
-
sqlFilePath: path.join(__dirname+'/../../init.sql'),
|
|
97
|
-
io,
|
|
98
|
-
tsGeneratedTypesDir: path.join(__dirname + '/../../'),
|
|
99
|
-
transactions: true,
|
|
100
|
-
schema: { public: 1, prostgles_test: 1 },
|
|
101
|
-
onLog: async ev => {
|
|
102
|
-
logs.push(ev);
|
|
103
|
-
logs = logs.slice(-10);
|
|
104
|
-
if(ev.type === "debug" || ev.type === "connect" || ev.type === "disconnect"){
|
|
105
|
-
// log("onLog", ev);
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
tableConfig: testTableConfig,
|
|
109
|
-
testRulesOnConnect: true,
|
|
110
|
-
fileTable: {
|
|
111
|
-
referencedTables: {
|
|
112
|
-
users_public_info: {
|
|
113
|
-
type: "column",
|
|
114
|
-
referenceColumns: {
|
|
115
|
-
avatar: {
|
|
116
|
-
acceptedContent: "*"
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
},
|
|
121
|
-
localConfig: {
|
|
122
|
-
localFolderPath: path.join(__dirname+'/media'),
|
|
123
|
-
},
|
|
124
|
-
expressApp: app,
|
|
125
|
-
tableName: "files",
|
|
126
|
-
},
|
|
127
|
-
// DEBUG_MODE: true,
|
|
128
|
-
restApi: {
|
|
129
|
-
expressApp: app,
|
|
130
|
-
routePrefix: "/api"
|
|
131
|
-
},
|
|
132
|
-
|
|
133
|
-
onSocketConnect: ({ socket, db }) => {
|
|
134
|
-
console.log("onSocketConnect", socket.id)
|
|
135
|
-
if(isClientTest){
|
|
136
|
-
log("Client connected -> console does not work. use log function. socket.id:", socket.id);
|
|
137
|
-
socket.emit("start-test", { server_id: Math.random() });
|
|
138
|
-
socket.on("log", async (data, cb) => {
|
|
139
|
-
console.log("Client log ", data);
|
|
140
|
-
if(typeof data === "string" && data.includes("show-logs")){
|
|
141
|
-
log(data);
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
socket.on("stop-test", async (err, cb) => {
|
|
145
|
-
cb();
|
|
146
|
-
console.log("Client test " + (!err? "successful" : "failed"));
|
|
147
|
-
stopTest(err);
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
},
|
|
152
|
-
|
|
153
|
-
onSocketDisconnect: ({ socket, db }) => {
|
|
154
|
-
if(isClientTest){
|
|
155
|
-
log("Client disconnected. socket.id:", socket.id);
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
},
|
|
159
|
-
|
|
160
|
-
publishRawSQL: async (params) => {
|
|
161
|
-
return true;// Boolean(user && user.type === "admin")
|
|
162
|
-
},
|
|
163
|
-
auth: {
|
|
164
|
-
sidKeyName: "token",
|
|
165
|
-
getUser: async (sid) => {
|
|
166
|
-
if(sid){
|
|
167
|
-
const s = sessions.find(s => s.id === sid);
|
|
168
|
-
if(s) {
|
|
169
|
-
const user = users.find(u => s && s.user_id === u.id);
|
|
170
|
-
if(user) {
|
|
171
|
-
return { sid: s.id, user, clientUser: { sid: s.id, uid: user.id, id: user.id, type: user.type } }
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
return undefined;
|
|
176
|
-
},
|
|
177
|
-
login: async (loginData) => {
|
|
178
|
-
if(loginData.type !== "username") throw "Only username login is supported";
|
|
179
|
-
const { username, password } = loginData;
|
|
180
|
-
const u = users.find(u => u.username === username && u.password === password);
|
|
181
|
-
if(!u) throw "something went wrong: " + JSON.stringify({ username, password });
|
|
182
|
-
let s = sessions.find(s => s.user_id === u.id)
|
|
183
|
-
if(!s){
|
|
184
|
-
s = { id: "SID" + Date.now(), user_id: u.id }
|
|
185
|
-
sessions.push(s)
|
|
186
|
-
}
|
|
187
|
-
log("Logged in!")
|
|
188
|
-
return { sid: s.id, expires: Infinity, onExpiration: "redirect" }
|
|
189
|
-
},
|
|
190
|
-
cacheSession: {
|
|
191
|
-
getSession: async (sid) => {
|
|
192
|
-
const s = sessions.find(s => s.id === sid);
|
|
193
|
-
return s? { sid: s.id, expires: Infinity, onExpiration: "redirect" } : undefined
|
|
194
|
-
}
|
|
195
|
-
},
|
|
196
|
-
expressConfig: {
|
|
197
|
-
app,
|
|
198
|
-
onGetRequestOK(req, res, params) {
|
|
199
|
-
log(req.originalUrl)
|
|
200
|
-
res.sendFile(path.join(__dirname, '../../index.html'));
|
|
201
|
-
},
|
|
202
|
-
registrations: {
|
|
203
|
-
websiteUrl: "http://localhost:3001",
|
|
204
|
-
OAuthProviders: {
|
|
205
|
-
github: {
|
|
206
|
-
clientID: "GITHUB_CLIENT_ID",
|
|
207
|
-
clientSecret: "GITHUB"
|
|
208
|
-
},
|
|
209
|
-
},
|
|
210
|
-
onProviderLoginStart: async () => ({ ok: true }),
|
|
211
|
-
onProviderLoginFail: console.error,
|
|
212
|
-
onRegister: console.log
|
|
213
|
-
},
|
|
214
|
-
}
|
|
215
|
-
},
|
|
216
|
-
publishMethods: async (params) => {
|
|
217
|
-
return {
|
|
218
|
-
get: () => 222
|
|
219
|
-
}
|
|
220
|
-
},
|
|
221
|
-
publish: testPublish,
|
|
222
|
-
joins: [
|
|
223
|
-
{
|
|
224
|
-
tables: ["items", "items2"],
|
|
225
|
-
on: [{ name: "name" }],
|
|
226
|
-
type: "many-many"
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
tables: ["items2", "items3"],
|
|
230
|
-
on: [{ name: "name" }],
|
|
231
|
-
type: "many-many"
|
|
232
|
-
},
|
|
233
|
-
{
|
|
234
|
-
tables: ["items4a", "items"],
|
|
235
|
-
on: [{ items_id: "id" }],
|
|
236
|
-
type: "many-many"
|
|
237
|
-
},
|
|
238
|
-
{
|
|
239
|
-
tables: ["items4a", "items2"],
|
|
240
|
-
on: [{ items2_id: "id" }],
|
|
241
|
-
type: "many-many"
|
|
242
|
-
},
|
|
243
|
-
{
|
|
244
|
-
tables: ["items_multi", "items"],
|
|
245
|
-
on: [
|
|
246
|
-
{ items0_id: "id" },
|
|
247
|
-
{ items1_id: "id" },
|
|
248
|
-
{ items2_id: "id" },
|
|
249
|
-
{ items3_id: "id" },
|
|
250
|
-
],
|
|
251
|
-
type: "many-many"
|
|
252
|
-
}
|
|
253
|
-
],
|
|
254
|
-
onReady: async ({ dbo, db }) => {
|
|
255
|
-
log("prostgles onReady");
|
|
256
|
-
|
|
257
|
-
try {
|
|
258
|
-
|
|
259
|
-
if(isClientTest){
|
|
260
|
-
const execPath = path.resolve(`${__dirname}/../../../client`);
|
|
261
|
-
/** For some reason the below doesn't work anymore */
|
|
262
|
-
// const proc = spawn("npm", ["run", "test"], { cwd: execPath, stdio: "inherit" });
|
|
263
|
-
|
|
264
|
-
spawn("node", [
|
|
265
|
-
// "--inspect-brk",
|
|
266
|
-
"dist/client/index.js"
|
|
267
|
-
], { cwd: execPath, stdio: "inherit" });
|
|
268
|
-
|
|
269
|
-
log("Waiting for client...");
|
|
270
|
-
|
|
271
|
-
} else if(process.env.TEST_TYPE === "server"){
|
|
272
|
-
|
|
273
|
-
await serverOnlyQueries(dbo as any);
|
|
274
|
-
log("Server-only query tests successful");
|
|
275
|
-
await isomorphicQueries(dbo as any, log);
|
|
276
|
-
log("Server isomorphic tests successful");
|
|
277
|
-
|
|
278
|
-
stopTest()
|
|
279
|
-
}
|
|
280
|
-
} catch(err) {
|
|
281
|
-
console.trace(err)
|
|
282
|
-
if(process.env.TEST_TYPE){
|
|
283
|
-
stopTest(err ?? "Error")
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
},
|
|
288
|
-
});
|
|
289
|
-
})();
|
package/tests/server/init.sql
DELETED
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
CREATE EXTENSION IF NOT EXISTS pgcrypto;
|
|
2
|
-
CREATE EXTENSION IF NOT EXISTS postgis;
|
|
3
|
-
|
|
4
|
-
DROP TABLE IF EXISTS shapes CASCADE;
|
|
5
|
-
CREATE TABLE IF NOT EXISTS shapes (
|
|
6
|
-
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
7
|
-
geog GEOGRAPHY,
|
|
8
|
-
geom GEOMETRY
|
|
9
|
-
);
|
|
10
|
-
|
|
11
|
-
DROP TABLE IF EXISTS insert_rules CASCADE;
|
|
12
|
-
CREATE TABLE IF NOT EXISTS insert_rules (
|
|
13
|
-
id SERIAL PRIMARY KEY,
|
|
14
|
-
name TEXT,
|
|
15
|
-
added TIMESTAMP DEFAULT NOW()
|
|
16
|
-
);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
DROP TABLE IF EXISTS various CASCADE;
|
|
21
|
-
CREATE TABLE IF NOT EXISTS various (
|
|
22
|
-
id SERIAL PRIMARY KEY,
|
|
23
|
-
h TEXT[],
|
|
24
|
-
name TEXT,
|
|
25
|
-
tsv TSVECTOR,
|
|
26
|
-
jsn JSON DEFAULT '{}'::JSON,
|
|
27
|
-
added TIMESTAMP DEFAULT NOW()
|
|
28
|
-
);
|
|
29
|
-
|
|
30
|
-
DROP TABLE IF EXISTS items CASCADE;
|
|
31
|
-
CREATE TABLE IF NOT EXISTS items (
|
|
32
|
-
id SERIAL PRIMARY KEY,
|
|
33
|
-
h TEXT[],
|
|
34
|
-
name TEXT
|
|
35
|
-
-- PRIMARY KEY(id, id1)
|
|
36
|
-
);
|
|
37
|
-
|
|
38
|
-
DROP TABLE IF EXISTS items2 CASCADE;
|
|
39
|
-
CREATE TABLE IF NOT EXISTS items2 (
|
|
40
|
-
id SERIAL PRIMARY KEY,
|
|
41
|
-
items_id INTEGER REFERENCES items(id),
|
|
42
|
-
hh TEXT[],
|
|
43
|
-
name TEXT
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
DROP TABLE IF EXISTS items3 CASCADE;
|
|
47
|
-
CREATE TABLE IF NOT EXISTS items3 (
|
|
48
|
-
id SERIAL PRIMARY KEY,
|
|
49
|
-
h TEXT[],
|
|
50
|
-
name TEXT
|
|
51
|
-
);
|
|
52
|
-
|
|
53
|
-
DROP TABLE IF EXISTS items4a CASCADE;
|
|
54
|
-
CREATE TABLE IF NOT EXISTS items4a (
|
|
55
|
-
id SERIAL PRIMARY KEY,
|
|
56
|
-
items_id INTEGER REFERENCES items(id),
|
|
57
|
-
items2_id INTEGER REFERENCES items2(id),
|
|
58
|
-
name TEXT
|
|
59
|
-
);
|
|
60
|
-
|
|
61
|
-
DROP TABLE IF EXISTS items_multi CASCADE;
|
|
62
|
-
CREATE TABLE IF NOT EXISTS items_multi (
|
|
63
|
-
id SERIAL PRIMARY KEY,
|
|
64
|
-
items0_id INTEGER REFERENCES items(id),
|
|
65
|
-
items1_id INTEGER REFERENCES items(id),
|
|
66
|
-
items2_id INTEGER REFERENCES items(id),
|
|
67
|
-
items3_id INTEGER REFERENCES items(id),
|
|
68
|
-
name TEXT
|
|
69
|
-
);
|
|
70
|
-
|
|
71
|
-
DROP TABLE IF EXISTS items4 CASCADE;
|
|
72
|
-
CREATE TABLE IF NOT EXISTS items4 (
|
|
73
|
-
id SERIAL,
|
|
74
|
-
public TEXT,
|
|
75
|
-
name TEXT,
|
|
76
|
-
added TIMESTAMP DEFAULT NOW(),
|
|
77
|
-
PRIMARY KEY(id, name)
|
|
78
|
-
);
|
|
79
|
-
DROP TABLE IF EXISTS items4_pub CASCADE;
|
|
80
|
-
CREATE TABLE IF NOT EXISTS items4_pub (
|
|
81
|
-
id SERIAL,
|
|
82
|
-
public TEXT,
|
|
83
|
-
name TEXT,
|
|
84
|
-
added TIMESTAMP DEFAULT NOW(),
|
|
85
|
-
PRIMARY KEY(id, name)
|
|
86
|
-
);
|
|
87
|
-
CREATE INDEX IF NOT EXISTS idx1 ON items(name);
|
|
88
|
-
CREATE INDEX IF NOT EXISTS idx2 ON items2(name);
|
|
89
|
-
CREATE INDEX IF NOT EXISTS idx3 ON items3(name);
|
|
90
|
-
|
|
91
|
-
DROP VIEW IF EXISTS v_items;
|
|
92
|
-
CREATE VIEW v_items AS
|
|
93
|
-
SELECT id, name FROM items UNION
|
|
94
|
-
SELECT id, name FROM items2 UNION
|
|
95
|
-
SELECT id, name FROM items2 UNION
|
|
96
|
-
SELECT id, name FROM items3;
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
DROP TABLE IF EXISTS planes CASCADE;
|
|
102
|
-
CREATE TABLE IF NOT EXISTS planes (
|
|
103
|
-
id SERIAL PRIMARY KEY,
|
|
104
|
-
x INTEGER,
|
|
105
|
-
y INTEGER,
|
|
106
|
-
flight_number TEXT,
|
|
107
|
-
last_updated BIGINT NOT NULL
|
|
108
|
-
);
|
|
109
|
-
CREATE INDEX IF NOT EXISTS planes_idx1 ON planes(id);
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
DROP TABLE IF EXISTS ex_j_ins CASCADE;
|
|
114
|
-
CREATE TABLE IF NOT EXISTS ex_j_ins (
|
|
115
|
-
id SERIAL,
|
|
116
|
-
public TEXT,
|
|
117
|
-
name TEXT,
|
|
118
|
-
added TIMESTAMP DEFAULT NOW(),
|
|
119
|
-
PRIMARY KEY(id, name)
|
|
120
|
-
);
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
DROP TABLE IF EXISTS "*" CASCADE;
|
|
124
|
-
CREATE TABLE IF NOT EXISTS "*" (
|
|
125
|
-
id SERIAL PRIMARY KEY,
|
|
126
|
-
"*" TEXT
|
|
127
|
-
);
|
|
128
|
-
|
|
129
|
-
DROP TABLE IF EXISTS """*""" CASCADE;
|
|
130
|
-
CREATE TABLE IF NOT EXISTS """*""" (
|
|
131
|
-
id SERIAL PRIMARY KEY,
|
|
132
|
-
qq TEXT,
|
|
133
|
-
"""*""" TEXT
|
|
134
|
-
);
|
|
135
|
-
|
|
136
|
-
DROP TABLE IF EXISTS hehe CASCADE;
|
|
137
|
-
|
|
138
|
-
DROP TABLE IF EXISTS """quoted0""" CASCADE;
|
|
139
|
-
DROP TABLE IF EXISTS """quoted1""" CASCADE;
|
|
140
|
-
DROP TABLE IF EXISTS """quoted2""" CASCADE;
|
|
141
|
-
CREATE TABLE IF NOT EXISTS """quoted2""" (
|
|
142
|
-
"""id2""" SERIAL PRIMARY KEY,
|
|
143
|
-
"""text_col2""" TEXT DEFAULT 'quoted2'
|
|
144
|
-
);
|
|
145
|
-
CREATE TABLE IF NOT EXISTS """quoted1""" (
|
|
146
|
-
"""id1""" SERIAL PRIMARY KEY,
|
|
147
|
-
"""quoted2_id""" INTEGER REFERENCES """quoted2""",
|
|
148
|
-
"""text_col1""" TEXT DEFAULT 'quoted1'
|
|
149
|
-
);
|
|
150
|
-
CREATE TABLE IF NOT EXISTS """quoted0""" (
|
|
151
|
-
"""id0""" SERIAL PRIMARY KEY,
|
|
152
|
-
"""quoted1_id""" INTEGER REFERENCES """quoted1""",
|
|
153
|
-
"""text_col0""" TEXT DEFAULT 'quoted0'
|
|
154
|
-
);
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
DROP TABLE IF EXISTS tr1 CASCADE;
|
|
158
|
-
CREATE TABLE IF NOT EXISTS tr1 (
|
|
159
|
-
id SERIAL PRIMARY KEY,
|
|
160
|
-
t1 TEXT
|
|
161
|
-
);
|
|
162
|
-
|
|
163
|
-
DROP TABLE IF EXISTS tr2 CASCADE;
|
|
164
|
-
CREATE TABLE IF NOT EXISTS tr2 (
|
|
165
|
-
id SERIAL PRIMARY KEY,
|
|
166
|
-
tr1_id INTEGER REFERENCES tr1(id),
|
|
167
|
-
t1 TEXT,
|
|
168
|
-
t2 TEXT,
|
|
169
|
-
UNIQUE(id, t1)
|
|
170
|
-
);
|
|
171
|
-
|
|
172
|
-
DROP TABLE IF EXISTS tr3 CASCADE;
|
|
173
|
-
CREATE TABLE IF NOT EXISTS tr3 (
|
|
174
|
-
id SERIAL PRIMARY KEY,
|
|
175
|
-
tr2_id INTEGER REFERENCES tr2(id),
|
|
176
|
-
t2 TEXT
|
|
177
|
-
);
|
|
178
|
-
|
|
179
|
-
DROP TABLE IF EXISTS obj_table CASCADE;
|
|
180
|
-
CREATE TABLE IF NOT EXISTS obj_table (
|
|
181
|
-
id SERIAL PRIMARY KEY,
|
|
182
|
-
obj JSONB
|
|
183
|
-
);
|
|
184
|
-
|
|
185
|
-
CREATE SCHEMA IF NOT EXISTS prostgles_test;
|
|
186
|
-
DROP TABLE IF EXISTS prostgles_test.basic CASCADE;
|
|
187
|
-
CREATE TABLE IF NOT EXISTS prostgles_test.basic (
|
|
188
|
-
id SERIAL PRIMARY KEY,
|
|
189
|
-
txt text
|
|
190
|
-
);
|
|
191
|
-
DROP TABLE IF EXISTS prostgles_test.basic1 CASCADE;
|
|
192
|
-
CREATE TABLE IF NOT EXISTS prostgles_test.basic1 (
|
|
193
|
-
id SERIAL PRIMARY KEY,
|
|
194
|
-
id_basic INTEGER REFERENCES prostgles_test.basic,
|
|
195
|
-
txt text
|
|
196
|
-
);
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
DROP MATERIALIZED VIEW IF EXISTS prostgles_test.mv_basic1;
|
|
200
|
-
CREATE MATERIALIZED VIEW prostgles_test.mv_basic1 AS
|
|
201
|
-
SELECT * FROM prostgles_test.basic1;
|
|
202
|
-
|
|
203
|
-
DROP TABLE IF EXISTS self_join CASCADE;
|
|
204
|
-
CREATE TABLE self_join (
|
|
205
|
-
id SERIAL PRIMARY KEY,
|
|
206
|
-
name TEXT,
|
|
207
|
-
my_id INTEGER REFERENCES self_join,
|
|
208
|
-
my_id1 INTEGER REFERENCES self_join
|
|
209
|
-
);
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
DROP TABLE IF EXISTS symbols CASCADE;
|
|
213
|
-
CREATE TABLE IF NOT EXISTS symbols (
|
|
214
|
-
id TEXT PRIMARY KEY
|
|
215
|
-
);
|
|
216
|
-
|
|
217
|
-
DROP TABLE IF EXISTS trades CASCADE;
|
|
218
|
-
CREATE TABLE IF NOT EXISTS trades (
|
|
219
|
-
id SERIAL PRIMARY KEY,
|
|
220
|
-
symbol TEXT NOT NULL REFERENCES symbols,
|
|
221
|
-
price NUMERIC NOT NULL
|
|
222
|
-
);
|
|
223
|
-
|
|
224
|
-
-- DROP TABLE media CASCADE;
|