prostgles-server 2.0.246 → 2.0.249

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.
@@ -6,13 +6,21 @@ const DboBuilder_1 = require("../DboBuilder");
6
6
  async function insert(rowOrRows, param2, param3_unused, tableRules, _localParams) {
7
7
  const localParams = _localParams || {};
8
8
  const { dbTX } = localParams;
9
- const finalDBtx = dbTX || this.dbTX;
10
- if (tableRules?.insert?.postValidate && !finalDBtx) {
11
- return this.dboBuilder.getTX(_dbtx => _dbtx[this.name]?.insert?.(rowOrRows, param2, param3_unused, tableRules, _localParams));
12
- }
13
9
  try {
14
- const { returning, onConflictDoNothing, fixIssues = false } = param2 || {};
10
+ const { onConflictDoNothing, fixIssues = false } = param2 || {};
11
+ let { returning } = param2 || {};
15
12
  const { testRule = false, returnQuery = false } = localParams || {};
13
+ const finalDBtx = dbTX || this.dbTX;
14
+ if (tableRules?.insert?.postValidate) {
15
+ if (!finalDBtx) {
16
+ return this.dboBuilder.getTX(_dbtx => _dbtx[this.name]?.insert?.(rowOrRows, param2, param3_unused, tableRules, _localParams));
17
+ }
18
+ /** Post validate can only access the fields that are accessible to the client */
19
+ returning ?? (returning = {});
20
+ if (returning !== "*") {
21
+ returning["*"] = 1;
22
+ }
23
+ }
16
24
  let returningFields, forcedData, fields;
17
25
  if (tableRules) {
18
26
  if (!tableRules.insert)
@@ -110,15 +118,15 @@ async function insert(rowOrRows, param2, param3_unused, tableRules, _localParams
110
118
  const tx = dbTX?.[this.name]?.t || this.t;
111
119
  const allowedFieldKeys = this.parseFieldFilter(fields);
112
120
  if (tx) {
113
- result = tx[queryType](query).catch((err) => (0, DboBuilder_1.makeErr)(err, localParams, this, allowedFieldKeys));
121
+ result = await tx[queryType](query).catch((err) => (0, DboBuilder_1.makeErr)(err, localParams, this, allowedFieldKeys));
114
122
  }
115
123
  else {
116
- result = this.db.tx(t => t[queryType](query)).catch(err => (0, DboBuilder_1.makeErr)(err, localParams, this, allowedFieldKeys));
124
+ result = await this.db.tx(t => t[queryType](query)).catch(err => (0, DboBuilder_1.makeErr)(err, localParams, this, allowedFieldKeys));
117
125
  }
118
126
  if (tableRules?.insert?.postValidate) {
119
127
  if (!finalDBtx)
120
128
  throw new Error("Unexpected: no dbTX for postValidate");
121
- const rows = Array.isArray(data) ? data : [data];
129
+ const rows = Array.isArray(result) ? result : [result];
122
130
  for await (const row of rows) {
123
131
  await tableRules?.insert?.postValidate(row ?? {}, finalDBtx);
124
132
  }
@@ -128,15 +136,6 @@ async function insert(rowOrRows, param2, param3_unused, tableRules, _localParams
128
136
  catch (e) {
129
137
  if (localParams && localParams.testRule)
130
138
  throw e;
131
- const removeBuffers = (o) => {
132
- if ((0, DboBuilder_1.isPlainObject)(o)) {
133
- return JSON.stringify((0, prostgles_types_1.getKeys)(o).reduce((a, k) => {
134
- const value = o[k];
135
- return { ...a, [k]: Buffer.isBuffer(value) ? `Buffer[${value.byteLength}][...REMOVED]` : value
136
- };
137
- }, {}));
138
- }
139
- };
140
139
  // ${JSON.stringify(rowOrRows || {}, null, 2)},
141
140
  // ${JSON.stringify(param2 || {}, null, 2)}
142
141
  throw {
@@ -147,4 +146,13 @@ async function insert(rowOrRows, param2, param3_unused, tableRules, _localParams
147
146
  }
148
147
  exports.insert = insert;
149
148
  ;
149
+ const removeBuffers = (o) => {
150
+ if ((0, DboBuilder_1.isPlainObject)(o)) {
151
+ return JSON.stringify((0, prostgles_types_1.getKeys)(o).reduce((a, k) => {
152
+ const value = o[k];
153
+ return { ...a, [k]: Buffer.isBuffer(value) ? `Buffer[${value.byteLength}][...REMOVED]` : value
154
+ };
155
+ }, {}));
156
+ }
157
+ };
150
158
  //# sourceMappingURL=insert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"insert.js","sourceRoot":"","sources":["../../lib/DboBuilder/insert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"insert.js","sourceRoot":"","sources":["../../lib/DboBuilder/insert.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,21 @@ const DboBuilder_1 = require("../DboBuilder");
6
6
  async function insert(rowOrRows, param2, param3_unused, tableRules, _localParams) {
7
7
  const localParams = _localParams || {};
8
8
  const { dbTX } = localParams;
9
- const finalDBtx = dbTX || this.dbTX;
10
- if (tableRules?.insert?.postValidate && !finalDBtx) {
11
- return this.dboBuilder.getTX(_dbtx => _dbtx[this.name]?.insert?.(rowOrRows, param2, param3_unused, tableRules, _localParams));
12
- }
13
9
  try {
14
- const { returning, onConflictDoNothing, fixIssues = false } = param2 || {};
10
+ const { onConflictDoNothing, fixIssues = false } = param2 || {};
11
+ let { returning } = param2 || {};
15
12
  const { testRule = false, returnQuery = false } = localParams || {};
13
+ const finalDBtx = dbTX || this.dbTX;
14
+ if (tableRules?.insert?.postValidate) {
15
+ if (!finalDBtx) {
16
+ return this.dboBuilder.getTX(_dbtx => _dbtx[this.name]?.insert?.(rowOrRows, param2, param3_unused, tableRules, _localParams));
17
+ }
18
+ /** Post validate can only access the fields that are accessible to the client */
19
+ returning ?? (returning = {});
20
+ if (returning !== "*") {
21
+ returning["*"] = 1;
22
+ }
23
+ }
16
24
  let returningFields, forcedData, fields;
17
25
  if (tableRules) {
18
26
  if (!tableRules.insert)
@@ -110,15 +118,15 @@ async function insert(rowOrRows, param2, param3_unused, tableRules, _localParams
110
118
  const tx = dbTX?.[this.name]?.t || this.t;
111
119
  const allowedFieldKeys = this.parseFieldFilter(fields);
112
120
  if (tx) {
113
- result = tx[queryType](query).catch((err) => (0, DboBuilder_1.makeErr)(err, localParams, this, allowedFieldKeys));
121
+ result = await tx[queryType](query).catch((err) => (0, DboBuilder_1.makeErr)(err, localParams, this, allowedFieldKeys));
114
122
  }
115
123
  else {
116
- result = this.db.tx(t => t[queryType](query)).catch(err => (0, DboBuilder_1.makeErr)(err, localParams, this, allowedFieldKeys));
124
+ result = await this.db.tx(t => t[queryType](query)).catch(err => (0, DboBuilder_1.makeErr)(err, localParams, this, allowedFieldKeys));
117
125
  }
118
126
  if (tableRules?.insert?.postValidate) {
119
127
  if (!finalDBtx)
120
128
  throw new Error("Unexpected: no dbTX for postValidate");
121
- const rows = Array.isArray(data) ? data : [data];
129
+ const rows = Array.isArray(result) ? result : [result];
122
130
  for await (const row of rows) {
123
131
  await tableRules?.insert?.postValidate(row ?? {}, finalDBtx);
124
132
  }
@@ -128,15 +136,6 @@ async function insert(rowOrRows, param2, param3_unused, tableRules, _localParams
128
136
  catch (e) {
129
137
  if (localParams && localParams.testRule)
130
138
  throw e;
131
- const removeBuffers = (o) => {
132
- if ((0, DboBuilder_1.isPlainObject)(o)) {
133
- return JSON.stringify((0, prostgles_types_1.getKeys)(o).reduce((a, k) => {
134
- const value = o[k];
135
- return { ...a, [k]: Buffer.isBuffer(value) ? `Buffer[${value.byteLength}][...REMOVED]` : value
136
- };
137
- }, {}));
138
- }
139
- };
140
139
  // ${JSON.stringify(rowOrRows || {}, null, 2)},
141
140
  // ${JSON.stringify(param2 || {}, null, 2)}
142
141
  throw {
@@ -147,3 +146,12 @@ async function insert(rowOrRows, param2, param3_unused, tableRules, _localParams
147
146
  }
148
147
  exports.insert = insert;
149
148
  ;
149
+ const removeBuffers = (o) => {
150
+ if ((0, DboBuilder_1.isPlainObject)(o)) {
151
+ return JSON.stringify((0, prostgles_types_1.getKeys)(o).reduce((a, k) => {
152
+ const value = o[k];
153
+ return { ...a, [k]: Buffer.isBuffer(value) ? `Buffer[${value.byteLength}][...REMOVED]` : value
154
+ };
155
+ }, {}));
156
+ }
157
+ };
@@ -6,14 +6,23 @@ import { TableRule } from "../PublishParser";
6
6
  export async function insert(this: TableHandler, rowOrRows: (AnyObject | AnyObject[]), param2?: InsertParams, param3_unused?: undefined, tableRules?: TableRule, _localParams?: LocalParams): Promise<any | any[] | boolean> {
7
7
  const localParams = _localParams || {};
8
8
  const { dbTX } = localParams;
9
- const finalDBtx = dbTX || this.dbTX;
10
- if(tableRules?.insert?.postValidate && !finalDBtx){
11
- return this.dboBuilder.getTX(_dbtx => _dbtx[this.name]?.insert?.(rowOrRows, param2, param3_unused, tableRules, _localParams))
12
- }
13
9
  try {
14
10
 
15
- const { returning, onConflictDoNothing, fixIssues = false } = param2 || {};
11
+ const { onConflictDoNothing, fixIssues = false } = param2 || {};
12
+ let { returning } = param2 || {};
16
13
  const { testRule = false, returnQuery = false } = localParams || {};
14
+ const finalDBtx = dbTX || this.dbTX;
15
+ if(tableRules?.insert?.postValidate ){
16
+ if(!finalDBtx){
17
+ return this.dboBuilder.getTX(_dbtx => _dbtx[this.name]?.insert?.(rowOrRows, param2, param3_unused, tableRules, _localParams))
18
+ }
19
+
20
+ /** Post validate can only access the fields that are accessible to the client */
21
+ returning ??= {};
22
+ if(returning !== "*"){
23
+ returning["*"] = 1;
24
+ }
25
+ }
17
26
 
18
27
  let returningFields: FieldFilter | undefined,
19
28
  forcedData: AnyObject | undefined,
@@ -124,14 +133,14 @@ export async function insert(this: TableHandler, rowOrRows: (AnyObject | AnyObje
124
133
 
125
134
  const allowedFieldKeys = this.parseFieldFilter(fields);
126
135
  if (tx) {
127
- result = (tx as any)[queryType](query).catch((err: any) => makeErr(err, localParams, this, allowedFieldKeys));
136
+ result = await (tx as any)[queryType](query).catch((err: any) => makeErr(err, localParams, this, allowedFieldKeys));
128
137
  } else {
129
- result = this.db.tx(t => (t as any)[queryType](query)).catch(err => makeErr(err, localParams, this, allowedFieldKeys));
138
+ result = await this.db.tx(t => (t as any)[queryType](query)).catch(err => makeErr(err, localParams, this, allowedFieldKeys));
130
139
  }
131
140
 
132
141
  if(tableRules?.insert?.postValidate){
133
142
  if(!finalDBtx) throw new Error("Unexpected: no dbTX for postValidate");
134
- const rows = Array.isArray(data)? data : [data];
143
+ const rows = Array.isArray(result)? result : [result];
135
144
  for await (const row of rows){
136
145
  await tableRules?.insert?.postValidate(row ?? {}, finalDBtx)
137
146
  }
@@ -141,15 +150,6 @@ export async function insert(this: TableHandler, rowOrRows: (AnyObject | AnyObje
141
150
  } catch (e) {
142
151
  if (localParams && localParams.testRule) throw e;
143
152
 
144
- const removeBuffers = (o: any) => {
145
- if(isPlainObject(o)){
146
- return JSON.stringify(getKeys(o).reduce((a, k) => {
147
- const value = o[k]
148
- return { ...a, [k]: Buffer.isBuffer(value)? `Buffer[${value.byteLength}][...REMOVED]` : value
149
- }
150
- }, {}));
151
- }
152
- }
153
153
  // ${JSON.stringify(rowOrRows || {}, null, 2)},
154
154
  // ${JSON.stringify(param2 || {}, null, 2)}
155
155
  throw {
@@ -157,4 +157,15 @@ export async function insert(this: TableHandler, rowOrRows: (AnyObject | AnyObje
157
157
  msg: isPlainObject(e) && e.msg? e.msg : `Issue with dbo.${this.name}.insert(...)`,
158
158
  };
159
159
  }
160
- };
160
+ };
161
+
162
+
163
+ const removeBuffers = (o: any) => {
164
+ if(isPlainObject(o)){
165
+ return JSON.stringify(getKeys(o).reduce((a, k) => {
166
+ const value = o[k]
167
+ return { ...a, [k]: Buffer.isBuffer(value)? `Buffer[${value.byteLength}][...REMOVED]` : value
168
+ }
169
+ }, {}));
170
+ }
171
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "2.0.246",
3
+ "version": "2.0.249",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +1 @@
1
- 13630
1
+ 18549
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "2.0.245",
24
+ "version": "2.0.248",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "@aws-sdk/client-s3": "^3.121.0",