@saltcorn/server 0.7.4 → 0.8.0-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.
- package/app.js +18 -11
- package/auth/admin.js +173 -74
- package/auth/routes.js +40 -15
- package/locales/en.json +46 -3
- package/locales/es.json +134 -134
- package/locales/ru.json +32 -5
- package/markup/admin.js +40 -38
- package/markup/forms.js +4 -3
- package/package.json +8 -7
- package/public/diagram_utils.js +530 -0
- package/public/gridedit.js +4 -1
- package/public/jquery-menu-editor.min.js +112 -112
- package/public/saltcorn-common.js +31 -8
- package/public/saltcorn.css +11 -0
- package/public/saltcorn.js +211 -70
- package/restart_watcher.js +1 -0
- package/routes/actions.js +5 -1
- package/routes/admin.js +229 -79
- package/routes/api.js +19 -2
- package/routes/common_lists.js +137 -134
- package/routes/diagram.js +43 -117
- package/routes/fields.js +4 -1
- package/routes/files.js +137 -101
- package/routes/homepage.js +2 -2
- package/routes/infoarch.js +2 -2
- package/routes/list.js +4 -4
- package/routes/page.js +16 -3
- package/routes/pageedit.js +13 -8
- package/routes/scapi.js +1 -1
- package/routes/search.js +1 -1
- package/routes/tables.js +4 -5
- package/routes/tag_entries.js +31 -10
- package/routes/tags.js +10 -10
- package/routes/tenant.js +98 -36
- package/routes/utils.js +12 -0
- package/routes/view.js +0 -1
- package/routes/viewedit.js +45 -32
- package/serve.js +5 -0
- package/tests/admin.test.js +2 -0
- package/tests/auth.test.js +20 -0
- package/tests/files.test.js +11 -20
- package/tests/tenant.test.js +4 -2
package/tests/files.test.js
CHANGED
|
@@ -39,22 +39,13 @@ describe("files admin", () => {
|
|
|
39
39
|
await request(app)
|
|
40
40
|
.get("/files")
|
|
41
41
|
.set("Cookie", loginCookie)
|
|
42
|
-
.expect(toInclude("
|
|
42
|
+
.expect(toInclude("Upload file"));
|
|
43
43
|
});
|
|
44
44
|
it("download file", async () => {
|
|
45
45
|
const app = await getApp({ disableCsrf: true });
|
|
46
46
|
const loginCookie = await getStaffLoginCookie();
|
|
47
47
|
await request(app)
|
|
48
|
-
.get("/files/download/
|
|
49
|
-
.set("Cookie", loginCookie)
|
|
50
|
-
.expect(toSucceed());
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
it("serve file", async () => {
|
|
54
|
-
const app = await getApp({ disableCsrf: true });
|
|
55
|
-
const loginCookie = await getStaffLoginCookie();
|
|
56
|
-
await request(app)
|
|
57
|
-
.get("/files/serve/2")
|
|
48
|
+
.get("/files/download/rick.png")
|
|
58
49
|
.set("Cookie", loginCookie)
|
|
59
50
|
.expect(toSucceed());
|
|
60
51
|
});
|
|
@@ -71,38 +62,38 @@ describe("files admin", () => {
|
|
|
71
62
|
const app = await getApp({ disableCsrf: true });
|
|
72
63
|
const loginCookie = await getStaffLoginCookie();
|
|
73
64
|
await request(app)
|
|
74
|
-
.get("/files/serve/
|
|
65
|
+
.get("/files/serve/missingfile.foo")
|
|
75
66
|
.set("Cookie", loginCookie)
|
|
76
67
|
.expect(404);
|
|
77
68
|
});
|
|
78
69
|
it("not serve file to public", async () => {
|
|
79
70
|
const app = await getApp({ disableCsrf: true });
|
|
80
|
-
await request(app).get("/files/serve/
|
|
71
|
+
await request(app).get("/files/serve/rick.png").expect(404);
|
|
81
72
|
});
|
|
82
73
|
it("not download file to public", async () => {
|
|
83
74
|
const app = await getApp({ disableCsrf: true });
|
|
84
|
-
await request(app).get("/files/download/
|
|
75
|
+
await request(app).get("/files/download/rick.png").expect(404);
|
|
85
76
|
});
|
|
86
77
|
it("set file min role", async () => {
|
|
87
78
|
const app = await getApp({ disableCsrf: true });
|
|
88
79
|
const loginCookie = await getAdminLoginCookie();
|
|
89
80
|
await request(app)
|
|
90
|
-
.post("/files/setrole/
|
|
81
|
+
.post("/files/setrole/rick.png")
|
|
91
82
|
.set("Cookie", loginCookie)
|
|
92
83
|
.send("role=10")
|
|
93
|
-
.expect(toRedirect("/files"));
|
|
84
|
+
.expect(toRedirect("/files?dir=."));
|
|
94
85
|
});
|
|
95
86
|
it("serve file to public after role change", async () => {
|
|
96
87
|
const app = await getApp({ disableCsrf: true });
|
|
97
|
-
await request(app).get("/files/serve/
|
|
88
|
+
await request(app).get("/files/serve/rick.png").expect(toSucceed());
|
|
98
89
|
});
|
|
99
90
|
it("delete file", async () => {
|
|
100
91
|
const app = await getApp({ disableCsrf: true });
|
|
101
92
|
const loginCookie = await getAdminLoginCookie();
|
|
102
93
|
await request(app)
|
|
103
|
-
.post("/files/delete/
|
|
94
|
+
.post("/files/delete/rick.png")
|
|
104
95
|
.set("Cookie", loginCookie)
|
|
105
|
-
.expect(toRedirect("/files"));
|
|
96
|
+
.expect(toRedirect("/files?dir=."));
|
|
106
97
|
});
|
|
107
98
|
it("upload file", async () => {
|
|
108
99
|
const app = await getApp({ disableCsrf: true });
|
|
@@ -112,7 +103,7 @@ describe("files admin", () => {
|
|
|
112
103
|
.set("Cookie", loginCookie)
|
|
113
104
|
.attach("file", Buffer.from("helloiamasmallfile", "utf-8"))
|
|
114
105
|
|
|
115
|
-
.expect(toRedirect("/files"));
|
|
106
|
+
.expect(toRedirect("/files?dir=."));
|
|
116
107
|
});
|
|
117
108
|
});
|
|
118
109
|
describe("files edit", () => {
|
package/tests/tenant.test.js
CHANGED
|
@@ -5,14 +5,16 @@ const getApp = require("../app");
|
|
|
5
5
|
const {
|
|
6
6
|
toRedirect,
|
|
7
7
|
getAdminLoginCookie,
|
|
8
|
-
getStaffLoginCookie,
|
|
8
|
+
//getStaffLoginCookie,
|
|
9
9
|
itShouldRedirectUnauthToLogin,
|
|
10
10
|
toInclude,
|
|
11
|
-
toNotInclude,
|
|
11
|
+
//toNotInclude,
|
|
12
12
|
} = require("../auth/testhelp");
|
|
13
13
|
const { getState } = require("@saltcorn/data/db/state");
|
|
14
14
|
|
|
15
15
|
afterAll(db.close);
|
|
16
|
+
jest.setTimeout(10000);
|
|
17
|
+
|
|
16
18
|
|
|
17
19
|
beforeAll(async () => {
|
|
18
20
|
if (!db.isSQLite) {
|