@saltcorn/data 1.4.1 → 1.4.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.
@@ -0,0 +1,203 @@
1
+ import Field from "../models/field";
2
+ import File from "../models/file";
3
+ import View from "../models/view";
4
+ import Table from "../models/table";
5
+ import Workflow from "../models/workflow";
6
+ declare const _default: {
7
+ rick_file: () => Promise<File>;
8
+ plugin_with_routes: () => {
9
+ sc_plugin_api_version: number;
10
+ onLoad: () => Promise<void>;
11
+ external_tables: {
12
+ exttab: any;
13
+ };
14
+ table_providers: {
15
+ provtab: {
16
+ configuration_workflow: () => Workflow;
17
+ fields: (cfg: any) => Promise<({
18
+ name: string;
19
+ label: string;
20
+ type: string;
21
+ primary_key: boolean;
22
+ } | {
23
+ name: string;
24
+ label: string;
25
+ type: string;
26
+ primary_key?: undefined;
27
+ })[]>;
28
+ get_table(cfg: any): {
29
+ getRows: () => Promise<{
30
+ name: any;
31
+ age: number;
32
+ }[]>;
33
+ };
34
+ };
35
+ };
36
+ types: ({
37
+ name: string;
38
+ sql_name: string;
39
+ fieldviews: {
40
+ show: {
41
+ isEdit: boolean;
42
+ run: (v: any) => string;
43
+ };
44
+ edit: {
45
+ isEdit: boolean;
46
+ run: (nm: string, v: any, attrs: any, cls: string) => string;
47
+ };
48
+ editHTML?: undefined;
49
+ };
50
+ attributes: never[];
51
+ read: (v: any) => any;
52
+ validate_attributes?: undefined;
53
+ primaryKey?: undefined;
54
+ } | {
55
+ name: string;
56
+ sql_name: ({ dimensions }: any) => string;
57
+ fieldviews: {
58
+ show: {
59
+ isEdit: boolean;
60
+ run: (v: any) => any;
61
+ };
62
+ editHTML: {
63
+ isEdit: boolean;
64
+ run: (nm: string, v: any, attrs: any, cls: string, required: boolean, field: Field) => string;
65
+ };
66
+ edit?: undefined;
67
+ };
68
+ attributes: {
69
+ label: string;
70
+ name: string;
71
+ type: string;
72
+ required: boolean;
73
+ attributes: {
74
+ max: number;
75
+ min: number;
76
+ };
77
+ }[];
78
+ validate_attributes: ({ dimensions }: any) => boolean;
79
+ read: (s: any) => any;
80
+ primaryKey?: undefined;
81
+ } | {
82
+ name: string;
83
+ sql_name: string;
84
+ primaryKey: {
85
+ default_sql: string;
86
+ };
87
+ fieldviews: {
88
+ show: {
89
+ isEdit: boolean;
90
+ run: (v: any) => any;
91
+ };
92
+ editHTML: {
93
+ isEdit: boolean;
94
+ run: (nm: string, v: any, attrs: any, cls: string, required: boolean, field: Field) => string;
95
+ };
96
+ edit?: undefined;
97
+ };
98
+ read: (v: any) => string | null | undefined;
99
+ attributes?: undefined;
100
+ validate_attributes?: undefined;
101
+ })[];
102
+ actions: {
103
+ incrementCounter: {
104
+ run: () => void;
105
+ };
106
+ setCounter: {
107
+ configFields: {
108
+ name: string;
109
+ type: string;
110
+ }[];
111
+ run: ({ configuration: { number }, }: {
112
+ configuration: {
113
+ number: number;
114
+ };
115
+ }) => void;
116
+ };
117
+ evalCounter: {
118
+ configFields: {
119
+ name: string;
120
+ type: string;
121
+ }[];
122
+ run: ({ configuration: { number_expr }, row, user, }: {
123
+ configuration: {
124
+ number_expr: string;
125
+ };
126
+ row: any;
127
+ user: any;
128
+ }) => void;
129
+ };
130
+ };
131
+ functions: {
132
+ add3: {
133
+ run: (x: number) => number;
134
+ };
135
+ add5: (x: number) => number;
136
+ asyncAdd2: {
137
+ run: (x: number) => Promise<number>;
138
+ isAsync: boolean;
139
+ };
140
+ };
141
+ viewtemplates: ({
142
+ name: string;
143
+ get_state_fields(): never[];
144
+ configuration_workflow: () => Workflow;
145
+ run: () => Promise<void>;
146
+ routes: {
147
+ the_json_route: () => Promise<{
148
+ json: {
149
+ success: string;
150
+ };
151
+ }>;
152
+ the_html_route: () => Promise<{
153
+ html: string;
154
+ }>;
155
+ the_null_route: () => null;
156
+ };
157
+ tableless?: undefined;
158
+ } | {
159
+ name: string;
160
+ tableless: boolean;
161
+ get_state_fields(): never[];
162
+ configuration_workflow: () => Workflow;
163
+ run: () => Promise<void>;
164
+ routes?: undefined;
165
+ })[];
166
+ };
167
+ configuration_workflow: () => Workflow;
168
+ mockReqRes: {
169
+ req: {
170
+ csrfToken: () => string;
171
+ getLocale: () => any;
172
+ __: (s: any) => any;
173
+ user: {
174
+ id: number;
175
+ role_id: number;
176
+ attributes: {};
177
+ };
178
+ isAuthenticated: () => boolean;
179
+ headers: {};
180
+ query: {};
181
+ xhr: boolean;
182
+ flash: (...fs: any) => void;
183
+ body: string;
184
+ get: (s: string) => string;
185
+ };
186
+ res: {
187
+ redirect(url: string): void;
188
+ json(o: any): void;
189
+ send(s: any): void;
190
+ status(st: any): void;
191
+ sendWrap: (...sw: any[]) => void;
192
+ __: (s: any) => any;
193
+ };
194
+ getStored: () => any;
195
+ reset: () => void;
196
+ };
197
+ getActionCounter: () => number;
198
+ resetActionCounter: () => void;
199
+ sleep: any;
200
+ createDefaultView: (table: Table, viewtemplate: string, min_role: number) => Promise<View>;
201
+ };
202
+ export = _default;
203
+ //# sourceMappingURL=mocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../test-utils/mocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,KAAK,MAAM,iBAAiB,CAAC;AAGpC,OAAO,QAAQ,MAAM,oBAAoB,CAAC;;;;;;;;;;;;8BAqGhB,GAAG;;;;;;;;;;;+BAIR,GAAG;;;;;;;;;;;;;;6BAcL,GAAG;;;;8BAKF,MAAM,KAAK,GAAG,SAAS,GAAG,OAAO,MAAM;;;;;sBAa3C,GAAG;;;;;uCAec,GAAG;;;;6BAKI,GAAG;;;;8BAI3B,MAAM,KACP,GAAG,SACC,GAAG,OACL,MAAM,YACD,OAAO,SACV,KAAK;;;;;;;;;;;;;;kDAyBoB,GAAG;sBAE/B,GAAG;;;;;;;;;;;6BAOqB,GAAG;;;;8BAI3B,MAAM,KACP,GAAG,SACC,GAAG,OACL,MAAM,YACD,OAAO,SACV,KAAK;;;;sBAaR,GAAG;;;;;;;;;;;;;sDAoBV;oBACD,aAAa,EAAE;wBAAE,MAAM,EAAE,MAAM,CAAA;qBAAE,CAAC;iBACnC;;;;;;;sEAUE;oBACD,aAAa,EAAE;wBAAE,WAAW,EAAE,MAAM,CAAA;qBAAE,CAAC;oBACvC,GAAG,EAAE,GAAG,CAAC;oBACT,IAAI,EAAE,GAAG,CAAC;iBACX;;;;;yBAMc,MAAM;;sBACb,MAAM;;yBAEC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA0Cf,GAAG;;;;;;;;;;2BAMI,GAAG;;qBAIT,MAAM;;;0BAGD,MAAM;oBAGZ,GAAG;oBAGH,GAAG;uBAGA,GAAG;8BAGI,GAAG,EAAE;oBAGf,GAAG;;;;;;;;+BAUN,KAAK,gBACE,MAAM,YACV,MAAM,KACf,OAAO,CAAC,IAAI,CAAC;;AAehB,kBASE"}
@@ -0,0 +1,329 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ const file_1 = __importDefault(require("../models/file"));
6
+ const view_1 = __importDefault(require("../models/view"));
7
+ const form_1 = __importDefault(require("../models/form"));
8
+ const promises_1 = require("fs/promises");
9
+ const workflow_1 = __importDefault(require("../models/workflow"));
10
+ const db_1 = __importDefault(require("../db"));
11
+ const tags_1 = __importDefault(require("@saltcorn/markup/tags"));
12
+ const expression_1 = __importDefault(require("../models/expression"));
13
+ const { eval_expression } = expression_1.default;
14
+ const { getState } = require("../db/state");
15
+ const { input } = tags_1.default;
16
+ const { json_list_to_external_table } = require("../plugin-helper");
17
+ const { sleep } = require("../utils");
18
+ const rick_file = async () => {
19
+ await file_1.default.ensure_file_store();
20
+ const mv = async (fnm) => {
21
+ await (0, promises_1.writeFile)(fnm, "nevergonnagiveyouup");
22
+ };
23
+ return await file_1.default.from_req_files({ mimetype: "image/png", name: "rick.png", mv, size: 245752 }, 1, 100);
24
+ };
25
+ const configuration_workflow = () => new workflow_1.default({
26
+ steps: [
27
+ {
28
+ name: "step1",
29
+ form: (context) => new form_1.default({
30
+ fields: [
31
+ {
32
+ name: "first_name",
33
+ label: "First name",
34
+ type: "String",
35
+ required: true,
36
+ },
37
+ ],
38
+ }),
39
+ },
40
+ {
41
+ name: "step2",
42
+ form: (context) => new form_1.default({
43
+ fields: [
44
+ {
45
+ name: "last_name",
46
+ label: "Last name",
47
+ type: "String",
48
+ required: true,
49
+ },
50
+ ],
51
+ }),
52
+ },
53
+ ],
54
+ });
55
+ let actionCounter = 1;
56
+ const getActionCounter = () => actionCounter;
57
+ const resetActionCounter = () => {
58
+ actionCounter = 0;
59
+ };
60
+ const plugin_with_routes = () => ({
61
+ sc_plugin_api_version: 1,
62
+ onLoad: async () => {
63
+ if (!db_1.default.isSQLite)
64
+ await db_1.default.query('create extension if not exists "uuid-ossp";');
65
+ },
66
+ external_tables: {
67
+ exttab: json_list_to_external_table(() => [
68
+ { name: "Sam", age: 56 },
69
+ { name: "Alex", age: 49 },
70
+ { name: "Homer", age: 51 },
71
+ ], [
72
+ { name: "name", label: "Name", type: "String" },
73
+ { name: "age", label: "Age", type: "Integer" },
74
+ ]),
75
+ },
76
+ table_providers: {
77
+ provtab: {
78
+ configuration_workflow: () => new workflow_1.default({
79
+ steps: [
80
+ {
81
+ name: "step1",
82
+ form: (context) => new form_1.default({
83
+ fields: [
84
+ {
85
+ name: "middle_name",
86
+ label: "Middle name",
87
+ type: "String",
88
+ required: true,
89
+ },
90
+ ],
91
+ }),
92
+ },
93
+ ],
94
+ }),
95
+ fields: async (cfg) => [
96
+ { name: "name", label: "Name", type: "String", primary_key: true },
97
+ { name: "age", label: "Age", type: "Integer" },
98
+ ],
99
+ get_table(cfg) {
100
+ return {
101
+ getRows: async () => [{ name: cfg.middle_name, age: 36 }],
102
+ };
103
+ },
104
+ },
105
+ },
106
+ types: [
107
+ {
108
+ name: "JSON",
109
+ sql_name: "jsonb",
110
+ fieldviews: {
111
+ show: {
112
+ isEdit: false,
113
+ run: (v) => tags_1.default.pre({ class: "wsprewrap" }, tags_1.default.code(JSON.stringify(v))),
114
+ },
115
+ edit: {
116
+ isEdit: true,
117
+ run: (nm, v, attrs, cls) => tags_1.default.textarea({
118
+ class: ["form-control", cls],
119
+ name: encodeURIComponent(nm),
120
+ id: `input${encodeURIComponent(nm)}`,
121
+ rows: 10,
122
+ }, typeof v === "undefined" ? "" : tags_1.default.text(JSON.stringify(v)) || ""),
123
+ },
124
+ },
125
+ attributes: [],
126
+ read: (v) => {
127
+ switch (typeof v) {
128
+ case "string":
129
+ try {
130
+ return JSON.parse(v);
131
+ }
132
+ catch {
133
+ return v;
134
+ }
135
+ default:
136
+ return v;
137
+ }
138
+ },
139
+ },
140
+ {
141
+ name: "Varchar",
142
+ sql_name: ({ dimensions }) => {
143
+ if (typeof dimensions !== "number")
144
+ throw new Error("dim must be num");
145
+ return `varchar(${dimensions})`;
146
+ },
147
+ fieldviews: {
148
+ show: { isEdit: false, run: (v) => v || "" },
149
+ editHTML: {
150
+ isEdit: true,
151
+ run: (nm, v, attrs, cls, required, field) => input({
152
+ type: "text",
153
+ disabled: attrs.disabled,
154
+ class: ["form-control", cls],
155
+ "data-fieldname": field.name,
156
+ name: nm,
157
+ id: `input${nm}`,
158
+ value: v || "",
159
+ }),
160
+ },
161
+ },
162
+ attributes: [
163
+ {
164
+ label: "Dimensions",
165
+ name: "dimensions",
166
+ type: "Integer",
167
+ required: true,
168
+ attributes: {
169
+ max: 1024,
170
+ min: 0,
171
+ },
172
+ },
173
+ ],
174
+ validate_attributes: ({ dimensions }) => dimensions > 0 && dimensions < 1024,
175
+ read: (s) => s,
176
+ },
177
+ {
178
+ name: "UUID",
179
+ sql_name: "uuid",
180
+ primaryKey: { default_sql: "uuid_generate_v4()" },
181
+ fieldviews: {
182
+ show: { isEdit: false, run: (v) => v || "" },
183
+ editHTML: {
184
+ isEdit: true,
185
+ run: (nm, v, attrs, cls, required, field) => input({
186
+ type: "text",
187
+ disabled: attrs.disabled,
188
+ class: ["form-control", cls],
189
+ "data-fieldname": field.name,
190
+ name: nm,
191
+ id: `input${nm}`,
192
+ value: v || "",
193
+ }),
194
+ },
195
+ },
196
+ read: (v) => {
197
+ switch (typeof v) {
198
+ case "string":
199
+ return v || null;
200
+ default:
201
+ return undefined;
202
+ }
203
+ },
204
+ },
205
+ ],
206
+ actions: {
207
+ incrementCounter: {
208
+ run: () => {
209
+ actionCounter += 1;
210
+ },
211
+ },
212
+ setCounter: {
213
+ configFields: [{ name: "number", type: "Int" }],
214
+ run: ({ configuration: { number }, }) => {
215
+ actionCounter = number;
216
+ },
217
+ },
218
+ evalCounter: {
219
+ configFields: [{ name: "number_expr", type: "String" }],
220
+ run: ({ configuration: { number_expr }, row, user, }) => {
221
+ actionCounter = eval_expression(number_expr, row, user);
222
+ },
223
+ },
224
+ },
225
+ functions: {
226
+ add3: { run: (x) => x + 3 },
227
+ add5: (x) => x + 5,
228
+ asyncAdd2: {
229
+ run: async (x) => {
230
+ return x + 2;
231
+ },
232
+ isAsync: true,
233
+ },
234
+ },
235
+ viewtemplates: [
236
+ {
237
+ name: "ViewWithRoutes",
238
+ get_state_fields() {
239
+ return [];
240
+ },
241
+ configuration_workflow,
242
+ run: async () => { },
243
+ routes: {
244
+ the_json_route: async () => {
245
+ return { json: { success: "ok" } };
246
+ },
247
+ the_html_route: async () => {
248
+ return { html: "<div>Hello</div>" };
249
+ },
250
+ the_null_route: () => null,
251
+ },
252
+ },
253
+ {
254
+ name: "TablelessView",
255
+ tableless: true,
256
+ get_state_fields() {
257
+ return [];
258
+ },
259
+ configuration_workflow,
260
+ run: async () => { },
261
+ },
262
+ ],
263
+ });
264
+ let mockResReqStored = {};
265
+ const mockReqRes = {
266
+ req: {
267
+ csrfToken: () => "",
268
+ getLocale: () => getState().getConfig("default_locale", "en"),
269
+ __: (s) => s,
270
+ user: { id: 1, role_id: 1, attributes: {} },
271
+ isAuthenticated: () => true,
272
+ headers: {},
273
+ query: {},
274
+ xhr: false,
275
+ flash: (...fs) => {
276
+ mockResReqStored.flash = fs;
277
+ },
278
+ body: "",
279
+ get: (s) => "",
280
+ },
281
+ res: {
282
+ redirect(url) {
283
+ mockResReqStored.url = url;
284
+ },
285
+ json(o) {
286
+ mockResReqStored.json = o;
287
+ },
288
+ send(s) {
289
+ mockResReqStored.send = s;
290
+ },
291
+ status(st) {
292
+ mockResReqStored.status = st;
293
+ },
294
+ sendWrap: (...sw) => {
295
+ mockResReqStored.sendWrap = sw;
296
+ },
297
+ __: (s) => s,
298
+ },
299
+ getStored: () => mockResReqStored,
300
+ reset: () => {
301
+ mockResReqStored = {};
302
+ mockReqRes.req.xhr = false;
303
+ },
304
+ };
305
+ const createDefaultView = async (table, viewtemplate, min_role) => {
306
+ const vt = getState().viewtemplates[viewtemplate];
307
+ const v = {
308
+ name: `${viewtemplate}${table.name}${Math.round(Math.random() * 10000)}`,
309
+ min_role,
310
+ configuration: await vt.initial_config(table.id ? { table_id: table.id } : { exttable_name: table.name }),
311
+ viewtemplate,
312
+ };
313
+ if (table.id)
314
+ v.table_id = table.id;
315
+ else
316
+ v.exttable_name = table.name;
317
+ return await view_1.default.create(v);
318
+ };
319
+ module.exports = {
320
+ rick_file,
321
+ plugin_with_routes,
322
+ configuration_workflow,
323
+ mockReqRes,
324
+ getActionCounter,
325
+ resetActionCounter,
326
+ sleep,
327
+ createDefaultView,
328
+ };
329
+ //# sourceMappingURL=mocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mocks.js","sourceRoot":"","sources":["../../test-utils/mocks.ts"],"names":[],"mappings":"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"}
@@ -133,7 +133,7 @@ jest.setTimeout(30000);
133
133
  catch (e) {
134
134
  error = e;
135
135
  }
136
- (0, globals_1.expect)(error.constructor.name).toBe("ReferenceError");
136
+ (0, globals_1.expect)(error.constructor.name).toContain("Error");
137
137
  });
138
138
  (0, globals_1.it)("stored existing", async () => {
139
139
  const table = await table_1.default.create("withcalcs3");