@saltcorn/data 0.9.1-beta.8 → 0.9.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.
Files changed (92) hide show
  1. package/dist/base-plugin/actions.d.ts +306 -44
  2. package/dist/base-plugin/actions.d.ts.map +1 -1
  3. package/dist/base-plugin/actions.js +164 -5
  4. package/dist/base-plugin/actions.js.map +1 -1
  5. package/dist/base-plugin/fieldviews.js +1 -1
  6. package/dist/base-plugin/fieldviews.js.map +1 -1
  7. package/dist/base-plugin/index.d.ts +371 -371
  8. package/dist/base-plugin/types.d.ts.map +1 -1
  9. package/dist/base-plugin/types.js +38 -17
  10. package/dist/base-plugin/types.js.map +1 -1
  11. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  12. package/dist/base-plugin/viewtemplates/edit.js +56 -21
  13. package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
  14. package/dist/base-plugin/viewtemplates/feed.js +1 -1
  15. package/dist/base-plugin/viewtemplates/feed.js.map +1 -1
  16. package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
  17. package/dist/base-plugin/viewtemplates/filter.js +18 -5
  18. package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
  19. package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
  20. package/dist/base-plugin/viewtemplates/list.js +5 -3
  21. package/dist/base-plugin/viewtemplates/list.js.map +1 -1
  22. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
  23. package/dist/base-plugin/viewtemplates/show.js +38 -10
  24. package/dist/base-plugin/viewtemplates/show.js.map +1 -1
  25. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts +2 -2
  26. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
  27. package/dist/base-plugin/viewtemplates/viewable_fields.js +24 -15
  28. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
  29. package/dist/db/state.d.ts.map +1 -1
  30. package/dist/db/state.js +5 -2
  31. package/dist/db/state.js.map +1 -1
  32. package/dist/models/config.d.ts.map +1 -1
  33. package/dist/models/config.js +37 -2
  34. package/dist/models/config.js.map +1 -1
  35. package/dist/models/discovery.d.ts +1 -0
  36. package/dist/models/discovery.d.ts.map +1 -1
  37. package/dist/models/discovery.js +6 -3
  38. package/dist/models/discovery.js.map +1 -1
  39. package/dist/models/field.d.ts +1 -0
  40. package/dist/models/field.d.ts.map +1 -1
  41. package/dist/models/field.js +4 -1
  42. package/dist/models/field.js.map +1 -1
  43. package/dist/models/file.d.ts +1 -1
  44. package/dist/models/file.d.ts.map +1 -1
  45. package/dist/models/file.js +3 -2
  46. package/dist/models/file.js.map +1 -1
  47. package/dist/models/index.d.ts +1 -1
  48. package/dist/models/index.d.ts.map +1 -1
  49. package/dist/models/index.js +1 -1
  50. package/dist/models/index.js.map +1 -1
  51. package/dist/models/page.d.ts.map +1 -1
  52. package/dist/models/page.js +23 -5
  53. package/dist/models/page.js.map +1 -1
  54. package/dist/models/plugin.d.ts +1 -0
  55. package/dist/models/plugin.d.ts.map +1 -1
  56. package/dist/models/plugin.js +5 -0
  57. package/dist/models/plugin.js.map +1 -1
  58. package/dist/models/table.d.ts +100 -5
  59. package/dist/models/table.d.ts.map +1 -1
  60. package/dist/models/table.js +123 -7
  61. package/dist/models/table.js.map +1 -1
  62. package/dist/models/trigger.js +2 -2
  63. package/dist/models/trigger.js.map +1 -1
  64. package/dist/models/view.d.ts +1 -0
  65. package/dist/models/view.d.ts.map +1 -1
  66. package/dist/models/view.js +41 -14
  67. package/dist/models/view.js.map +1 -1
  68. package/dist/plugin-helper.d.ts +4 -5
  69. package/dist/plugin-helper.d.ts.map +1 -1
  70. package/dist/plugin-helper.js +95 -26
  71. package/dist/plugin-helper.js.map +1 -1
  72. package/dist/tests/actions.test.js +21 -3
  73. package/dist/tests/actions.test.js.map +1 -1
  74. package/dist/tests/auth.test.js +1 -1
  75. package/dist/tests/auth.test.js.map +1 -1
  76. package/dist/tests/auxtest.test.js +12 -1
  77. package/dist/tests/auxtest.test.js.map +1 -1
  78. package/dist/tests/common_helpers.d.ts.map +1 -1
  79. package/dist/tests/common_helpers.js +108 -0
  80. package/dist/tests/common_helpers.js.map +1 -1
  81. package/dist/tests/email.test.js +1 -1
  82. package/dist/tests/exact_views.test.js +12 -12
  83. package/dist/tests/exact_views.test.js.map +1 -1
  84. package/dist/tests/table.test.js +31 -0
  85. package/dist/tests/table.test.js.map +1 -1
  86. package/dist/tests/view.test.js +3 -2
  87. package/dist/tests/view.test.js.map +1 -1
  88. package/dist/utils.d.ts +2 -0
  89. package/dist/utils.d.ts.map +1 -1
  90. package/dist/utils.js +28 -0
  91. package/dist/utils.js.map +1 -1
  92. package/package.json +7 -7
@@ -49,7 +49,7 @@ const { action_link, fill_presets, } = require("../base-plugin/viewtemplates/vie
49
49
  const utils_1 = __importDefault(require("../utils"));
50
50
  const { run_action_column, stateToQueryString } = require("../plugin-helper");
51
51
  const node_extract_utils_1 = require("../diagram/node_extract_utils");
52
- const { InvalidConfiguration, satisfies, structuredClone, isNode, objectToQueryString, stringToJSON, dollarizeObject, } = utils_1.default;
52
+ const { InvalidConfiguration, satisfies, structuredClone, isNode, objectToQueryString, stringToJSON, dollarizeObject, getSessionId, } = utils_1.default;
53
53
  /**
54
54
  * Page Class
55
55
  * @category saltcorn-data
@@ -201,7 +201,10 @@ class Page {
201
201
  await eachView(this.layout, async (segment) => {
202
202
  const view = await view_1.default.findOne({ name: segment.view });
203
203
  const extra_state = segment.extra_state_fml
204
- ? eval_expression(segment.extra_state_fml, dollarizeObject(querystate || {}), extraArgs.req.user)
204
+ ? eval_expression(segment.extra_state_fml, {
205
+ ...dollarizeObject(querystate || {}),
206
+ session_id: getSessionId(extraArgs.req),
207
+ }, extraArgs.req.user)
205
208
  : {};
206
209
  if (!view) {
207
210
  throw new InvalidConfiguration(`Page ${this.name} configuration error in embedded view: ` +
@@ -214,7 +217,12 @@ class Page {
214
217
  ...querystate,
215
218
  ...extra_state,
216
219
  });
217
- segment.contents = await view.run(mystate, extraArgs, view.isRemoteTable());
220
+ const qs = stateToQueryString(mystate);
221
+ segment.contents = div({
222
+ class: "d-inline",
223
+ "data-sc-embed-viewname": view.name,
224
+ "data-sc-view-source": `/view/${view.name}${qs}`,
225
+ }, await view.run(mystate, extraArgs, view.isRemoteTable()));
218
226
  }
219
227
  else if (segment.state === "local") {
220
228
  const mystate = view.combine_state_and_default_state({
@@ -224,16 +232,23 @@ class Page {
224
232
  const qs = stateToQueryString(mystate);
225
233
  segment.contents = div({
226
234
  class: "d-inline",
235
+ "data-sc-embed-viewname": view.name,
227
236
  "data-sc-local-state": `/view/${view.name}${qs}`,
228
237
  }, await view.run(mystate, extraArgs, view.isRemoteTable()));
229
238
  }
230
239
  else {
240
+ // segment.state === "fixed"
231
241
  const table = table_1.default.findOne({ id: view.table_id });
232
242
  const state = segment.configuration || this.fixed_states[segment.name];
233
243
  const filled = await fill_presets(table, extraArgs.req, state);
234
244
  const mystate = view.combine_state_and_default_state(filled || {});
245
+ const qs = stateToQueryString(mystate);
235
246
  Object.assign(mystate, extra_state);
236
- segment.contents = await view.run(mystate, extraArgs, view.isRemoteTable());
247
+ segment.contents = div({
248
+ class: "d-inline",
249
+ "data-sc-embed-viewname": view.name,
250
+ "data-sc-view-source": `/view/${view.name}${qs}`,
251
+ }, await view.run(mystate, extraArgs, view.isRemoteTable()));
237
252
  }
238
253
  });
239
254
  await eachPage(this.layout, async (segment) => {
@@ -289,7 +304,10 @@ class Page {
289
304
  }
290
305
  if (segment.view_state_fml) {
291
306
  const extra_state = segment.view_state_fml
292
- ? eval_expression(segment.view_state_fml, dollarizeObject(querystate || {}), extraArgs.req.user)
307
+ ? eval_expression(segment.view_state_fml, {
308
+ ...dollarizeObject(querystate || {}),
309
+ session_id: getSessionId(extraArgs.req),
310
+ }, extraArgs.req.user)
293
311
  : {};
294
312
  segment.url +=
295
313
  (segment.transfer_state ? "&" : `?`) +
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../models/page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../models/page.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,7 @@ declare class Plugin {
56
56
  * @returns {Promise<string[]>}
57
57
  */
58
58
  dependant_views(): Promise<string[]>;
59
+ static get_cached_plugins(): Array<Plugin>;
59
60
  /**
60
61
  * List plugins available in store
61
62
  * @returns {Promise<*>}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../models/plugin.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAgB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACX,MAAM,iDAAiD,CAAC;AAIzD;;;GAGG;AACH,cAAM,MAAM;IACV,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;gBACS,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM;IAe9C;;;;OAIG;WACU,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK1D;;;;OAIG;WACU,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAMxD;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB7B;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7B;;;;OAIG;IACG,eAAe,CACnB,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,MAAM,GACrD,OAAO,CAAC,IAAI,CAAC;IAchB;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAiB1C;;;OAGG;WACU,uBAAuB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IA6B9D;;;OAGG;WACU,kCAAkC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAczE;;;;OAIG;WACU,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAgBjE;AAED,SAAS,MAAM,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../models/plugin.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAgB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACX,MAAM,iDAAiD,CAAC;AAIzD;;;GAGG;AACH,cAAM,MAAM;IACV,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;gBACS,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM;IAe9C;;;;OAIG;WACU,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK1D;;;;OAIG;WACU,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAMxD;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB7B;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7B;;;;OAIG;IACG,eAAe,CACnB,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,MAAM,GACrD,OAAO,CAAC,IAAI,CAAC;IAchB;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAgB1C,MAAM,CAAC,kBAAkB,IAAI,KAAK,CAAC,MAAM,CAAC;IAM1C;;;OAGG;WACU,uBAAuB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IA6B9D;;;OAGG;WACU,kCAAkC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAczE;;;;OAIG;WACU,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAgBjE;AAED,SAAS,MAAM,CAAC"}
@@ -121,6 +121,11 @@ class Plugin {
121
121
  .filter((v) => vt_names.includes(v.viewtemplate))
122
122
  .map((v) => v.name);
123
123
  }
124
+ static get_cached_plugins() {
125
+ const { getState } = require("../db/state");
126
+ const stored = getState().getConfigCopy("available_plugins", false);
127
+ return stored || [];
128
+ }
124
129
  /**
125
130
  * List plugins available in store
126
131
  * @returns {Promise<*>}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../models/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../models/plugin.ts"],"names":[],"mappings":"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"}
@@ -49,14 +49,18 @@ import type { JoinFieldOption, RelationOption } from "@saltcorn/types/base_types
49
49
  * These functions all take `Where` expressions which are JavaScript objects describing
50
50
  * the criterion to match to. Some examples:
51
51
  *
52
+ * * `{}`: Match all rows
52
53
  * * `{ name: "Jim" }`: Match all rows with name="Jim"
53
54
  * * `{ name: { ilike: "im"} }`: Match all rows where name contains "im" (case insensitive)
55
+ * * `{ name: /im/ }`: Match all rows with name matching regular expression "im"
54
56
  * * `{ age: { lt: 18 } }`: Match all rows with age<18
55
57
  * * `{ age: { lt: 18, equal: true } }`: Match all rows with age<=18
56
58
  * * `{ age: { gt: 18, lt: 65} }`: Match all rows with 18<age<65
57
59
  * * `{ name: { or: ["Harry", "Sally"] } }`: Match all rows with name="Harry" or "Sally"
58
60
  * * `{ or: [{ name: "Joe"}, { age: 37 }] }`: Match all rows with name="Joe" or age=37
59
61
  * * `{ not: { id: 5 } }`: All rows except id=5
62
+ * * `{ id: { in: [1, 2, 3] } }`: Rows with id 1, 2, or 3
63
+ * * `{ id: { not: { in: [1, 2, 3] } } }`: Rows with id any value except 1, 2, or 3
60
64
  *
61
65
  * For further examples, see the [mkWhere test suite](https://github.com/saltcorn/saltcorn/blob/master/packages/db-common/internal.test.js)
62
66
  *
@@ -214,7 +218,14 @@ declare class Table implements AbstractTable {
214
218
  private updateWhereWithOwnership;
215
219
  private addDeleteSyncInfo;
216
220
  /**
217
- * Delete rows from table
221
+ * Delete rows from table. The first argument is a where expression indicating the conditions for the rows to be deleted
222
+ *
223
+ * @example
224
+ * ```
225
+ * // delete all books where author = "Friedrich Nietzsche"
226
+ * await Table.findOne({name: "books"}).deleteRows({author: "Friedrich Nietzsche"})
227
+ * ```
228
+ *
218
229
  * @param where - condition
219
230
  * @param user - optional user, if null then no authorization will be checked
220
231
  * @returns
@@ -227,21 +238,81 @@ declare class Table implements AbstractTable {
227
238
  */
228
239
  private readFromDB;
229
240
  /**
230
- * Get one row from table in db
241
+ * Get one row from the table in the database. The matching row will be returned in a promise - use await to read the value.
242
+ * If no matching rule can be found, null will be returned. If more than one row matches, the first found row
243
+ * will be returned.
244
+ *
245
+ * The first argument to get row is a where-expression With the conditions the returned row should match.
246
+ *
247
+ * The second document is optional and is an object that can modify the search. This is mainly useful
248
+ * in case there is more than one matching row for the where-expression in the first argument and you
249
+ * want to give an explicit order. For example, use `{orderBy: "name"}` as the second argument to pick
250
+ * the first row by the name field, ordered ascending. `{orderBy: "name", orderDesc: true}` to order by name,
251
+ * descending
252
+ *
253
+ * This is however rare and usually getRow is run with a single argument of a
254
+ * Where expression that uniquely determines the row to return, if it exisits.
255
+ *
256
+ * @example
257
+ * ```
258
+ * const bookTable = Table.findOne({name: "books"})
259
+ *
260
+ *
261
+ * // get the row in the book table with id = 5
262
+ * const myBook = await bookTable.getRow({id: 5})
263
+ *
264
+ * // get the row for the last book published by Leo Tolstoy
265
+ * const myBook = await bookTable.getRow({author: "Leo Tolstoy"}, {orderBy: "published", orderDesc: true})
266
+ * ```
267
+ *
231
268
  * @param where
232
269
  * @param selopts
233
270
  * @returns {Promise<null|*>}
234
271
  */
235
272
  getRow(where?: Where, selopts?: SelectOptions & ForUserRequest): Promise<Row | null>;
236
273
  /**
237
- * Get rows from Table in db
274
+ * Get all matching rows from the table in the database.
275
+ *
276
+ * The arguments are the same as for getRow. The first argument is where-expression with the conditions to match,
277
+ * and the second argument is an optional object and allows you to set ordering and limit options. Keywords that
278
+ * can be used in the second argument are orderBy, orderDesc, limit and offset.
279
+ *
280
+ * getRows will return an array of rows matching the where-expression in the first argument, wrapped in a Promise
281
+ * (use await to read the array).
282
+ *
283
+ * @example
284
+ * ```
285
+ * const bookTable = Table.findOne({name: "books"})
286
+ *
287
+ * // get the rows in the book table with author = "Henrik Pontoppidan"
288
+ * const myBooks = await bookTable.getRows({author: "Henrik Pontoppidan"})
289
+ *
290
+ * // get the 3 most recent books written by "Henrik Pontoppidan" with more that 500 pages
291
+ * const myBooks = await bookTable.getRows({author: "Henrik Pontoppidan", pages: {gt: 500}}, {orderBy: "published", orderDesc: true})
292
+ * ```
293
+ *
238
294
  * @param where
239
295
  * @param selopts
240
296
  * @returns {Promise<void>}
241
297
  */
242
298
  getRows(where?: Where, selopts?: SelectOptions & ForUserRequest): Promise<Row[]>;
243
299
  /**
244
- * Count amount of rows in db table
300
+ * Count the number of rows in db table. The argument is a where-expression with conditions the
301
+ * counted rows should match. countRows returns the number of matching rows wrapped in a promise.
302
+ *
303
+ * @example
304
+ * ```
305
+ * const bookTable = Table.findOne({name: "books"})
306
+ *
307
+ * // Count the total number of rows in the books table
308
+ * const totalNumberOfBooks = await bookTable.countRows({})
309
+ *
310
+ * // Count the number of books where the cover_color field has the value is "Red"
311
+ * const numberOfRedBooks = await bookTable.countRows({cover_color: "Red"})
312
+ *
313
+ * // Count number of books with more than 500 pages
314
+ * const numberOfLongBooks = await bookTable.countRows({pages: {gt: 500}})
315
+ * ```
245
316
  * @param where
246
317
  * @returns {Promise<number>}
247
318
  */
@@ -258,7 +329,30 @@ declare class Table implements AbstractTable {
258
329
  */
259
330
  private storedExpressionJoinFields;
260
331
  /**
261
- * Update row
332
+ * Update a single row in the table database.
333
+ *
334
+ * The first two arguments are mandatory. The first is an object with the new values to set in the row.
335
+ * The second argument is the value of the primary key of the row to update. Typically this is the id
336
+ * field of an existing row object
337
+ *
338
+ * @example
339
+ * ```
340
+ * const bookTable = Table.findOne({name: "books"})
341
+ *
342
+ * // get the row in the book table for Moby Dick
343
+ * const moby_dick = await bookTable.getRow({title: "Moby Dick"})
344
+ *
345
+ * // Update the read field to true and the rating field to 5
346
+ * await bookTable.updateRow({read: true, rating: 5}, moby_dick.id)
347
+ *
348
+ * // if you want to update more than one row, you must first retrieve all the rows and
349
+ * // then update them individually
350
+ *
351
+ * const allBooks = await bookTable.getRows()
352
+ * for(const book of allBooks) {
353
+ * await bookTable.updateRow({price: book.price*0.8}, book.id)
354
+ * }
355
+ * ```
262
356
  * @param v_in - columns with values to update
263
357
  * @param id - id value
264
358
  * @param _userid - user id
@@ -267,6 +361,7 @@ declare class Table implements AbstractTable {
267
361
  * @returns
268
362
  */
269
363
  updateRow(v_in: any, id: number, user?: Row, noTrigger?: boolean, resultCollector?: object, restore_of_version?: any, syncTimestamp?: Date): Promise<string | void>;
364
+ private insert_history_row;
270
365
  latestSyncInfo(id: number): Promise<any>;
271
366
  latestSyncInfos(ids: number[]): Promise<any>;
272
367
  private insertSyncInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../models/table.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,KAAK,EACL,aAAa,EACb,GAAG,EAEH,WAAW,EAEZ,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACV,MAAM,gDAAgD,CAAC;AAExD,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,+CAA+C,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAmBlE,OAAO,KAAK,eAAe,MAAM,qBAAqB,CAAC;AA0BvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,4BAA4B,CAAC;AAwCpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,cAAM,KAAM,YAAW,aAAa;IAClC,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IAEb,mBAAmB;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,2BAA2B;IAC3B,aAAa,EAAE,MAAM,CAAC;IAEtB,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;IAEvB,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;uDACmD;IACnD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,6CAA6C;IAC7C,SAAS,EAAE,OAAO,CAAC;IAEnB,kEAAkE;IAClE,aAAa,EAAE,OAAO,CAAC;IAEvB,+DAA+D;IAC/D,QAAQ,EAAE,OAAO,CAAC;IAElB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,+CAA+C;IAC/C,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhB,0DAA0D;IAC1D,WAAW,EAAE,eAAe,EAAE,CAAC;IAE/B,uFAAuF;IACvF,aAAa,EAAE,OAAO,CAAC;IAEvB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB;;;OAGG;gBACS,CAAC,EAAE,QAAQ;IAmBvB,iBAAiB;IAyBjB;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI;IA+BpE;;;;;OAKG;WACU,IAAI,CACf,KAAK,CAAC,EAAE,KAAK,EACb,UAAU,GAAE,aAAiD,GAC5D,OAAO,CAAC,KAAK,EAAE,CAAC;IA6CnB;;;;;OAKG;WACU,kBAAkB,CAC7B,MAAM,GAAE,KAAU,EAClB,UAAU,GAAE,aAAiD,GAC5D,OAAO,CAAC,KAAK,EAAE,CAAC;IA8BnB;;;;OAIG;IACG,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG;IAO3B;;;;OAIG;IACH,2BAA2B,CACzB,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,GACtB,MAAM,GAAG,IAAI,GAAG,SAAS;IAM5B;;;OAGG;IACH,eAAe,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS;IAM5C;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO;IAgBtC;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IA4HtE;;OAEG;IACH,IAAI,aAAa,WAEhB;IACD;;;;;;OAMG;WACU,MAAM,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,aAAa,GAAG,SAAc,EAAE,wBAAwB;IACjE,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC,KAAK,CAAC;IAqEjB;;;;OAIG;IAEG,MAAM,CAAC,WAAW,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCzD;;;OAGG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;OAEG;IACG,aAAa;IAenB;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;YAwBlB,iBAAiB;IAiC/B;;;;;OAKG;IACG,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,OAAO;IAoF9D;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAUlB;;;;;OAKG;IACG,MAAM,CACV,KAAK,GAAE,KAAU,EACjB,OAAO,GAAE,aAAa,GAAG,cAAmB,GAC3C,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAuBtB;;;;;OAKG;IACG,OAAO,CACX,KAAK,GAAE,KAAU,EACjB,OAAO,GAAE,aAAa,GAAG,cAAmB,GAC3C,OAAO,CAAC,GAAG,EAAE,CAAC;IAmCjB;;;;OAIG;IACG,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C;;;;;OAKG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAkBxE;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;;;;;;;OAQG;IACG,SAAS,CACb,IAAI,EAAE,GAAG,EACT,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,GAAG,EACV,SAAS,CAAC,EAAE,OAAO,EACnB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,GAAG,EACxB,aAAa,CAAC,EAAE,IAAI,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAqMnB,cAAc,CAAC,EAAE,EAAE,MAAM;IAKzB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE;YAUrB,cAAc;YAkBd,cAAc;IA4B5B;;;;;;;OAOG;IACG,YAAY,CAChB,CAAC,EAAE,GAAG,EACN,EAAE,EAAE,GAAG,EACP,IAAI,CAAC,EAAE,GAAG,EACV,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,aAAa,CAAC;IAgBzB;;;;;OAKG;IACG,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxE;;;OAGG;IACH,IAAI,OAAO,IAAI,MAAM,CAMpB;IAED;;;;;OAKG;IAEH,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAetD;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,SAAS,CACb,IAAI,EAAE,GAAG,EACT,IAAI,CAAC,EAAE,GAAG,EACV,eAAe,CAAC,EAAE,MAAM,EACxB,SAAS,CAAC,EAAE,OAAO,EACnB,aAAa,CAAC,EAAE,IAAI,GACnB,OAAO,CAAC,GAAG,CAAC;IA6If;;;;;;OAMG;IACG,YAAY,CAChB,CAAC,EAAE,GAAG,EACN,IAAI,CAAC,EAAE,GAAG,EACV,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAC;IAahD;;;OAGG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IA4C5C;;;OAGG;IACH,SAAS,IAAI,KAAK,EAAE;IAIpB;;;OAGG;IACH,cAAc,IAAI,KAAK,EAAE;IAIzB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IA2BzC;;;OAGG;YAEW,oBAAoB;YAyBpB,sBAAsB;YAmCtB,eAAe;IAM7B;;;;;OAKG;IACG,mBAAmB,CACvB,EAAE,EAAE,GAAG,EACP,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,GAAG,GACT,OAAO,CAAC,IAAI,CAAC;IAchB;;;;OAIG;IACG,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB1D;;;;OAIG;IACG,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB1D;;;OAGG;YACW,kBAAkB;IAOhC;;;;OAIG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC7C;;;;;OAKG;IACG,MAAM,CAAC,aAAa,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B/C;;;;OAIG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAQ7C;;;OAGG;IACG,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9C;;;;;OAKG;WACU,eAAe,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,CAAC;IAsFzB;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM;IAmC3C;;;;;;OAMG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,GACA,OAAO,CAAC,aAAa,CAAC;IA0RzB;;;;;OAKG;IACG,gBAAgB,CACpB,QAAQ,EAAE,MAAM,EAChB,mBAAmB,CAAC,EAAE,OAAO,GAC5B,OAAO,CAAC,GAAG,CAAC;IA0Cf;;;;;OAKG;IACG,sBAAsB,CAC1B,YAAY,CAAC,EAAE,OAAO,EACtB,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,eAAe,EAAE,CAAC;IAqE7B;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAevD;;;OAGG;IACG,iBAAiB,CAAC,MAAM,UAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAgB/D;;;;;OAKG;IACG,oBAAoB,CACxB,YAAY,CAAC,EAAE,OAAO,EACtB,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,eAAe,CAAC;IA6ErB,aAAa,CACjB,QAAQ,GAAE,MAAU,EACpB,UAAU,GAAE,CAAC,CAAC,EAAE,KAAK,KAAK,OAAoB,EAC9C,MAAM,GAAE,MAAW,GAClB,OAAO,CAAC,MAAM,EAAE,CAAC;IAsBpB;;;OAGG;IACG,mBAAmB,CACvB,uBAAuB,CAAC,EAAE,OAAO,GAChC,OAAO,CAAC,cAAc,CAAC;IAqC1B;;;;OAIG;IACG,cAAc,CAClB,IAAI,GAAE,CAAC,WAAW,GAAG,cAAc,CAAC,GAAG,GAAQ,GAC9C,OAAO,CAAC,GAAG,CAAC;IA4Nf;;;OAGG;IACG,YAAY,CAChB,IAAI,GAAE,CAAC,WAAW,GAAG,cAAc,CAAC,GAAG,GAAQ,GAC9C,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAKtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACG,aAAa,CACjB,IAAI,GAAE,CAAC,WAAW,GAAG,cAAc,CAAC,GAAG,GAAQ,GAC9C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAuFtB;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IA2BnE;;OAEG;WACU,cAAc,IAAI,OAAO,CAAC;QACrC,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,GAAG,CAAA;SAAE,CAAC,CAAC;KACpD,CAAC;IAWF;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAK5C;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAavD,kBAAkB,CAAC,QAAQ,EAAE,MAAM;CAMpC;AAGD,kBAAU,KAAK,CAAC;IACd,KAAY,eAAe,GAAG;QAC5B,gBAAgB,EAAE;YAChB,SAAS,EAAE,KAAK,CAAC;YACjB,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,OAAO,CAAC,EAAE,KAAK,CAAC;SACjB,EAAE,CAAC;QACJ,iBAAiB,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;IAEF,KAAY,cAAc,GAAG;QAC3B,eAAe,EAAE;YACf,SAAS,EAAE,KAAK,CAAC;YACjB,KAAK,EAAE,KAAK,CAAC;SACd,EAAE,CAAC;QACJ,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;IAEF,KAAY,YAAY,GAAG;QACzB,aAAa,EAAE,KAAK,CAAC;QACrB,aAAa,EAAE,KAAK,CAAC;KACtB,CAAC;CACH;AAED,aAAK,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;AAC7C,aAAK,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;AAC3C,aAAK,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;AAEvC,SAAS,KAAK,CAAC"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../models/table.ts"],"names":[],"mappings":"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"}
@@ -128,14 +128,18 @@ const isDate = function (date) {
128
128
  * These functions all take `Where` expressions which are JavaScript objects describing
129
129
  * the criterion to match to. Some examples:
130
130
  *
131
+ * * `{}`: Match all rows
131
132
  * * `{ name: "Jim" }`: Match all rows with name="Jim"
132
133
  * * `{ name: { ilike: "im"} }`: Match all rows where name contains "im" (case insensitive)
134
+ * * `{ name: /im/ }`: Match all rows with name matching regular expression "im"
133
135
  * * `{ age: { lt: 18 } }`: Match all rows with age<18
134
136
  * * `{ age: { lt: 18, equal: true } }`: Match all rows with age<=18
135
137
  * * `{ age: { gt: 18, lt: 65} }`: Match all rows with 18<age<65
136
138
  * * `{ name: { or: ["Harry", "Sally"] } }`: Match all rows with name="Harry" or "Sally"
137
139
  * * `{ or: [{ name: "Joe"}, { age: 37 }] }`: Match all rows with name="Joe" or age=37
138
140
  * * `{ not: { id: 5 } }`: All rows except id=5
141
+ * * `{ id: { in: [1, 2, 3] } }`: Rows with id 1, 2, or 3
142
+ * * `{ id: { not: { in: [1, 2, 3] } } }`: Rows with id any value except 1, 2, or 3
139
143
  *
140
144
  * For further examples, see the [mkWhere test suite](https://github.com/saltcorn/saltcorn/blob/master/packages/db-common/internal.test.js)
141
145
  *
@@ -653,7 +657,14 @@ class Table {
653
657
  }
654
658
  }
655
659
  /**
656
- * Delete rows from table
660
+ * Delete rows from table. The first argument is a where expression indicating the conditions for the rows to be deleted
661
+ *
662
+ * @example
663
+ * ```
664
+ * // delete all books where author = "Friedrich Nietzsche"
665
+ * await Table.findOne({name: "books"}).deleteRows({author: "Friedrich Nietzsche"})
666
+ * ```
667
+ *
657
668
  * @param where - condition
658
669
  * @param user - optional user, if null then no authorization will be checked
659
670
  * @returns
@@ -749,7 +760,33 @@ class Table {
749
760
  return row;
750
761
  }
751
762
  /**
752
- * Get one row from table in db
763
+ * Get one row from the table in the database. The matching row will be returned in a promise - use await to read the value.
764
+ * If no matching rule can be found, null will be returned. If more than one row matches, the first found row
765
+ * will be returned.
766
+ *
767
+ * The first argument to get row is a where-expression With the conditions the returned row should match.
768
+ *
769
+ * The second document is optional and is an object that can modify the search. This is mainly useful
770
+ * in case there is more than one matching row for the where-expression in the first argument and you
771
+ * want to give an explicit order. For example, use `{orderBy: "name"}` as the second argument to pick
772
+ * the first row by the name field, ordered ascending. `{orderBy: "name", orderDesc: true}` to order by name,
773
+ * descending
774
+ *
775
+ * This is however rare and usually getRow is run with a single argument of a
776
+ * Where expression that uniquely determines the row to return, if it exisits.
777
+ *
778
+ * @example
779
+ * ```
780
+ * const bookTable = Table.findOne({name: "books"})
781
+ *
782
+ *
783
+ * // get the row in the book table with id = 5
784
+ * const myBook = await bookTable.getRow({id: 5})
785
+ *
786
+ * // get the row for the last book published by Leo Tolstoy
787
+ * const myBook = await bookTable.getRow({author: "Leo Tolstoy"}, {orderBy: "published", orderDesc: true})
788
+ * ```
789
+ *
753
790
  * @param where
754
791
  * @param selopts
755
792
  * @returns {Promise<null|*>}
@@ -782,7 +819,26 @@ class Table {
782
819
  return apply_calculated_fields([this.readFromDB(row)], this.fields)[0];
783
820
  }
784
821
  /**
785
- * Get rows from Table in db
822
+ * Get all matching rows from the table in the database.
823
+ *
824
+ * The arguments are the same as for getRow. The first argument is where-expression with the conditions to match,
825
+ * and the second argument is an optional object and allows you to set ordering and limit options. Keywords that
826
+ * can be used in the second argument are orderBy, orderDesc, limit and offset.
827
+ *
828
+ * getRows will return an array of rows matching the where-expression in the first argument, wrapped in a Promise
829
+ * (use await to read the array).
830
+ *
831
+ * @example
832
+ * ```
833
+ * const bookTable = Table.findOne({name: "books"})
834
+ *
835
+ * // get the rows in the book table with author = "Henrik Pontoppidan"
836
+ * const myBooks = await bookTable.getRows({author: "Henrik Pontoppidan"})
837
+ *
838
+ * // get the 3 most recent books written by "Henrik Pontoppidan" with more that 500 pages
839
+ * const myBooks = await bookTable.getRows({author: "Henrik Pontoppidan", pages: {gt: 500}}, {orderBy: "published", orderDesc: true})
840
+ * ```
841
+ *
786
842
  * @param where
787
843
  * @param selopts
788
844
  * @returns {Promise<void>}
@@ -814,7 +870,22 @@ class Table {
814
870
  return apply_calculated_fields(rows.map((r) => this.readFromDB(r)), this.fields, !!selopts.ignore_errors);
815
871
  }
816
872
  /**
817
- * Count amount of rows in db table
873
+ * Count the number of rows in db table. The argument is a where-expression with conditions the
874
+ * counted rows should match. countRows returns the number of matching rows wrapped in a promise.
875
+ *
876
+ * @example
877
+ * ```
878
+ * const bookTable = Table.findOne({name: "books"})
879
+ *
880
+ * // Count the total number of rows in the books table
881
+ * const totalNumberOfBooks = await bookTable.countRows({})
882
+ *
883
+ * // Count the number of books where the cover_color field has the value is "Red"
884
+ * const numberOfRedBooks = await bookTable.countRows({cover_color: "Red"})
885
+ *
886
+ * // Count number of books with more than 500 pages
887
+ * const numberOfLongBooks = await bookTable.countRows({pages: {gt: 500}})
888
+ * ```
818
889
  * @param where
819
890
  * @returns {Promise<number>}
820
891
  */
@@ -852,7 +923,30 @@ class Table {
852
923
  return joinFields;
853
924
  }
854
925
  /**
855
- * Update row
926
+ * Update a single row in the table database.
927
+ *
928
+ * The first two arguments are mandatory. The first is an object with the new values to set in the row.
929
+ * The second argument is the value of the primary key of the row to update. Typically this is the id
930
+ * field of an existing row object
931
+ *
932
+ * @example
933
+ * ```
934
+ * const bookTable = Table.findOne({name: "books"})
935
+ *
936
+ * // get the row in the book table for Moby Dick
937
+ * const moby_dick = await bookTable.getRow({title: "Moby Dick"})
938
+ *
939
+ * // Update the read field to true and the rating field to 5
940
+ * await bookTable.updateRow({read: true, rating: 5}, moby_dick.id)
941
+ *
942
+ * // if you want to update more than one row, you must first retrieve all the rows and
943
+ * // then update them individually
944
+ *
945
+ * const allBooks = await bookTable.getRows()
946
+ * for(const book of allBooks) {
947
+ * await bookTable.updateRow({price: book.price*0.8}, book.id)
948
+ * }
949
+ * ```
856
950
  * @param v_in - columns with values to update
857
951
  * @param id - id value
858
952
  * @param _userid - user id
@@ -867,6 +961,10 @@ class Table {
867
961
  const pk_name = this.pk_name;
868
962
  const role = user?.role_id;
869
963
  const state = require("../db/state").getState();
964
+ if (typeof id === "undefined")
965
+ throw new Error(this.name + " updateRow called without primary key value");
966
+ if (id === null)
967
+ throw new Error(this.name + " updateRow called with null as primary key value");
870
968
  let joinFields = {};
871
969
  if (fields.some((f) => f.calculated && f.stored)) {
872
970
  joinFields = this.storedExpressionJoinFields();
@@ -976,7 +1074,7 @@ class Table {
976
1074
  const existing1 = await db_1.default.selectOne(this.name, { [pk_name]: id });
977
1075
  if (!existing)
978
1076
  existing = existing1;
979
- await db_1.default.insert(this.name + "__history", {
1077
+ await this.insert_history_row({
980
1078
  ...existing1,
981
1079
  ...v,
982
1080
  [pk_name]: id,
@@ -1012,6 +1110,24 @@ class Table {
1012
1110
  await trigPromise;
1013
1111
  }
1014
1112
  }
1113
+ async insert_history_row(v, retry = 0) {
1114
+ // sometimes there is a race condition in history inserts
1115
+ // https://dba.stackexchange.com/questions/212580/concurrent-transactions-result-in-race-condition-with-unique-constraint-on-inser
1116
+ // solution: retry 3 times, if fails run with on conflict do nothing
1117
+ if (retry < 3) {
1118
+ try {
1119
+ await db_1.default.insert(this.name + "__history", v);
1120
+ }
1121
+ catch (error) {
1122
+ await this.insert_history_row(v, retry + 1);
1123
+ }
1124
+ }
1125
+ else {
1126
+ await db_1.default.insert(this.name + "__history", v, {
1127
+ onConflictDoNothing: true,
1128
+ });
1129
+ }
1130
+ }
1015
1131
  async latestSyncInfo(id) {
1016
1132
  const rows = await this.latestSyncInfos([id]);
1017
1133
  return rows?.length === 1 ? rows[0] : null;
@@ -1219,7 +1335,7 @@ class Table {
1219
1335
  }
1220
1336
  }
1221
1337
  if (this.versioned)
1222
- await db_1.default.insert(this.name + "__history", {
1338
+ await this.insert_history_row({
1223
1339
  ...v,
1224
1340
  [pk_name]: id,
1225
1341
  _version: {