prostgles-server 4.2.8 → 4.2.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"DataValidator.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/DataValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAA+F,MAAM,sBAAsB,CAAC;AAC1J,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAO,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAI/D,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,GAAG,CAAC;CACjB,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,GAAG,EAAE,CAAC;CACb,CAAA;AACD,KAAK,YAAY,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAE7D,KAAK,kBAAkB,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC7B,iBAAiB,EAAE;QACjB,WAAW,EAAE,SAAS,GAAG,WAAW,CAAC;QACrC,QAAQ,EAAE,SAAS,GAAG,gBAAgB,CAAC;KACxC,CAAA;CACF,CAAA;AAED,qBAAa,aAAa;IACxB,YAAY,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC;IAChC,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,EAAE,CAAC;IAC5C,YAAY,EAAE,YAAY,CAAC;gBACf,YAAY,EAAE,YAAY;IAItC,KAAK,SAAgB,aAAa;;;;;;OAcjC;CACF;AA2DD;;;;GAIG;AACH,eAAO,MAAM,cAAc,+FAA8G,eAAe;;;EA0BvJ,CAAA;AA2LD,qBAAa,MAAM;IACjB,IAAI,EAAE;QACJ,OAAO,EAAE,UAAU,EAAE,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;gBAEU,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM;CA8ErD"}
1
+ {"version":3,"file":"DataValidator.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/DataValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAA+F,MAAM,sBAAsB,CAAC;AAC1J,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAO,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAI/D,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,GAAG,CAAC;CACjB,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,GAAG,EAAE,CAAC;CACb,CAAA;AACD,KAAK,YAAY,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAE7D,KAAK,kBAAkB,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC7B,iBAAiB,EAAE;QACjB,WAAW,EAAE,SAAS,GAAG,WAAW,CAAC;QACrC,QAAQ,EAAE,SAAS,GAAG,gBAAgB,CAAC;KACxC,CAAA;CACF,CAAA;AAED,qBAAa,aAAa;IACxB,YAAY,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC;IAChC,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,EAAE,CAAC;IAC5C,YAAY,EAAE,YAAY,CAAC;gBACf,YAAY,EAAE,YAAY;IAItC,KAAK,SAAgB,aAAa;;;;;;OAcjC;CACF;AA2DD;;;;GAIG;AACH,eAAO,MAAM,cAAc,+FAA8G,eAAe;;;EA0BvJ,CAAA;AA6LD,qBAAa,MAAM;IACjB,IAAI,EAAE;QACJ,OAAO,EAAE,UAAU,EAAE,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;gBAEU,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM;CA8ErD"}
@@ -114,14 +114,16 @@ const getValidatedRowFieldData = async ({ allowedCols, rows, validationOptions,
114
114
  }
115
115
  const rowFieldData = await Promise.all(rows.map(async (nonvalidatedRow) => {
116
116
  let row = (0, dist_1.pickKeys)(nonvalidatedRow, allowedCols);
117
+ const initialRowKeys = Object.keys(row);
117
118
  if (validationOptions.validate) {
118
119
  if (!validationOptions.localParams) {
119
120
  throw "localParams missing for validate";
120
121
  }
121
122
  row = await validationOptions.validate({ row, dbx: dbTx, localParams: validationOptions.localParams });
122
123
  }
124
+ const keysAddedDuringValidate = Object.keys(row).filter(newKey => !initialRowKeys.includes(newKey));
123
125
  const getColumn = (fieldName) => {
124
- if (!allowedCols.includes(fieldName)) {
126
+ if (!allowedCols.concat(keysAddedDuringValidate).includes(fieldName)) {
125
127
  throw `Unexpected/Dissallowed column name: ${fieldName}`;
126
128
  }
127
129
  const column = tableHandler.columns.find(c => c.name === fieldName);
@@ -1 +1 @@
1
- {"version":3,"file":"DataValidator.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/DataValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataValidator.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/DataValidator.ts"],"names":[],"mappings":"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"}
@@ -168,15 +168,17 @@ const getValidatedRowFieldData = async ({ allowedCols, rows, validationOptions,
168
168
  rows.map(async nonvalidatedRow => {
169
169
 
170
170
  let row = pickKeys(nonvalidatedRow, allowedCols);
171
+ const initialRowKeys = Object.keys(row);
171
172
  if (validationOptions.validate) {
172
173
  if(!validationOptions.localParams){
173
174
  throw "localParams missing for validate";
174
175
  }
175
176
  row = await validationOptions.validate({ row, dbx: dbTx, localParams: validationOptions.localParams });
176
177
  }
178
+ const keysAddedDuringValidate = Object.keys(row).filter(newKey => !initialRowKeys.includes(newKey));
177
179
 
178
180
  const getColumn = (fieldName: string) => {
179
- if (!allowedCols.includes(fieldName)) {
181
+ if (!allowedCols.concat(keysAddedDuringValidate).includes(fieldName)) {
180
182
  throw `Unexpected/Dissallowed column name: ${fieldName}`;
181
183
  }
182
184
  const column = tableHandler.columns.find(c => c.name === fieldName);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.8",
3
+ "version": "4.2.10",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,10 +1,10 @@
1
1
  import prostgles from "prostgles-client";
2
2
  import io from "socket.io-client";
3
3
 
4
- import isomorphic from "../isomorphic_queries";
5
- import client_only from "../client_only_queries";
6
- import client_rest_api from "../client_rest_api";
7
- import client_files from "../client_files";
4
+ import { isomorphicQueries } from "../isomorphicQueries.spec";
5
+ import { clientOnlyQueries } from "../clientOnlyQueries.spec";
6
+ import { clientRestApi } from "../clientRestApi.spec";
7
+ import { clientFileTests } from "../clientFileTests.spec";
8
8
  import { InitOptions } from "prostgles-client/dist/prostgles";
9
9
  export { DBHandlerClient, Auth } from "prostgles-client/dist/prostgles";
10
10
 
@@ -24,19 +24,19 @@ type ClientTestSpec = {
24
24
  const tests: Record<string, ClientTestSpec> = {
25
25
  main: {
26
26
  onRun: async (db, methods, tableSchema, auth) => {
27
- await isomorphic(db, log);
28
- await client_only(db, auth, log, methods, tableSchema, TEST_NAME);
27
+ await isomorphicQueries(db, log);
28
+ await clientOnlyQueries(db, auth, log, methods, tableSchema, TEST_NAME);
29
29
  },
30
30
  },
31
31
  files: {
32
32
  onRun: async (db, methods, tableSchema, auth) => {
33
- await client_files(db, auth, log, methods, tableSchema)
33
+ await clientFileTests(db, auth, log, methods, tableSchema)
34
34
  },
35
35
 
36
36
  },
37
37
  rest_api: {
38
38
  onRun: async (db, methods, tableSchema, auth) => {
39
- await client_rest_api(db, auth, log, methods, tableSchema, TEST_NAME);
39
+ await clientRestApi(db, auth, log, methods, tableSchema, TEST_NAME);
40
40
  }
41
41
  },
42
42
  };
@@ -9,7 +9,7 @@
9
9
  "version": "1.0.0",
10
10
  "license": "ISC",
11
11
  "dependencies": {
12
- "@types/node": "^14.14.16",
12
+ "@types/node": "^20.9.2",
13
13
  "prostgles-client": "^4.0.69",
14
14
  "prostgles-types": "^4.0.51",
15
15
  "socket.io-client": "^4.7.1"
@@ -24,9 +24,12 @@
24
24
  "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
25
25
  },
26
26
  "node_modules/@types/node": {
27
- "version": "14.17.18",
28
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.18.tgz",
29
- "integrity": "sha512-haYyibw4pbteEhkSg0xdDLAI3679L75EJ799ymVrPxOA922bPx3ML59SoDsQ//rHlvqpu+e36kcbR3XRQtFblA=="
27
+ "version": "20.11.5",
28
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz",
29
+ "integrity": "sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==",
30
+ "dependencies": {
31
+ "undici-types": "~5.26.4"
32
+ }
30
33
  },
31
34
  "node_modules/debug": {
32
35
  "version": "4.3.4",
@@ -137,6 +140,11 @@
137
140
  "node": ">=14.17"
138
141
  }
139
142
  },
143
+ "node_modules/undici-types": {
144
+ "version": "5.26.5",
145
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
146
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
147
+ },
140
148
  "node_modules/ws": {
141
149
  "version": "8.11.0",
142
150
  "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
@@ -173,9 +181,12 @@
173
181
  "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
174
182
  },
175
183
  "@types/node": {
176
- "version": "14.17.18",
177
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.18.tgz",
178
- "integrity": "sha512-haYyibw4pbteEhkSg0xdDLAI3679L75EJ799ymVrPxOA922bPx3ML59SoDsQ//rHlvqpu+e36kcbR3XRQtFblA=="
184
+ "version": "20.11.5",
185
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz",
186
+ "integrity": "sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==",
187
+ "requires": {
188
+ "undici-types": "~5.26.4"
189
+ }
179
190
  },
180
191
  "debug": {
181
192
  "version": "4.3.4",
@@ -254,6 +265,11 @@
254
265
  "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
255
266
  "dev": true
256
267
  },
268
+ "undici-types": {
269
+ "version": "5.26.5",
270
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
271
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
272
+ },
257
273
  "ws": {
258
274
  "version": "8.11.0",
259
275
  "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
@@ -7,12 +7,12 @@
7
7
  "start": "tsc-watch --onSuccess \"node dist/client/index.js\"",
8
8
  "dev": "NOSTOP=true npm start",
9
9
  "build": "rm -rf ./node_modules/* && rm -rf ./dist/* && npm i && tsc",
10
- "test": "node dist/client/index.js"
10
+ "test": "node --test --experimental-test-coverage dist/client/index.js"
11
11
  },
12
12
  "author": "",
13
13
  "license": "ISC",
14
14
  "dependencies": {
15
- "@types/node": "^14.14.16",
15
+ "@types/node": "^20.9.2",
16
16
  "prostgles-client": "^4.0.69",
17
17
  "prostgles-types": "^4.0.51",
18
18
  "socket.io-client": "^4.7.1"
@@ -0,0 +1,103 @@
1
+
2
+ import { DBSchemaTable } from "prostgles-types";
3
+ import type { Auth, DBHandlerClient } from "./client/index";
4
+ import { tryRun } from './isomorphicQueries.spec';
5
+ import { strict as assert } from 'assert';
6
+ import fs from "fs";
7
+ import { describe, test } from "node:test";
8
+
9
+ export const clientFileTests = async (db: DBHandlerClient, auth: Auth, log: (...args: any[]) => any, methods, tableSchema: DBSchemaTable[]) => {
10
+
11
+ await describe("clientFileTests", async () => {
12
+
13
+ const fileFolder = `${__dirname}/../../server/dist/server/media/`;
14
+ const getFiles = () => db.sql("SELECT id, original_name FROM files", { }, { returnType: "rows" })
15
+ await db.sql(`
16
+ ALTER TABLE users_public_info
17
+ DROP CONSTRAINT "users_public_info_avatar_fkey";
18
+
19
+ ALTER TABLE "users_public_info"
20
+ ADD FOREIGN KEY ("avatar")
21
+ REFERENCES "files" ("id")
22
+ ON DELETE SET NULL
23
+ `, { })
24
+ const initialFiles = await getFiles();
25
+
26
+ await test("Files table is present", async () => {
27
+ const files = await db.files.find!();
28
+ assert.deepStrictEqual(files, []);
29
+ });
30
+
31
+
32
+ const file = {
33
+ data: Buffer.from("This is a string", "utf-8"),
34
+ name: "sample_file.txt"
35
+ };
36
+ let insertedFile;
37
+ await test("Insert file from nested insert", async () => {
38
+ const nestedInsert = await db.users_public_info.insert!({ name: "somename.txt", avatar: file }, { returning: "*" });
39
+ const files = await db.files.find!();
40
+ assert.equal(files.length, 1);
41
+ assert.equal(files[0].id, nestedInsert.avatar.id);
42
+ assert.equal(files[0].original_name, file.name);
43
+ const initialFileStr = fs.readFileSync(fileFolder + files[0].name).toString('utf8');
44
+ assert.equal(file.data.toString(), initialFileStr);
45
+ insertedFile = files[0]
46
+ });
47
+
48
+ await test("Cannot Insert file directly", async () => {
49
+ try {
50
+ await db.files.insert!(file, { returning: "*" });
51
+ throw "Should not be able to insert files directly"
52
+ } catch (err){
53
+ assert.equal(err.message.startsWith("Direct inserts not allowed"), true);
54
+ }
55
+ });
56
+
57
+ await test("Can update allowed files directly", async () => {
58
+ const newData = {
59
+ data: Buffer.from("aa", "utf-8"),
60
+ name: "a.txt"
61
+ }
62
+ await db.files.update!({ id: insertedFile.id }, newData);
63
+ const newFiles = await db.files.find!();
64
+ assert.equal(newFiles.length, 1);
65
+ const [newFile] = newFiles;
66
+ assert.equal(newFile?.original_name, newData.name);
67
+ assert.equal(newFile.id, insertedFile.id);
68
+ assert.equal(
69
+ fs.readFileSync(fileFolder + newFile.name).toString('utf8').toString(),
70
+ newData.data.toString()
71
+ );
72
+ });
73
+
74
+ await test("Can insert allowed files through a nested update", async () => {
75
+
76
+ await db.files.delete!();
77
+ const user = await db.users_public_info.findOne!();
78
+ const newData = {
79
+ data: Buffer.from("nestedupdate", "utf-8"),
80
+ name: "nestedupdate.txt"
81
+ }
82
+ const d = await db.users_public_info.update!({ id: user?.id }, { avatar: newData }, { returning: "*" });
83
+ const avatarFile = await db.files.findOne!({ id: d?.at(0).avatar.id });
84
+ const initialFileStr = fs.readFileSync(fileFolder + avatarFile!.name).toString('utf8');
85
+ assert.equal(newData.data.toString(), initialFileStr);
86
+ });
87
+
88
+ await test("Can delete only allowed files directly", async () => {
89
+ const users = await db.users_public_info.find!();
90
+ for await(const user of users){
91
+ await db.files.delete!({ id: user.avatar.id });
92
+ await db.users_public_info.delete!({ id: user.id });
93
+ }
94
+
95
+ await db.users_public_info.delete!();
96
+ const files = await db.files.find!();
97
+ assert.deepStrictEqual(files, []);
98
+ const latestFiles = await getFiles()
99
+ assert.equal(initialFiles.length, latestFiles.length);
100
+ });
101
+
102
+ });
103
+ }