@saltcorn/data 0.6.3-beta.2 → 0.6.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 (219) hide show
  1. package/dist/base-plugin/index.d.ts +145 -128
  2. package/dist/base-plugin/index.d.ts.map +1 -1
  3. package/dist/base-plugin/types.d.ts +105 -85
  4. package/dist/base-plugin/types.d.ts.map +1 -1
  5. package/dist/base-plugin/types.js +40 -11
  6. package/dist/base-plugin/types.js.map +1 -1
  7. package/dist/base-plugin/viewtemplates/edit.d.ts +3 -3
  8. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  9. package/dist/base-plugin/viewtemplates/edit.js +56 -6
  10. package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
  11. package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
  12. package/dist/base-plugin/viewtemplates/filter.js +13 -0
  13. package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
  14. package/dist/base-plugin/viewtemplates/list.d.ts +1 -1
  15. package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
  16. package/dist/base-plugin/viewtemplates/list.js +64 -1
  17. package/dist/base-plugin/viewtemplates/list.js.map +1 -1
  18. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
  19. package/dist/base-plugin/viewtemplates/show.js +11 -8
  20. package/dist/base-plugin/viewtemplates/show.js.map +1 -1
  21. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts +1 -0
  22. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
  23. package/dist/base-plugin/viewtemplates/viewable_fields.js +27 -14
  24. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
  25. package/dist/contracts.d.ts.map +1 -1
  26. package/dist/contracts.js +11 -3
  27. package/dist/contracts.js.map +1 -1
  28. package/dist/db/connect.d.ts.map +1 -1
  29. package/dist/db/connect.js +9 -2
  30. package/dist/db/connect.js.map +1 -1
  31. package/dist/db/reset_schema.d.ts.map +1 -1
  32. package/dist/db/reset_schema.js +21 -19
  33. package/dist/db/reset_schema.js.map +1 -1
  34. package/dist/db/state.d.ts +9 -10
  35. package/dist/db/state.d.ts.map +1 -1
  36. package/dist/db/state.js +14 -29
  37. package/dist/db/state.js.map +1 -1
  38. package/dist/models/backup.d.ts +1 -1
  39. package/dist/models/backup.d.ts.map +1 -1
  40. package/dist/models/backup.js +2 -0
  41. package/dist/models/backup.js.map +1 -1
  42. package/dist/models/config.d.ts +39 -179
  43. package/dist/models/config.d.ts.map +1 -1
  44. package/dist/models/config.js +79 -52
  45. package/dist/models/config.js.map +1 -1
  46. package/dist/models/crash.d.ts +40 -47
  47. package/dist/models/crash.d.ts.map +1 -1
  48. package/dist/models/crash.js +40 -39
  49. package/dist/models/crash.js.map +1 -1
  50. package/dist/models/discovery.d.ts +17 -25
  51. package/dist/models/discovery.d.ts.map +1 -1
  52. package/dist/models/discovery.js +38 -26
  53. package/dist/models/discovery.js.map +1 -1
  54. package/dist/models/email.d.ts +11 -13
  55. package/dist/models/email.d.ts.map +1 -1
  56. package/dist/models/email.js +19 -15
  57. package/dist/models/email.js.map +1 -1
  58. package/dist/models/eventlog.d.ts +1 -1
  59. package/dist/models/eventlog.d.ts.map +1 -1
  60. package/dist/models/eventlog.js.map +1 -1
  61. package/dist/models/expression.d.ts +39 -31
  62. package/dist/models/expression.d.ts.map +1 -1
  63. package/dist/models/expression.js +44 -29
  64. package/dist/models/expression.js.map +1 -1
  65. package/dist/models/field.d.ts +12 -47
  66. package/dist/models/field.d.ts.map +1 -1
  67. package/dist/models/field.js +3 -3
  68. package/dist/models/field.js.map +1 -1
  69. package/dist/models/fieldrepeat.d.ts +3 -0
  70. package/dist/models/fieldrepeat.d.ts.map +1 -1
  71. package/dist/models/fieldrepeat.js +2 -0
  72. package/dist/models/fieldrepeat.js.map +1 -1
  73. package/dist/models/file.d.ts +56 -58
  74. package/dist/models/file.d.ts.map +1 -1
  75. package/dist/models/file.js +25 -52
  76. package/dist/models/file.js.map +1 -1
  77. package/dist/models/index.d.ts +39 -0
  78. package/dist/models/index.d.ts.map +1 -1
  79. package/dist/models/index.js.map +1 -1
  80. package/dist/models/layout.d.ts +16 -31
  81. package/dist/models/layout.d.ts.map +1 -1
  82. package/dist/models/layout.js +2 -4
  83. package/dist/models/layout.js.map +1 -1
  84. package/dist/models/library.d.ts +2 -10
  85. package/dist/models/library.d.ts.map +1 -1
  86. package/dist/models/library.js.map +1 -1
  87. package/dist/models/pack.d.ts +40 -87
  88. package/dist/models/pack.d.ts.map +1 -1
  89. package/dist/models/pack.js +118 -89
  90. package/dist/models/pack.js.map +1 -1
  91. package/dist/models/page.d.ts +22 -47
  92. package/dist/models/page.d.ts.map +1 -1
  93. package/dist/models/page.js +19 -41
  94. package/dist/models/page.js.map +1 -1
  95. package/dist/models/plugin.d.ts +41 -65
  96. package/dist/models/plugin.d.ts.map +1 -1
  97. package/dist/models/plugin.js +19 -41
  98. package/dist/models/plugin.js.map +1 -1
  99. package/dist/models/random.d.ts +18 -21
  100. package/dist/models/random.d.ts.map +1 -1
  101. package/dist/models/random.js +31 -29
  102. package/dist/models/random.js.map +1 -1
  103. package/dist/models/role.d.ts +3 -9
  104. package/dist/models/role.d.ts.map +1 -1
  105. package/dist/models/role.js.map +1 -1
  106. package/dist/models/scheduler.d.ts +2 -8
  107. package/dist/models/scheduler.d.ts.map +1 -1
  108. package/dist/models/scheduler.js +18 -16
  109. package/dist/models/scheduler.js.map +1 -1
  110. package/dist/models/table.d.ts +12 -23
  111. package/dist/models/table.d.ts.map +1 -1
  112. package/dist/models/table.js +46 -23
  113. package/dist/models/table.js.map +1 -1
  114. package/dist/models/table_constraints.d.ts +44 -39
  115. package/dist/models/table_constraints.d.ts.map +1 -1
  116. package/dist/models/table_constraints.js +17 -33
  117. package/dist/models/table_constraints.js.map +1 -1
  118. package/dist/models/tenant.d.ts +16 -60
  119. package/dist/models/tenant.d.ts.map +1 -1
  120. package/dist/models/tenant.js +52 -30
  121. package/dist/models/tenant.js.map +1 -1
  122. package/dist/models/trigger.d.ts +2 -17
  123. package/dist/models/trigger.d.ts.map +1 -1
  124. package/dist/models/trigger.js +2 -2
  125. package/dist/models/trigger.js.map +1 -1
  126. package/dist/models/user.d.ts +110 -142
  127. package/dist/models/user.d.ts.map +1 -1
  128. package/dist/models/user.js +51 -71
  129. package/dist/models/user.js.map +1 -1
  130. package/dist/models/view.d.ts +7 -21
  131. package/dist/models/view.d.ts.map +1 -1
  132. package/dist/models/view.js +1 -1
  133. package/dist/models/view.js.map +1 -1
  134. package/dist/models/workflow.d.ts +4 -4
  135. package/dist/models/workflow.d.ts.map +1 -1
  136. package/dist/models/workflow.js.map +1 -1
  137. package/dist/plugin-helper.d.ts.map +1 -1
  138. package/dist/plugin-helper.js +58 -26
  139. package/dist/plugin-helper.js.map +1 -1
  140. package/dist/tests/actions.test.d.ts.map +1 -1
  141. package/dist/tests/actions.test.js +102 -82
  142. package/dist/tests/actions.test.js.map +1 -1
  143. package/dist/tests/assertions.d.ts +13 -0
  144. package/dist/tests/assertions.d.ts.map +1 -0
  145. package/dist/tests/assertions.js +35 -0
  146. package/dist/tests/assertions.js.map +1 -0
  147. package/dist/tests/auxtest.test.d.ts.map +1 -1
  148. package/dist/tests/auxtest.test.js +33 -29
  149. package/dist/tests/auxtest.test.js.map +1 -1
  150. package/dist/tests/backup.test.d.ts.map +1 -1
  151. package/dist/tests/backup.test.js +62 -49
  152. package/dist/tests/backup.test.js.map +1 -1
  153. package/dist/tests/calc.test.d.ts.map +1 -1
  154. package/dist/tests/calc.test.js +106 -88
  155. package/dist/tests/calc.test.js.map +1 -1
  156. package/dist/tests/config.test.d.ts.map +1 -1
  157. package/dist/tests/config.test.js +39 -36
  158. package/dist/tests/config.test.js.map +1 -1
  159. package/dist/tests/discover.test.d.ts.map +1 -1
  160. package/dist/tests/discover.test.js +23 -17
  161. package/dist/tests/discover.test.js.map +1 -1
  162. package/dist/tests/exact_views.test.d.ts.map +1 -1
  163. package/dist/tests/exact_views.test.js +66 -25
  164. package/dist/tests/exact_views.test.js.map +1 -1
  165. package/dist/tests/field.test.d.ts.map +1 -1
  166. package/dist/tests/field.test.js +104 -93
  167. package/dist/tests/field.test.js.map +1 -1
  168. package/dist/tests/form.test.d.ts.map +1 -1
  169. package/dist/tests/form.test.js +71 -63
  170. package/dist/tests/form.test.js.map +1 -1
  171. package/dist/tests/mocks.d.ts +101 -105
  172. package/dist/tests/mocks.d.ts.map +1 -1
  173. package/dist/tests/mocks.js +19 -14
  174. package/dist/tests/mocks.js.map +1 -1
  175. package/dist/tests/models.test.d.ts.map +1 -1
  176. package/dist/tests/models.test.js +95 -80
  177. package/dist/tests/models.test.js.map +1 -1
  178. package/dist/tests/pack.test.d.ts.map +1 -1
  179. package/dist/tests/pack.test.js +54 -47
  180. package/dist/tests/pack.test.js.map +1 -1
  181. package/dist/tests/plugin.test.d.ts.map +1 -1
  182. package/dist/tests/plugin.test.js +31 -24
  183. package/dist/tests/plugin.test.js.map +1 -1
  184. package/dist/tests/random.test.d.ts.map +1 -1
  185. package/dist/tests/random.test.js +61 -50
  186. package/dist/tests/random.test.js.map +1 -1
  187. package/dist/tests/table.test.d.ts.map +1 -1
  188. package/dist/tests/table.test.js +557 -436
  189. package/dist/tests/table.test.js.map +1 -1
  190. package/dist/tests/tenant.test.d.ts.map +1 -1
  191. package/dist/tests/tenant.test.js +30 -23
  192. package/dist/tests/tenant.test.js.map +1 -1
  193. package/dist/tests/user.test.d.ts.map +1 -1
  194. package/dist/tests/user.test.js +128 -100
  195. package/dist/tests/user.test.js.map +1 -1
  196. package/dist/tests/view.test.d.ts.map +1 -1
  197. package/dist/tests/view.test.js +109 -85
  198. package/dist/tests/view.test.js.map +1 -1
  199. package/dist/tests/workflow.test.d.ts.map +1 -1
  200. package/dist/tests/workflow.test.js +40 -29
  201. package/dist/tests/workflow.test.js.map +1 -1
  202. package/dist/tsconfig.ref.tsbuildinfo +1 -1
  203. package/dist/utils.d.ts +29 -20
  204. package/dist/utils.d.ts.map +1 -1
  205. package/dist/utils.js +20 -5
  206. package/dist/utils.js.map +1 -1
  207. package/package.json +21 -11
  208. package/dist/coverage/lcov-report/block-navigation.d.ts +0 -2
  209. package/dist/coverage/lcov-report/block-navigation.d.ts.map +0 -1
  210. package/dist/coverage/lcov-report/block-navigation.js +0 -66
  211. package/dist/coverage/lcov-report/block-navigation.js.map +0 -1
  212. package/dist/coverage/lcov-report/prettify.d.ts +0 -1
  213. package/dist/coverage/lcov-report/prettify.d.ts.map +0 -1
  214. package/dist/coverage/lcov-report/prettify.js +0 -478
  215. package/dist/coverage/lcov-report/prettify.js.map +0 -1
  216. package/dist/coverage/lcov-report/sorter.d.ts +0 -2
  217. package/dist/coverage/lcov-report/sorter.d.ts.map +0 -1
  218. package/dist/coverage/lcov-report/sorter.js +0 -141
  219. package/dist/coverage/lcov-report/sorter.js.map +0 -1
@@ -1,89 +1,42 @@
1
1
  /**
2
- * @function
3
- * @param {string} name
4
- * @returns {Promise<object>}
5
- */
6
- export const table_pack: any;
7
- /**
8
- * @function
9
- * @param {string} name
10
- * @returns {Promise<object>}
11
- */
12
- export const view_pack: any;
13
- /**
14
- * @function
15
- * @param {string} name
16
- * @returns {Promise<object>}
17
- */
18
- export const plugin_pack: any;
19
- /**
20
- * @function
21
- * @param {string} name
22
- * @returns {Promise<object>}
23
- */
24
- export const page_pack: any;
25
- /**
26
- * @function
27
- * @param {string} role
28
- * @returns {Promise<object>}
29
- */
30
- export const role_pack: any;
31
- /**
32
- * @function
33
- * @param {string} name
34
- * @returns {Promise<object>}
35
- */
36
- export const library_pack: any;
37
- /**
38
- * @function
39
- * @param {string} name
40
- * @returns {Promise<object>}
41
- */
42
- export const trigger_pack: any;
43
- /**
44
- * @function
45
- * @param {string} pack
46
- * @param {string} [name]
47
- * @param {function} loadAndSaveNewPlugin
48
- * @param {boolean} [bare_tables = false]
49
- * @returns {Promise<void>}
50
- */
51
- export const install_pack: any;
52
- /**
53
- * @function
54
- * @returns {object[]}
55
- */
56
- export const fetch_available_packs: any;
57
- /**
58
- * @function
59
- * @param {string} name
60
- * @returns {Promise<object|null>}
61
- */
62
- export const fetch_pack_by_name: any;
63
- /**
64
- * @function
65
- * @param {Date} date
66
- * @param {string} [hours = 24]
67
- * @returns {boolean}
68
- */
69
- export const is_stale: any;
70
- /**
71
- * @function
72
- * @param {string} pack
73
- * @returns {Promise<boolean|object>}
74
- */
75
- export const can_install_pack: any;
76
- /**
77
- * @function
78
- * @param {string} pack
79
- * @param {string} name
80
- * @returns {Promise<void>}
81
- */
82
- export const uninstall_pack: any;
83
- /**
84
- * @function
85
- * @param {object} item
86
- * @returns {Promise<void>}
87
- */
88
- export const add_to_menu: any;
2
+ * @category saltcorn-data
3
+ * @module models/pack
4
+ * @subcategory models
5
+ */
6
+ import type { Pack } from "@saltcorn/types/base_types";
7
+ import type { PagePack } from "@saltcorn/types/model-abstracts/abstract_page";
8
+ import type Plugin from "./plugin";
9
+ import type { ViewPack } from "@saltcorn/types/model-abstracts/abstract_view";
10
+ import type { TablePack } from "@saltcorn/types/model-abstracts/abstract_table";
11
+ declare const _default: {
12
+ table_pack: (name: string) => Promise<TablePack>;
13
+ view_pack: (name: string) => Promise<ViewPack>;
14
+ plugin_pack: (name: string) => Promise<import("@saltcorn/types/model-abstracts/abstract_plugin").PluginCfg>;
15
+ page_pack: (name: string) => Promise<PagePack>;
16
+ role_pack: (role: string) => Promise<import("@saltcorn/types/model-abstracts/abstract_role").RoleCfg>;
17
+ library_pack: (name: string) => Promise<import("@saltcorn/types/model-abstracts/abstract_library").LibraryCfg>;
18
+ trigger_pack: (name: string) => Promise<import("@saltcorn/types/model-abstracts/abstract_trigger").TriggerCfg>;
19
+ install_pack: (pack: Pack, name: string | undefined, loadAndSaveNewPlugin: (arg0: Plugin) => void, bare_tables?: boolean) => Promise<void>;
20
+ fetch_available_packs: () => Promise<{
21
+ name: string;
22
+ }[]>;
23
+ fetch_pack_by_name: (name: string) => Promise<{
24
+ name: string;
25
+ pack: any;
26
+ } | null>;
27
+ is_stale: (date: string | Date, hours?: number) => boolean;
28
+ can_install_pack: (pack: Pack) => Promise<true | {
29
+ error?: string | undefined;
30
+ warning?: string | undefined;
31
+ }>;
32
+ uninstall_pack: (pack: Pack, name?: string | undefined) => Promise<void>;
33
+ add_to_menu: (item: {
34
+ label: string;
35
+ type: "View" | "Page";
36
+ viewname?: string | undefined;
37
+ pagename?: string | undefined;
38
+ min_role: number;
39
+ }) => Promise<void>;
40
+ };
41
+ export = _default;
89
42
  //# sourceMappingURL=pack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../models/pack.js"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH,6BAsBG;AAEH;;;;GAIG;AACH,4BAaG;AAEH;;;;GAIG;AACH,8BAWG;AAEH;;;;GAIG;AACH,4BAaG;AAsBH;;;;GAIG;AACH,4BAEG;AA3BH;;;;GAIG;AACH,+BAGG;AAEH;;;;GAIG;AACH,+BAGG;AAuIH;;;;;;;GAOG;AACH,+BAuGE;AAiBF;;;GAGG;AACH,wCAqBE;AAoBF;;;;GAIG;AACH,qCAaE;AA9EF;;;;;GAKG;AACH,2BAOE;AA1PF;;;;GAIG;AACH,mCAqDE;AAEF;;;;;GAKG;AACH,iCAuCE;AAEF;;;;GAIG;AACH,8BAUE"}
1
+ {"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../models/pack.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AAE9E,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgahF,kBAeE"}
@@ -4,30 +4,50 @@
4
4
  * @module models/pack
5
5
  * @subcategory models
6
6
  */
7
- const Table = require("./table");
8
- const db = require("../db");
9
- const View = require("./view");
10
- const User = require("./user");
11
- const Field = require("./field");
12
- const Trigger = require("./trigger");
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ var __importDefault = (this && this.__importDefault) || function (mod) {
27
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
+ };
29
+ const table_1 = __importDefault(require("./table"));
30
+ const db_1 = __importDefault(require("../db"));
31
+ const view_1 = __importDefault(require("./view"));
32
+ const field_1 = __importDefault(require("./field"));
33
+ const trigger_1 = __importDefault(require("./trigger"));
13
34
  const { getState } = require("../db/state");
14
- const fetch = require("node-fetch");
15
- const { contract, is } = require("contractis");
16
- const Page = require("./page");
17
- const { is_pack, is_plugin } = require("../contracts");
18
- const TableConstraint = require("./table_constraints");
19
- const { tr } = require("@saltcorn/markup/tags");
20
- const Role = require("./role");
21
- const Library = require("./library");
22
- const { save_menu_items } = require("./config");
23
- const pack_fun = is.fun(is.str, is.promise(is.obj()));
35
+ const node_fetch_1 = __importDefault(require("node-fetch"));
36
+ const page_1 = __importDefault(require("./page"));
37
+ const table_constraints_1 = __importDefault(require("./table_constraints"));
38
+ const role_1 = __importDefault(require("./role"));
39
+ const library_1 = __importDefault(require("./library"));
40
+ const config_1 = __importDefault(require("./config"));
41
+ const { save_menu_items } = config_1.default;
24
42
  /**
25
43
  * @function
26
44
  * @param {string} name
27
45
  * @returns {Promise<object>}
28
46
  */
29
- const table_pack = contract(pack_fun, async (name) => {
30
- const table = await Table.findOne({ name });
47
+ const table_pack = async (name) => {
48
+ const table = await table_1.default.findOne({ name });
49
+ if (!table)
50
+ throw new Error(`Unable to find table '${name}'`);
31
51
  const fields = await table.getFields();
32
52
  const strip_ids = (o) => {
33
53
  delete o.id;
@@ -35,7 +55,7 @@ const table_pack = contract(pack_fun, async (name) => {
35
55
  return o;
36
56
  };
37
57
  //const triggers = await Trigger.find({ table_id: table.id });
38
- const constraints = await TableConstraint.find({ table_id: table.id });
58
+ const constraints = await table_constraints_1.default.find({ table_id: table.id });
39
59
  return {
40
60
  name: table.name,
41
61
  min_role_read: table.min_role_read,
@@ -47,15 +67,19 @@ const table_pack = contract(pack_fun, async (name) => {
47
67
  constraints: constraints.map((c) => c.toJson),
48
68
  ownership_field_name: table.owner_fieldname_from_fields(fields),
49
69
  };
50
- });
70
+ };
51
71
  /**
52
72
  * @function
53
73
  * @param {string} name
54
74
  * @returns {Promise<object>}
55
75
  */
56
- const view_pack = contract(pack_fun, async (name) => {
57
- const view = await View.findOne({ name });
58
- const table = await Table.findOne({ id: view.table_id });
76
+ const view_pack = async (name) => {
77
+ const view = await view_1.default.findOne({ name });
78
+ if (!view)
79
+ throw new Error(`Unable to find view '${name}'`);
80
+ const table = await table_1.default.findOne({ id: view.table_id });
81
+ if (!table)
82
+ throw new Error(`Unable to find table with id '${view.table_id}'`);
59
83
  return {
60
84
  name: view.name,
61
85
  viewtemplate: view.viewtemplate,
@@ -65,15 +89,17 @@ const view_pack = contract(pack_fun, async (name) => {
65
89
  menu_label: view.menu_label,
66
90
  default_render_page: view.default_render_page,
67
91
  };
68
- });
92
+ };
69
93
  /**
70
94
  * @function
71
95
  * @param {string} name
72
96
  * @returns {Promise<object>}
73
97
  */
74
- const plugin_pack = contract(pack_fun, async (name) => {
75
- const Plugin = require("./plugin");
98
+ const plugin_pack = async (name) => {
99
+ const Plugin = (await Promise.resolve().then(() => __importStar(require("./plugin")))).default;
76
100
  const plugin = await Plugin.findOne({ name });
101
+ if (!plugin)
102
+ throw new Error(`Unable to find plugin '${name}'`);
77
103
  return {
78
104
  name: plugin.name,
79
105
  source: plugin.source,
@@ -81,14 +107,14 @@ const plugin_pack = contract(pack_fun, async (name) => {
81
107
  configuration: plugin.configuration,
82
108
  deploy_private_key: plugin.deploy_private_key,
83
109
  };
84
- });
110
+ };
85
111
  /**
86
112
  * @function
87
113
  * @param {string} name
88
114
  * @returns {Promise<object>}
89
115
  */
90
- const page_pack = contract(pack_fun, async (name) => {
91
- const page = await Page.findOne({ name });
116
+ const page_pack = async (name) => {
117
+ const page = await page_1.default.findOne({ name });
92
118
  const root_page_for_roles = await page.is_root_page_for_roles();
93
119
  return {
94
120
  name: page.name,
@@ -100,44 +126,44 @@ const page_pack = contract(pack_fun, async (name) => {
100
126
  menu_label: page.menu_label,
101
127
  root_page_for_roles,
102
128
  };
103
- });
129
+ };
104
130
  /**
105
131
  * @function
106
132
  * @param {string} name
107
133
  * @returns {Promise<object>}
108
134
  */
109
- const library_pack = contract(pack_fun, async (name) => {
110
- const lib = await Library.findOne({ name });
135
+ const library_pack = async (name) => {
136
+ const lib = await library_1.default.findOne({ name });
111
137
  return lib.toJson;
112
- });
138
+ };
113
139
  /**
114
140
  * @function
115
141
  * @param {string} name
116
142
  * @returns {Promise<object>}
117
143
  */
118
- const trigger_pack = contract(pack_fun, async (name) => {
119
- const trig = await Trigger.findOne({ name });
144
+ const trigger_pack = async (name) => {
145
+ const trig = await trigger_1.default.findOne({ name });
120
146
  return trig.toJson;
121
- });
147
+ };
122
148
  /**
123
149
  * @function
124
150
  * @param {string} role
125
151
  * @returns {Promise<object>}
126
152
  */
127
- const role_pack = contract(pack_fun, async (role) => {
128
- return await Role.findOne({ role });
129
- });
153
+ const role_pack = async (role) => {
154
+ return await role_1.default.findOne({ role });
155
+ };
130
156
  /**
131
157
  * @function
132
158
  * @param {string} pack
133
159
  * @returns {Promise<boolean|object>}
134
160
  */
135
- const can_install_pack = contract(is.fun(is_pack, is.promise(is.or(is.eq(true), is.obj({ error: is.maybe(is.str), warning: is.maybe(is.str) })))), async (pack) => {
136
- const warns = [];
137
- const allTables = (await Table.find()).map((t) => db.sqlsanitize(t.name.toLowerCase()));
138
- const allViews = (await View.find()).map((t) => t.name);
139
- const allPages = (await Page.find()).map((t) => t.name);
140
- const packTables = (pack.tables || []).map((t) => db.sqlsanitize(t.name.toLowerCase()));
161
+ const can_install_pack = async (pack) => {
162
+ const warns = new Array();
163
+ const allTables = (await table_1.default.find()).map((t) => db_1.default.sqlsanitize(t.name.toLowerCase()));
164
+ const allViews = (await view_1.default.find()).map((t) => t.name);
165
+ const allPages = (await page_1.default.find()).map((t) => t.name);
166
+ const packTables = (pack.tables || []).map((t) => db_1.default.sqlsanitize(t.name.toLowerCase()));
141
167
  const matchTables = allTables.filter((dbt) => packTables.some((pt) => pt === dbt && pt !== "users"));
142
168
  const matchViews = allViews.filter((dbt) => (pack.views || []).some((pt) => pt.name === dbt));
143
169
  const matchPages = allPages.filter((dbt) => (pack.pages || []).some((pt) => pt.name === dbt));
@@ -163,26 +189,26 @@ const can_install_pack = contract(is.fun(is_pack, is.promise(is.or(is.eq(true),
163
189
  return { warning: warns.join(" ") };
164
190
  else
165
191
  return true;
166
- });
192
+ };
167
193
  /**
168
194
  * @function
169
195
  * @param {string} pack
170
196
  * @param {string} name
171
197
  * @returns {Promise<void>}
172
198
  */
173
- const uninstall_pack = contract(is.fun([is_pack, is.str], is.promise(is.undefined)), async (pack, name) => {
199
+ const uninstall_pack = async (pack, name) => {
174
200
  for (const pageSpec of pack.pages || []) {
175
- const page = await Page.findOne({ name: pageSpec.name });
201
+ const page = await page_1.default.findOne({ name: pageSpec.name });
176
202
  if (page)
177
203
  await page.delete();
178
204
  }
179
205
  for (const viewSpec of pack.views) {
180
- const view = await View.findOne({ name: viewSpec.name });
206
+ const view = await view_1.default.findOne({ name: viewSpec.name });
181
207
  if (view)
182
208
  await view.delete();
183
209
  }
184
210
  for (const tableSpec of pack.tables) {
185
- const table = await Table.findOne({ name: tableSpec.name });
211
+ const table = await table_1.default.findOne({ name: tableSpec.name });
186
212
  if (table && table.name === "users")
187
213
  continue;
188
214
  if (table) {
@@ -191,14 +217,14 @@ const uninstall_pack = contract(is.fun([is_pack, is.str], is.promise(is.undefine
191
217
  if (field.is_fkey)
192
218
  await field.delete();
193
219
  }
194
- const triggers = await Trigger.find({ table_id: table.id });
220
+ const triggers = await trigger_1.default.find({ table_id: table.id });
195
221
  for (const trigger of triggers) {
196
222
  await trigger.delete();
197
223
  }
198
224
  }
199
225
  }
200
226
  for (const tableSpec of pack.tables) {
201
- const table = await Table.findOne({ name: tableSpec.name });
227
+ const table = await table_1.default.findOne({ name: tableSpec.name });
202
228
  if (table && table.name !== "users")
203
229
  await table.delete();
204
230
  }
@@ -206,17 +232,17 @@ const uninstall_pack = contract(is.fun([is_pack, is.str], is.promise(is.undefine
206
232
  const existPacks = getState().getConfigCopy("installed_packs", []);
207
233
  await getState().setConfig("installed_packs", existPacks.filter((p) => p !== name));
208
234
  }
209
- });
235
+ };
210
236
  /**
211
237
  * @function
212
238
  * @param {object} item
213
239
  * @returns {Promise<void>}
214
240
  */
215
- const add_to_menu = contract(is.fun(is.obj({ label: is.str, type: is.one_of(["View", "Page"]) }), is.promise(is.undefined)), async (item) => {
241
+ const add_to_menu = async (item) => {
216
242
  const current_menu = getState().getConfigCopy("menu_items", []);
217
243
  current_menu.push(item);
218
244
  await save_menu_items(current_menu);
219
- });
245
+ };
220
246
  /**
221
247
  * @function
222
248
  * @param {string} pack
@@ -225,8 +251,8 @@ const add_to_menu = contract(is.fun(is.obj({ label: is.str, type: is.one_of(["Vi
225
251
  * @param {boolean} [bare_tables = false]
226
252
  * @returns {Promise<void>}
227
253
  */
228
- const install_pack = contract(is.fun([is_pack, is.maybe(is.str), is.fun(is_plugin, is.undefined)], is.promise(is.undefined)), async (pack, name, loadAndSaveNewPlugin, bare_tables = false) => {
229
- const Plugin = require("./plugin");
254
+ const install_pack = async (pack, name, loadAndSaveNewPlugin, bare_tables = false) => {
255
+ const Plugin = (await Promise.resolve().then(() => __importStar(require("./plugin")))).default;
230
256
  const existingPlugins = await Plugin.find({});
231
257
  for (const plugin of pack.plugins) {
232
258
  if (!existingPlugins.some((ep) => ep.name === plugin.name)) {
@@ -235,14 +261,14 @@ const install_pack = contract(is.fun([is_pack, is.maybe(is.str), is.fun(is_plugi
235
261
  }
236
262
  }
237
263
  for (const role of pack.roles || []) {
238
- await Role.create(role);
264
+ await role_1.default.create(role);
239
265
  }
240
266
  for (const lib of pack.library || []) {
241
- await Library.create(lib);
267
+ await library_1.default.create(lib);
242
268
  }
243
269
  for (const tableSpec of pack.tables) {
244
270
  if (tableSpec.name !== "users") {
245
- const table = await Table.create(tableSpec.name, tableSpec);
271
+ const table = await table_1.default.create(tableSpec.name, tableSpec);
246
272
  const [tbl_pk] = await table.getFields();
247
273
  //set pk
248
274
  const pack_pk = tableSpec.fields.find((f) => f.primary_key);
@@ -252,33 +278,36 @@ const install_pack = contract(is.fun([is_pack, is.maybe(is.str), is.fun(is_plugi
252
278
  }
253
279
  }
254
280
  for (const tableSpec of pack.tables) {
255
- const table = await Table.findOne({ name: tableSpec.name });
256
- const exfields = await table.getFields();
281
+ const _table = await table_1.default.findOne({ name: tableSpec.name });
282
+ if (!_table)
283
+ throw new Error(`Unable to find table '${tableSpec.name}'`);
284
+ const exfields = await _table.getFields();
257
285
  for (const field of tableSpec.fields) {
258
286
  const exfield = exfields.find((f) => f.name === field.name);
259
- if (!((table.name === "users" && field.name === "email") || exfield)) {
260
- if (table.name === "users" && field.required)
261
- await Field.create({ table, ...field, required: false }, bare_tables);
287
+ if (!((_table.name === "users" && field.name === "email") || exfield)) {
288
+ if (_table.name === "users" && field.required)
289
+ await field_1.default.create({ table: _table, ...field, required: false }, bare_tables);
262
290
  else
263
- await Field.create({ table, ...field }, bare_tables);
291
+ await field_1.default.create({ table: _table, ...field }, bare_tables);
264
292
  }
265
293
  }
266
- for (const trigger of tableSpec.triggers || [])
267
- await Trigger.create({ table, ...trigger }); //legacy, not in new packs
294
+ for (const { table, ...trigger } of tableSpec.triggers || []) {
295
+ await trigger_1.default.create({ table: _table, ...trigger }); //legacy, not in new packs
296
+ }
268
297
  for (const constraint of tableSpec.constraints || [])
269
- await TableConstraint.create({ table, ...constraint });
298
+ await table_constraints_1.default.create({ table: _table, ...constraint });
270
299
  if (tableSpec.ownership_field_name) {
271
- const owner_field = await Field.findOne({
272
- table_id: table.id,
300
+ const owner_field = await field_1.default.findOne({
301
+ table_id: _table.id,
273
302
  name: tableSpec.ownership_field_name,
274
303
  });
275
- await table.update({ ownership_field_id: owner_field.id });
304
+ await _table.update({ ownership_field_id: owner_field.id });
276
305
  }
277
306
  }
278
307
  for (const viewSpec of pack.views) {
279
308
  const { table, on_menu, menu_label, on_root_page, ...viewNoTable } = viewSpec;
280
- const vtable = await Table.findOne({ name: table });
281
- await View.create({
309
+ const vtable = await table_1.default.findOne({ name: table });
310
+ await view_1.default.create({
282
311
  ...viewNoTable,
283
312
  table_id: vtable ? vtable.id : null,
284
313
  });
@@ -291,11 +320,11 @@ const install_pack = contract(is.fun([is_pack, is.maybe(is.str), is.fun(is_plugi
291
320
  });
292
321
  }
293
322
  for (const triggerSpec of pack.triggers || []) {
294
- await Trigger.create(triggerSpec);
323
+ await trigger_1.default.create(triggerSpec);
295
324
  }
296
325
  for (const pageFullSpec of pack.pages || []) {
297
326
  const { root_page_for_roles, menu_label, ...pageSpec } = pageFullSpec;
298
- await Page.create(pageSpec);
327
+ await page_1.default.create(pageSpec);
299
328
  for (const role of root_page_for_roles || []) {
300
329
  const current_root = getState().getConfigCopy(role + "_home", "");
301
330
  if (!current_root || current_root === "")
@@ -313,23 +342,23 @@ const install_pack = contract(is.fun([is_pack, is.maybe(is.str), is.fun(is_plugi
313
342
  const existPacks = getState().getConfigCopy("installed_packs", []);
314
343
  await getState().setConfig("installed_packs", [...existPacks, name]);
315
344
  }
316
- });
345
+ };
317
346
  /**
318
347
  * @function
319
348
  * @param {Date} date
320
349
  * @param {string} [hours = 24]
321
350
  * @returns {boolean}
322
351
  */
323
- const is_stale = contract(is.fun([is.or(is.class("Date"), is.str), is.maybe(is.posint)], is.bool), (date, hours = 24) => {
352
+ const is_stale = (date, hours = 24) => {
324
353
  const oneday = 60 * 60 * hours * 1000;
325
- const now = new Date();
326
- return new Date(date) < now - oneday;
327
- });
354
+ let now = new Date();
355
+ return new Date(date).valueOf() < now.valueOf() - oneday;
356
+ };
328
357
  /**
329
358
  * @function
330
359
  * @returns {object[]}
331
360
  */
332
- const fetch_available_packs = contract(is.fun([], is.promise(is.array(is.obj({ name: is.str })))), async () => {
361
+ const fetch_available_packs = async () => {
333
362
  const stored = getState().getConfigCopy("available_packs", false);
334
363
  const stored_at = getState().getConfigCopy("available_packs_fetched_at", false);
335
364
  //console.log("in fetch", stored_at, stored)
@@ -347,30 +376,30 @@ const fetch_available_packs = contract(is.fun([], is.promise(is.array(is.obj({ n
347
376
  }
348
377
  else
349
378
  return stored;
350
- });
379
+ };
351
380
  /**
352
381
  * @function
353
382
  * @returns {Promise<object[]>}
354
383
  */
355
- const fetch_available_packs_from_store = contract(is.fun([], is.promise(is.array(is.obj({ name: is.str })))), async () => {
384
+ const fetch_available_packs_from_store = async () => {
356
385
  //console.log("fetch packs");
357
- const response = await fetch("http://store.saltcorn.com/api/packs?fields=name,description");
386
+ const response = await (0, node_fetch_1.default)("http://store.saltcorn.com/api/packs?fields=name,description");
358
387
  const json = await response.json();
359
388
  return json.success;
360
- });
389
+ };
361
390
  /**
362
391
  * @function
363
392
  * @param {string} name
364
393
  * @returns {Promise<object|null>}
365
394
  */
366
- const fetch_pack_by_name = contract(is.fun(is.str, is.promise(is.maybe(is.obj({ name: is.str, pack: is.obj() })))), async (name) => {
367
- const response = await fetch("http://store.saltcorn.com/api/packs?name=" + encodeURIComponent(name));
395
+ const fetch_pack_by_name = async (name) => {
396
+ const response = await (0, node_fetch_1.default)("http://store.saltcorn.com/api/packs?name=" + encodeURIComponent(name));
368
397
  const json = await response.json();
369
398
  if (json.success.length == 1)
370
399
  return json.success[0];
371
400
  else
372
401
  return null;
373
- });
402
+ };
374
403
  module.exports = {
375
404
  table_pack,
376
405
  view_pack,
@@ -1 +1 @@
1
- {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../models/pack.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../models/pack.ts"],"names":[],"mappings":"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"}