@saltcorn/data 0.7.1 → 0.7.2-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/base-plugin/index.d.ts +67 -67
  2. package/dist/base-plugin/viewtemplates/show.js +1 -1
  3. package/dist/base-plugin/viewtemplates/show.js.map +1 -1
  4. package/dist/base-plugin/viewtemplates/viewable_fields.js +1 -1
  5. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
  6. package/dist/models/workflow.d.ts +1 -0
  7. package/dist/models/workflow.d.ts.map +1 -1
  8. package/dist/models/workflow.js +58 -2
  9. package/dist/models/workflow.js.map +1 -1
  10. package/dist/plugin-helper.d.ts.map +1 -1
  11. package/dist/plugin-helper.js +17 -1
  12. package/dist/plugin-helper.js.map +1 -1
  13. package/dist/tsconfig.ref.tsbuildinfo +1 -1
  14. package/dist/utils.d.ts +1 -1
  15. package/dist/utils.d.ts.map +1 -1
  16. package/dist/utils.js +2 -21
  17. package/dist/utils.js.map +1 -1
  18. package/package.json +6 -6
  19. package/dist/models/backup.d.ts +0 -9
  20. package/dist/models/backup.d.ts.map +0 -1
  21. package/dist/models/backup.js +0 -278
  22. package/dist/models/backup.js.map +0 -1
  23. package/dist/models/pack.d.ts +0 -42
  24. package/dist/models/pack.d.ts.map +0 -1
  25. package/dist/models/pack.js +0 -419
  26. package/dist/models/pack.js.map +0 -1
  27. package/dist/models/tenant.d.ts +0 -17
  28. package/dist/models/tenant.d.ts.map +0 -1
  29. package/dist/models/tenant.js +0 -152
  30. package/dist/models/tenant.js.map +0 -1
  31. package/dist/tests/actions.test.d.ts +0 -2
  32. package/dist/tests/actions.test.d.ts.map +0 -1
  33. package/dist/tests/actions.test.js +0 -225
  34. package/dist/tests/actions.test.js.map +0 -1
  35. package/dist/tests/backup.test.d.ts +0 -2
  36. package/dist/tests/backup.test.d.ts.map +0 -1
  37. package/dist/tests/backup.test.js +0 -101
  38. package/dist/tests/backup.test.js.map +0 -1
  39. package/dist/tests/pack.test.d.ts +0 -2
  40. package/dist/tests/pack.test.d.ts.map +0 -1
  41. package/dist/tests/pack.test.js +0 -338
  42. package/dist/tests/pack.test.js.map +0 -1
  43. package/dist/tests/random.test.d.ts +0 -2
  44. package/dist/tests/random.test.d.ts.map +0 -1
  45. package/dist/tests/random.test.js +0 -149
  46. package/dist/tests/random.test.js.map +0 -1
  47. package/dist/tests/tenant.test.d.ts +0 -2
  48. package/dist/tests/tenant.test.d.ts.map +0 -1
  49. package/dist/tests/tenant.test.js +0 -52
  50. package/dist/tests/tenant.test.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saltcorn/data",
3
- "version": "0.7.1",
3
+ "version": "0.7.2-beta.0",
4
4
  "description": "Data models for Saltcorn, open-source no-code platform",
5
5
  "homepage": "https://saltcorn.com",
6
6
  "scripts": {
@@ -34,13 +34,13 @@
34
34
  "dist/**/*"
35
35
  ],
36
36
  "optionalDependencies": {
37
- "@saltcorn/postgres": "0.7.1",
38
- "@saltcorn/sqlite": "0.7.1"
37
+ "@saltcorn/postgres": "0.7.2-beta.0",
38
+ "@saltcorn/sqlite": "0.7.2-beta.0"
39
39
  },
40
40
  "dependencies": {
41
- "@saltcorn/types": "0.7.1",
42
- "@saltcorn/markup": "0.7.1",
43
- "@saltcorn/db-common": "0.7.1",
41
+ "@saltcorn/types": "0.7.2-beta.0",
42
+ "@saltcorn/markup": "0.7.2-beta.0",
43
+ "@saltcorn/db-common": "0.7.2-beta.0",
44
44
  "acorn": "^8.0.3",
45
45
  "astring": "^1.4.3",
46
46
  "bcryptjs": "^2.4.3",
@@ -1,9 +0,0 @@
1
- declare const Plugin: any;
2
- import { Plugin } from "@saltcorn/types/base_types";
3
- declare const _default: {
4
- create_backup: (fnm?: string | undefined) => Promise<string>;
5
- restore: (fnm: string, loadAndSaveNewPlugin: (plugin: Plugin) => void, restore_first_user?: boolean | undefined) => Promise<string | void>;
6
- create_csv_from_rows: (rows: any[], fnm: string) => Promise<void>;
7
- };
8
- export = _default;
9
- //# sourceMappingURL=backup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../models/backup.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,MAAM,KAAsB,CAAC;AAwBnC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;;;;;;AAiTpD,kBAA0D"}
@@ -1,278 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- /**
6
- * @category saltcorn-data
7
- * @module models/backup
8
- * @subcategory models
9
- */
10
- const { getState } = require("../db/state");
11
- const db_1 = __importDefault(require("../db"));
12
- const table_1 = __importDefault(require("./table"));
13
- const common_types_1 = require("@saltcorn/types/common_types");
14
- const view_1 = __importDefault(require("./view"));
15
- const File = require("./file");
16
- const Plugin = require("./plugin");
17
- const User = require("./user");
18
- const role_1 = __importDefault(require("./role"));
19
- const Page = require("./page");
20
- const adm_zip_1 = __importDefault(require("adm-zip"));
21
- const tmp_promise_1 = require("tmp-promise");
22
- const promises_1 = require("fs/promises");
23
- const fs_1 = require("fs");
24
- const path_1 = require("path");
25
- const dateformat_1 = __importDefault(require("dateformat"));
26
- const sync_1 = __importDefault(require("csv-stringify/lib/sync"));
27
- const csvtojson_1 = __importDefault(require("csvtojson"));
28
- const { table_pack, view_pack, plugin_pack, page_pack, install_pack, can_install_pack, } = require("./pack");
29
- const { asyncMap } = require("../utils");
30
- const trigger_1 = __importDefault(require("./trigger"));
31
- const library_1 = __importDefault(require("./library"));
32
- /**
33
- * @function
34
- * @param {string} dirpath
35
- * @returns {Promise<void>}
36
- */
37
- const create_pack = async (dirpath) => {
38
- const tables = await asyncMap(await table_1.default.find({}), async (t) => await table_pack(t.name));
39
- const views = await asyncMap(await view_1.default.find({}), async (v) => await view_pack(v.name));
40
- const plugins = await asyncMap(await Plugin.find({}), async (v) => await plugin_pack(v.name));
41
- const pages = await asyncMap(await Page.find({}), async (v) => await page_pack(v.name));
42
- const triggers = (await trigger_1.default.find({})).map((tr) => tr.toJson);
43
- const roles = await role_1.default.find({});
44
- const library = (await library_1.default.find({})).map((l) => l.toJson);
45
- const pack = { tables, views, plugins, pages, triggers, roles, library };
46
- await (0, promises_1.writeFile)((0, path_1.join)(dirpath, "pack.json"), JSON.stringify(pack));
47
- };
48
- /**
49
- * @function
50
- * @param {object[]} rows
51
- * @param {string} fnm
52
- * @returns {Promise<void>}
53
- */
54
- const create_csv_from_rows = async (rows, fnm) => {
55
- if (rows.length === 0)
56
- return;
57
- const s = (0, sync_1.default)(rows, {
58
- header: true,
59
- cast: {
60
- date: (value) => value.toISOString(),
61
- },
62
- });
63
- await (0, promises_1.writeFile)(fnm, s);
64
- };
65
- /**
66
- * @function
67
- * @param {Table} table
68
- * @param {string} dirpath
69
- * @returns {Promise<void>}
70
- */
71
- const create_table_json = async (table, dirpath) => {
72
- const rows = await table.getRows();
73
- await (0, promises_1.writeFile)((0, path_1.join)(dirpath, table.name + ".json"), JSON.stringify(rows));
74
- };
75
- /**
76
- * @function
77
- * @param {string} root_dirpath
78
- * @return {Promise<void>}
79
- */
80
- const create_table_jsons = async (root_dirpath) => {
81
- const dirpath = (0, path_1.join)(root_dirpath, "tables");
82
- await (0, promises_1.mkdir)(dirpath, { recursive: true });
83
- const tables = await table_1.default.find({});
84
- for (const t of tables) {
85
- await create_table_json(t, dirpath);
86
- }
87
- };
88
- /**
89
- * @function
90
- * @param {string} root_dirpath
91
- * @returns {Promise<void>}
92
- */
93
- const backup_files = async (root_dirpath) => {
94
- const dirpath = (0, path_1.join)(root_dirpath, "files");
95
- await (0, promises_1.mkdir)(dirpath);
96
- const files = await db_1.default.select("_sc_files");
97
- for (const f of files) {
98
- const base = (0, path_1.basename)(f.location);
99
- await (0, promises_1.copyFile)(f.location, (0, path_1.join)(dirpath, base));
100
- f.location = base;
101
- }
102
- await create_csv_from_rows(files, (0, path_1.join)(root_dirpath, "files.csv"));
103
- };
104
- /**
105
- * @function
106
- * @param {string} root_dirpath
107
- * @returns {Promise<void>}
108
- */
109
- const backup_config = async (root_dirpath) => {
110
- const dirpath = (0, path_1.join)(root_dirpath, "config");
111
- await (0, promises_1.mkdir)(dirpath);
112
- const cfgs = await db_1.default.select("_sc_config");
113
- for (const cfg of cfgs) {
114
- await (0, promises_1.writeFile)((0, path_1.join)(dirpath, cfg.key), JSON.stringify(db_1.default.isSQLite ? JSON.parse(cfg.value) : cfg.value));
115
- }
116
- };
117
- /**
118
- * @function
119
- * @param {string} [fnm]
120
- * @returns {Promise<string>}
121
- */
122
- const create_backup = async (fnm) => {
123
- const tmpDir = await (0, tmp_promise_1.dir)({ unsafeCleanup: true });
124
- await create_pack(tmpDir.path);
125
- await create_table_jsons(tmpDir.path);
126
- await backup_files(tmpDir.path);
127
- await backup_config(tmpDir.path);
128
- var day = (0, dateformat_1.default)(new Date(), "yyyy-mm-dd-HH-MM");
129
- const ten = db_1.default.getTenantSchema();
130
- const tens = ten === db_1.default.connectObj.default_schema
131
- ? getState().getConfig("site_name", "Saltcorn")
132
- : ten;
133
- const zipFileName = fnm || `sc-backup-${tens}-${day}.zip`;
134
- var zip = new adm_zip_1.default();
135
- zip.addLocalFolder(tmpDir.path);
136
- zip.writeZip(zipFileName);
137
- await tmpDir.cleanup();
138
- return zipFileName;
139
- };
140
- /**
141
- * @function
142
- * @param {string} fnm
143
- * @param {string} dir
144
- * @returns {Promise<void>}
145
- */
146
- const extract = async (fnm, dir) => {
147
- return new Promise(function (resolve, reject) {
148
- var zip = new adm_zip_1.default(fnm);
149
- zip.extractAllToAsync(dir, true, function (err) {
150
- if (err)
151
- reject(new Error("Error opening zip file: " + err));
152
- else
153
- resolve();
154
- });
155
- });
156
- };
157
- /**
158
- * @function
159
- * @param {string} dirpath
160
- * @returns {Promise<object>}
161
- */
162
- const restore_files = async (dirpath) => {
163
- const fnm = (0, path_1.join)(dirpath, "files.csv");
164
- const file_users = {};
165
- if ((0, fs_1.existsSync)(fnm)) {
166
- const file_rows = await (0, csvtojson_1.default)().fromFile(fnm);
167
- for (const file of file_rows) {
168
- const newPath = File.get_new_path(file.location);
169
- //copy file
170
- await (0, promises_1.copyFile)((0, path_1.join)(dirpath, "files", file.location), newPath);
171
- //set location
172
- file.location = newPath;
173
- //insert in db
174
- const { user_id, ...file_row } = file;
175
- file_row.s3_store = !!file_row.s3_store;
176
- const id = await db_1.default.insert("_sc_files", file_row);
177
- file_users[id] = user_id;
178
- }
179
- if (db_1.default.reset_sequence)
180
- await db_1.default.reset_sequence("_sc_files");
181
- }
182
- return file_users;
183
- };
184
- /**
185
- * @function
186
- * @param {object} file_users
187
- * @returns {Promise<void>}
188
- */
189
- const restore_file_users = async (file_users) => {
190
- for (const [id, user_id] of Object.entries(file_users)) {
191
- if (user_id)
192
- await db_1.default.update("_sc_files", { user_id }, id);
193
- }
194
- };
195
- /**
196
- * @function
197
- * @param {string} file_users
198
- * @param {boolean} [restore_first_user]
199
- * @returns {Promise<string|undefined>}
200
- */
201
- const restore_tables = async (dirpath, restore_first_user) => {
202
- var err;
203
- const tables = await table_1.default.find();
204
- for (const table of tables) {
205
- const fnm_csv = table.name === "users"
206
- ? (0, path_1.join)(dirpath, "users.csv")
207
- : (0, path_1.join)(dirpath, "tables", table.name + ".csv");
208
- const fnm_json = (0, path_1.join)(dirpath, "tables", table.name + ".json");
209
- if ((0, fs_1.existsSync)(fnm_json)) {
210
- const res = await table.import_json_file(fnm_json, table.name === "users" && !restore_first_user);
211
- if (res.error)
212
- err = (err || "") + res.error;
213
- }
214
- else if ((0, fs_1.existsSync)(fnm_csv)) {
215
- const res = await table.import_csv_file(fnm_csv, false, table.name === "users" && !restore_first_user);
216
- if ((0, common_types_1.instanceOfErrorMsg)(res))
217
- err = (err || "") + res.error;
218
- }
219
- }
220
- for (const table of tables) {
221
- try {
222
- await table.enable_fkey_constraints();
223
- }
224
- catch (e) {
225
- err = (err || "") + e.message;
226
- }
227
- }
228
- return err;
229
- };
230
- /**
231
- * @function
232
- * @param {string} dirpath
233
- * @returns {Promise<void>}
234
- */
235
- const restore_config = async (dirpath) => {
236
- const cfgs = (0, fs_1.readdirSync)((0, path_1.join)(dirpath, "config"));
237
- const state = getState();
238
- for (const cfg of cfgs) {
239
- const s = await (0, promises_1.readFile)((0, path_1.join)(dirpath, "config", cfg));
240
- await state.setConfig(cfg, JSON.parse(s.toString()).v);
241
- }
242
- };
243
- /**
244
- * @function
245
- * @param {string} fnm
246
- * @param {function} loadAndSaveNewPlugin
247
- * @param {boolean} [restore_first_user]
248
- * @returns {Promise<void>}
249
- */
250
- const restore = async (fnm, loadAndSaveNewPlugin, restore_first_user) => {
251
- const tmpDir = await (0, tmp_promise_1.dir)({ unsafeCleanup: true });
252
- //unzip
253
- await extract(fnm, tmpDir.path);
254
- var err;
255
- //install pack
256
- const pack = JSON.parse(await (await (0, promises_1.readFile)((0, path_1.join)(tmpDir.path, "pack.json"))).toString());
257
- const can_restore = await can_install_pack(pack);
258
- if (can_restore.error) {
259
- return `Cannot restore backup, clashing entities:
260
- ${can_restore.error || ""}
261
- Delete these entities or restore to a pristine instance.
262
- `;
263
- }
264
- await install_pack(pack, undefined, loadAndSaveNewPlugin, true);
265
- // files
266
- const file_users = await restore_files(tmpDir.path);
267
- //table csvs
268
- const tabres = await restore_tables(tmpDir.path, restore_first_user);
269
- if (tabres)
270
- err = (err || "") + tabres;
271
- //config
272
- await restore_config(tmpDir.path);
273
- await restore_file_users(file_users);
274
- await tmpDir.cleanup();
275
- return err;
276
- };
277
- module.exports = { create_backup, restore, create_csv_from_rows };
278
- //# sourceMappingURL=backup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../models/backup.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- /**
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;
42
- //# sourceMappingURL=pack.d.ts.map
@@ -1 +0,0 @@
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"}