@saltcorn/data 0.7.4-beta.1 → 0.7.4-beta.2

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 (57) hide show
  1. package/dist/base-plugin/index.d.ts +125 -125
  2. package/dist/base-plugin/viewtemplates/edit.d.ts +1 -1
  3. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  4. package/dist/base-plugin/viewtemplates/edit.js +63 -7
  5. package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
  6. package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
  7. package/dist/base-plugin/viewtemplates/list.js +6 -2
  8. package/dist/base-plugin/viewtemplates/list.js.map +1 -1
  9. package/dist/base-plugin/viewtemplates/show.d.ts +1 -1
  10. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
  11. package/dist/base-plugin/viewtemplates/show.js +34 -17
  12. package/dist/base-plugin/viewtemplates/show.js.map +1 -1
  13. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts +1 -1
  14. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
  15. package/dist/base-plugin/viewtemplates/viewable_fields.js +4 -14
  16. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
  17. package/dist/migrations/202208101144.d.ts +3 -0
  18. package/dist/migrations/202208101144.d.ts.map +1 -0
  19. package/dist/migrations/202208101144.js +32 -0
  20. package/dist/migrations/202208101144.js.map +1 -0
  21. package/dist/models/email.d.ts +1 -1
  22. package/dist/models/index.d.ts +1 -1
  23. package/dist/models/table.d.ts.map +1 -1
  24. package/dist/models/table.js +6 -3
  25. package/dist/models/table.js.map +1 -1
  26. package/dist/models/tag.d.ts +47 -0
  27. package/dist/models/tag.d.ts.map +1 -0
  28. package/dist/models/tag.js +124 -0
  29. package/dist/models/tag.js.map +1 -0
  30. package/dist/models/tag_entry.d.ts +29 -0
  31. package/dist/models/tag_entry.d.ts.map +1 -0
  32. package/dist/models/tag_entry.js +48 -0
  33. package/dist/models/tag_entry.js.map +1 -0
  34. package/dist/models/trigger.js +1 -1
  35. package/dist/models/trigger.js.map +1 -1
  36. package/dist/models/user.d.ts +7 -0
  37. package/dist/models/user.d.ts.map +1 -1
  38. package/dist/models/user.js +45 -3
  39. package/dist/models/user.js.map +1 -1
  40. package/dist/models/view.d.ts.map +1 -1
  41. package/dist/models/view.js +1 -1
  42. package/dist/models/view.js.map +1 -1
  43. package/dist/tests/auxtest.test.js +19 -1
  44. package/dist/tests/auxtest.test.js.map +1 -1
  45. package/dist/tests/exact_views.test.js +74 -0
  46. package/dist/tests/exact_views.test.js.map +1 -1
  47. package/dist/tests/mocks.d.ts +3 -1
  48. package/dist/tests/mocks.d.ts.map +1 -1
  49. package/dist/tests/mocks.js +13 -1
  50. package/dist/tests/mocks.js.map +1 -1
  51. package/dist/tests/tag.test.d.ts +2 -0
  52. package/dist/tests/tag.test.d.ts.map +1 -0
  53. package/dist/tests/tag.test.js +97 -0
  54. package/dist/tests/tag.test.js.map +1 -0
  55. package/dist/tests/view.test.js +96 -0
  56. package/dist/tests/view.test.js.map +1 -1
  57. package/package.json +7 -7
@@ -278,79 +278,17 @@ export const types: ({
278
278
  fieldviews: {
279
279
  show: {
280
280
  isEdit: boolean;
281
- run: (v: any) => any;
282
- };
283
- checkboxes: {
284
- isEdit: boolean;
285
- run: (v: any) => any;
286
- };
287
- TrueFalse: {
288
- isEdit: boolean;
289
- run: (v: any) => "" | "True" | "False";
281
+ run: (s: any) => any;
290
282
  };
291
283
  edit: {
292
284
  isEdit: boolean;
293
- run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
294
- };
295
- tristate: {
296
- isEdit: boolean;
285
+ blockDisplay: boolean;
297
286
  run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
298
287
  };
299
288
  };
300
289
  attributes: object[];
301
- readFromFormRecord: (rec: any, name: string) => boolean | null;
302
- read: (v: object) => boolean | null;
303
- readFromDB: (v: object) => object;
304
- listAs: (v: object) => object;
290
+ read: (v: object) => object;
305
291
  validate: () => boolean;
306
- } | {
307
- name: string;
308
- sql_name: string;
309
- contract: () => Function;
310
- attributes: object[];
311
- fieldviews: {
312
- show: {
313
- isEdit: boolean;
314
- run: (d: any, req: any) => any;
315
- };
316
- showDay: {
317
- isEdit: boolean;
318
- run: (d: any, req: any) => any;
319
- };
320
- format: {
321
- isEdit: boolean;
322
- configFields: {
323
- name: string;
324
- label: string;
325
- type: string;
326
- sublabel: string;
327
- }[];
328
- run: (d: any, req: any, options: any) => string;
329
- };
330
- relative: {
331
- isEdit: boolean;
332
- run: (d: any, req: any) => string;
333
- };
334
- yearsAgo: {
335
- isEdit: boolean;
336
- run: (d: any, req: any) => string;
337
- };
338
- edit: {
339
- isEdit: boolean;
340
- blockDisplay: boolean;
341
- run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
342
- };
343
- editDay: {
344
- isEdit: boolean;
345
- blockDisplay: boolean;
346
- run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
347
- };
348
- };
349
- presets: {
350
- Now: () => Date;
351
- };
352
- read: (v: object, attrs: object) => object;
353
- validate: ({}: object) => boolean;
354
292
  } | {
355
293
  name: string;
356
294
  sql_name: string;
@@ -424,78 +362,84 @@ export const types: ({
424
362
  name: string;
425
363
  sql_name: string;
426
364
  contract: () => Function;
365
+ attributes: object[];
427
366
  fieldviews: {
428
367
  show: {
429
368
  isEdit: boolean;
430
- run: (s: any) => any;
369
+ run: (d: any, req: any) => any;
370
+ };
371
+ showDay: {
372
+ isEdit: boolean;
373
+ run: (d: any, req: any) => any;
374
+ };
375
+ format: {
376
+ isEdit: boolean;
377
+ configFields: {
378
+ name: string;
379
+ label: string;
380
+ type: string;
381
+ sublabel: string;
382
+ }[];
383
+ run: (d: any, req: any, options: any) => string;
384
+ };
385
+ relative: {
386
+ isEdit: boolean;
387
+ run: (d: any, req: any) => string;
388
+ };
389
+ yearsAgo: {
390
+ isEdit: boolean;
391
+ run: (d: any, req: any) => string;
431
392
  };
432
393
  edit: {
433
394
  isEdit: boolean;
434
395
  blockDisplay: boolean;
435
396
  run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
436
397
  };
398
+ editDay: {
399
+ isEdit: boolean;
400
+ blockDisplay: boolean;
401
+ run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
402
+ };
403
+ };
404
+ presets: {
405
+ Now: () => Date;
406
+ };
407
+ read: (v: object, attrs: object) => object;
408
+ validate: ({}: object) => boolean;
409
+ } | {
410
+ name: string;
411
+ sql_name: string;
412
+ contract: () => Function;
413
+ fieldviews: {
414
+ show: {
415
+ isEdit: boolean;
416
+ run: (v: any) => any;
417
+ };
418
+ checkboxes: {
419
+ isEdit: boolean;
420
+ run: (v: any) => any;
421
+ };
422
+ TrueFalse: {
423
+ isEdit: boolean;
424
+ run: (v: any) => "" | "True" | "False";
425
+ };
426
+ edit: {
427
+ isEdit: boolean;
428
+ run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
429
+ };
430
+ tristate: {
431
+ isEdit: boolean;
432
+ run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
433
+ };
437
434
  };
438
435
  attributes: object[];
439
- read: (v: object) => object;
436
+ readFromFormRecord: (rec: any, name: string) => boolean | null;
437
+ read: (v: object) => boolean | null;
438
+ readFromDB: (v: object) => object;
439
+ listAs: (v: object) => object;
440
440
  validate: () => boolean;
441
441
  })[];
442
442
  export const viewtemplates: ({
443
- name: string;
444
- description: string;
445
- configuration_workflow: (req: object) => import("../models/workflow");
446
- run: (table_id: string | number, viewname: string, { columns, view_to_create, create_view_display, create_view_label, default_state, create_view_location, }: {
447
- columns: object[];
448
- view_to_create?: string | undefined;
449
- create_view_display: string;
450
- create_view_label?: string | undefined;
451
- default_state?: object | undefined;
452
- create_view_location?: string | undefined;
453
- }, stateWithId?: object | undefined, extraOpts: object, { listQuery }: {
454
- listQuery: any;
455
- }) => Promise<any>;
456
- view_quantity: string;
457
- get_state_fields: (table_id: string, viewname: any, { columns }: {
458
- columns: object[];
459
- }) => Function;
460
- initial_config: Function;
461
- on_delete: (table_id: any, viewname: string, { default_state }: {
462
- default_state: any;
463
- }) => Promise<void>;
464
- routes: {
465
- run_action: (table_id: number, viewname: any, { columns, layout }: {
466
- columns: object[];
467
- layout: any;
468
- }, body: object, { req, res }: {
469
- req: object;
470
- res: any;
471
- }, { getRowQuery }: {
472
- getRowQuery: any;
473
- }) => Promise<object>;
474
- };
475
- display_state_form: (opts: object) => boolean;
476
- default_state_form: ({ default_state }: object) => boolean;
477
- getStringsForI18n({ columns, create_view_label }: {
478
- columns: any;
479
- create_view_label: any;
480
- }): string[];
481
- queries: ({ table_id, exttable_name, viewname, configuration: { columns, default_state }, req, }: {
482
- table_id: any;
483
- exttable_name: any;
484
- viewname: any;
485
- configuration: {
486
- columns: any;
487
- default_state: any;
488
- };
489
- req: any;
490
- }) => {
491
- listQuery(state: any): Promise<{
492
- rows: import("@saltcorn/db-common/internal").Row[];
493
- rowCount: number;
494
- }>;
495
- getRowQuery(id: any): Promise<import("@saltcorn/db-common/internal").Row | null>;
496
- };
497
- configCheck: (view: any) => Promise<string[]>;
498
- } | {
499
443
  name: string;
500
444
  description: string;
501
445
  configuration_workflow: (req: object) => import("../models/workflow");
@@ -584,7 +528,7 @@ export const viewtemplates: ({
584
528
  }>;
585
529
  tryUpdateQuery(row: any, id: any): Promise<import("@saltcorn/types/common_types").ResultMessage>;
586
530
  authorizePostQuery(body: any, table_id: any): Promise<boolean | "" | null | undefined>;
587
- authorizeGetQuery(query: any, table_id: any): Promise<boolean | "" | null | undefined>;
531
+ authorizeGetQuery(query: any, table_id: any): Promise<string | boolean | null | undefined>;
588
532
  getRowQuery(table_id: any, view_select: any, row_id: any): Promise<import("@saltcorn/db-common/internal").Row[]>;
589
533
  actionQuery(): Promise<{
590
534
  json: any;
@@ -625,7 +569,7 @@ export const viewtemplates: ({
625
569
  renderRows: (table: object, viewname: string, { columns, layout }: {
626
570
  columns: object[];
627
571
  layout: object;
628
- }, extra: object, rows: object[]) => Promise<string>;
572
+ }, extra: object, rows: object[], state: any) => Promise<string>;
629
573
  initial_config: Function;
630
574
  display_state_form: boolean;
631
575
  routes: {
@@ -678,6 +622,62 @@ export const viewtemplates: ({
678
622
  authorizeGetQuery(query: any, table_id: any): Promise<boolean>;
679
623
  };
680
624
  configCheck: (view: any) => Promise<string[]>;
625
+ } | {
626
+ name: string;
627
+ description: string;
628
+ configuration_workflow: (req: object) => import("../models/workflow");
629
+ run: (table_id: string | number, viewname: string, { columns, view_to_create, create_view_display, create_view_label, default_state, create_view_location, }: {
630
+ columns: object[];
631
+ view_to_create?: string | undefined;
632
+ create_view_display: string;
633
+ create_view_label?: string | undefined;
634
+ default_state?: object | undefined;
635
+ create_view_location?: string | undefined;
636
+ }, stateWithId?: object | undefined, extraOpts: object, { listQuery }: {
637
+ listQuery: any;
638
+ }) => Promise<any>;
639
+ view_quantity: string;
640
+ get_state_fields: (table_id: string, viewname: any, { columns }: {
641
+ columns: object[];
642
+ }) => Function;
643
+ initial_config: Function;
644
+ on_delete: (table_id: any, viewname: string, { default_state }: {
645
+ default_state: any;
646
+ }) => Promise<void>;
647
+ routes: {
648
+ run_action: (table_id: number, viewname: any, { columns, layout }: {
649
+ columns: object[];
650
+ layout: any;
651
+ }, body: object, { req, res }: {
652
+ req: object;
653
+ res: any;
654
+ }, { getRowQuery }: {
655
+ getRowQuery: any;
656
+ }) => Promise<object>;
657
+ };
658
+ display_state_form: (opts: object) => boolean;
659
+ default_state_form: ({ default_state }: object) => boolean;
660
+ getStringsForI18n({ columns, create_view_label }: {
661
+ columns: any;
662
+ create_view_label: any;
663
+ }): string[];
664
+ queries: ({ table_id, exttable_name, viewname, configuration: { columns, default_state }, req, }: {
665
+ table_id: any;
666
+ exttable_name: any;
667
+ viewname: any;
668
+ configuration: {
669
+ columns: any;
670
+ default_state: any;
671
+ };
672
+ req: any;
673
+ }) => {
674
+ listQuery(state: any): Promise<{
675
+ rows: import("@saltcorn/db-common/internal").Row[];
676
+ rowCount: number;
677
+ }>;
678
+ getRowQuery(id: any): Promise<import("@saltcorn/db-common/internal").Row | null>;
679
+ };
680
+ configCheck: (view: any) => Promise<string[]>;
681
681
  } | {
682
682
  name: string;
683
683
  description: string;
@@ -182,7 +182,7 @@ export declare function queries({ table_id, name, configuration: { columns, defa
182
182
  }>;
183
183
  tryUpdateQuery(row: any, id: any): Promise<import("@saltcorn/types/common_types").ResultMessage>;
184
184
  authorizePostQuery(body: any, table_id: any): Promise<boolean | "" | null | undefined>;
185
- authorizeGetQuery(query: any, table_id: any): Promise<boolean | "" | null | undefined>;
185
+ authorizeGetQuery(query: any, table_id: any): Promise<string | boolean | null | undefined>;
186
186
  getRowQuery(table_id: any, view_select: any, row_id: any): Promise<import("@saltcorn/db-common/internal").Row[]>;
187
187
  actionQuery(): Promise<{
188
188
  json: any;
@@ -1 +1 @@
1
- {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../base-plugin/viewtemplates/edit.js"],"names":[],"mappings":"AAmEA;;;GAGG;AAEH,4CAJW,MAAM,GACJ,QAAQ,CAqQjB;AAgCJ;;;;;;;;;;;GAWG;AACH,8BAXW,MAAM,YACN,MAAM;IAEK,OAAO;IACP,MAAM;UACjB,MAAM;IAEU,GAAG,EAAnB,MAAM;IACU,GAAG,EAAnB,MAAM;;;IACJ,QAAQ,IAAI,CAAC,CAWzB;AAED;;;;;;;;;GASG;AACH,kCATW,MAAM,YACN,MAAM;IAEE,OAAO;IACP,MAAM;wBAEd,MAAM;;;;IACJ,QAAQ,IAAI,EAAE,CAAC,CAsC3B;AAoND;;;;;;;;;;;;;;;;GAgBG;AACH,kCAhBW,MAAM,YACN,MAAM;IAEY,OAAO,EAAzB,MAAM,EAAE;IACQ,MAAM;IACN,KAAK,EAArB,MAAM;IACW,cAAc,EAA/B,OAAO;IACW,oBAAoB,EAAtC,MAAM,EAAE;UACR,MAAM;IAGU,GAAG,EAAnB,MAAM;IACU,GAAG,EAAnB,MAAM;IACU,QAAQ,EAAxB,MAAM;;;;;iBACJ,QAAQ,IAAI,CAAC,CAuNzB;AA7hBD;;;;;;GAMG;AACH;IAHmB,OAAO;IACb,QAAQ,MAAM,EAAE,CAAC,CAQ7B;AAcD,uBAAuB;AACvB,sCAAuD;AAwhBvD;;;;;;GAMG;AACH;IALwB,IAAI,EAAjB,MAAM;IACO,QAAQ,EAArB,MAAM;IACO,GAAG,EAAhB,MAAM;;;IACJ,QAAQ,OAAO,CAAC,CAO5B;;;;AAED;;;;;;;;;;;GAWG;AACH,sCAXW,MAAM;IAGS,OAAO,EAAtB,MAAM,EAAE;IACA,MAAM;;IAGE,GAAG,EAAnB,MAAM;IACK,GAAG;;;IACZ,QAAQ,MAAM,CAAC,CAe3B;;2BAGY,MAAM;kCAEN,MAAM;yCAQN,OAAO;AASH;;;;;qBAEd;AACD;;;;GAIG;AACH;;aAEC;AAPD;;;;GAIG;AACH;;aAEC;AACQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqIP;;;;AAGW,kEAyBZ"}
1
+ {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../base-plugin/viewtemplates/edit.js"],"names":[],"mappings":"AAqEA;;;GAGG;AAEH,4CAJW,MAAM,GACJ,QAAQ,CAqQjB;AAgCJ;;;;;;;;;;;GAWG;AACH,8BAXW,MAAM,YACN,MAAM;IAEK,OAAO;IACP,MAAM;UACjB,MAAM;IAEU,GAAG,EAAnB,MAAM;IACU,GAAG,EAAnB,MAAM;;;IACJ,QAAQ,IAAI,CAAC,CAWzB;AAED;;;;;;;;;GASG;AACH,kCATW,MAAM,YACN,MAAM;IAEE,OAAO;IACP,MAAM;wBAEd,MAAM;;;;IACJ,QAAQ,IAAI,EAAE,CAAC,CAsC3B;AAoND;;;;;;;;;;;;;;;;GAgBG;AACH,kCAhBW,MAAM,YACN,MAAM;IAEY,OAAO,EAAzB,MAAM,EAAE;IACQ,MAAM;IACN,KAAK,EAArB,MAAM;IACW,cAAc,EAA/B,OAAO;IACW,oBAAoB,EAAtC,MAAM,EAAE;UACR,MAAM;IAGU,GAAG,EAAnB,MAAM;IACU,GAAG,EAAnB,MAAM;IACU,QAAQ,EAAxB,MAAM;;;;;iBACJ,QAAQ,IAAI,CAAC,CAuNzB;AA7hBD;;;;;;GAMG;AACH;IAHmB,OAAO;IACb,QAAQ,MAAM,EAAE,CAAC,CAQ7B;AAcD,uBAAuB;AACvB,sCAAuD;AA2kBvD;;;;;;GAMG;AACH;IALwB,IAAI,EAAjB,MAAM;IACO,QAAQ,EAArB,MAAM;IACO,GAAG,EAAhB,MAAM;;;IACJ,QAAQ,OAAO,CAAC,CAO5B;;;;AAED;;;;;;;;;;;GAWG;AACH,sCAXW,MAAM;IAGS,OAAO,EAAtB,MAAM,EAAE;IACA,MAAM;;IAGE,GAAG,EAAnB,MAAM;IACK,GAAG;;;IACZ,QAAQ,MAAM,CAAC,CAe3B;;2BAGY,MAAM;kCAEN,MAAM;yCAQN,OAAO;AASH;;;;;qBAEd;AACD;;;;GAIG;AACH;;aAEC;AAPD;;;;GAIG;AACH;;aAEC;AACQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiJP;;;;AAGW,kEAyBZ"}
@@ -17,11 +17,11 @@ const { getState } = require("../../db/state");
17
17
  const { text, text_attr } = require("@saltcorn/markup/tags");
18
18
  const { renderForm } = require("@saltcorn/markup");
19
19
  const FieldRepeat = require("../../models/fieldrepeat");
20
- const { get_expression_function, expressionChecker, eval_expression } = require("../../models/expression");
20
+ const { get_expression_function, expressionChecker, eval_expression, freeVariables } = require("../../models/expression");
21
21
  const { InvalidConfiguration, isNode, mergeIntoWhere } = require("../../utils");
22
22
  const Library = require("../../models/library");
23
23
  const { check_view_columns } = require("../../plugin-testing");
24
- const { initial_config_all_fields, calcfldViewOptions, calcfldViewConfig, get_parent_views, get_link_view_opts, picked_fields_to_query, stateFieldsToWhere, stateFieldsToQuery, strictParseInt, run_action_column, } = require("../../plugin-helper");
24
+ const { initial_config_all_fields, calcfldViewOptions, calcfldViewConfig, get_parent_views, get_link_view_opts, picked_fields_to_query, stateFieldsToWhere, stateFieldsToQuery, strictParseInt, run_action_column, add_free_variables_to_joinfields, } = require("../../plugin-helper");
25
25
  const { splitUniques, getForm, fill_presets, parse_view_select, get_view_link_query, objToQueryString, action_url, action_link, } = require("./viewable_fields");
26
26
  const { traverse, getStringsForI18n, translateLayout, traverseSync, } = require("../../models/layout");
27
27
  const { asyncMap, isWeb } = require("../../utils");
@@ -675,7 +675,7 @@ const runPost = async (table_id, viewname, { columns, layout, fixed, view_when_d
675
675
  if ((nxview.table_id === table_id || relation) &&
676
676
  state_fields.some((sf) => sf.name === pk.name) &&
677
677
  viewname_when_done !== viewname) {
678
- const get_query = get_view_link_query(fields);
678
+ const get_query = get_view_link_query(fields, nxview);
679
679
  query = relation
680
680
  ? `?${pk.name}=${text(row[relation])}`
681
681
  : get_query(row);
@@ -707,7 +707,49 @@ const doAuthPost = async ({ body, table_id, req }) => {
707
707
  return field_name && `${body[field_name]}` === `${user_id}`;
708
708
  }
709
709
  if (table.ownership_formula && user_id) {
710
- return await table.is_owner(req.user, body);
710
+ let row = { ...body };
711
+ if (body[table.pk_name]) {
712
+ const joinFields = {};
713
+ if (table.ownership_formula) {
714
+ const fields = await table.getFields();
715
+ const freeVars = freeVariables(table.ownership_formula);
716
+ add_free_variables_to_joinfields(freeVars, joinFields, fields);
717
+ }
718
+ const dbrow = await table.getJoinedRows({
719
+ where: {
720
+ [table.pk_name]: body[table.pk_name]
721
+ }, joinFields
722
+ });
723
+ if (dbrow.length > 0)
724
+ row = { ...body, ...dbrow[0] };
725
+ }
726
+ else {
727
+ // need to check new row conforms to ownership fml
728
+ const freeVars = freeVariables(table.ownership_formula);
729
+ const fields = await table.getFields();
730
+ const field_names = new Set(fields.map(f => f.name));
731
+ // loop free vars, substitute in row
732
+ for (const fv of freeVars) {
733
+ const kpath = fv.split(".");
734
+ if (field_names.has(kpath[0]) && kpath.length > 1) {
735
+ const field = fields.find(f => f.name === kpath[0]);
736
+ if (!field)
737
+ throw new Error("Invalid formula:" + table.ownership_formula);
738
+ const reftable = Table.findOne({ name: field.reftable_name });
739
+ const joinFields = {};
740
+ const [kpath0, ...kpathrest] = kpath;
741
+ add_free_variables_to_joinfields(new Set([kpathrest.join(".")]), joinFields, fields);
742
+ const rows = await reftable.getJoinedRows({
743
+ where: {
744
+ [reftable.pk_name]: body[kpath0]
745
+ }, joinFields
746
+ });
747
+ row[kpath0] = rows[0];
748
+ }
749
+ }
750
+ }
751
+ const is_owner = await table.is_owner(req.user, row);
752
+ return is_owner;
711
753
  }
712
754
  if (table.name === "users" && `${body.id}` === `${user_id}`)
713
755
  return true;
@@ -837,17 +879,31 @@ module.exports = {
837
879
  },
838
880
  async authorizeGetQuery(query, table_id) {
839
881
  let body = query || {};
882
+ const table = Table.findOne({ id: table_id });
840
883
  if (Object.keys(body).length == 1) {
841
- const table = await Table.findOne({ id: table_id });
842
884
  if (table.ownership_field_id || table.ownership_formula) {
843
885
  const fields = await table.getFields();
844
886
  const { uniques } = splitUniques(fields, body);
845
887
  if (Object.keys(uniques).length > 0) {
846
- body = await table.getRow(uniques);
847
- return table.is_owner(req.user, body);
888
+ const joinFields = {};
889
+ if (table.ownership_formula) {
890
+ const freeVars = freeVariables(table.ownership_formula);
891
+ add_free_variables_to_joinfields(freeVars, joinFields, fields);
892
+ }
893
+ const row = await table.getJoinedRows({ where: uniques, joinFields });
894
+ if (row.length > 0)
895
+ return table.is_owner(req.user, row[0]);
896
+ else
897
+ return true; // TODO ??
898
+ }
899
+ else {
900
+ return true;
848
901
  }
849
902
  }
850
903
  }
904
+ else {
905
+ return table.ownership_field_id || table.ownership_formula;
906
+ }
851
907
  return doAuthPost({ body, table_id, req });
852
908
  },
853
909
  async getRowQuery(table_id, view_select, row_id) {
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../base-plugin/viewtemplates/edit.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../base-plugin/viewtemplates/edit.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../base-plugin/viewtemplates/list.js"],"names":[],"mappings":"AA2FA;;;GAGG;AACH,4CAHW,MAAM,GACJ,QAAQ,CA+OjB;AAmDJ;;;;;;;;;;;;;GAaG;AACH,8BAbW,MAAM,GAAC,MAAM,YACb,MAAM;IAES,OAAO,EAAtB,MAAM,EAAE;IACM,cAAc;IACf,mBAAmB,EAAhC,MAAM;IACQ,iBAAiB;IACjB,aAAa;IACb,oBAAoB;gDAElC,MAAM;;IACJ,YAAU,CA8ItB;AA3MD;;;;;;GAMG;AACH,2CANW,MAAM;IAGS,OAAO,EAAtB,MAAM,EAAE;aAuBlB;AAmBD,uBAAuB;AACvB,sCAAwD;AArTxD;;;;;;GAMG;AACH,mDALW,MAAM;IAEE,aAAa;IACnB,QAAQ,IAAI,CAAC,CAYzB;AA+cD;;;;;;;;;;;GAWG;AACH,sCAXW,MAAM;IAGY,OAAO,EAAzB,MAAM,EAAE;IACG,MAAM;SACjB,MAAM;IAEU,GAAG,EAAnB,MAAM;IACK,GAAG;;;IACZ,QAAQ,MAAM,CAAC,CAyC3B;;2BAGY,MAAM;kCAEN,MAAM;oCAKN,MAAM;;;;AAUG,kEACkD;AAKlD,+EAInB;AACD;;;;;GAKG;AACH;;;aAcC;AApBD;;;;;GAKG;AACH;;;aAcC;AACQ;;;;;;;;;;;;;;;EA6DP;AACW,kEAEZ"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../base-plugin/viewtemplates/list.js"],"names":[],"mappings":"AA6FA;;;GAGG;AACH,4CAHW,MAAM,GACJ,QAAQ,CA+OjB;AAmDJ;;;;;;;;;;;;;GAaG;AACH,8BAbW,MAAM,GAAC,MAAM,YACb,MAAM;IAES,OAAO,EAAtB,MAAM,EAAE;IACM,cAAc;IACf,mBAAmB,EAAhC,MAAM;IACQ,iBAAiB;IACjB,aAAa;IACb,oBAAoB;gDAElC,MAAM;;IACJ,YAAU,CA8ItB;AA3MD;;;;;;GAMG;AACH,2CANW,MAAM;IAGS,OAAO,EAAtB,MAAM,EAAE;aAuBlB;AAmBD,uBAAuB;AACvB,sCAAwD;AArTxD;;;;;;GAMG;AACH,mDALW,MAAM;IAEE,aAAa;IACnB,QAAQ,IAAI,CAAC,CAYzB;AA+cD;;;;;;;;;;;GAWG;AACH,sCAXW,MAAM;IAGY,OAAO,EAAzB,MAAM,EAAE;IACG,MAAM;SACjB,MAAM;IAEU,GAAG,EAAnB,MAAM;IACK,GAAG;;;IACZ,QAAQ,MAAM,CAAC,CAyC3B;;2BAGY,MAAM;kCAEN,MAAM;oCAKN,MAAM;;;;AAUG,kEACkD;AAKlD,+EAInB;AACD;;;;;GAKG;AACH;;;aAcC;AApBD;;;;;GAKG;AACH;;;aAcC;AACQ;;;;;;;;;;;;;;;EAkEP;AACW,kEAEZ"}
@@ -15,10 +15,10 @@ const { mkTable, h, post_btn, link } = require("@saltcorn/markup");
15
15
  const { text, script, button, div } = require("@saltcorn/markup/tags");
16
16
  const pluralize = require("pluralize");
17
17
  const { removeEmptyStrings, removeDefaultColor, applyAsync, mergeIntoWhere, } = require("../../utils");
18
- const { field_picker_fields, picked_fields_to_query, stateFieldsToWhere, initial_config_all_fields, stateToQueryString, stateFieldsToQuery, link_view, getActionConfigFields, readState, run_action_column, } = require("../../plugin-helper");
18
+ const { field_picker_fields, picked_fields_to_query, stateFieldsToWhere, initial_config_all_fields, stateToQueryString, stateFieldsToQuery, link_view, getActionConfigFields, readState, run_action_column, add_free_variables_to_joinfields, } = require("../../plugin-helper");
19
19
  const { get_viewable_fields } = require("./viewable_fields");
20
20
  const { getState } = require("../../db/state");
21
- const { get_async_expression_function, jsexprToWhere, } = require("../../models/expression");
21
+ const { get_async_expression_function, jsexprToWhere, freeVariables, } = require("../../models/expression");
22
22
  const db = require("../../db");
23
23
  const { get_existing_views } = require("../../models/discovery");
24
24
  const { InvalidConfiguration, isWeb } = require("../../utils");
@@ -555,6 +555,10 @@ module.exports = {
555
555
  [owner_field.name]: req.user ? req.user.id : -1,
556
556
  });
557
557
  }
558
+ if (table.ownership_formula && role > table.min_role_read) {
559
+ const freeVars = freeVariables(table.ownership_formula);
560
+ add_free_variables_to_joinfields(freeVars, joinFields, fields);
561
+ }
558
562
  //console.log({ i: default_state.include_fml });
559
563
  if (default_state?.include_fml) {
560
564
  let where1 = jsexprToWhere(default_state.include_fml, state);