@addev-be/ui 0.6.11 → 0.6.13
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 +1 -1
- package/src/components/data/DataGrid/helpers/columns.tsx +24 -0
- package/src/components/data/DataGrid/hooks/useDataGrid.tsx +1 -1
- package/src/components/data/DataGrid/index.tsx +3 -1
- package/src/components/data/DataGrid/types.ts +4 -1
- package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +25 -2
- package/src/components/data/SqlRequestDataGrid/index.tsx +3 -0
- package/src/components/data/index.ts +6 -1
- package/src/components/layout/Modal/styles.ts +11 -0
- package/src/helpers/dates.ts +8 -0
- package/src/services/index.ts +6 -1
- package/src/services/requests/userPermissions.ts +36 -0
- package/src/services/requests/userProfiles.ts +35 -0
- package/src/services/requests/users.ts +28 -0
- package/src/services/types/userPermissions.ts +104 -0
- package/src/services/types/userProfiles.ts +105 -0
- package/src/services/types/users.ts +75 -0
package/package.json
CHANGED
|
@@ -90,6 +90,8 @@ export const dateColumn = <R extends Record<string, any>>(
|
|
|
90
90
|
name: title,
|
|
91
91
|
type: 'date',
|
|
92
92
|
render: (row) => moment(row[key]).format('DD/MM/YYYY') ?? '',
|
|
93
|
+
excelFormatter: () => 'dd/mm/yyyy',
|
|
94
|
+
excelValue: (date) => moment(date).format('DD/MM/YYYY') ?? '',
|
|
93
95
|
getter: (row) => row[key] ?? '',
|
|
94
96
|
sortGetter: (row) => row[key] ?? '',
|
|
95
97
|
footer: (_, filteredRows) => `${filteredRows.length} éléments`,
|
|
@@ -101,6 +103,28 @@ export const dateColumn = <R extends Record<string, any>>(
|
|
|
101
103
|
},
|
|
102
104
|
});
|
|
103
105
|
|
|
106
|
+
export const dateTimeColumn = <R extends Record<string, any>>(
|
|
107
|
+
key: string,
|
|
108
|
+
title: string,
|
|
109
|
+
options?: Partial<DataGridColumn<R>>
|
|
110
|
+
): DataGridColumns<R> => ({
|
|
111
|
+
[key]: {
|
|
112
|
+
name: title,
|
|
113
|
+
type: 'date',
|
|
114
|
+
render: (row) => moment(row[key]).format('DD/MM/YYYY HH:mm:ss') ?? '',
|
|
115
|
+
excelFormatter: () => 'dd/mm/yyyy hh:mm:ss',
|
|
116
|
+
excelValue: (date) => moment(date).format('DD/MM/YYYY HH:mm:ss') ?? '',
|
|
117
|
+
getter: (row) => row[key] ?? '',
|
|
118
|
+
sortGetter: (row) => row[key] ?? '',
|
|
119
|
+
footer: (_, filteredRows) => `${filteredRows.length} éléments`,
|
|
120
|
+
filter: {
|
|
121
|
+
...dateFilter(key),
|
|
122
|
+
renderer: (value) => moment(value).format('DD/MM/YYYY HH:mm:ss') ?? '',
|
|
123
|
+
},
|
|
124
|
+
...options,
|
|
125
|
+
},
|
|
126
|
+
});
|
|
127
|
+
|
|
104
128
|
export const monthColumn = <R extends Record<string, any>>(
|
|
105
129
|
key: string,
|
|
106
130
|
title: string,
|
|
@@ -58,7 +58,7 @@ export const useDataGrid = <R,>(
|
|
|
58
58
|
const gridTemplateColumns = useMemo(
|
|
59
59
|
() =>
|
|
60
60
|
[
|
|
61
|
-
...(selectable ? ['var(--space-
|
|
61
|
+
...(selectable ? ['var(--space-8)'] : []),
|
|
62
62
|
...visibleColumns.map(([, col]) => `${col.width ?? 150}px`),
|
|
63
63
|
].join(' '),
|
|
64
64
|
[selectable, visibleColumns]
|
|
@@ -38,14 +38,16 @@ export const DataGridInner = <R,>(
|
|
|
38
38
|
sortedRows,
|
|
39
39
|
onVisibleRowsChange,
|
|
40
40
|
refresh,
|
|
41
|
+
setSelectedKeys,
|
|
41
42
|
} = contextProps;
|
|
42
43
|
|
|
43
44
|
useImperativeHandle(
|
|
44
45
|
ref,
|
|
45
46
|
() => ({
|
|
46
47
|
refresh,
|
|
48
|
+
setSelectedKeys,
|
|
47
49
|
}),
|
|
48
|
-
[refresh]
|
|
50
|
+
[refresh, setSelectedKeys]
|
|
49
51
|
);
|
|
50
52
|
|
|
51
53
|
const hasFooter = Object.values(columns).some((col) => col.footer);
|
|
@@ -270,4 +270,7 @@ export type DataGridRowTemplateProps<R> = {
|
|
|
270
270
|
context: DataGridContext<R>;
|
|
271
271
|
};
|
|
272
272
|
|
|
273
|
-
export type DataGridRefProps<R> = Pick<
|
|
273
|
+
export type DataGridRefProps<R> = Pick<
|
|
274
|
+
DataGridContextProps<R>,
|
|
275
|
+
'refresh' | 'setSelectedKeys'
|
|
276
|
+
>;
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
numberFilter,
|
|
7
7
|
textFilter,
|
|
8
8
|
} from '../../DataGrid/helpers';
|
|
9
|
+
import { formatDate, formatDateTime } from '../../../../helpers/dates';
|
|
9
10
|
import {
|
|
10
11
|
formatMoney,
|
|
11
12
|
formatNumber,
|
|
@@ -13,8 +14,6 @@ import {
|
|
|
13
14
|
formatPercentage,
|
|
14
15
|
} from '../../../../helpers/numbers';
|
|
15
16
|
|
|
16
|
-
import { formatDate } from '../../../../helpers/dates';
|
|
17
|
-
|
|
18
17
|
export const sqlTextColumn = <R extends Record<string, any>>(
|
|
19
18
|
key: string,
|
|
20
19
|
title: string,
|
|
@@ -121,6 +120,30 @@ export const sqlDateColumn = <R extends Record<string, any>>(
|
|
|
121
120
|
},
|
|
122
121
|
});
|
|
123
122
|
|
|
123
|
+
export const sqlDateTimeColumn = <R extends Record<string, any>>(
|
|
124
|
+
key: string,
|
|
125
|
+
title: string,
|
|
126
|
+
options?: Partial<SqlRequestDataGridColumn<R>>
|
|
127
|
+
): SqlRequestDataGridColumns<R> => ({
|
|
128
|
+
[key]: {
|
|
129
|
+
name: title,
|
|
130
|
+
type: 'date',
|
|
131
|
+
render: (row) => formatDateTime(row[key]),
|
|
132
|
+
getter: (row) => row[key] ?? '',
|
|
133
|
+
sortGetter: (row) => row[key] ?? '',
|
|
134
|
+
excelFormatter: () => 'dd/mm/yyyy hh:mm:ss',
|
|
135
|
+
excelValue: (value) => formatDateTime(value, 'YYYY-MM-DD HH:mm:ss'),
|
|
136
|
+
filter: {
|
|
137
|
+
...textFilter(key),
|
|
138
|
+
getter: (value) => value[key] ?? '',
|
|
139
|
+
formatter: (value) => formatDateTime(value),
|
|
140
|
+
renderer: (value) => formatDateTime(value),
|
|
141
|
+
},
|
|
142
|
+
footer: (rows) => `${rows[0][key]} éléments`,
|
|
143
|
+
...options,
|
|
144
|
+
},
|
|
145
|
+
});
|
|
146
|
+
|
|
124
147
|
export const sqlMonthColumn = <R extends Record<string, any>>(
|
|
125
148
|
key: string,
|
|
126
149
|
title: string,
|
|
@@ -43,6 +43,7 @@ export const SqlRequestDataGridInner = <R,>(
|
|
|
43
43
|
const [sqlRequest, sqlIdRequest, sqlPartialRequest] = useSqlRequestHandler<R>(
|
|
44
44
|
props.type
|
|
45
45
|
);
|
|
46
|
+
const gridRef = useRef<DataGridRefProps<R>>(null);
|
|
46
47
|
|
|
47
48
|
const [conditions, setConditions] = useState<Record<string, ConditionDTO>>(
|
|
48
49
|
{}
|
|
@@ -348,12 +349,14 @@ export const SqlRequestDataGridInner = <R,>(
|
|
|
348
349
|
ref,
|
|
349
350
|
() => ({
|
|
350
351
|
refresh,
|
|
352
|
+
setSelectedKeys: gridRef.current?.setSelectedKeys ?? (() => {}),
|
|
351
353
|
}),
|
|
352
354
|
[refresh]
|
|
353
355
|
);
|
|
354
356
|
|
|
355
357
|
return (
|
|
356
358
|
<DataGrid
|
|
359
|
+
ref={gridRef}
|
|
357
360
|
onVisibleRowsChange={onVisibleRowsChanged}
|
|
358
361
|
filter={false}
|
|
359
362
|
sort={false}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
export * from './DataGrid';
|
|
2
2
|
export * from './DataGrid/helpers';
|
|
3
3
|
export * from './DataGrid/styles';
|
|
4
|
+
export * from './DataGrid/types';
|
|
5
|
+
|
|
4
6
|
export * from './AdvancedRequestDataGrid';
|
|
7
|
+
export * from './AdvancedRequestDataGrid/helpers';
|
|
8
|
+
|
|
5
9
|
export * from './SqlRequestDataGrid';
|
|
6
10
|
export * from './SqlRequestDataGrid/helpers';
|
|
7
11
|
export * from './SqlRequestDataGrid/types';
|
|
12
|
+
|
|
8
13
|
export * from './SqlRequestGrid';
|
|
9
14
|
export * from './SqlRequestGrid/types';
|
|
15
|
+
|
|
10
16
|
export * from './VirtualScroller';
|
|
11
17
|
export * from './VirtualScroller/types';
|
|
12
|
-
export * from './AdvancedRequestDataGrid/helpers';
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import styled, { css } from 'styled-components';
|
|
2
2
|
|
|
3
|
+
import { ThemeColor } from '../../../providers';
|
|
4
|
+
|
|
3
5
|
export const ModalBackdrop = styled.div.attrs({
|
|
4
6
|
className: 'ModalBackdrop',
|
|
5
7
|
})`
|
|
@@ -20,6 +22,7 @@ export type ModalContainerProps = {
|
|
|
20
22
|
$height?: number;
|
|
21
23
|
$zIndex?: number;
|
|
22
24
|
$fullscreen?: boolean;
|
|
25
|
+
$color?: ThemeColor;
|
|
23
26
|
};
|
|
24
27
|
|
|
25
28
|
export const ModalContainer = styled.div.attrs({
|
|
@@ -51,6 +54,14 @@ export const ModalContainer = styled.div.attrs({
|
|
|
51
54
|
width: ${$width ? `${$width}px` : 'auto'};
|
|
52
55
|
height: ${$height ? `${$height}px` : 'auto'};
|
|
53
56
|
`}
|
|
57
|
+
|
|
58
|
+
${({ $color }) =>
|
|
59
|
+
$color
|
|
60
|
+
? css`
|
|
61
|
+
border: 1px solid var(--color-${$color}-500);
|
|
62
|
+
box-shadow: 0 0 var(--space-3) var(--color-${$color}-500);
|
|
63
|
+
`
|
|
64
|
+
: null}
|
|
54
65
|
`;
|
|
55
66
|
|
|
56
67
|
export const ModalHeader = styled.div.attrs({ className: 'ModalHeader' })`
|
package/src/helpers/dates.ts
CHANGED
|
@@ -7,3 +7,11 @@ export const formatDate = (
|
|
|
7
7
|
const m = moment.utc(date);
|
|
8
8
|
return m.isValid() ? m.format(format) : '';
|
|
9
9
|
};
|
|
10
|
+
|
|
11
|
+
export const formatDateTime = (
|
|
12
|
+
date: moment.MomentInput,
|
|
13
|
+
format: string = 'DD/MM/YYYY HH:mm:ss'
|
|
14
|
+
): string => {
|
|
15
|
+
const m = moment.utc(date);
|
|
16
|
+
return m.isValid() ? m.format(format) : '';
|
|
17
|
+
};
|
package/src/services/index.ts
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
export * from './WebSocketService';
|
|
2
2
|
export * from './HttpService';
|
|
3
3
|
export * from './hooks';
|
|
4
|
+
export * from './globalSearch';
|
|
4
5
|
|
|
5
6
|
export * from './requests/auth';
|
|
6
|
-
export * from './
|
|
7
|
+
export * from './requests/users';
|
|
8
|
+
export * from './requests/userProfiles';
|
|
9
|
+
export * from './requests/userPermissions';
|
|
7
10
|
|
|
8
11
|
export * from './types/auth';
|
|
9
12
|
export * from './types/base';
|
|
10
13
|
export * from './types/users';
|
|
14
|
+
export * from './types/userProfiles';
|
|
15
|
+
export * from './types/userPermissions';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DeleteUserPermissionRequestDTO,
|
|
3
|
+
DeleteUserPermissionResponseDTO,
|
|
4
|
+
GetAllUserPermissionsRequestDTO,
|
|
5
|
+
GetAllUserPermissionsResponseDTO,
|
|
6
|
+
GetUserPermissionRequestDTO,
|
|
7
|
+
GetUserPermissionResponseDTO,
|
|
8
|
+
SaveUserPermissionRequestDTO,
|
|
9
|
+
SaveUserPermissionResponseDTO,
|
|
10
|
+
} from '../types/userPermissions';
|
|
11
|
+
|
|
12
|
+
import { useLoadingRequestHandler } from '../hooks';
|
|
13
|
+
|
|
14
|
+
export const useGetUserPermissionRequestHandler = () =>
|
|
15
|
+
useLoadingRequestHandler<
|
|
16
|
+
GetUserPermissionRequestDTO,
|
|
17
|
+
GetUserPermissionResponseDTO
|
|
18
|
+
>('GetUserPermission');
|
|
19
|
+
|
|
20
|
+
export const useGetAllUserPermissionsRequestHandler = () =>
|
|
21
|
+
useLoadingRequestHandler<
|
|
22
|
+
GetAllUserPermissionsRequestDTO,
|
|
23
|
+
GetAllUserPermissionsResponseDTO
|
|
24
|
+
>('GetAllUserPermissions');
|
|
25
|
+
|
|
26
|
+
export const useSaveUserPermissionRequestHandler = () =>
|
|
27
|
+
useLoadingRequestHandler<
|
|
28
|
+
SaveUserPermissionRequestDTO,
|
|
29
|
+
SaveUserPermissionResponseDTO
|
|
30
|
+
>('SaveUserPermission');
|
|
31
|
+
|
|
32
|
+
export const useDeleteUserPermissionRequestHandler = () =>
|
|
33
|
+
useLoadingRequestHandler<
|
|
34
|
+
DeleteUserPermissionRequestDTO,
|
|
35
|
+
DeleteUserPermissionResponseDTO
|
|
36
|
+
>('DeleteUserPermission');
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DeleteUserProfileRequestDTO,
|
|
3
|
+
DeleteUserProfileResponseDTO,
|
|
4
|
+
GetAllUserProfilesRequestDTO,
|
|
5
|
+
GetAllUserProfilesResponseDTO,
|
|
6
|
+
GetUserProfileRequestDTO,
|
|
7
|
+
GetUserProfileResponseDTO,
|
|
8
|
+
SaveUserProfileRequestDTO,
|
|
9
|
+
SaveUserProfileResponseDTO,
|
|
10
|
+
} from '../types/userProfiles';
|
|
11
|
+
|
|
12
|
+
import { useLoadingRequestHandler } from '../hooks';
|
|
13
|
+
|
|
14
|
+
export const useGetUserProfileRequestHandler = () =>
|
|
15
|
+
useLoadingRequestHandler<GetUserProfileRequestDTO, GetUserProfileResponseDTO>(
|
|
16
|
+
'GetUserProfile'
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
export const useGetAllUserProfilesRequestHandler = () =>
|
|
20
|
+
useLoadingRequestHandler<
|
|
21
|
+
GetAllUserProfilesRequestDTO,
|
|
22
|
+
GetAllUserProfilesResponseDTO
|
|
23
|
+
>('GetAllUserProfiles');
|
|
24
|
+
|
|
25
|
+
export const useSaveUserProfileRequestHandler = () =>
|
|
26
|
+
useLoadingRequestHandler<
|
|
27
|
+
SaveUserProfileRequestDTO,
|
|
28
|
+
SaveUserProfileResponseDTO
|
|
29
|
+
>('SaveUserProfile');
|
|
30
|
+
|
|
31
|
+
export const useDeleteUserProfileRequestHandler = () =>
|
|
32
|
+
useLoadingRequestHandler<
|
|
33
|
+
DeleteUserProfileRequestDTO,
|
|
34
|
+
DeleteUserProfileResponseDTO
|
|
35
|
+
>('DeleteUserProfile');
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DeleteUserRequestDTO,
|
|
3
|
+
DeleteUserResponseDTO,
|
|
4
|
+
GetAllUsersRequestDTO,
|
|
5
|
+
GetAllUsersResponseDTO,
|
|
6
|
+
GetUserRequestDTO,
|
|
7
|
+
GetUserResponseDTO,
|
|
8
|
+
SaveUserRequestDTO,
|
|
9
|
+
SaveUserResponseDTO,
|
|
10
|
+
} from '../types/users';
|
|
11
|
+
|
|
12
|
+
import { useLoadingRequestHandler } from '../hooks';
|
|
13
|
+
|
|
14
|
+
export const useGetUserRequestHandler = () =>
|
|
15
|
+
useLoadingRequestHandler<GetUserRequestDTO, GetUserResponseDTO>('GetUser');
|
|
16
|
+
|
|
17
|
+
export const useGetAllUsersRequestHandler = () =>
|
|
18
|
+
useLoadingRequestHandler<GetAllUsersRequestDTO, GetAllUsersResponseDTO>(
|
|
19
|
+
'GetAllUsers'
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
export const useSaveUserRequestHandler = () =>
|
|
23
|
+
useLoadingRequestHandler<SaveUserRequestDTO, SaveUserResponseDTO>('SaveUser');
|
|
24
|
+
|
|
25
|
+
export const useDeleteUserRequestHandler = () =>
|
|
26
|
+
useLoadingRequestHandler<DeleteUserRequestDTO, DeleteUserResponseDTO>(
|
|
27
|
+
'DeleteUser'
|
|
28
|
+
);
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import * as t from 'io-ts';
|
|
2
|
+
|
|
3
|
+
import { baseModelDtoCodec } from './base';
|
|
4
|
+
|
|
5
|
+
export const userPermissionDtoCodec = t.type(
|
|
6
|
+
{
|
|
7
|
+
...baseModelDtoCodec.props,
|
|
8
|
+
name: t.string,
|
|
9
|
+
},
|
|
10
|
+
'UserPermissionDTO'
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
export type UserPermissionDTO = t.TypeOf<typeof userPermissionDtoCodec>;
|
|
14
|
+
|
|
15
|
+
/*****/
|
|
16
|
+
|
|
17
|
+
export const getUserPermissionRequestDtoCodec = t.type(
|
|
18
|
+
{
|
|
19
|
+
id: t.string,
|
|
20
|
+
},
|
|
21
|
+
'GetUserPermissionRequestDTO'
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
export const getUserPermissionResponseDtoCodec = t.type(
|
|
25
|
+
{
|
|
26
|
+
data: userPermissionDtoCodec,
|
|
27
|
+
},
|
|
28
|
+
'GetUserPermissionResponseDTO'
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
export type GetUserPermissionRequestDTO = t.TypeOf<
|
|
32
|
+
typeof getUserPermissionRequestDtoCodec
|
|
33
|
+
>;
|
|
34
|
+
export type GetUserPermissionResponseDTO = t.TypeOf<
|
|
35
|
+
typeof getUserPermissionResponseDtoCodec
|
|
36
|
+
>;
|
|
37
|
+
|
|
38
|
+
/*****/
|
|
39
|
+
|
|
40
|
+
export const getAllUserPermissionsRequestDtoCodec = t.type(
|
|
41
|
+
{},
|
|
42
|
+
'GetAllUserPermissionsRequestDTO'
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
export const getAllUserPermissionsResponseDtoCodec = t.type(
|
|
46
|
+
{
|
|
47
|
+
data: t.array(userPermissionDtoCodec),
|
|
48
|
+
},
|
|
49
|
+
'GetAllUserPermissionsResponseDTO'
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
export type GetAllUserPermissionsRequestDTO = t.TypeOf<
|
|
53
|
+
typeof getAllUserPermissionsRequestDtoCodec
|
|
54
|
+
>;
|
|
55
|
+
export type GetAllUserPermissionsResponseDTO = t.TypeOf<
|
|
56
|
+
typeof getAllUserPermissionsResponseDtoCodec
|
|
57
|
+
>;
|
|
58
|
+
|
|
59
|
+
/*****/
|
|
60
|
+
|
|
61
|
+
export const saveUserPermissionRequestDtoCodec = t.type(
|
|
62
|
+
{
|
|
63
|
+
id: t.string,
|
|
64
|
+
},
|
|
65
|
+
'SaveUserPermissionRequestDTO'
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
export const saveUserPermissionResponseDtoCodec = t.type(
|
|
69
|
+
{
|
|
70
|
+
status: t.number,
|
|
71
|
+
data: userPermissionDtoCodec,
|
|
72
|
+
},
|
|
73
|
+
'SaveUserPermissionResponseDTO'
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
export type SaveUserPermissionRequestDTO = t.TypeOf<
|
|
77
|
+
typeof saveUserPermissionRequestDtoCodec
|
|
78
|
+
>;
|
|
79
|
+
export type SaveUserPermissionResponseDTO = t.TypeOf<
|
|
80
|
+
typeof saveUserPermissionResponseDtoCodec
|
|
81
|
+
>;
|
|
82
|
+
|
|
83
|
+
/*****/
|
|
84
|
+
|
|
85
|
+
export const deleteUserPermissionRequestDtoCodec = t.type(
|
|
86
|
+
{
|
|
87
|
+
id: t.string,
|
|
88
|
+
},
|
|
89
|
+
'DeleteUserPermissionRequestDTO'
|
|
90
|
+
);
|
|
91
|
+
|
|
92
|
+
export const deleteUserPermissionResponseDtoCodec = t.type(
|
|
93
|
+
{
|
|
94
|
+
status: t.number,
|
|
95
|
+
},
|
|
96
|
+
'DeleteUserPermissionResponseDTO'
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
export type DeleteUserPermissionRequestDTO = t.TypeOf<
|
|
100
|
+
typeof deleteUserPermissionRequestDtoCodec
|
|
101
|
+
>;
|
|
102
|
+
export type DeleteUserPermissionResponseDTO = t.TypeOf<
|
|
103
|
+
typeof deleteUserPermissionResponseDtoCodec
|
|
104
|
+
>;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import * as t from 'io-ts';
|
|
2
|
+
|
|
3
|
+
import { baseModelDtoCodec } from './base';
|
|
4
|
+
|
|
5
|
+
export const userProfileDtoCodec = t.type(
|
|
6
|
+
{
|
|
7
|
+
...baseModelDtoCodec.props,
|
|
8
|
+
name: t.string,
|
|
9
|
+
isAdmin: t.string,
|
|
10
|
+
},
|
|
11
|
+
'UserProfileDTO'
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
export type UserProfileDTO = t.TypeOf<typeof userProfileDtoCodec>;
|
|
15
|
+
|
|
16
|
+
/*****/
|
|
17
|
+
|
|
18
|
+
export const getUserProfileRequestDtoCodec = t.type(
|
|
19
|
+
{
|
|
20
|
+
id: t.string,
|
|
21
|
+
},
|
|
22
|
+
'GetUserProfileRequestDTO'
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
export const getUserProfileResponseDtoCodec = t.type(
|
|
26
|
+
{
|
|
27
|
+
data: userProfileDtoCodec,
|
|
28
|
+
},
|
|
29
|
+
'GetUserProfileResponseDTO'
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
export type GetUserProfileRequestDTO = t.TypeOf<
|
|
33
|
+
typeof getUserProfileRequestDtoCodec
|
|
34
|
+
>;
|
|
35
|
+
export type GetUserProfileResponseDTO = t.TypeOf<
|
|
36
|
+
typeof getUserProfileResponseDtoCodec
|
|
37
|
+
>;
|
|
38
|
+
|
|
39
|
+
/*****/
|
|
40
|
+
|
|
41
|
+
export const getAllUserProfilesRequestDtoCodec = t.type(
|
|
42
|
+
{},
|
|
43
|
+
'GetAllUserProfilesRequestDTO'
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
export const getAllUserProfilesResponseDtoCodec = t.type(
|
|
47
|
+
{
|
|
48
|
+
data: t.array(userProfileDtoCodec),
|
|
49
|
+
},
|
|
50
|
+
'GetAllUserProfilesResponseDTO'
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
export type GetAllUserProfilesRequestDTO = t.TypeOf<
|
|
54
|
+
typeof getAllUserProfilesRequestDtoCodec
|
|
55
|
+
>;
|
|
56
|
+
export type GetAllUserProfilesResponseDTO = t.TypeOf<
|
|
57
|
+
typeof getAllUserProfilesResponseDtoCodec
|
|
58
|
+
>;
|
|
59
|
+
|
|
60
|
+
/*****/
|
|
61
|
+
|
|
62
|
+
export const saveUserProfileRequestDtoCodec = t.type(
|
|
63
|
+
{
|
|
64
|
+
id: t.string,
|
|
65
|
+
},
|
|
66
|
+
'SaveUserProfileRequestDTO'
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
export const saveUserProfileResponseDtoCodec = t.type(
|
|
70
|
+
{
|
|
71
|
+
status: t.number,
|
|
72
|
+
data: userProfileDtoCodec,
|
|
73
|
+
},
|
|
74
|
+
'SaveUserProfileResponseDTO'
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
export type SaveUserProfileRequestDTO = t.TypeOf<
|
|
78
|
+
typeof saveUserProfileRequestDtoCodec
|
|
79
|
+
>;
|
|
80
|
+
export type SaveUserProfileResponseDTO = t.TypeOf<
|
|
81
|
+
typeof saveUserProfileResponseDtoCodec
|
|
82
|
+
>;
|
|
83
|
+
|
|
84
|
+
/*****/
|
|
85
|
+
|
|
86
|
+
export const deleteUserProfileRequestDtoCodec = t.type(
|
|
87
|
+
{
|
|
88
|
+
id: t.string,
|
|
89
|
+
},
|
|
90
|
+
'DeleteUserProfileRequestDTO'
|
|
91
|
+
);
|
|
92
|
+
|
|
93
|
+
export const deleteUserProfileResponseDtoCodec = t.type(
|
|
94
|
+
{
|
|
95
|
+
status: t.number,
|
|
96
|
+
},
|
|
97
|
+
'DeleteUserProfileResponseDTO'
|
|
98
|
+
);
|
|
99
|
+
|
|
100
|
+
export type DeleteUserProfileRequestDTO = t.TypeOf<
|
|
101
|
+
typeof deleteUserProfileRequestDtoCodec
|
|
102
|
+
>;
|
|
103
|
+
export type DeleteUserProfileResponseDTO = t.TypeOf<
|
|
104
|
+
typeof deleteUserProfileResponseDtoCodec
|
|
105
|
+
>;
|
|
@@ -7,6 +7,7 @@ export const userDtoCodec = t.intersection(
|
|
|
7
7
|
t.type({
|
|
8
8
|
...baseModelDtoCodec.props,
|
|
9
9
|
username: t.string,
|
|
10
|
+
isAdmin: t.boolean,
|
|
10
11
|
}),
|
|
11
12
|
t.partial({
|
|
12
13
|
name: t.string,
|
|
@@ -18,3 +19,77 @@ export const userDtoCodec = t.intersection(
|
|
|
18
19
|
);
|
|
19
20
|
|
|
20
21
|
export type UserDTO = t.TypeOf<typeof userDtoCodec>;
|
|
22
|
+
|
|
23
|
+
/*****/
|
|
24
|
+
|
|
25
|
+
export const getUserRequestDtoCodec = t.type(
|
|
26
|
+
{
|
|
27
|
+
id: t.string,
|
|
28
|
+
},
|
|
29
|
+
'GetUserRequestDTO'
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
export const getUserResponseDtoCodec = t.type(
|
|
33
|
+
{
|
|
34
|
+
data: userDtoCodec,
|
|
35
|
+
},
|
|
36
|
+
'GetUserResponseDTO'
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
export type GetUserRequestDTO = t.TypeOf<typeof getUserRequestDtoCodec>;
|
|
40
|
+
export type GetUserResponseDTO = t.TypeOf<typeof getUserResponseDtoCodec>;
|
|
41
|
+
|
|
42
|
+
/*****/
|
|
43
|
+
|
|
44
|
+
export const getAllUsersRequestDtoCodec = t.type({}, 'GetAllUsersRequestDTO');
|
|
45
|
+
|
|
46
|
+
export const getAllUsersResponseDtoCodec = t.type(
|
|
47
|
+
{
|
|
48
|
+
data: t.array(userDtoCodec),
|
|
49
|
+
},
|
|
50
|
+
'GetAllUsersResponseDTO'
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
export type GetAllUsersRequestDTO = t.TypeOf<typeof getAllUsersRequestDtoCodec>;
|
|
54
|
+
export type GetAllUsersResponseDTO = t.TypeOf<
|
|
55
|
+
typeof getAllUsersResponseDtoCodec
|
|
56
|
+
>;
|
|
57
|
+
|
|
58
|
+
/*****/
|
|
59
|
+
|
|
60
|
+
export const saveUserRequestDtoCodec = t.type(
|
|
61
|
+
{
|
|
62
|
+
id: t.string,
|
|
63
|
+
},
|
|
64
|
+
'SaveUserRequestDTO'
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
export const saveUserResponseDtoCodec = t.type(
|
|
68
|
+
{
|
|
69
|
+
status: t.number,
|
|
70
|
+
data: userDtoCodec,
|
|
71
|
+
},
|
|
72
|
+
'SaveUserResponseDTO'
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
export type SaveUserRequestDTO = t.TypeOf<typeof saveUserRequestDtoCodec>;
|
|
76
|
+
export type SaveUserResponseDTO = t.TypeOf<typeof saveUserResponseDtoCodec>;
|
|
77
|
+
|
|
78
|
+
/*****/
|
|
79
|
+
|
|
80
|
+
export const deleteUserRequestDtoCodec = t.type(
|
|
81
|
+
{
|
|
82
|
+
id: t.string,
|
|
83
|
+
},
|
|
84
|
+
'DeleteUserRequestDTO'
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
export const deleteUserResponseDtoCodec = t.type(
|
|
88
|
+
{
|
|
89
|
+
status: t.number,
|
|
90
|
+
},
|
|
91
|
+
'DeleteUserResponseDTO'
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
export type DeleteUserRequestDTO = t.TypeOf<typeof deleteUserRequestDtoCodec>;
|
|
95
|
+
export type DeleteUserResponseDTO = t.TypeOf<typeof deleteUserResponseDtoCodec>;
|