@saltcorn/data 0.9.2 → 0.9.3-beta.0

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 (63) hide show
  1. package/dist/base-plugin/actions.d.ts +16 -128
  2. package/dist/base-plugin/actions.d.ts.map +1 -1
  3. package/dist/base-plugin/actions.js +8 -3
  4. package/dist/base-plugin/actions.js.map +1 -1
  5. package/dist/base-plugin/index.d.ts +335 -335
  6. package/dist/base-plugin/types.d.ts.map +1 -1
  7. package/dist/base-plugin/types.js +8 -2
  8. package/dist/base-plugin/types.js.map +1 -1
  9. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  10. package/dist/base-plugin/viewtemplates/edit.js +23 -14
  11. package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
  12. package/dist/base-plugin/viewtemplates/feed.d.ts +1 -1
  13. package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
  14. package/dist/base-plugin/viewtemplates/filter.js +24 -9
  15. package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
  16. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
  17. package/dist/base-plugin/viewtemplates/show.js +16 -15
  18. package/dist/base-plugin/viewtemplates/show.js.map +1 -1
  19. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
  20. package/dist/base-plugin/viewtemplates/viewable_fields.js +17 -8
  21. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
  22. package/dist/db/fixtures.d.ts.map +1 -1
  23. package/dist/db/fixtures.js +593 -0
  24. package/dist/db/fixtures.js.map +1 -1
  25. package/dist/models/config.d.ts.map +1 -1
  26. package/dist/models/config.js +5 -0
  27. package/dist/models/config.js.map +1 -1
  28. package/dist/models/page.d.ts.map +1 -1
  29. package/dist/models/page.js +2 -0
  30. package/dist/models/page.js.map +1 -1
  31. package/dist/models/plugin.js +1 -1
  32. package/dist/models/plugin.js.map +1 -1
  33. package/dist/models/table.d.ts.map +1 -1
  34. package/dist/models/table.js +2 -0
  35. package/dist/models/table.js.map +1 -1
  36. package/dist/models/trigger.d.ts.map +1 -1
  37. package/dist/models/trigger.js +2 -0
  38. package/dist/models/trigger.js.map +1 -1
  39. package/dist/models/view.d.ts.map +1 -1
  40. package/dist/models/view.js +2 -0
  41. package/dist/models/view.js.map +1 -1
  42. package/dist/models/workflow.d.ts.map +1 -1
  43. package/dist/models/workflow.js +5 -2
  44. package/dist/models/workflow.js.map +1 -1
  45. package/dist/plugin-helper.d.ts +20 -6
  46. package/dist/plugin-helper.d.ts.map +1 -1
  47. package/dist/plugin-helper.js +81 -40
  48. package/dist/plugin-helper.js.map +1 -1
  49. package/dist/tests/auth.test.js +4 -4
  50. package/dist/tests/auth.test.js.map +1 -1
  51. package/dist/tests/auxtest.test.js +8 -4
  52. package/dist/tests/auxtest.test.js.map +1 -1
  53. package/dist/tests/common_helpers.d.ts +0 -1
  54. package/dist/tests/common_helpers.d.ts.map +1 -1
  55. package/dist/tests/common_helpers.js +1 -239
  56. package/dist/tests/common_helpers.js.map +1 -1
  57. package/dist/tests/table.test.js +22 -12
  58. package/dist/tests/table.test.js.map +1 -1
  59. package/dist/tests/view.test.js +14 -2
  60. package/dist/tests/view.test.js.map +1 -1
  61. package/dist/tests/workflow.test.js +4 -0
  62. package/dist/tests/workflow.test.js.map +1 -1
  63. package/package.json +7 -7
@@ -388,6 +388,57 @@ module.exports =
388
388
  },
389
389
  min_role: 100,
390
390
  });
391
+ await View.create({
392
+ table_id: disc_books.id,
393
+ name: "disc_books_list",
394
+ viewtemplate: "List",
395
+ configuration: {
396
+ columns: [
397
+ { type: "Field", field_name: "book", state_field: "on" },
398
+ { type: "Field", field_name: "discussant", state_field: "on" },
399
+ ],
400
+ },
401
+ min_role: 100,
402
+ });
403
+ await View.create({
404
+ table_id: table.id,
405
+ name: "show_author_with_disc_books_list",
406
+ viewtemplate: "Show",
407
+ configuration: {
408
+ columns: [
409
+ { type: "Field", field_name: "author", state_field: "on" },
410
+ {
411
+ type: "ViewLink",
412
+ view: "disc_books_list",
413
+ block: false,
414
+ label: "",
415
+ minRole: 100,
416
+ link_icon: "",
417
+ },
418
+ ],
419
+ layout: {
420
+ above: [
421
+ { type: "field", field_name: "author", fieldview: "show" },
422
+ {
423
+ type: "view",
424
+ view: "ChildList:disc_books_list.discusses_books.book",
425
+ name: "7b17af",
426
+ state: "shared",
427
+ },
428
+ {
429
+ type: "view_link",
430
+ view: "ChildList:disc_books_list.discusses_books.book",
431
+ block: false,
432
+ minRole: 100,
433
+ isFormula: {},
434
+ link_icon: "",
435
+ view_label: "",
436
+ },
437
+ ],
438
+ },
439
+ },
440
+ min_role: 100,
441
+ });
391
442
  await View.create({
392
443
  table_id: table.id,
393
444
  name: "author_multi_edit",
@@ -512,6 +563,32 @@ module.exports =
512
563
  required: false,
513
564
  attributes: { summary_field: "name" },
514
565
  });
566
+ await View.create({
567
+ table_id: participants.id,
568
+ name: "participants_edit",
569
+ viewtemplate: "Edit",
570
+ configuration: {
571
+ columns: [
572
+ {
573
+ type: "Field",
574
+ field_name: "user",
575
+ fieldview: "select",
576
+ textStyle: "",
577
+ block: false,
578
+ configuration: {},
579
+ },
580
+ {
581
+ type: "Field",
582
+ field_name: "room",
583
+ fieldview: "select",
584
+ textStyle: "",
585
+ block: false,
586
+ configuration: {},
587
+ },
588
+ ],
589
+ },
590
+ min_role: 100,
591
+ });
515
592
  await db.insert("participants", {
516
593
  user: 1,
517
594
  room: 1,
@@ -937,6 +1014,16 @@ module.exports =
937
1014
  name: "bc653",
938
1015
  state: "shared",
939
1016
  },
1017
+ {
1018
+ type: "view_link",
1019
+ view: "blog_posts_feed",
1020
+ relation: ".",
1021
+ view_label: "",
1022
+ block: false,
1023
+ minRole: 100,
1024
+ link_icon: "",
1025
+ isFormula: {},
1026
+ },
940
1027
  ],
941
1028
  },
942
1029
  },
@@ -1029,5 +1116,511 @@ module.exports =
1029
1116
  state: {},
1030
1117
  report: "report",
1031
1118
  });
1119
+ const artists = await Table.create("artists");
1120
+ const covers = await Table.create("covers");
1121
+ const albums = await Table.create("albums");
1122
+ const artistPlaysOnAlbum = await Table.create("artist_plays_on_album");
1123
+ const pressing_job = await Table.create("pressing_job");
1124
+ const fan_club = await Table.create("fan_club");
1125
+ const tracksOnAlbum = await Table.create("tracks_on_album");
1126
+ await Field.create({
1127
+ table: artists,
1128
+ name: "name",
1129
+ label: "Name",
1130
+ type: "String",
1131
+ required: true,
1132
+ });
1133
+ await Field.create({
1134
+ table: artists,
1135
+ name: "birth_data",
1136
+ label: "Birth data",
1137
+ type: "Date",
1138
+ required: true,
1139
+ });
1140
+ await Field.create({
1141
+ table: covers,
1142
+ name: "name",
1143
+ label: "Name",
1144
+ type: "String",
1145
+ required: true,
1146
+ });
1147
+ await Field.create({
1148
+ table: albums,
1149
+ name: "name",
1150
+ label: "Name",
1151
+ type: "String",
1152
+ required: true,
1153
+ });
1154
+ await Field.create({
1155
+ table: albums,
1156
+ name: "release_date",
1157
+ label: "Release date",
1158
+ type: "Date",
1159
+ required: true,
1160
+ });
1161
+ await Field.create({
1162
+ table: albums,
1163
+ name: "cover",
1164
+ reftable: covers,
1165
+ label: "Cover",
1166
+ type: "Key",
1167
+ is_unique: true,
1168
+ attributes: { summary_field: "name" },
1169
+ });
1170
+ await Field.create({
1171
+ table: artistPlaysOnAlbum,
1172
+ name: "artist",
1173
+ reftable: artists,
1174
+ label: "Artist",
1175
+ type: "Key",
1176
+ attributes: { summary_field: "name" },
1177
+ });
1178
+ await Field.create({
1179
+ table: artistPlaysOnAlbum,
1180
+ name: "album",
1181
+ reftable: albums,
1182
+ label: "Album",
1183
+ type: "Key",
1184
+ attributes: { summary_field: "name" },
1185
+ });
1186
+ await Field.create({
1187
+ table: tracksOnAlbum,
1188
+ name: "album",
1189
+ reftable: albums,
1190
+ label: "Album",
1191
+ type: "Key",
1192
+ attributes: { summary_field: "name" },
1193
+ });
1194
+ await Field.create({
1195
+ table: tracksOnAlbum,
1196
+ name: "track",
1197
+ label: "Name",
1198
+ type: "String",
1199
+ required: true,
1200
+ });
1201
+ await Field.create({
1202
+ table: pressing_job,
1203
+ name: "album",
1204
+ reftable: albums,
1205
+ label: "Album",
1206
+ type: "Key",
1207
+ attributes: { summary_field: "name" },
1208
+ });
1209
+ await Field.create({
1210
+ table: pressing_job,
1211
+ name: "pressing_date",
1212
+ label: "Pressing date",
1213
+ type: "Date",
1214
+ required: true,
1215
+ });
1216
+ await Field.create({
1217
+ table: fan_club,
1218
+ name: "name",
1219
+ label: "Name",
1220
+ type: "String",
1221
+ required: true,
1222
+ });
1223
+ await Field.create({
1224
+ table: fan_club,
1225
+ name: "artist",
1226
+ reftable: artists,
1227
+ label: "Artis",
1228
+ type: "Key",
1229
+ attributes: { summary_field: "name" },
1230
+ });
1231
+ await db.insert("artists", {
1232
+ name: "artist A",
1233
+ birth_data: new Date("2000-11-11T10:34:00.000Z"),
1234
+ });
1235
+ await db.insert("artists", {
1236
+ name: "artist B",
1237
+ birth_data: new Date("2000-11-11T10:34:00.000Z"),
1238
+ });
1239
+ await db.insert("albums", {
1240
+ name: "album A",
1241
+ release_date: new Date("2010-11-11T10:34:00.000Z"),
1242
+ });
1243
+ await db.insert("albums", {
1244
+ name: "album B",
1245
+ release_date: new Date("2010-11-11T10:34:00.000Z"),
1246
+ });
1247
+ await db.insert("artist_plays_on_album", {
1248
+ artist: 1,
1249
+ album: 1,
1250
+ });
1251
+ await db.insert("artist_plays_on_album", {
1252
+ artist: 1,
1253
+ album: 2,
1254
+ });
1255
+ await db.insert("artist_plays_on_album", {
1256
+ artist: 2,
1257
+ album: 1,
1258
+ });
1259
+ await db.insert("pressing_job", {
1260
+ album: 1,
1261
+ pressing_date: new Date("2010-11-11T10:34:00.000Z"),
1262
+ });
1263
+ await db.insert("pressing_job", {
1264
+ album: 2,
1265
+ pressing_date: new Date("2010-11-11T10:34:00.000Z"),
1266
+ });
1267
+ await db.insert("fan_club", {
1268
+ name: "crazy fan club",
1269
+ artist: 1,
1270
+ });
1271
+ await db.insert("fan_club", {
1272
+ name: "fan club",
1273
+ artist: 1,
1274
+ });
1275
+ await db.insert("fan_club", {
1276
+ name: "fan club official",
1277
+ artist: 1,
1278
+ });
1279
+ await db.insert("fan_club", {
1280
+ name: "another club",
1281
+ artist: 2,
1282
+ });
1283
+ await db.insert("tracks_on_album", {
1284
+ album: 1,
1285
+ track: "track one on album A",
1286
+ });
1287
+ await db.insert("tracks_on_album", {
1288
+ album: 2,
1289
+ track: "track one on album B",
1290
+ });
1291
+ await View.create({
1292
+ table_id: albums.id,
1293
+ name: "edit_album",
1294
+ viewtemplate: "Edit",
1295
+ configuration: {
1296
+ columns: [{ type: "Field", field_name: "name", state_field: "on" }],
1297
+ layout: {
1298
+ above: [{ type: "field", fieldview: "show", field_name: "name" }],
1299
+ },
1300
+ },
1301
+ min_role: 100,
1302
+ });
1303
+ await View.create({
1304
+ table_id: albums.id,
1305
+ name: "show_album",
1306
+ viewtemplate: "Show",
1307
+ configuration: {
1308
+ columns: [{ type: "Field", field_name: "name", state_field: "on" }],
1309
+ layout: {
1310
+ above: [{ type: "field", fieldview: "show", field_name: "name" }],
1311
+ },
1312
+ },
1313
+ min_role: 100,
1314
+ });
1315
+ await View.create({
1316
+ table_id: albums.id,
1317
+ name: "show_album_with_subview",
1318
+ viewtemplate: "Show",
1319
+ configuration: {
1320
+ columns: [{ type: "Field", field_name: "name", state_field: "on" }],
1321
+ layout: {
1322
+ above: [
1323
+ { type: "field", fieldview: "show", field_name: "name" },
1324
+ {
1325
+ name: "d7603a",
1326
+ type: "view",
1327
+ view: "Own:show_album",
1328
+ state: "shared",
1329
+ configuration: {},
1330
+ },
1331
+ ],
1332
+ },
1333
+ },
1334
+ min_role: 100,
1335
+ });
1336
+ await View.create({
1337
+ table_id: albums.id,
1338
+ name: "show_album_with_subview_new_relation_path",
1339
+ viewtemplate: "Show",
1340
+ configuration: {
1341
+ columns: [],
1342
+ layout: {
1343
+ above: [
1344
+ {
1345
+ name: "d7603a",
1346
+ type: "view",
1347
+ view: "show_album",
1348
+ state: "shared",
1349
+ relation: ".albums",
1350
+ configuration: {},
1351
+ },
1352
+ ],
1353
+ },
1354
+ },
1355
+ min_role: 100,
1356
+ });
1357
+ await View.create({
1358
+ table_id: albums.id,
1359
+ name: "albums_feed",
1360
+ viewtemplate: "Feed",
1361
+ configuration: {
1362
+ cols_lg: 1,
1363
+ cols_md: 1,
1364
+ cols_sm: 1,
1365
+ cols_xl: 1,
1366
+ in_card: false,
1367
+ viewname: "albums_feed",
1368
+ show_view: "edit_album",
1369
+ descending: false,
1370
+ view_to_create: "edit_album",
1371
+ create_view_display: "Link",
1372
+ },
1373
+ min_role: 100,
1374
+ });
1375
+ await View.create({
1376
+ table_id: tracksOnAlbum.id,
1377
+ name: "edit_tracks_on_album",
1378
+ viewtemplate: "Edit",
1379
+ configuration: {
1380
+ columns: [{ type: "Field", field_name: "album", state_field: "on" }],
1381
+ layout: {
1382
+ above: [{ type: "field", fieldview: "show", field_name: "album" }],
1383
+ },
1384
+ },
1385
+ min_role: 100,
1386
+ });
1387
+ await View.create({
1388
+ table_id: tracksOnAlbum.id,
1389
+ name: "tracks_on_album_feed",
1390
+ viewtemplate: "Feed",
1391
+ configuration: {
1392
+ cols_lg: 1,
1393
+ cols_md: 1,
1394
+ cols_sm: 1,
1395
+ cols_xl: 1,
1396
+ in_card: false,
1397
+ viewname: "tracks_on_album_feed",
1398
+ show_view: "edit_tracks_on_album",
1399
+ descending: false,
1400
+ view_to_create: "edit_tracks_on_album",
1401
+ create_view_display: "Link",
1402
+ },
1403
+ min_role: 100,
1404
+ });
1405
+ await View.create({
1406
+ table_id: artists.id,
1407
+ name: "show_artist",
1408
+ viewtemplate: "Show",
1409
+ configuration: {
1410
+ columns: [{ type: "Field", field_name: "name", state_field: "on" }],
1411
+ layout: {
1412
+ above: [
1413
+ { type: "field", fieldview: "show", field_name: "name" },
1414
+ {
1415
+ name: "d7603a",
1416
+ type: "view",
1417
+ view: "albums_feed",
1418
+ state: "shared",
1419
+ relation: ".artists.artist_plays_on_album$artist.album",
1420
+ configuration: {},
1421
+ },
1422
+ ],
1423
+ },
1424
+ },
1425
+ min_role: 100,
1426
+ });
1427
+ await View.create({
1428
+ table_id: artistPlaysOnAlbum.id,
1429
+ name: "artist_plays_on_album_list",
1430
+ viewtemplate: "List",
1431
+ configuration: {
1432
+ columns: [
1433
+ { type: "Field", field_name: "artist", state_field: "on" },
1434
+ { type: "Field", field_name: "album", state_field: "on" },
1435
+ ],
1436
+ },
1437
+ min_role: 100,
1438
+ });
1439
+ await View.create({
1440
+ table_id: fan_club.id,
1441
+ name: "edit_fan_club",
1442
+ viewtemplate: "Edit",
1443
+ configuration: {
1444
+ columns: [{ type: "Field", field_name: "name", state_field: "on" }],
1445
+ layout: {
1446
+ above: [{ type: "field", fieldview: "show", field_name: "name" }],
1447
+ },
1448
+ },
1449
+ min_role: 100,
1450
+ });
1451
+ await View.create({
1452
+ table_id: fan_club.id,
1453
+ name: "show_fan_club",
1454
+ viewtemplate: "Show",
1455
+ configuration: {
1456
+ columns: [{ type: "Field", field_name: "name", state_field: "on" }],
1457
+ layout: {
1458
+ above: [{ type: "field", fieldview: "show", field_name: "name" }],
1459
+ },
1460
+ },
1461
+ min_role: 100,
1462
+ });
1463
+ await View.create({
1464
+ table_id: fan_club.id,
1465
+ name: "fan_club_feed",
1466
+ viewtemplate: "Feed",
1467
+ configuration: {
1468
+ cols_lg: 1,
1469
+ cols_md: 1,
1470
+ cols_sm: 1,
1471
+ cols_xl: 1,
1472
+ in_card: false,
1473
+ viewname: "fan_club_feed",
1474
+ show_view: "edit_fan_club",
1475
+ descending: false,
1476
+ view_to_create: "edit_fan_club",
1477
+ create_view_display: "Link",
1478
+ },
1479
+ min_role: 100,
1480
+ });
1481
+ await View.create({
1482
+ table_id: pressing_job.id,
1483
+ name: "show_pressing_job",
1484
+ viewtemplate: "Show",
1485
+ configuration: {
1486
+ columns: [{ type: "Field", field_name: "name", state_field: "on" }],
1487
+ layout: {
1488
+ above: [
1489
+ { type: "field", fieldview: "show", field_name: "name" },
1490
+ {
1491
+ name: "d7603a",
1492
+ type: "view",
1493
+ view: "Independent:fan_club_feed",
1494
+ state: "shared",
1495
+ relation: undefined,
1496
+ configuration: {},
1497
+ },
1498
+ ],
1499
+ },
1500
+ },
1501
+ min_role: 100,
1502
+ });
1503
+ await View.create({
1504
+ table_id: pressing_job.id,
1505
+ name: "show_pressing_job_with_new_indenpendent_relation_path",
1506
+ viewtemplate: "Show",
1507
+ configuration: {
1508
+ columns: [{ type: "Field", field_name: "name", state_field: "on" }],
1509
+ layout: {
1510
+ above: [
1511
+ { type: "field", fieldview: "show", field_name: "name" },
1512
+ {
1513
+ name: "a7603e",
1514
+ type: "view",
1515
+ view: "fan_club_feed",
1516
+ relation: ".",
1517
+ state: "shared",
1518
+ configuration: {},
1519
+ },
1520
+ ],
1521
+ },
1522
+ },
1523
+ min_role: 100,
1524
+ });
1525
+ const department = await Table.create("department");
1526
+ const employee = await Table.create("employee");
1527
+ const company = await Table.create("company");
1528
+ await Field.create({
1529
+ table: company,
1530
+ name: "name",
1531
+ label: "Name",
1532
+ type: "String",
1533
+ required: true,
1534
+ });
1535
+ await Field.create({
1536
+ table: department,
1537
+ name: "company",
1538
+ reftable: company,
1539
+ label: "Company",
1540
+ type: "Key",
1541
+ attributes: { summary_field: "name" },
1542
+ });
1543
+ await Field.create({
1544
+ table: department,
1545
+ name: "manager",
1546
+ reftable: employee,
1547
+ label: "Manager",
1548
+ type: "Key",
1549
+ is_unique: true,
1550
+ attributes: { summary_field: "name" },
1551
+ });
1552
+ await Field.create({
1553
+ table: department,
1554
+ name: "name",
1555
+ label: "Name",
1556
+ type: "String",
1557
+ required: true,
1558
+ });
1559
+ await Field.create({
1560
+ table: employee,
1561
+ name: "name",
1562
+ label: "Name",
1563
+ type: "String",
1564
+ required: true,
1565
+ });
1566
+ await Field.create({
1567
+ table: employee,
1568
+ name: "department",
1569
+ reftable: department,
1570
+ label: "Department",
1571
+ type: "Key",
1572
+ attributes: { summary_field: "name" },
1573
+ });
1574
+ await db.insert("company", {
1575
+ name: "my_company",
1576
+ });
1577
+ await db.insert("department", {
1578
+ name: "my_department",
1579
+ company: 1,
1580
+ });
1581
+ await db.insert("employee", {
1582
+ name: "manager",
1583
+ department: 1,
1584
+ });
1585
+ await db.insert("employee", {
1586
+ name: "my_employee",
1587
+ department: 1,
1588
+ });
1589
+ await db.update("department", {
1590
+ manager: 1,
1591
+ }, 1);
1592
+ await View.create({
1593
+ table_id: employee.id,
1594
+ name: "show_manager",
1595
+ viewtemplate: "Show",
1596
+ configuration: {
1597
+ columns: [{ type: "Field", field_name: "name", state_field: "on" }],
1598
+ layout: {
1599
+ above: [{ type: "field", fieldview: "show", field_name: "name" }],
1600
+ },
1601
+ },
1602
+ min_role: 100,
1603
+ });
1604
+ await View.create({
1605
+ table_id: employee.id,
1606
+ name: "show_employee",
1607
+ viewtemplate: "Show",
1608
+ configuration: {
1609
+ columns: [{ type: "Field", field_name: "name", state_field: "on" }],
1610
+ layout: {
1611
+ above: [
1612
+ { type: "field", fieldview: "show", field_name: "name" },
1613
+ {
1614
+ type: "view",
1615
+ view: "show_manager",
1616
+ relation: ".employee.department.manager",
1617
+ name: "bc653",
1618
+ state: "shared",
1619
+ },
1620
+ ],
1621
+ },
1622
+ },
1623
+ min_role: 100,
1624
+ });
1032
1625
  };
1033
1626
  //# sourceMappingURL=fixtures.js.map