@opengis/admin 0.1.67 → 0.1.69
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/{IconChevronDown-DN0s3TF_.js → IconChevronDown-D29D5cN_.js} +1 -1
- package/dist/add-page-w-DxgCiS.js +97 -0
- package/dist/{admin-interface-DUuz9KgB.js → admin-interface-DA_PeVj7.js} +265 -240
- package/dist/{admin-view-MSa57inW.js → admin-view-DrOVwYHu.js} +198 -188
- package/dist/admin.js +1 -1
- package/dist/admin.umd.cjs +48 -48
- package/dist/{card-page-B1zuuqAR.js → card-page-Pw97vvNR.js} +19 -19
- package/dist/{card-view-Bzt2AvI2.js → card-view-eMucbOjz.js} +1 -1
- package/dist/edit-page-DqEf35J2.js +101 -0
- package/dist/{import-file-B80Ws8by.js → import-file-z-nSvLVJ.js} +255 -244
- package/dist/style.css +1 -1
- package/package.json +5 -5
- package/server/plugins/hook.js +11 -44
- package/server/routes/calendar/index.mjs +2 -12
- package/server/routes/calendar/schema.js +22 -0
- package/server/routes/data/controllers/tableData.js +5 -107
- package/server/routes/data/index.mjs +4 -4
- package/server/routes/data/schema.js +49 -2
- package/server/routes/menu/controllers/getMenu.js +3 -1
- package/server/routes/menu/schema.js +0 -0
- package/server/routes/notifications/controllers/readNotifications.js +7 -14
- package/server/routes/notifications/controllers/userNotifications.js +15 -22
- package/server/routes/notifications/index.mjs +5 -30
- package/server/routes/notifications/schema.js +11 -0
- package/server/routes/properties/index.mjs +6 -18
- package/server/routes/properties/schema.js +11 -0
- package/server/routes/templates/scheme.js +9 -0
- package/dist/add-page-Cm4aSGoA.js +0 -92
- package/dist/edit-page-DoY4S7v6.js +0 -103
@@ -6,35 +6,10 @@ import userNotifications from './controllers/userNotifications.js'; // check all
|
|
6
6
|
// hook
|
7
7
|
import onWidgetSet from './hook/onWidgetSet.js'; // send notification on comment
|
8
8
|
|
9
|
+
import { notificationSchema } from './schema.js';
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
querystring: {
|
15
|
-
nocache: { type: 'string', pattern: '^(\\d+)$' },
|
16
|
-
},
|
17
|
-
};
|
18
|
-
|
19
|
-
export default async function plugin(fastify, config = {}) {
|
20
|
-
const prefix = config.prefix || '/api';
|
21
|
-
fastify.route({
|
22
|
-
method: 'GET',
|
23
|
-
url: '/notification',
|
24
|
-
config: {
|
25
|
-
policy: ['user'],
|
26
|
-
},
|
27
|
-
schema: tableSchema,
|
28
|
-
handler: userNotifications,
|
29
|
-
});
|
30
|
-
fastify.route({
|
31
|
-
method: 'GET',
|
32
|
-
url: '/notification-read/:id?',
|
33
|
-
config: {
|
34
|
-
policy: ['user'],
|
35
|
-
},
|
36
|
-
schema: tableSchema,
|
37
|
-
handler: readNotifications,
|
38
|
-
});
|
39
|
-
addHook('onWidgetSet', onWidgetSet);
|
11
|
+
export default async function route(fastify) {
|
12
|
+
fastify.get(`/notification`, { config: { policy: ['user'] }, schema: notificationSchema }, userNotifications);
|
13
|
+
fastify.get(`/notification-read/:id?`, { config: { policy: ['user'] }, schema: notificationSchema }, readNotifications);
|
14
|
+
addHook('onWidgetSet', onWidgetSet);
|
40
15
|
}
|
@@ -4,23 +4,11 @@ import postAdminProperties from './controllers/admin.properties.post.js';
|
|
4
4
|
import getUserProperties from './controllers/user.properties.get.js';
|
5
5
|
import postUserProperties from './controllers/user.properties.post.js';
|
6
6
|
|
7
|
-
|
8
|
-
fastify.get('/admin-properties/:key?', {}, getAdminProperties);
|
9
|
-
|
10
|
-
fastify.route({
|
11
|
-
method: 'POST',
|
12
|
-
path: '/admin-properties',
|
13
|
-
config: {
|
14
|
-
policy: ['superadmin'],
|
15
|
-
},
|
16
|
-
handler: postAdminProperties,
|
17
|
-
});
|
7
|
+
import { propertiesSchema } from './schema.js';
|
18
8
|
|
19
|
-
|
20
|
-
|
21
|
-
fastify.
|
22
|
-
|
23
|
-
|
24
|
-
handler: postUserProperties,
|
25
|
-
});
|
9
|
+
export default async function route(fastify) {
|
10
|
+
fastify.get('/admin-properties/:key?', { scheme: propertiesSchema }, getAdminProperties);
|
11
|
+
fastify.get('/user-properties/:key?', { scheme: propertiesSchema }, getUserProperties);
|
12
|
+
fastify.post('/admin-properties', { config: { policy: ['superadmin'] } }, postAdminProperties);
|
13
|
+
fastify.post('/user-properties', postUserProperties);
|
26
14
|
}
|
@@ -1,92 +0,0 @@
|
|
1
|
-
import { _ as m, u as b, a as c } from "./import-file-B80Ws8by.js";
|
2
|
-
import { resolveComponent as h, openBlock as i, createElementBlock as d, createElementVNode as a, createBlock as p, createCommentVNode as f } from "vue";
|
3
|
-
const g = {
|
4
|
-
data() {
|
5
|
-
return {
|
6
|
-
formValues: {},
|
7
|
-
scheme: null,
|
8
|
-
table: ""
|
9
|
-
};
|
10
|
-
},
|
11
|
-
mounted() {
|
12
|
-
this.getFormScheme();
|
13
|
-
},
|
14
|
-
methods: {
|
15
|
-
flattenMenu(t) {
|
16
|
-
const e = [];
|
17
|
-
return t.forEach((o) => {
|
18
|
-
o.menu ? e.push(...this.flattenMenu(o.menu)) : e.push(o);
|
19
|
-
}), e;
|
20
|
-
},
|
21
|
-
async getFormScheme() {
|
22
|
-
const t = this.flattenMenu(b.value);
|
23
|
-
t != null && t.length || this.$router.replace("/404");
|
24
|
-
const e = t == null ? void 0 : t.find((s) => {
|
25
|
-
var r, l;
|
26
|
-
return (s == null ? void 0 : s.path) == ((l = (r = this.$route) == null ? void 0 : r.query) == null ? void 0 : l.table);
|
27
|
-
});
|
28
|
-
e || this.$router.replace("/404");
|
29
|
-
const o = e == null ? void 0 : e.table;
|
30
|
-
this.table = o;
|
31
|
-
try {
|
32
|
-
const {
|
33
|
-
data: { form: s }
|
34
|
-
} = await c.get(`/api/template/table/${o}`), { data: r } = await c.get(`/api/template/form/${s}`);
|
35
|
-
this.scheme = (r == null ? void 0 : r.schema) || r;
|
36
|
-
} catch {
|
37
|
-
}
|
38
|
-
},
|
39
|
-
async createObject() {
|
40
|
-
try {
|
41
|
-
await this.$refs.form.doValidation(), await c.post(`/api/table/${this.table}`, this.formValues), await this.$router.back(), await this.$notify({
|
42
|
-
title: "Успішно!",
|
43
|
-
message: "Об'єкт успішно створено",
|
44
|
-
type: "success"
|
45
|
-
});
|
46
|
-
} catch {
|
47
|
-
this.$notify({
|
48
|
-
title: "Помилка!",
|
49
|
-
message: "Сталася помилка",
|
50
|
-
type: "error"
|
51
|
-
});
|
52
|
-
}
|
53
|
-
}
|
54
|
-
}
|
55
|
-
}, x = { style: { width: "calc(100vw - 260px)" } }, w = { class: "h-[76px] bg-gray-50 flex items-center justify-between px-[30px]" }, y = { class: "flex items-center gap-[6px]" }, k = {
|
56
|
-
style: { height: "calc(100vh - 150px)", width: "calc(100vw - 260px)" },
|
57
|
-
class: "bg-gray-50 p-[20px] flex"
|
58
|
-
}, v = { class: "bg-white w-full rounded-xl border p-[20px] overflow-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500" };
|
59
|
-
function V(t, e, o, s, r, l) {
|
60
|
-
const u = h("VsForm");
|
61
|
-
return i(), d("div", x, [
|
62
|
-
a("div", w, [
|
63
|
-
e[3] || (e[3] = a("h2", { class: "text-xl font-medium" }, "Створити", -1)),
|
64
|
-
a("div", y, [
|
65
|
-
a("button", {
|
66
|
-
onClick: e[0] || (e[0] = (n) => t.$router.back()),
|
67
|
-
class: "py-2 px-3 flex items-center gap-x-2 text-sm font-medium rounded-lg border bg-white border-gray-100 text-gray-800 shadow focus:outline-none hover:bg-gray-50 hover:border-gray-100 duration-300"
|
68
|
-
}, " Скасувати "),
|
69
|
-
a("button", {
|
70
|
-
onClick: e[1] || (e[1] = (...n) => l.createObject && l.createObject(...n)),
|
71
|
-
class: "py-2 px-3 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-blue-600 text-white hover:bg-blue-700 hover:text-white duration-300"
|
72
|
-
}, " Зберегти ")
|
73
|
-
])
|
74
|
-
]),
|
75
|
-
a("div", k, [
|
76
|
-
a("div", v, [
|
77
|
-
r.scheme ? (i(), p(u, {
|
78
|
-
key: 0,
|
79
|
-
ref: "form",
|
80
|
-
scheme: r.scheme,
|
81
|
-
modelValue: r.formValues,
|
82
|
-
"onUpdate:modelValue": e[2] || (e[2] = (n) => r.formValues = n),
|
83
|
-
class: "p-0 mt-[20px]"
|
84
|
-
}, null, 8, ["scheme", "modelValue"])) : f("", !0)
|
85
|
-
])
|
86
|
-
])
|
87
|
-
]);
|
88
|
-
}
|
89
|
-
const j = /* @__PURE__ */ m(g, [["render", V]]);
|
90
|
-
export {
|
91
|
-
j as default
|
92
|
-
};
|
@@ -1,103 +0,0 @@
|
|
1
|
-
import { _ as b, u as h, a as c } from "./import-file-B80Ws8by.js";
|
2
|
-
import { resolveComponent as d, openBlock as m, createElementBlock as p, createElementVNode as l, createBlock as f, createCommentVNode as g } from "vue";
|
3
|
-
const x = {
|
4
|
-
data() {
|
5
|
-
return {
|
6
|
-
formValues: {},
|
7
|
-
scheme: null,
|
8
|
-
table: ""
|
9
|
-
};
|
10
|
-
},
|
11
|
-
mounted() {
|
12
|
-
this.getFormScheme();
|
13
|
-
},
|
14
|
-
methods: {
|
15
|
-
flattenMenu(t) {
|
16
|
-
const e = [];
|
17
|
-
return t.forEach((r) => {
|
18
|
-
r.menu ? e.push(...this.flattenMenu(r.menu)) : e.push(r);
|
19
|
-
}), e;
|
20
|
-
},
|
21
|
-
async getFormScheme() {
|
22
|
-
var u, a;
|
23
|
-
const t = this.flattenMenu(h.value);
|
24
|
-
t != null && t.length || this.$router.replace("/404");
|
25
|
-
const e = t == null ? void 0 : t.find((o) => {
|
26
|
-
var n, s;
|
27
|
-
return (o == null ? void 0 : o.path) == ((s = (n = this.$route) == null ? void 0 : n.query) == null ? void 0 : s.table);
|
28
|
-
});
|
29
|
-
e || this.$router.replace("/404");
|
30
|
-
const r = e == null ? void 0 : e.table;
|
31
|
-
this.table = r;
|
32
|
-
try {
|
33
|
-
const {
|
34
|
-
data: { token: o, form: n }
|
35
|
-
} = await c.get(`/api/template/table/${r}`), {
|
36
|
-
data: s
|
37
|
-
} = await c.get(
|
38
|
-
`/api/table/${this.table}/${(a = (u = this.$route) == null ? void 0 : u.query) == null ? void 0 : a.id}`
|
39
|
-
);
|
40
|
-
this.formValues = s;
|
41
|
-
const { data: i } = await c.get(`/api/template/form/${o || n}`);
|
42
|
-
this.scheme = (i == null ? void 0 : i.schema) || i;
|
43
|
-
} catch {
|
44
|
-
}
|
45
|
-
},
|
46
|
-
async editObject() {
|
47
|
-
var t, e;
|
48
|
-
try {
|
49
|
-
await this.$refs.form.doValidation(), await c.put(
|
50
|
-
`/api/table/${this.table}/${(e = (t = this.$route) == null ? void 0 : t.query) == null ? void 0 : e.id}`,
|
51
|
-
this.formValues
|
52
|
-
), await this.$router.back(), await this.$notify({
|
53
|
-
title: "Успішно!",
|
54
|
-
message: "Об'єкт успішно створено",
|
55
|
-
type: "success"
|
56
|
-
});
|
57
|
-
} catch {
|
58
|
-
this.$notify({
|
59
|
-
title: "Помилка!",
|
60
|
-
message: "Сталася помилка",
|
61
|
-
type: "error"
|
62
|
-
});
|
63
|
-
}
|
64
|
-
}
|
65
|
-
}
|
66
|
-
}, w = { style: { width: "calc(100vw - 260px)" } }, y = { class: "h-[76px] bg-gray-50 flex items-center justify-between px-[30px]" }, k = { class: "flex items-center gap-[6px]" }, v = {
|
67
|
-
style: { height: "calc(100vh - 140px)", width: "calc(100vw - 260px)" },
|
68
|
-
class: "bg-gray-50 p-[20px] flex"
|
69
|
-
}, $ = { class: "bg-white w-full rounded-xl border p-[20px] overflow-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar:horizontal]:h-[8px] [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500" };
|
70
|
-
function V(t, e, r, u, a, o) {
|
71
|
-
const n = d("VsForm");
|
72
|
-
return m(), p("div", w, [
|
73
|
-
l("div", y, [
|
74
|
-
e[3] || (e[3] = l("h2", { class: "text-xl font-medium" }, "Редагувати", -1)),
|
75
|
-
l("div", k, [
|
76
|
-
l("button", {
|
77
|
-
onClick: e[0] || (e[0] = (s) => t.$router.back()),
|
78
|
-
class: "py-2 px-3 flex items-center gap-x-2 text-sm font-medium rounded-lg border bg-white border-gray-100 text-gray-800 shadow focus:outline-none hover:bg-gray-50 hover:border-gray-100 duration-300"
|
79
|
-
}, " Скасувати "),
|
80
|
-
l("button", {
|
81
|
-
onClick: e[1] || (e[1] = (...s) => o.editObject && o.editObject(...s)),
|
82
|
-
class: "py-2 px-3 inline-flex items-center gap-x-2 text-sm font-medium rounded-lg border border-transparent bg-blue-600 text-white hover:bg-blue-700 hover:text-white duration-300"
|
83
|
-
}, " Зберегти ")
|
84
|
-
])
|
85
|
-
]),
|
86
|
-
l("div", v, [
|
87
|
-
l("div", $, [
|
88
|
-
a.scheme ? (m(), f(n, {
|
89
|
-
key: 0,
|
90
|
-
ref: "form",
|
91
|
-
scheme: a.scheme,
|
92
|
-
modelValue: a.formValues,
|
93
|
-
"onUpdate:modelValue": e[2] || (e[2] = (s) => a.formValues = s),
|
94
|
-
class: "p-0 mt-[20px]"
|
95
|
-
}, null, 8, ["scheme", "modelValue"])) : g("", !0)
|
96
|
-
])
|
97
|
-
])
|
98
|
-
]);
|
99
|
-
}
|
100
|
-
const C = /* @__PURE__ */ b(x, [["render", V]]);
|
101
|
-
export {
|
102
|
-
C as default
|
103
|
-
};
|