@saltcorn/data 0.7.2-beta.0 → 0.7.2-beta.10

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 (217) hide show
  1. package/dist/base-plugin/actions.d.ts.map +1 -1
  2. package/dist/base-plugin/actions.js +5 -1
  3. package/dist/base-plugin/actions.js.map +1 -1
  4. package/dist/base-plugin/fieldviews.d.ts +24 -0
  5. package/dist/base-plugin/fieldviews.d.ts.map +1 -1
  6. package/dist/base-plugin/fieldviews.js +57 -5
  7. package/dist/base-plugin/fieldviews.js.map +1 -1
  8. package/dist/base-plugin/fileviews.d.ts.map +1 -1
  9. package/dist/base-plugin/fileviews.js +20 -5
  10. package/dist/base-plugin/fileviews.js.map +1 -1
  11. package/dist/base-plugin/index.d.ts +360 -143
  12. package/dist/base-plugin/index.d.ts.map +1 -1
  13. package/dist/base-plugin/types.d.ts +114 -73
  14. package/dist/base-plugin/types.d.ts.map +1 -1
  15. package/dist/base-plugin/types.js +141 -37
  16. package/dist/base-plugin/types.js.map +1 -1
  17. package/dist/base-plugin/viewtemplates/edit.d.ts +48 -4
  18. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  19. package/dist/base-plugin/viewtemplates/edit.js +212 -86
  20. package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
  21. package/dist/base-plugin/viewtemplates/feed.d.ts +14 -1
  22. package/dist/base-plugin/viewtemplates/feed.d.ts.map +1 -1
  23. package/dist/base-plugin/viewtemplates/feed.js +20 -8
  24. package/dist/base-plugin/viewtemplates/feed.js.map +1 -1
  25. package/dist/base-plugin/viewtemplates/filter.d.ts +17 -1
  26. package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
  27. package/dist/base-plugin/viewtemplates/filter.js +66 -45
  28. package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
  29. package/dist/base-plugin/viewtemplates/list.d.ts +20 -1
  30. package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
  31. package/dist/base-plugin/viewtemplates/list.js +59 -40
  32. package/dist/base-plugin/viewtemplates/list.js.map +1 -1
  33. package/dist/base-plugin/viewtemplates/listshowlist.d.ts +14 -1
  34. package/dist/base-plugin/viewtemplates/listshowlist.d.ts.map +1 -1
  35. package/dist/base-plugin/viewtemplates/listshowlist.js +15 -4
  36. package/dist/base-plugin/viewtemplates/listshowlist.js.map +1 -1
  37. package/dist/base-plugin/viewtemplates/room.d.ts +41 -1
  38. package/dist/base-plugin/viewtemplates/room.d.ts.map +1 -1
  39. package/dist/base-plugin/viewtemplates/room.js +107 -80
  40. package/dist/base-plugin/viewtemplates/room.js.map +1 -1
  41. package/dist/base-plugin/viewtemplates/show.d.ts +37 -4
  42. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
  43. package/dist/base-plugin/viewtemplates/show.js +116 -75
  44. package/dist/base-plugin/viewtemplates/show.js.map +1 -1
  45. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts +26 -7
  46. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
  47. package/dist/base-plugin/viewtemplates/viewable_fields.js +59 -47
  48. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
  49. package/dist/db/connect.d.ts.map +1 -1
  50. package/dist/db/connect.js +8 -1
  51. package/dist/db/connect.js.map +1 -1
  52. package/dist/db/connect_mobile.d.ts +9 -0
  53. package/dist/db/connect_mobile.d.ts.map +1 -0
  54. package/dist/db/connect_mobile.js +15 -0
  55. package/dist/db/connect_mobile.js.map +1 -0
  56. package/dist/db/fixtures.d.ts.map +1 -1
  57. package/dist/db/fixtures.js +2 -1
  58. package/dist/db/fixtures.js.map +1 -1
  59. package/dist/db/index.d.ts.map +1 -1
  60. package/dist/db/index.js +16 -2
  61. package/dist/db/index.js.map +1 -1
  62. package/dist/db/state.d.ts +214 -52
  63. package/dist/db/state.d.ts.map +1 -1
  64. package/dist/db/state.js +115 -104
  65. package/dist/db/state.js.map +1 -1
  66. package/dist/index.d.ts +8 -0
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +32 -3
  69. package/dist/index.js.map +1 -1
  70. package/dist/migrate.d.ts.map +1 -1
  71. package/dist/migrate.js +54 -40
  72. package/dist/migrate.js.map +1 -1
  73. package/dist/mobile-mocks/db/postgres.d.ts +1 -0
  74. package/dist/mobile-mocks/db/postgres.d.ts.map +1 -0
  75. package/dist/mobile-mocks/db/postgres.js +2 -0
  76. package/dist/mobile-mocks/db/postgres.js.map +1 -0
  77. package/dist/mobile-mocks/db/sqlite.d.ts +1 -0
  78. package/dist/mobile-mocks/db/sqlite.d.ts.map +1 -0
  79. package/dist/mobile-mocks/db/sqlite.js +2 -0
  80. package/dist/mobile-mocks/db/sqlite.js.map +1 -0
  81. package/dist/mobile-mocks/models/email.d.ts +1 -0
  82. package/dist/mobile-mocks/models/email.d.ts.map +1 -0
  83. package/dist/mobile-mocks/models/email.js +2 -0
  84. package/dist/mobile-mocks/models/email.js.map +1 -0
  85. package/dist/mobile-mocks/node/async_hooks.d.ts +4 -0
  86. package/dist/mobile-mocks/node/async_hooks.d.ts.map +1 -0
  87. package/dist/mobile-mocks/node/async_hooks.js +8 -0
  88. package/dist/mobile-mocks/node/async_hooks.js.map +1 -0
  89. package/dist/mobile-mocks/node/child_process.d.ts +3 -0
  90. package/dist/mobile-mocks/node/child_process.d.ts.map +1 -0
  91. package/dist/mobile-mocks/node/child_process.js +6 -0
  92. package/dist/mobile-mocks/node/child_process.js.map +1 -0
  93. package/dist/mobile-mocks/node/fs/promises.d.ts +6 -0
  94. package/dist/mobile-mocks/node/fs/promises.d.ts.map +1 -0
  95. package/dist/mobile-mocks/node/fs/promises.js +16 -0
  96. package/dist/mobile-mocks/node/fs/promises.js.map +1 -0
  97. package/dist/mobile-mocks/node/fs.d.ts +4 -0
  98. package/dist/mobile-mocks/node/fs.d.ts.map +1 -0
  99. package/dist/mobile-mocks/node/fs.js +15 -0
  100. package/dist/mobile-mocks/node/fs.js.map +1 -0
  101. package/dist/mobile-mocks/node/latest-version.d.ts +2 -0
  102. package/dist/mobile-mocks/node/latest-version.d.ts.map +1 -0
  103. package/dist/mobile-mocks/node/latest-version.js +7 -0
  104. package/dist/mobile-mocks/node/latest-version.js.map +1 -0
  105. package/dist/mobile-mocks/node/v8.d.ts +3 -0
  106. package/dist/mobile-mocks/node/v8.d.ts.map +1 -0
  107. package/dist/mobile-mocks/node/v8.js +8 -0
  108. package/dist/mobile-mocks/node/v8.js.map +1 -0
  109. package/dist/mobile-mocks/npm/env-paths.d.ts +6 -0
  110. package/dist/mobile-mocks/npm/env-paths.d.ts.map +1 -0
  111. package/dist/mobile-mocks/npm/env-paths.js +9 -0
  112. package/dist/mobile-mocks/npm/env-paths.js.map +1 -0
  113. package/dist/mobile-mocks/saltcorn/plugin-testing.d.ts +1 -0
  114. package/dist/mobile-mocks/saltcorn/plugin-testing.d.ts.map +1 -0
  115. package/dist/mobile-mocks/saltcorn/plugin-testing.js +2 -0
  116. package/dist/mobile-mocks/saltcorn/plugin-testing.js.map +1 -0
  117. package/dist/models/config.d.ts +9 -10
  118. package/dist/models/config.d.ts.map +1 -1
  119. package/dist/models/config.js +35 -12
  120. package/dist/models/config.js.map +1 -1
  121. package/dist/models/crash.js +5 -1
  122. package/dist/models/crash.js.map +1 -1
  123. package/dist/models/discovery.d.ts.map +1 -1
  124. package/dist/models/discovery.js +5 -1
  125. package/dist/models/discovery.js.map +1 -1
  126. package/dist/models/email.js +2 -2
  127. package/dist/models/email.js.map +1 -1
  128. package/dist/models/field.d.ts +5 -4
  129. package/dist/models/field.d.ts.map +1 -1
  130. package/dist/models/field.js +23 -19
  131. package/dist/models/field.js.map +1 -1
  132. package/dist/models/fieldrepeat.d.ts +5 -0
  133. package/dist/models/fieldrepeat.d.ts.map +1 -1
  134. package/dist/models/fieldrepeat.js +2 -0
  135. package/dist/models/fieldrepeat.js.map +1 -1
  136. package/dist/models/file.d.ts +6 -0
  137. package/dist/models/file.d.ts.map +1 -1
  138. package/dist/models/file.js +25 -1
  139. package/dist/models/file.js.map +1 -1
  140. package/dist/models/form.d.ts +2 -0
  141. package/dist/models/form.d.ts.map +1 -1
  142. package/dist/models/form.js +1 -0
  143. package/dist/models/form.js.map +1 -1
  144. package/dist/models/index.d.ts +2 -13
  145. package/dist/models/index.d.ts.map +1 -1
  146. package/dist/models/layout.d.ts.map +1 -1
  147. package/dist/models/layout.js +12 -2
  148. package/dist/models/layout.js.map +1 -1
  149. package/dist/models/page.d.ts +1 -1
  150. package/dist/models/page.d.ts.map +1 -1
  151. package/dist/models/page.js +10 -9
  152. package/dist/models/page.js.map +1 -1
  153. package/dist/models/plugin.d.ts +1 -1
  154. package/dist/models/plugin.d.ts.map +1 -1
  155. package/dist/models/plugin.js +10 -6
  156. package/dist/models/plugin.js.map +1 -1
  157. package/dist/models/scheduler.d.ts.map +1 -1
  158. package/dist/models/scheduler.js +3 -1
  159. package/dist/models/scheduler.js.map +1 -1
  160. package/dist/models/table.d.ts +2 -1
  161. package/dist/models/table.d.ts.map +1 -1
  162. package/dist/models/table.js +37 -11
  163. package/dist/models/table.js.map +1 -1
  164. package/dist/models/trigger.d.ts +3 -3
  165. package/dist/models/trigger.d.ts.map +1 -1
  166. package/dist/models/trigger.js +6 -5
  167. package/dist/models/trigger.js.map +1 -1
  168. package/dist/models/user.d.ts +1 -1
  169. package/dist/models/user.d.ts.map +1 -1
  170. package/dist/models/user.js +7 -15
  171. package/dist/models/user.js.map +1 -1
  172. package/dist/models/view.d.ts +25 -14
  173. package/dist/models/view.d.ts.map +1 -1
  174. package/dist/models/view.js +84 -25
  175. package/dist/models/view.js.map +1 -1
  176. package/dist/package.json +127 -0
  177. package/dist/plugin-helper.d.ts +19 -14
  178. package/dist/plugin-helper.d.ts.map +1 -1
  179. package/dist/plugin-helper.js +108 -66
  180. package/dist/plugin-helper.js.map +1 -1
  181. package/dist/tests/actions.test.d.ts +2 -0
  182. package/dist/tests/actions.test.d.ts.map +1 -0
  183. package/dist/tests/actions.test.js +250 -0
  184. package/dist/tests/actions.test.js.map +1 -0
  185. package/dist/tests/auxtest.test.js +100 -3
  186. package/dist/tests/auxtest.test.js.map +1 -1
  187. package/dist/tests/db.test.d.ts +2 -0
  188. package/dist/tests/db.test.d.ts.map +1 -0
  189. package/dist/tests/db.test.js +32 -0
  190. package/dist/tests/db.test.js.map +1 -0
  191. package/dist/tests/exact_views.test.js +277 -22
  192. package/dist/tests/exact_views.test.js.map +1 -1
  193. package/dist/tests/models.test.js +46 -1
  194. package/dist/tests/models.test.js.map +1 -1
  195. package/dist/tests/remote_query_helper.d.ts +341 -0
  196. package/dist/tests/remote_query_helper.d.ts.map +1 -0
  197. package/dist/tests/remote_query_helper.js +446 -0
  198. package/dist/tests/remote_query_helper.js.map +1 -0
  199. package/dist/tests/state.test.d.ts +2 -0
  200. package/dist/tests/state.test.d.ts.map +1 -0
  201. package/dist/tests/state.test.js +78 -0
  202. package/dist/tests/state.test.js.map +1 -0
  203. package/dist/tests/view.test.js +29 -0
  204. package/dist/tests/view.test.js.map +1 -1
  205. package/dist/tsconfig.json +24 -0
  206. package/dist/tsconfig.ref.json +9 -0
  207. package/dist/tsconfig.ref.tsbuildinfo +1 -1
  208. package/dist/utils.d.ts +2 -0
  209. package/dist/utils.d.ts.map +1 -1
  210. package/dist/utils.js +12 -2
  211. package/dist/utils.js.map +1 -1
  212. package/dist/webpack.config.d.ts +57 -0
  213. package/dist/webpack.config.d.ts.map +1 -0
  214. package/dist/webpack.config.js +75 -0
  215. package/dist/webpack.config.js.map +1 -0
  216. package/package.json +39 -15
  217. package/CHANGELOG.md +0 -8
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const trigger_1 = __importDefault(require("../models/trigger"));
7
+ const table_1 = __importDefault(require("../models/table"));
8
+ const eventlog_1 = __importDefault(require("../models/eventlog"));
9
+ const scheduler_1 = __importDefault(require("../models/scheduler"));
10
+ const db_1 = __importDefault(require("../db"));
11
+ const { getState } = require("../db/state");
12
+ const mocks_1 = __importDefault(require("../tests/mocks"));
13
+ const { plugin_with_routes, getActionCounter, resetActionCounter, sleep } = mocks_1.default;
14
+ const assertions_1 = require("../tests/assertions");
15
+ const globals_1 = require("@jest/globals");
16
+ (0, globals_1.afterAll)(db_1.default.close);
17
+ (0, globals_1.beforeAll)(async () => {
18
+ await require("../db/reset_schema")();
19
+ await require("../db/fixtures")();
20
+ });
21
+ jest.setTimeout(10000);
22
+ (0, globals_1.describe)("Action", () => {
23
+ (0, globals_1.it)("should add insert trigger", async () => {
24
+ getState().registerPlugin("mock_plugin", plugin_with_routes);
25
+ resetActionCounter();
26
+ (0, globals_1.expect)(getActionCounter()).toBe(0);
27
+ const table = await table_1.default.findOne({ name: "patients" });
28
+ (0, assertions_1.assertIsSet)(table);
29
+ const trigger = await trigger_1.default.create({
30
+ action: "incrementCounter",
31
+ table_id: table.id,
32
+ when_trigger: "Insert",
33
+ });
34
+ (0, globals_1.expect)(getActionCounter()).toBe(0);
35
+ await table.insertRow({ name: "Don Fabrizio" });
36
+ await sleep(10);
37
+ (0, globals_1.expect)(getActionCounter()).toBe(1);
38
+ const trigger1 = await trigger_1.default.findOne({ id: trigger.id });
39
+ (0, globals_1.expect)(!!trigger1).toBe(true);
40
+ (0, globals_1.expect)(trigger1.id).toBe(trigger.id);
41
+ (0, globals_1.expect)(trigger1.toJson).toStrictEqual({
42
+ action: "incrementCounter",
43
+ channel: null,
44
+ configuration: {},
45
+ description: null,
46
+ min_role: null,
47
+ name: null,
48
+ table_name: "patients",
49
+ when_trigger: "Insert",
50
+ });
51
+ });
52
+ (0, globals_1.it)("should add update trigger", async () => {
53
+ (0, globals_1.expect)(getActionCounter()).toBe(1);
54
+ const table = await table_1.default.findOne({ name: "patients" });
55
+ (0, assertions_1.assertIsSet)(table);
56
+ await trigger_1.default.create({
57
+ action: "setCounter",
58
+ table_id: table.id,
59
+ when_trigger: "Update",
60
+ configuration: { number: 17 },
61
+ });
62
+ (0, globals_1.expect)(getActionCounter()).toBe(1);
63
+ const don = await table.getRow({ name: "Don Fabrizio" });
64
+ (0, assertions_1.assertIsSet)(don);
65
+ await table.updateRow({ name: "Don Fabrizio II" }, don.id);
66
+ (0, globals_1.expect)(getActionCounter()).toBe(17);
67
+ });
68
+ (0, globals_1.it)("should add update trigger", async () => {
69
+ (0, globals_1.expect)(getActionCounter()).toBe(17);
70
+ const table = await table_1.default.findOne({ name: "patients" });
71
+ (0, assertions_1.assertIsSet)(table);
72
+ await trigger_1.default.create({
73
+ action: "setCounter",
74
+ table_id: table.id,
75
+ when_trigger: "Delete",
76
+ configuration: { number: 37 },
77
+ });
78
+ (0, globals_1.expect)(getActionCounter()).toBe(17);
79
+ await table.deleteRows({ name: "Don Fabrizio" });
80
+ (0, globals_1.expect)(getActionCounter()).toBe(17);
81
+ await table.deleteRows({ name: "Don Fabrizio II" });
82
+ (0, globals_1.expect)(getActionCounter()).toBe(37);
83
+ });
84
+ (0, globals_1.it)("should run js code", async () => {
85
+ const table = await table_1.default.findOne({ name: "books" });
86
+ (0, assertions_1.assertIsSet)(table);
87
+ await trigger_1.default.create({
88
+ action: "run_js_code",
89
+ table_id: table.id,
90
+ when_trigger: "Insert",
91
+ configuration: {
92
+ code: `
93
+ const table = await Table.findOne({ name: "patients" });
94
+ await table.insertRow({ name: "TriggeredInsert" });
95
+ `,
96
+ },
97
+ });
98
+ await table.insertRow({ author: "Giuseppe Tomasi", pages: 209 });
99
+ const patients = await table_1.default.findOne({ name: "patients" });
100
+ (0, assertions_1.assertIsSet)(patients);
101
+ await sleep(10);
102
+ const rows = await patients.getRows({ name: "TriggeredInsert" });
103
+ (0, globals_1.expect)(rows.length).toBe(1);
104
+ });
105
+ (0, globals_1.it)("should run webhook", async () => {
106
+ const table = await table_1.default.findOne({ name: "books" });
107
+ (0, assertions_1.assertIsSet)(table);
108
+ await trigger_1.default.create({
109
+ action: "webhook",
110
+ table_id: table.id,
111
+ when_trigger: "Update",
112
+ configuration: {
113
+ // from https://requestbin.com/
114
+ // to inspect https://pipedream.com/sources/dc_jku44wk
115
+ url: "https://b6af540a71dce96ec130de5a0c47ada6.m.pipedream.net",
116
+ },
117
+ });
118
+ const row = await table.getRow({ author: "Giuseppe Tomasi" });
119
+ (0, assertions_1.assertIsSet)(row);
120
+ await table.updateRow({ pages: 210 }, row.id);
121
+ });
122
+ (0, globals_1.it)("should list triggers", async () => {
123
+ //const table = await Table.findOne({ name: "books" });
124
+ const triggers = await trigger_1.default.findAllWithTableName();
125
+ (0, globals_1.expect)(triggers.length).toBe(5);
126
+ const trigger = triggers.find((tr) => tr && tr.table_name === "books" && tr.when_trigger === "Update");
127
+ (0, assertions_1.assertIsSet)(trigger);
128
+ (0, globals_1.expect)(trigger.action).toBe("webhook");
129
+ });
130
+ (0, globals_1.it)("should have options", async () => {
131
+ (0, globals_1.expect)(trigger_1.default.when_options).toContain("Insert");
132
+ });
133
+ (0, globals_1.it)("should get triggers", async () => {
134
+ const table = await table_1.default.findOne({ name: "books" });
135
+ (0, assertions_1.assertIsSet)(table);
136
+ const trigger = await trigger_1.default.findOne({
137
+ table_id: table.id,
138
+ when_trigger: "Update",
139
+ });
140
+ (0, globals_1.expect)(trigger.action).toBe("webhook");
141
+ await trigger_1.default.update(trigger.id, { when_trigger: "Insert" });
142
+ const ins_trigger = trigger_1.default.find({
143
+ table_id: table.id,
144
+ when_trigger: "Insert",
145
+ });
146
+ (0, globals_1.expect)(ins_trigger.length).toBe(2);
147
+ await trigger.delete();
148
+ const ins_trigger1 = trigger_1.default.find({
149
+ table_id: table.id,
150
+ when_trigger: "Insert",
151
+ });
152
+ (0, globals_1.expect)(ins_trigger1.length).toBe(1);
153
+ });
154
+ (0, globals_1.it)("should run webhook on insert", async () => {
155
+ const table = await table_1.default.findOne({ name: "books" });
156
+ (0, assertions_1.assertIsSet)(table);
157
+ await trigger_1.default.create({
158
+ action: "webhook",
159
+ table_id: table.id,
160
+ when_trigger: "Insert",
161
+ configuration: {
162
+ // from https://requestbin.com/
163
+ // to inspect https://pipedream.com/sources/dc_jku44wk
164
+ url: "https://b6af540a71dce96ec130de5a0c47ada6.m.pipedream.net",
165
+ body: "",
166
+ },
167
+ });
168
+ await table.insertRow({ author: "NK Jemisin", pages: 901 });
169
+ });
170
+ });
171
+ (0, globals_1.describe)("Events", () => {
172
+ (0, globals_1.it)("should add custom event", async () => {
173
+ await getState().setConfig("custom_events", [
174
+ {
175
+ name: "FooHappened",
176
+ hasChannel: false,
177
+ },
178
+ {
179
+ name: "BarWasHere",
180
+ hasChannel: true,
181
+ },
182
+ ]);
183
+ await getState().setConfig("event_log_settings", {
184
+ FooHappened: true,
185
+ BarWasHere: true,
186
+ BarWasHere_channel: "Baz",
187
+ Insert: true,
188
+ Insert_readings: true
189
+ });
190
+ await getState().refresh_config();
191
+ });
192
+ (0, globals_1.it)("should emit custom event", async () => {
193
+ await trigger_1.default.emitEvent("FooHappened");
194
+ const evs = await eventlog_1.default.find({ event_type: "FooHappened" });
195
+ (0, globals_1.expect)(evs.length).toBe(0);
196
+ await sleep(100);
197
+ const evs1 = await eventlog_1.default.find({ event_type: "FooHappened" });
198
+ (0, globals_1.expect)(evs1.length).toBe(1);
199
+ });
200
+ (0, globals_1.it)("should find with user", async () => {
201
+ const ev = await eventlog_1.default.findOne({ event_type: "FooHappened" });
202
+ (0, assertions_1.assertIsSet)(ev.id);
203
+ const evlog_w_user = await eventlog_1.default.findOneWithUser(ev.id);
204
+ (0, globals_1.expect)(evlog_w_user.event_type).toBe("FooHappened");
205
+ });
206
+ (0, globals_1.it)("should emit custom event with channel", async () => {
207
+ await trigger_1.default.emitEvent("BarWasHere");
208
+ await trigger_1.default.emitEvent("BarWasHere", "Zap");
209
+ await trigger_1.default.emitEvent("BarWasHere", "Baz");
210
+ const evs = await eventlog_1.default.find({ event_type: "BarWasHere" });
211
+ (0, globals_1.expect)(evs.length).toBe(0);
212
+ await sleep(100);
213
+ const evs1 = await eventlog_1.default.find({ event_type: "BarWasHere" });
214
+ (0, globals_1.expect)(evs1.length).toBe(1);
215
+ });
216
+ (0, globals_1.it)("should emit table event", async () => {
217
+ await trigger_1.default.emitEvent("Insert", "readings");
218
+ const evs = await eventlog_1.default.find({ event_type: "Insert" });
219
+ (0, globals_1.expect)(evs.length).toBe(0);
220
+ await sleep(100);
221
+ const evs1 = await eventlog_1.default.find({ event_type: "Insert" });
222
+ (0, globals_1.expect)(evs1.length).toBe(1);
223
+ });
224
+ });
225
+ (0, globals_1.describe)("Scheduler", () => {
226
+ (0, globals_1.it)("should run and tick", async () => {
227
+ getState().registerPlugin("mock_plugin", plugin_with_routes);
228
+ resetActionCounter();
229
+ (0, globals_1.expect)(getActionCounter()).toBe(0);
230
+ await trigger_1.default.create({
231
+ action: "incrementCounter",
232
+ when_trigger: "Often",
233
+ });
234
+ let stopSched = false;
235
+ (0, scheduler_1.default)({
236
+ stop_when: () => stopSched,
237
+ tickSeconds: 1,
238
+ watchReaper: undefined,
239
+ port: undefined,
240
+ disableScheduler: undefined,
241
+ });
242
+ await sleep(500);
243
+ (0, globals_1.expect)(getActionCounter()).toBe(1);
244
+ await sleep(1200);
245
+ (0, globals_1.expect)(getActionCounter() > 1).toBe(true);
246
+ stopSched = true;
247
+ await sleep(1200);
248
+ });
249
+ });
250
+ //# sourceMappingURL=actions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.test.js","sourceRoot":"","sources":["../../tests/actions.test.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const index_1 = __importDefault(require("../db/index"));
6
+ const db_1 = __importDefault(require("../db"));
7
7
  const table_1 = __importDefault(require("../models/table"));
8
- const { get_parent_views, get_child_views } = require("../plugin-helper");
8
+ const { get_parent_views, get_child_views, stateFieldsToWhere, } = require("../plugin-helper");
9
9
  const { getState } = require("../db/state");
10
10
  const { satisfies } = require("../utils");
11
11
  const globals_1 = require("@jest/globals");
@@ -14,7 +14,7 @@ getState().registerPlugin("base", require("../base-plugin"));
14
14
  await require("../db/reset_schema")();
15
15
  await require("../db/fixtures")();
16
16
  });
17
- (0, globals_1.afterAll)(index_1.default.close);
17
+ (0, globals_1.afterAll)(db_1.default.close);
18
18
  (0, globals_1.describe)("plugin helper", () => {
19
19
  (0, globals_1.it)("get parent views", async () => {
20
20
  const patients = await table_1.default.findOne({ name: "patients" });
@@ -30,6 +30,103 @@ getState().registerPlugin("base", require("../base-plugin"));
30
30
  (0, globals_1.expect)(x[1].views.map((v) => v.name)).toStrictEqual(["patientlist"]);
31
31
  });
32
32
  });
33
+ (0, globals_1.describe)("stateFieldsToWhere", () => {
34
+ const fields = [
35
+ { name: "astr", type: { name: "String" } },
36
+ { name: "age", type: { name: "Integer" } },
37
+ { name: "props", type: { name: "JSON" } },
38
+ {
39
+ name: "attrs",
40
+ type: { name: "JSON" },
41
+ attributes: {
42
+ hasSchema: true,
43
+ schema: [{ key: "name", type: "String" }],
44
+ },
45
+ },
46
+ ];
47
+ (0, globals_1.it)("normal field", async () => {
48
+ const w = stateFieldsToWhere({
49
+ fields,
50
+ state: { astr: "foo", bstr: "bar" },
51
+ });
52
+ (0, globals_1.expect)(w).toStrictEqual({ astr: { ilike: "foo" } });
53
+ });
54
+ (0, globals_1.it)("int field bounds", async () => {
55
+ const w = stateFieldsToWhere({
56
+ fields,
57
+ state: { _gte_age: 5, _lte_age: 15 },
58
+ });
59
+ (0, globals_1.expect)(w).toStrictEqual({
60
+ age: [
61
+ { equal: true, gt: 5 },
62
+ { equal: true, lt: 15 },
63
+ ],
64
+ });
65
+ });
66
+ (0, globals_1.it)("normal field not approx", async () => {
67
+ const w = stateFieldsToWhere({
68
+ fields,
69
+ state: { astr: "foo" },
70
+ approximate: false,
71
+ });
72
+ (0, globals_1.expect)(w).toStrictEqual({ astr: "foo" });
73
+ });
74
+ (0, globals_1.it)("json field", async () => {
75
+ const w = stateFieldsToWhere({
76
+ fields,
77
+ state: { props: { name: "Tom" } },
78
+ });
79
+ (0, globals_1.expect)(w).toStrictEqual({ props: [{ json: { name: "Tom" } }] });
80
+ });
81
+ (0, globals_1.it)("json field schema string", async () => {
82
+ const w = stateFieldsToWhere({
83
+ fields,
84
+ state: { attrs: { name: "Tom" } },
85
+ });
86
+ (0, globals_1.expect)(w).toStrictEqual({ attrs: [{ json: { name: { ilike: "Tom" } } }] });
87
+ });
88
+ (0, globals_1.it)("json field int bounds", async () => {
89
+ const w = stateFieldsToWhere({
90
+ fields,
91
+ state: { attrs: { cars__gte: 2, cars__lte: 4 } },
92
+ });
93
+ (0, globals_1.expect)(w).toStrictEqual({
94
+ attrs: [{ json: { cars: { gte: 2, lte: 4 } } }],
95
+ });
96
+ });
97
+ (0, globals_1.it)("join field", async () => {
98
+ const table = table_1.default.findOne({ name: "patients" });
99
+ const myFields = await table?.getFields();
100
+ const w = stateFieldsToWhere({
101
+ fields: myFields,
102
+ state: { "favbook.books->author": "Herman" },
103
+ });
104
+ if (db_1.default.isSQLite)
105
+ (0, globals_1.expect)(w).toStrictEqual({
106
+ favbook: [
107
+ {
108
+ inSelect: {
109
+ field: "id",
110
+ table: '"books"',
111
+ where: { author: { ilike: "Herman" } },
112
+ },
113
+ },
114
+ ],
115
+ });
116
+ else
117
+ (0, globals_1.expect)(w).toStrictEqual({
118
+ favbook: [
119
+ {
120
+ inSelect: {
121
+ field: "id",
122
+ table: '"public"."books"',
123
+ where: { author: { ilike: "Herman" } },
124
+ },
125
+ },
126
+ ],
127
+ });
128
+ });
129
+ });
33
130
  (0, globals_1.describe)("satisfies", () => {
34
131
  (0, globals_1.it)("works", async () => {
35
132
  (0, globals_1.expect)(satisfies({ x: 5 })({ x: 5 })).toBe(true);
@@ -1 +1 @@
1
- {"version":3,"file":"auxtest.test.js","sourceRoot":"","sources":["../../tests/auxtest.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auxtest.test.js","sourceRoot":"","sources":["../../tests/auxtest.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=db.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.test.d.ts","sourceRoot":"","sources":["../../tests/db.test.js"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const db_1 = __importDefault(require("../db"));
7
+ const Table = require("../models/table");
8
+ afterAll(db_1.default.close);
9
+ describe("where", () => {
10
+ it("should support in", async () => {
11
+ await Table.create("myothertable");
12
+ if (!db_1.default.isSQLite) {
13
+ const tf = await db_1.default.selectOne("_sc_tables", {
14
+ name: { in: ["myothertable", "nosuchtable"] },
15
+ });
16
+ expect(tf.name).toStrictEqual("myothertable");
17
+ }
18
+ });
19
+ it("should support ilike", async () => {
20
+ const tf = await db_1.default.selectOne("_sc_tables", {
21
+ name: { ilike: "yothertabl" },
22
+ });
23
+ expect(tf.name).toStrictEqual("myothertable");
24
+ });
25
+ it("should count", async () => {
26
+ const tbls = await db_1.default.count("_sc_tables", {
27
+ name: { ilike: "yothertabl" },
28
+ });
29
+ expect(tbls).toStrictEqual(1);
30
+ });
31
+ });
32
+ //# sourceMappingURL=db.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.test.js","sourceRoot":"","sources":["../../tests/db.test.js"],"names":[],"mappings":";;;;;AAAA,+CAAuB;AACvB,MAAM,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEzC,QAAQ,CAAC,YAAE,CAAC,KAAK,CAAC,CAAC;AAEnB,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACnC,IAAI,CAAC,YAAE,CAAC,QAAQ,EAAE;YAChB,MAAM,EAAE,GAAG,MAAM,YAAE,CAAC,SAAS,CAAC,YAAY,EAAE;gBAC1C,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,EAAE;aAC9C,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;SAC/C;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,EAAE,GAAG,MAAM,YAAE,CAAC,SAAS,CAAC,YAAY,EAAE;YAC1C,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;SAC9B,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,IAAI,GAAG,MAAM,YAAE,CAAC,KAAK,CAAC,YAAY,EAAE;YACxC,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;SAC9B,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}