adminforth 2.0.5 → 2.0.7-next.1
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.
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import AdminForth, { AdminForthDataTypes } from 'adminforth';
|
|
2
2
|
import type { AdminForthResourceInput, AdminForthResource, AdminUser } from 'adminforth';
|
|
3
|
+
import { randomUUID } from 'crypto';
|
|
3
4
|
|
|
4
5
|
async function canModifyUsers({ adminUser }: { adminUser: AdminUser }): Promise<boolean> {
|
|
5
6
|
return adminUser.dbUser.role === 'superadmin';
|
|
@@ -22,7 +23,7 @@ export default {
|
|
|
22
23
|
name: 'id',
|
|
23
24
|
primaryKey: true,
|
|
24
25
|
type: AdminForthDataTypes.STRING,
|
|
25
|
-
fillOnCreate: ({ initialRecord, adminUser }) =>
|
|
26
|
+
fillOnCreate: ({ initialRecord, adminUser }) => randomUUID(),
|
|
26
27
|
showIn: {
|
|
27
28
|
edit: false,
|
|
28
29
|
create: false,
|
|
@@ -92,8 +93,11 @@ export default {
|
|
|
92
93
|
}
|
|
93
94
|
},
|
|
94
95
|
edit: {
|
|
95
|
-
beforeSave: async ({ updates, adminUser, resource }: { updates: any, adminUser: AdminUser, resource: AdminForthResource }) => {
|
|
96
|
+
beforeSave: async ({ oldRecord, updates, adminUser, resource }: { oldRecord: any, updates: any, adminUser: AdminUser, resource: AdminForthResource }) => {
|
|
96
97
|
console.log('Updating user', updates);
|
|
98
|
+
if (oldRecord.id === adminUser.dbUser.id && updates.role) {
|
|
99
|
+
return { ok: false, error: 'You cannot change your own role' };
|
|
100
|
+
}
|
|
97
101
|
if (updates.password) {
|
|
98
102
|
updates.password_hash = await AdminForth.Utils.generatePasswordHash(updates.password);
|
|
99
103
|
}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"@iconify-prerendered/vue-flowbite": "^0.23.1714023977",
|
|
12
12
|
"@unhead/vue": "^1.9.12",
|
|
13
13
|
"@vueuse/core": "^10.10.0",
|
|
14
|
-
"apexcharts": "^4.
|
|
14
|
+
"apexcharts": "^4.7.0",
|
|
15
15
|
"dayjs": "^1.11.11",
|
|
16
16
|
"debounce": "^2.1.0",
|
|
17
17
|
"flowbite-datepicker": "^1.2.6",
|
|
@@ -1084,21 +1084,21 @@
|
|
|
1084
1084
|
"dev": true
|
|
1085
1085
|
},
|
|
1086
1086
|
"node_modules/@svgdotjs/svg.draggable.js": {
|
|
1087
|
-
"version": "3.0.
|
|
1088
|
-
"resolved": "https://registry.npmjs.org/@svgdotjs/svg.draggable.js/-/svg.draggable.js-3.0.
|
|
1089
|
-
"integrity": "sha512-
|
|
1087
|
+
"version": "3.0.6",
|
|
1088
|
+
"resolved": "https://registry.npmjs.org/@svgdotjs/svg.draggable.js/-/svg.draggable.js-3.0.6.tgz",
|
|
1089
|
+
"integrity": "sha512-7iJFm9lL3C40HQcqzEfezK2l+dW2CpoVY3b77KQGqc8GXWa6LhhmX5Ckv7alQfUXBuZbjpICZ+Dvq1czlGx7gA==",
|
|
1090
1090
|
"license": "MIT",
|
|
1091
1091
|
"peerDependencies": {
|
|
1092
1092
|
"@svgdotjs/svg.js": "^3.2.4"
|
|
1093
1093
|
}
|
|
1094
1094
|
},
|
|
1095
1095
|
"node_modules/@svgdotjs/svg.filter.js": {
|
|
1096
|
-
"version": "3.0.
|
|
1097
|
-
"resolved": "https://registry.npmjs.org/@svgdotjs/svg.filter.js/-/svg.filter.js-3.0.
|
|
1098
|
-
"integrity": "sha512
|
|
1096
|
+
"version": "3.0.9",
|
|
1097
|
+
"resolved": "https://registry.npmjs.org/@svgdotjs/svg.filter.js/-/svg.filter.js-3.0.9.tgz",
|
|
1098
|
+
"integrity": "sha512-/69XMRCDoam2HgC4ldHIaDgeQf1ViHIsa0Ld4uWgiXtZ+E24DWHe/9Ib6kbNiZ7WRIdlVokUDR1Fg0kjIpkfbw==",
|
|
1099
1099
|
"license": "MIT",
|
|
1100
1100
|
"dependencies": {
|
|
1101
|
-
"@svgdotjs/svg.js": "^3.
|
|
1101
|
+
"@svgdotjs/svg.js": "^3.2.4"
|
|
1102
1102
|
},
|
|
1103
1103
|
"engines": {
|
|
1104
1104
|
"node": ">= 0.8.0"
|
|
@@ -1128,9 +1128,9 @@
|
|
|
1128
1128
|
}
|
|
1129
1129
|
},
|
|
1130
1130
|
"node_modules/@svgdotjs/svg.select.js": {
|
|
1131
|
-
"version": "4.0.
|
|
1132
|
-
"resolved": "https://registry.npmjs.org/@svgdotjs/svg.select.js/-/svg.select.js-4.0.
|
|
1133
|
-
"integrity": "sha512-
|
|
1131
|
+
"version": "4.0.3",
|
|
1132
|
+
"resolved": "https://registry.npmjs.org/@svgdotjs/svg.select.js/-/svg.select.js-4.0.3.tgz",
|
|
1133
|
+
"integrity": "sha512-qkMgso1sd2hXKd1FZ1weO7ANq12sNmQJeGDjs46QwDVsxSRcHmvWKL2NDF7Yimpwf3sl5esOLkPqtV2bQ3v/Jg==",
|
|
1134
1134
|
"license": "MIT",
|
|
1135
1135
|
"engines": {
|
|
1136
1136
|
"node": ">= 14.18"
|
|
@@ -1782,9 +1782,9 @@
|
|
|
1782
1782
|
}
|
|
1783
1783
|
},
|
|
1784
1784
|
"node_modules/apexcharts": {
|
|
1785
|
-
"version": "4.
|
|
1786
|
-
"resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-4.
|
|
1787
|
-
"integrity": "sha512-
|
|
1785
|
+
"version": "4.7.0",
|
|
1786
|
+
"resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-4.7.0.tgz",
|
|
1787
|
+
"integrity": "sha512-iZSrrBGvVlL+nt2B1NpqfDuBZ9jX61X9I2+XV0hlYXHtTwhwLTHDKGXjNXAgFBDLuvSYCB/rq2nPWVPRv2DrGA==",
|
|
1788
1788
|
"license": "MIT",
|
|
1789
1789
|
"dependencies": {
|
|
1790
1790
|
"@svgdotjs/svg.draggable.js": "^3.0.4",
|
package/dist/spa/package.json
CHANGED
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
/** @type {import('tailwindcss').Config} */
|
|
2
|
-
import flowbitePlugin from 'flowbite/plugin';
|
|
3
2
|
|
|
4
3
|
export default {
|
|
5
4
|
content: ["./src/**/*.{vue, js, ts, tsx}","./src/*.{vue, js, ts, tsx}", "./index.html", "./node_modules/flowbite/**/*.js"],
|
|
6
5
|
theme: {
|
|
7
6
|
extend: {
|
|
8
7
|
/* IMPORTANT:ADMINFORTH TAILWIND STYLES */
|
|
9
|
-
|
|
8
|
+
}
|
|
10
9
|
},
|
|
11
10
|
|
|
12
11
|
darkMode: 'class',
|
|
13
12
|
plugins: [
|
|
14
|
-
|
|
15
|
-
charts: true,
|
|
16
|
-
}),
|
|
13
|
+
|
|
17
14
|
],
|
|
18
15
|
}
|
|
19
16
|
|