@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,74 +1,67 @@
1
- export = Crash;
1
+ import type { SelectOptions, Where } from "@saltcorn/db-common/internal";
2
2
  /**
3
3
  * Crash Class
4
4
  * @category saltcorn-data
5
5
  */
6
6
  declare class Crash {
7
+ id?: number;
8
+ user_id?: number;
9
+ stack: string;
10
+ message: string;
11
+ tenant: string;
12
+ url: string;
13
+ occur_at: Date;
14
+ headers: any;
15
+ body?: any;
16
+ /**
17
+ * Crash constructor
18
+ * @param {object} o
19
+ */
20
+ constructor(o: CrashCfg);
7
21
  /**
8
22
  * @param {object} where
9
23
  * @param {object} selopts
10
24
  * @returns {Promise<Crash[]>}
11
25
  */
12
- static find(where: object, selopts: object): Promise<Crash[]>;
26
+ static find(where?: Where, selopts?: SelectOptions): Promise<Array<Crash>>;
13
27
  /**
14
28
  * @param {object} where
15
29
  * @returns {Promise<Crash>}
16
30
  */
17
- static findOne(where: object): Promise<Crash>;
31
+ static findOne(where: Where): Promise<Crash>;
18
32
  /**
19
- * @param {object} where
20
- * @returns {Promise<number>}
33
+ * @type {string}
21
34
  */
22
- static count(where: object): Promise<number>;
35
+ get reltime(): string;
23
36
  /**
24
- * @param {object} err
25
- * @param {object} [req = {}]
26
- * @returns {Promise<void>}
37
+ * @param {object} where
38
+ * @returns {Promise<number>}
27
39
  */
28
- static create(err: object, req?: object | undefined): Promise<void>;
29
- /**
30
- * Crash constructor
31
- * @param {object} o
32
- */
33
- constructor(o: object);
34
- id: any;
35
- stack: any;
36
- message: any;
37
- occur_at: any;
38
- tenant: any;
39
- user_id: any;
40
- body: any;
41
- url: any;
42
- headers: any;
40
+ static count(where: Where): Promise<number>;
43
41
  /**
44
42
  * @type {string}
45
43
  */
46
- get reltime(): string;
44
+ get msg_short(): string;
47
45
  /**
48
- * @type {string}
46
+ * @param {object} err
47
+ * @param {object} [req = {}]
48
+ * @returns {Promise<void>}
49
49
  */
50
- get msg_short(): string;
50
+ static create(err: any, req?: any): Promise<void>;
51
51
  }
52
52
  declare namespace Crash {
53
- namespace contract {
54
- namespace variables {
55
- const id: any;
56
- const user_id: any;
57
- const stack: any;
58
- const message: any;
59
- const tenant: any;
60
- const url: any;
61
- const occur_at: any;
62
- const headers: any;
63
- }
64
- namespace methods {
65
- const reltime: any;
66
- }
67
- namespace static_methods {
68
- const find: any;
69
- const findOne: any;
70
- const create: any;
71
- }
72
- }
53
+ type CrashCfg = {
54
+ id?: number;
55
+ user_id?: number;
56
+ stack: string;
57
+ message: string;
58
+ tenant: string;
59
+ url: string;
60
+ occur_at: number | string | Date;
61
+ headers: string | any;
62
+ body?: any;
63
+ };
73
64
  }
65
+ declare type CrashCfg = Crash.CrashCfg;
66
+ export = Crash;
74
67
  //# sourceMappingURL=crash.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crash.d.ts","sourceRoot":"","sources":["../../models/crash.js"],"names":[],"mappings":";AAUA;;;GAGG;AACH;IAqBE;;;;OAIG;IACH,mBAJW,MAAM,WACN,MAAM,GACJ,QAAQ,KAAK,EAAE,CAAC,CAK5B;IAED;;;OAGG;IACH,sBAHW,MAAM,GACJ,QAAQ,KAAK,CAAC,CAK1B;IASD;;;OAGG;IACH,oBAHW,MAAM,GACJ,QAAQ,MAAM,CAAC,CAI3B;IAWD;;;;OAIG;IACH,mBAJW,MAAM,6BAEJ,QAAQ,IAAI,CAAC,CAoBzB;IAtFD;;;QAGI;IACJ,eAFY,MAAM,EAgBjB;IAbC,QAAc;IACd,WAAoB;IACpB,aAAwB;IACxB,cAEc;IACd,YAAsB;IACtB,aAAwB;IACxB,UAAkB;IAClB,SAAgB;IAChB,aACmE;IAuBrE;;OAEG;IACH,sBAEC;IAUD;;OAEG;IACH,wBAIC;CA0BF"}
1
+ {"version":3,"file":"crash.d.ts","sourceRoot":"","sources":["../../models/crash.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAEzE;;;GAGG;AACH,cAAM,KAAK;IACT,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;IACb,IAAI,CAAC,EAAE,GAAG,CAAC;IAEX;;;OAGG;gBACS,CAAC,EAAE,QAAQ;IAgBvB;;;;OAIG;WACU,IAAI,CACf,KAAK,CAAC,EAAE,KAAK,EACb,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAKxB;;;OAGG;WACU,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAKlD;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;OAGG;WACU,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjD;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAItB;IAED;;;;OAIG;WACU,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAmB5D;AAED,kBAAU,KAAK,CAAC;IACd,KAAY,QAAQ,GAAG;QACrB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;QACjC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,CAAC;CACH;AACD,aAAK,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;AAE/B,SAAS,KAAK,CAAC"}
@@ -1,44 +1,65 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
2
24
  /**
3
25
  * Crash Database Access Layer
4
26
  * @category saltcorn-data
5
27
  * @module models/crash
6
28
  * @subcategory models
7
29
  */
8
- const db = require("../db");
9
- const moment = require("moment");
10
- const { contract, is } = require("contractis");
30
+ const db_1 = __importDefault(require("../db"));
31
+ const moment_1 = __importDefault(require("moment"));
11
32
  /**
12
33
  * Crash Class
13
34
  * @category saltcorn-data
14
35
  */
15
36
  class Crash {
16
37
  /**
17
- * Crash constructor
18
- * @param {object} o
19
- */
38
+ * Crash constructor
39
+ * @param {object} o
40
+ */
20
41
  constructor(o) {
21
42
  this.id = o.id;
22
43
  this.stack = o.stack;
23
44
  this.message = o.message;
24
- this.occur_at = ["string", "number"].includes(typeof o.occur_at)
25
- ? new Date(o.occur_at)
26
- : o.occur_at;
45
+ this.occur_at =
46
+ typeof o.occur_at === "string" || typeof o.occur_at === "number"
47
+ ? new Date(o.occur_at)
48
+ : o.occur_at;
27
49
  this.tenant = o.tenant;
28
50
  this.user_id = o.user_id;
29
51
  this.body = o.body;
30
52
  this.url = o.url;
31
53
  this.headers =
32
54
  typeof o.headers === "string" ? JSON.parse(o.headers) : o.headers;
33
- contract.class(this);
34
55
  }
35
56
  /**
36
57
  * @param {object} where
37
58
  * @param {object} selopts
38
59
  * @returns {Promise<Crash[]>}
39
60
  */
40
- static async find(where, selopts) {
41
- const us = await db.select("_sc_errors", where, selopts);
61
+ static async find(where, selopts = {}) {
62
+ const us = await db_1.default.select("_sc_errors", where, selopts);
42
63
  return us.map((u) => new Crash(u));
43
64
  }
44
65
  /**
@@ -46,21 +67,21 @@ class Crash {
46
67
  * @returns {Promise<Crash>}
47
68
  */
48
69
  static async findOne(where) {
49
- const u = await db.selectOne("_sc_errors", where);
70
+ const u = await db_1.default.selectOne("_sc_errors", where);
50
71
  return new Crash(u);
51
72
  }
52
73
  /**
53
74
  * @type {string}
54
75
  */
55
76
  get reltime() {
56
- return moment(this.occur_at).fromNow();
77
+ return (0, moment_1.default)(this.occur_at).fromNow();
57
78
  }
58
79
  /**
59
80
  * @param {object} where
60
81
  * @returns {Promise<number>}
61
82
  */
62
83
  static async count(where) {
63
- return await db.count("_sc_errors", where || {});
84
+ return await db_1.default.count("_sc_errors", where || {});
64
85
  }
65
86
  /**
66
87
  * @type {string}
@@ -76,7 +97,7 @@ class Crash {
76
97
  * @returns {Promise<void>}
77
98
  */
78
99
  static async create(err, req = {}) {
79
- const schema = db.getTenantSchema();
100
+ const schema = db_1.default.getTenantSchema();
80
101
  const payload = {
81
102
  stack: err.stack,
82
103
  message: err.message,
@@ -87,32 +108,12 @@ class Crash {
87
108
  url: req.url,
88
109
  headers: req.headers,
89
110
  };
90
- await db.runWithTenant(db.connectObj.default_schema, async () => {
91
- await db.insert("_sc_errors", payload);
111
+ await db_1.default.runWithTenant(db_1.default.connectObj.default_schema, async () => {
112
+ await db_1.default.insert("_sc_errors", payload);
92
113
  });
93
- const Trigger = require("./trigger");
114
+ const Trigger = (await Promise.resolve().then(() => __importStar(require("./trigger")))).default;
94
115
  Trigger.emitEvent("Error", null, req.user, payload);
95
116
  }
96
117
  }
97
- Crash.contract = {
98
- variables: {
99
- id: is.maybe(is.posint),
100
- user_id: is.maybe(is.posint),
101
- stack: is.str,
102
- message: is.str,
103
- tenant: is.str,
104
- url: is.str,
105
- occur_at: is.class("Date"),
106
- headers: is.obj(),
107
- },
108
- methods: {
109
- reltime: is.getter(is.str),
110
- },
111
- static_methods: {
112
- find: is.fun(is.obj(), is.promise(is.array(is.class("Crash")))),
113
- findOne: is.fun(is.obj(), is.promise(is.class("Crash"))),
114
- create: is.fun([is.obj(), is.obj()], is.promise(is.any)),
115
- },
116
- };
117
118
  module.exports = Crash;
118
119
  //# sourceMappingURL=crash.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crash.js","sourceRoot":"","sources":["../../models/crash.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crash.js","sourceRoot":"","sources":["../../models/crash.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,+CAAuB;AACvB,oDAA4B;AAG5B;;;GAGG;AACH,MAAM,KAAK;IAWT;;;OAGG;IACH,YAAY,CAAW;QACrB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,QAAQ;YACX,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;gBAC9D,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACtB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QACjB,IAAI,CAAC,OAAO;YACV,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,KAAa,EACb,UAAyB,EAAE;QAE3B,MAAM,EAAE,GAAG,MAAM,YAAE,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAY;QAC/B,MAAM,CAAC,GAAG,MAAM,YAAE,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAA,gBAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAY;QAC7B,OAAO,MAAM,YAAE,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE;YAC7B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAQ,EAAE,MAAW,EAAE;QACzC,MAAM,MAAM,GAAG,YAAE,CAAC,eAAe,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,IAAI,IAAI,EAAE;YACpB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YACtC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;YAC1C,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC;QACF,MAAM,YAAE,CAAC,aAAa,CAAC,YAAE,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,YAAE,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,CAAC,wDAAa,WAAW,GAAC,CAAC,CAAC,OAAO,CAAC;QAEpD,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;CACF;AAiBD,iBAAS,KAAK,CAAC"}
@@ -1,28 +1,20 @@
1
1
  /**
2
- * List of discoverable tables.
3
- * Returns all tables that can be imported to Saltcorn from current tenant database schema.
4
- * The tables with name started with "_sc_" and tables imported to Saltcorn are ignored.
5
- * @param {string} schema0 - current tenant db schema
6
- * @returns {Promise<object[]>} all tables that can be imported to Saltcorn from current tenant database schema
2
+ * DB Tables discovery to Saltcorn tables.
3
+ * @category saltcorn-data
4
+ * @module models/discovery
5
+ * @subcategory models
7
6
  */
8
- export function discoverable_tables(schema0: string): Promise<object[]>;
9
- /**
10
- * Discover tables definitions
11
- * @param {string[]} tableNames - list of table names
12
- * @param {string} schema0 - db schema
13
- * @returns {Promise<object>}
14
- */
15
- export function discover_tables(tableNames: string[], schema0: string): Promise<object>;
16
- /**
17
- * Add discovered tables to Saltcorn
18
- * @param {object} pack - table definition
19
- * @returns {Promise<void>}
20
- */
21
- export function implement_discovery(pack: object): Promise<void>;
22
- /**
23
- * List all views in current tenant db schema
24
- * @param {string} schema0 - current tenant db schema
25
- * @returns {Promise<object[]>} Return list of views
26
- */
27
- export function get_existing_views(schema0: string): Promise<object[]>;
7
+ import { Row } from "@saltcorn/db-common/internal";
8
+ import { TablePack } from "@saltcorn/types/model-abstracts/abstract_table";
9
+ declare const _default: {
10
+ discoverable_tables: (schema0?: string | undefined) => Promise<Row[]>;
11
+ discover_tables: (tableNames: string[], schema0?: string | undefined) => Promise<{
12
+ tables: TablePack[];
13
+ }>;
14
+ implement_discovery: (pack: {
15
+ tables: TablePack[];
16
+ }) => Promise<void>;
17
+ get_existing_views: (schema0?: string | undefined) => Promise<Row[]>;
18
+ };
19
+ export = _default;
28
20
  //# sourceMappingURL=discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../models/discovery.js"],"names":[],"mappings":"AAYA;;;;;;GAMG;AACH,6CAHW,MAAM,GACJ,QAAQ,MAAM,EAAE,CAAC,CAiB7B;AA8CD;;;;;GAKG;AACH,4CAJW,MAAM,EAAE,WACR,MAAM,GACJ,QAAQ,MAAM,CAAC,CAoF3B;AACD;;;;GAIG;AACH,0CAHW,MAAM,GACJ,QAAQ,IAAI,CAAC,CAgBzB;AAzJD;;;;GAIG;AACH,4CAHW,MAAM,GACJ,QAAQ,MAAM,EAAE,CAAC,CAW7B"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../models/discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;;;;;;;;;;;AA8M3E,kBAKE"}
@@ -5,10 +5,13 @@
5
5
  * @module models/discovery
6
6
  * @subcategory models
7
7
  */
8
- const db = require("../db");
9
- const { getState } = require("../db/state");
10
- const { available_languages } = require("./config");
11
- const Table = require("./table");
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ const db_1 = __importDefault(require("../db"));
12
+ const state_1 = __importDefault(require("../db/state"));
13
+ const { getState } = state_1.default;
14
+ const table_1 = __importDefault(require("./table"));
12
15
  // create table discmetable(id serial primary key, name text, age integer not null); ALTER TABLE discmetable OWNER TO tomn;
13
16
  /**
14
17
  * List of discoverable tables.
@@ -18,9 +21,9 @@ const Table = require("./table");
18
21
  * @returns {Promise<object[]>} all tables that can be imported to Saltcorn from current tenant database schema
19
22
  */
20
23
  const discoverable_tables = async (schema0) => {
21
- const schema = schema0 || db.getTenantSchema();
22
- const { rows, } = await db.query("select * from information_schema.tables where table_schema=$1 order by table_name", [schema]);
23
- const myTables = await Table.find({});
24
+ const schema = schema0 || db_1.default.getTenantSchema();
25
+ const { rows } = await db_1.default.query("select * from information_schema.tables where table_schema=$1 order by table_name", [schema]);
26
+ const myTables = await table_1.default.find({});
24
27
  const myTableNames = myTables.map((t) => t.name);
25
28
  const discoverable = rows.filter((t) => !(myTableNames.includes(t.table_name) || t.table_name.startsWith("_sc_")));
26
29
  return discoverable;
@@ -31,8 +34,8 @@ const discoverable_tables = async (schema0) => {
31
34
  * @returns {Promise<object[]>} Return list of views
32
35
  */
33
36
  const get_existing_views = async (schema0) => {
34
- const schema = schema0 || db.getTenantSchema();
35
- const { rows, } = await db.query("select * from information_schema.views where table_schema=$1", [schema]);
37
+ const schema = schema0 || db_1.default.getTenantSchema();
38
+ const { rows } = await db_1.default.query("select * from information_schema.views where table_schema=$1", [schema]);
36
39
  return rows;
37
40
  };
38
41
  /**
@@ -49,7 +52,7 @@ const findType = (sql_name) => {
49
52
  character: "String",
50
53
  "character varying": "String",
51
54
  //varchar: "String",
52
- date: "Date"
55
+ date: "Date",
53
56
  // TBD Implement time type in Saltcorn
54
57
  // "time without time zone": "Date",
55
58
  // TBD Implement timestamp type in Saltcorn
@@ -71,10 +74,10 @@ const findType = (sql_name) => {
71
74
  * @returns {Promise<object>}
72
75
  */
73
76
  const discover_tables = async (tableNames, schema0) => {
74
- const schema = schema0 || db.getTenantSchema();
75
- const packTables = [];
77
+ const schema = schema0 || db_1.default.getTenantSchema();
78
+ const packTables = new Array();
76
79
  for (const tnm of tableNames) {
77
- const { rows, } = await db.query("select * from information_schema.columns where table_schema=$1 and table_name=$2", [schema, tnm]);
80
+ const { rows } = await db_1.default.query("select * from information_schema.columns where table_schema=$1 and table_name=$2", [schema, tnm]);
78
81
  // TBD add logic about column length, scale, etc
79
82
  const fields = rows
80
83
  .map((c) => ({
@@ -85,7 +88,7 @@ const discover_tables = async (tableNames, schema0) => {
85
88
  }))
86
89
  .filter((f) => f.type);
87
90
  // try to find column name for primary key of table
88
- const pkq = await db.query(`SELECT c.column_name
91
+ const pkq = await db_1.default.query(`SELECT c.column_name
89
92
  FROM information_schema.table_constraints tc
90
93
  JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_name)
91
94
  JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema
@@ -98,7 +101,7 @@ const discover_tables = async (tableNames, schema0) => {
98
101
  field.is_unique = true;
99
102
  });
100
103
  // try to find foreign keys
101
- const fkq = await db.query(`SELECT
104
+ const fkq = await db_1.default.query(`SELECT
102
105
  tc.table_schema,
103
106
  tc.constraint_name,
104
107
  tc.table_name,
@@ -116,7 +119,7 @@ const discover_tables = async (tableNames, schema0) => {
116
119
  AND ccu.table_schema = tc.table_schema
117
120
  WHERE tc.constraint_type = 'FOREIGN KEY' and tc.table_schema=$1 AND tc.table_name=$2;`, [schema, tnm]);
118
121
  // construct foreign key relations
119
- fkq.rows.forEach(({ column_name, foreign_table_name, foreign_column_name }) => {
122
+ fkq.rows.forEach(({ column_name, foreign_table_name, foreign_column_name, }) => {
120
123
  const field = fields.find((f) => f.name === column_name);
121
124
  field.type = "Key";
122
125
  field.reftable_name = foreign_table_name;
@@ -125,13 +128,20 @@ const discover_tables = async (tableNames, schema0) => {
125
128
  packTables.push({ name: tnm, fields, min_role_read: 1, min_role_write: 1 });
126
129
  }
127
130
  packTables.forEach((t) => {
128
- t.fields.forEach((f) => {
129
- if (f.type === "Key") {
130
- const reftable = packTables.find((reft) => reft.name === f.reftable_name);
131
- const refpk = reftable.fields.find((rtf) => rtf.primary_key);
132
- f.reftype = refpk.type;
133
- }
134
- });
131
+ t.fields &&
132
+ t.fields.forEach((f) => {
133
+ if (f.type === "Key") {
134
+ const reftable = packTables.find((reft) => reft.name === f.reftable_name);
135
+ if (!reftable)
136
+ throw new Error(`Unable to find table '${f.reftable_name}'`);
137
+ if (!reftable.fields)
138
+ throw new Error(`The table '${f.reftable_name}' has no fields`);
139
+ const refpk = reftable.fields.find((rtf) => rtf.primary_key);
140
+ if (!refpk)
141
+ throw new Error(`The table '${f.reftable_name}' has no primary key`);
142
+ f.reftype = refpk.type;
143
+ }
144
+ });
135
145
  });
136
146
  return { tables: packTables };
137
147
  };
@@ -143,12 +153,14 @@ const discover_tables = async (tableNames, schema0) => {
143
153
  const implement_discovery = async (pack) => {
144
154
  for (const table of pack.tables) {
145
155
  const { fields, ...tblRow } = table;
146
- const id = await db.insert("_sc_tables", tblRow);
156
+ const id = await db_1.default.insert("_sc_tables", tblRow);
147
157
  table.id = id;
148
158
  }
149
159
  for (const table of pack.tables) {
150
- for (const field of table.fields) {
151
- await db.insert("_sc_fields", { ...field, table_id: table.id });
160
+ if (table.fields) {
161
+ for (const field of table.fields) {
162
+ await db_1.default.insert("_sc_fields", { ...field, table_id: table.id });
163
+ }
152
164
  }
153
165
  }
154
166
  // refresh Saltcorn table list (in memory)
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../models/discovery.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../models/discovery.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,14 @@
1
1
  /**
2
- * @returns {Transporter}
2
+ * @category saltcorn-data
3
+ * @module models/email
4
+ * @subcategory models
3
5
  */
4
- export function getMailTransport(): Transporter;
5
- /**
6
- * @param {object} bsHtml
7
- * @returns {object}
8
- */
9
- export function transformBootstrapEmail(bsHtml: object): object;
10
- /**
11
- * @param {object} user
12
- * @param {object} [req]
13
- * @returns {Promise<object>}
14
- */
15
- export function send_verification_email(user: object, req?: object | undefined): Promise<object>;
6
+ import { Transporter } from "nodemailer";
7
+ import User from "./user";
8
+ declare const _default: {
9
+ getMailTransport: () => Transporter<any>;
10
+ transformBootstrapEmail: (bsHtml: string) => Promise<any>;
11
+ send_verification_email: (user: User, req: any) => Promise<any>;
12
+ };
13
+ export = _default;
16
14
  //# sourceMappingURL=email.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../models/email.js"],"names":[],"mappings":"AAgBA;;GAEG;AACH,gDAYC;AAED;;;GAGG;AACH,gDAHW,MAAM,GACJ,MAAM,CAUlB;AAED;;;;GAIG;AACH,8CAJW,MAAM,6BAEJ,QAAQ,MAAM,CAAC,CAmC3B"}
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../models/email.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAmB,WAAW,EAAE,MAAM,YAAY,CAAC;AAU1D,OAAO,IAAI,MAAM,QAAQ,CAAC;;;;;;AAgF1B,kBAIE"}
@@ -1,18 +1,22 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  /**
3
6
  * @category saltcorn-data
4
7
  * @module models/email
5
8
  * @subcategory models
6
9
  */
7
- const nodemailer = require("nodemailer");
10
+ const nodemailer_1 = require("nodemailer");
8
11
  const { getState } = require("../db/state");
9
- const BootstrapEmail = require("bootstrap-email");
10
- const tmp = require("tmp-promise");
11
- const fs = require("fs").promises;
12
- const { div } = require("@saltcorn/markup/tags");
13
- const View = require("./view");
14
- const { v4: uuidv4 } = require("uuid");
15
- const db = require("../db");
12
+ const BootstrapEmail = require("bootstrap-email"); // no typings available
13
+ const tmp_promise_1 = require("tmp-promise");
14
+ const promises_1 = require("fs/promises");
15
+ const tags_1 = __importDefault(require("@saltcorn/markup/tags"));
16
+ const { div } = tags_1.default;
17
+ const view_1 = __importDefault(require("./view"));
18
+ const uuid_1 = require("uuid");
19
+ const db_1 = __importDefault(require("../db"));
16
20
  const { mockReqRes } = require("../tests/mocks");
17
21
  /**
18
22
  * @returns {Transporter}
@@ -20,7 +24,7 @@ const { mockReqRes } = require("../tests/mocks");
20
24
  const getMailTransport = () => {
21
25
  const port = getState().getConfig("smtp_port");
22
26
  const secure = getState().getConfig("smtp_secure", port === 465);
23
- return nodemailer.createTransport({
27
+ return (0, nodemailer_1.createTransport)({
24
28
  host: getState().getConfig("smtp_host"),
25
29
  port,
26
30
  secure,
@@ -35,11 +39,11 @@ const getMailTransport = () => {
35
39
  * @returns {object}
36
40
  */
37
41
  const transformBootstrapEmail = async (bsHtml) => {
38
- const filename = await tmp.tmpName();
39
- await fs.writeFile(filename, div({ class: "container" }, bsHtml));
42
+ const filename = await (0, tmp_promise_1.tmpName)();
43
+ await (0, promises_1.writeFile)(filename, div({ class: "container" }, bsHtml));
40
44
  const template = new BootstrapEmail(filename);
41
45
  const email = template.compile();
42
- await fs.unlink(filename);
46
+ await (0, promises_1.unlink)(filename);
43
47
  return email;
44
48
  };
45
49
  /**
@@ -50,13 +54,13 @@ const transformBootstrapEmail = async (bsHtml) => {
50
54
  const send_verification_email = async (user, req) => {
51
55
  const verification_view_name = getState().getConfig("verification_view");
52
56
  if (verification_view_name) {
53
- const verification_view = await View.findOne({
57
+ const verification_view = await view_1.default.findOne({
54
58
  name: verification_view_name,
55
59
  });
56
60
  if (verification_view) {
57
- const verification_token = uuidv4();
61
+ const verification_token = (0, uuid_1.v4)();
58
62
  try {
59
- await db.update("users", { verification_token }, user.id);
63
+ await db_1.default.update("users", { verification_token }, user.id);
60
64
  user.verification_token = verification_token;
61
65
  const htmlBs = await verification_view.run({ id: user.id }, mockReqRes);
62
66
  const html = await transformBootstrapEmail(htmlBs);
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../models/email.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../models/email.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ declare class EventLog {
27
27
  * @param {object} selopts
28
28
  * @returns {Promise<EventLog[]>}
29
29
  */
30
- static find(where: Where, selopts: SelectOptions): Promise<EventLog[]>;
30
+ static find(where: Where, selopts?: SelectOptions): Promise<EventLog[]>;
31
31
  /**
32
32
  * @param {object} where
33
33
  * @returns {Promise<EventLog>}