@opengis/admin 0.2.6 → 0.2.8
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/package.json
CHANGED
package/server/helpers/index.js
CHANGED
@@ -24,5 +24,6 @@ export default async function route() {
|
|
24
24
|
handlebars.registerHelper('badge', badge);
|
25
25
|
handlebars.registerHelper('contentList', contentList);
|
26
26
|
handlebarsSync.registerHelper('ifCond', ifCond);
|
27
|
+
handlebarsSync.registerHelper('button', buttonHelper);
|
27
28
|
handlebars.registerHelper('ifCond', ifCond);
|
28
29
|
}
|
package/server/plugins/hook.js
CHANGED
@@ -13,6 +13,12 @@ export default async function plugin(fastify) {
|
|
13
13
|
const user1 = config?.auth?.disable || process.env.NODE_ENV !== 'admin' ? { uid: '1' } : null;
|
14
14
|
await initPG(client);
|
15
15
|
|
16
|
+
addHook('preForm', async ({ form, user }) => {
|
17
|
+
if (!user?.uid) return null;
|
18
|
+
const opt = await getToken({ mode: 'w', token: form, uid: user.uid, json: 1 });
|
19
|
+
return opt;
|
20
|
+
});
|
21
|
+
|
16
22
|
fastify.addHook('onListen', async () => {
|
17
23
|
const json = await getMenu({ user: { uid: 1 } });
|
18
24
|
// insert interface list to db (user access management)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { config, applyHook, getTemplate, getToken } from "@opengis/fastify-table/utils.js";
|
1
|
+
import { config, applyHook, getTemplate, getToken, setToken } from "@opengis/fastify-table/utils.js";
|
2
2
|
// import { getToken } from "../../../../../fastify-table/utils.js";
|
3
3
|
|
4
4
|
export default async function getTemplateApi(req) {
|
@@ -22,6 +22,19 @@ export default async function getTemplateApi(req) {
|
|
22
22
|
) {
|
23
23
|
return `access restricted ${name}`;
|
24
24
|
}
|
25
|
+
if (type === 'form' && user?.uid) {
|
26
|
+
const schema = data.schema || data;
|
27
|
+
Object.keys(schema || {}).filter((key) => schema?.[key]?.add).map((key) => {
|
28
|
+
const { add } = schema[key];
|
29
|
+
Object.assign(add, { table: add.table || add.model }); // support old forms w/ model key
|
30
|
+
const [token] = setToken({
|
31
|
+
ids: [JSON.stringify(add)],
|
32
|
+
uid: user.uid,
|
33
|
+
array: 1,
|
34
|
+
});
|
35
|
+
Object.assign(schema[key].add, { token, api: `${config.prefix || '/api'}/table/${token}` });
|
36
|
+
});
|
37
|
+
}
|
25
38
|
await applyHook('afterTemplate', { name, type, data, user });
|
26
39
|
if (tokenData.obj) {
|
27
40
|
const obj = tokenData.obj.split('#').reduce((p, el) => ({ ...p, [el.split('=')[0]]: el.split('=')[1] }), {})
|