@sqrzro/admin 2.1.0-bz.30 → 2.1.0-bz.32
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/dist/components/AppLayout/index.d.ts +1 -1
- package/dist/components/List/index.js +1 -1
- package/dist/components/ListClientComponent/index.d.ts +1 -1
- package/dist/components/PaginatedList/index.js +1 -1
- package/dist/components/SettingsForm/index.d.ts +1 -1
- package/dist/services/PermissionService.js +9 -4
- package/dist/services/SettingsService.js +2 -2
- package/package.json +7 -15
|
@@ -6,5 +6,5 @@ export interface AppLayoutProps {
|
|
|
6
6
|
name: string;
|
|
7
7
|
} | null;
|
|
8
8
|
}
|
|
9
|
-
declare function AppLayout({ children, logoutButton, user, }: Readonly<AppLayoutProps>): Promise<
|
|
9
|
+
declare function AppLayout({ children, logoutButton, user, }: Readonly<AppLayoutProps>): Promise<React.ReactElement>;
|
|
10
10
|
export default AppLayout;
|
|
@@ -8,7 +8,7 @@ async function List({ filters, hasSearch, ...props }) {
|
|
|
8
8
|
let searchParams; // eslint-disable-line @typescript-eslint/init-declarations
|
|
9
9
|
try {
|
|
10
10
|
const { headers } = await import('next/headers');
|
|
11
|
-
searchParams = new URLSearchParams(headers().get('x-search-params') || '');
|
|
11
|
+
searchParams = new URLSearchParams((await headers()).get('x-search-params') || '');
|
|
12
12
|
}
|
|
13
13
|
catch (err) {
|
|
14
14
|
searchParams = new URLSearchParams();
|
|
@@ -8,7 +8,7 @@ export interface ListClientComponentProps<Data = Record<string, unknown>> {
|
|
|
8
8
|
emptyMessageProps?: EmptyMessageProps;
|
|
9
9
|
hasFilters?: boolean;
|
|
10
10
|
isMinimal?: boolean;
|
|
11
|
-
renderItem?: (props: ListObject<Data>) =>
|
|
11
|
+
renderItem?: (props: ListObject<Data>) => React.ReactElement;
|
|
12
12
|
}
|
|
13
13
|
declare function ListClientComponent<Data = Record<string, unknown>>({ actions, columns, data, emptyMessageProps, hasFilters, isMinimal, renderItem, }: Readonly<ListClientComponentProps<Data>>): React.ReactElement;
|
|
14
14
|
export default ListClientComponent;
|
|
@@ -8,7 +8,7 @@ async function PaginatedList({ filters, hasSearch, ...props }) {
|
|
|
8
8
|
let searchParams; // eslint-disable-line @typescript-eslint/init-declarations
|
|
9
9
|
try {
|
|
10
10
|
const { headers } = await import('next/headers');
|
|
11
|
-
searchParams = new URLSearchParams(headers().get('x-search-params') || '');
|
|
11
|
+
searchParams = new URLSearchParams((await headers()).get('x-search-params') || '');
|
|
12
12
|
}
|
|
13
13
|
catch (err) {
|
|
14
14
|
searchParams = new URLSearchParams();
|
|
@@ -3,5 +3,5 @@ import type { SettingsFormFields } from '../../services/SettingsService';
|
|
|
3
3
|
interface SettingsFormProps {
|
|
4
4
|
defaults: Partial<SettingsFormFields>;
|
|
5
5
|
}
|
|
6
|
-
declare function SettingsForm({ defaults }: Readonly<SettingsFormProps>):
|
|
6
|
+
declare function SettingsForm({ defaults }: Readonly<SettingsFormProps>): React.ReactElement;
|
|
7
7
|
export default SettingsForm;
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
'use server';
|
|
2
|
-
import {
|
|
2
|
+
import { getSessionID } from '@sqrzro/server/auth';
|
|
3
|
+
import { getFromCache } from '@sqrzro/server/cache';
|
|
3
4
|
export async function filterList(list) {
|
|
4
5
|
if (process.env.APP_ENV !== 'production' && process.env.DANGEROUSLY_DISABLE_PERMISSIONS) {
|
|
5
6
|
return Promise.resolve(list);
|
|
6
7
|
}
|
|
7
|
-
const
|
|
8
|
-
if (!
|
|
8
|
+
const id = getSessionID();
|
|
9
|
+
if (!id) {
|
|
10
|
+
return Promise.resolve([]);
|
|
11
|
+
}
|
|
12
|
+
const cache = await getFromCache(`${id}:permissions`);
|
|
13
|
+
if (!cache) {
|
|
9
14
|
return Promise.resolve([]);
|
|
10
15
|
}
|
|
11
16
|
let value = [];
|
|
12
17
|
try {
|
|
13
|
-
value = JSON.parse(
|
|
18
|
+
value = JSON.parse(cache);
|
|
14
19
|
}
|
|
15
20
|
catch (err) {
|
|
16
21
|
return Promise.resolve([]);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use server';
|
|
2
2
|
import { cookies } from 'next/headers';
|
|
3
3
|
export async function getLayout() {
|
|
4
|
-
return Promise.resolve((cookies().get('layout')?.value || 'topbar'));
|
|
4
|
+
return Promise.resolve(((await cookies()).get('layout')?.value || 'topbar'));
|
|
5
5
|
}
|
|
6
6
|
export async function submitSettingsForm(formData) {
|
|
7
|
-
cookies().set('layout', formData.layout);
|
|
7
|
+
(await cookies()).set('layout', formData.layout);
|
|
8
8
|
return Promise.resolve([true, null]);
|
|
9
9
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sqrzro/admin",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "2.1.0-bz.
|
|
4
|
+
"version": "2.1.0-bz.32",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"license": "ISC",
|
|
@@ -21,10 +21,11 @@
|
|
|
21
21
|
"@sqrzro/components": "bz",
|
|
22
22
|
"@sqrzro/hooks": "bz",
|
|
23
23
|
"@sqrzro/interfaces": "bz",
|
|
24
|
+
"@sqrzro/server": "bz",
|
|
24
25
|
"@sqrzro/utility": "bz",
|
|
25
|
-
"next": "
|
|
26
|
-
"react": "
|
|
27
|
-
"react-dom": "
|
|
26
|
+
"next": "15.0.2",
|
|
27
|
+
"react": "rc",
|
|
28
|
+
"react-dom": "rc"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
31
|
"@babel/core": "^7.24.4",
|
|
@@ -34,23 +35,15 @@
|
|
|
34
35
|
"@sqrzro/eslint-plugin": "bz",
|
|
35
36
|
"@sqrzro/prettier-config": "bz",
|
|
36
37
|
"@sqrzro/tailwind-plugin": "bz",
|
|
37
|
-
"@storybook/addon-actions": "^7.6.17",
|
|
38
|
-
"@storybook/addon-essentials": "^7.6.17",
|
|
39
|
-
"@storybook/addon-interactions": "^7.6.17",
|
|
40
|
-
"@storybook/addon-links": "^7.6.17",
|
|
41
|
-
"@storybook/addon-mdx-gfm": "7.0.7",
|
|
42
|
-
"@storybook/react": "^7.6.17",
|
|
43
|
-
"@storybook/react-webpack5": "7.0.7",
|
|
44
|
-
"@storybook/testing-library": "^0.1.0",
|
|
45
38
|
"@tailwindcss/container-queries": "^0.1.1",
|
|
46
39
|
"@testing-library/dom": "^8.20.1",
|
|
47
40
|
"@testing-library/jest-dom": "^5.17.0",
|
|
48
|
-
"@testing-library/react": "^
|
|
41
|
+
"@testing-library/react": "^16.0.1",
|
|
49
42
|
"@testing-library/user-event": "^14.5.2",
|
|
50
43
|
"@types/bcrypt": "^5.0.2",
|
|
51
44
|
"@types/jest": "^29.5.12",
|
|
52
45
|
"@types/node": "18.14.6",
|
|
53
|
-
"@types/react": "
|
|
46
|
+
"@types/react": "npm:types-react@rc",
|
|
54
47
|
"@types/react-dom": "^18.2.24",
|
|
55
48
|
"babel-loader": "^8.3.0",
|
|
56
49
|
"concurrently": "^7.6.0",
|
|
@@ -59,7 +52,6 @@
|
|
|
59
52
|
"mockdate": "^3.0.5",
|
|
60
53
|
"prettier": "^3.2.5",
|
|
61
54
|
"rimraf": "^4.4.1",
|
|
62
|
-
"storybook": "^7.6.17",
|
|
63
55
|
"tailwindcss": "^3.4.3",
|
|
64
56
|
"tslib": "^2.6.2",
|
|
65
57
|
"tsup": "^8.0.2",
|