@titus-system/syncdesk 0.4.0 → 0.5.0
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/CHANGELOG.md +8 -0
- package/README.md +30 -0
- package/package.json +1 -1
- package/src/auth/hooks/useAuth.ts +17 -3
- package/src/health/hooks/useHealth.ts +3 -0
- package/src/live_chat/hooks/useLiveChat.ts +31 -10
- package/src/permissions/hooks/usePermissions.ts +52 -0
- package/src/roles/hooks/useRoles.ts +43 -0
- package/src/ticket/hooks/useTickets.ts +15 -3
- package/src/users/hooks/useUsers.ts +11 -7
- package/src/users/index.ts +0 -6
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -27,6 +27,36 @@ It creates a compressed tarball file in your folder. You can install it in your
|
|
|
27
27
|
npm install /path/to/your/library-1.0.0.tgz
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
+
### Configure your project to use the library
|
|
31
|
+
|
|
32
|
+
This lib requires some configuration to work properly, such as the API base URL.
|
|
33
|
+
To do so, you should call the `configLibrary` function in your project, passing the necessary configuration options. For example:
|
|
34
|
+
|
|
35
|
+
```ts
|
|
36
|
+
import { configLibrary } from "@titus-system/syncdesk";
|
|
37
|
+
configureLibrary({
|
|
38
|
+
baseURL: 'http://localhost:8000/api', // should not be hardcoded, but in a .env file or similar
|
|
39
|
+
|
|
40
|
+
getAccessToken: () => localStorage.getItem('access_token'),
|
|
41
|
+
getRefreshToken: () => localStorage.getItem('refresh_token'),
|
|
42
|
+
|
|
43
|
+
onTokensRefreshed: (newAccess: string, newRefresh: string) => {
|
|
44
|
+
localStorage.setItem('access_token', newAccess)
|
|
45
|
+
localStorage.setItem('refresh_token', newRefresh)
|
|
46
|
+
},
|
|
47
|
+
|
|
48
|
+
onUnauthorized: () => {
|
|
49
|
+
localStorage.removeItem('access_token')
|
|
50
|
+
localStorage.removeItem('refresh_token')
|
|
51
|
+
window.location.href = '/login'
|
|
52
|
+
|
|
53
|
+
// // Mobile-specific logic to clear secure storage and navigate
|
|
54
|
+
// await SecureStore.deleteItemAsync('access_token')
|
|
55
|
+
// router.replace('/login')
|
|
56
|
+
}
|
|
57
|
+
})
|
|
58
|
+
```
|
|
59
|
+
|
|
30
60
|
## Publish new version to npm registry
|
|
31
61
|
|
|
32
62
|
```sh
|
package/package.json
CHANGED
|
@@ -18,6 +18,7 @@ const PATH = "auth";
|
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Get the currently authenticated user's profile.
|
|
21
|
+
* @returns {UseQueryResult<UserWithRoles, Error>} The query result.
|
|
21
22
|
*/
|
|
22
23
|
export const useGetMe = () => {
|
|
23
24
|
return useQuery({
|
|
@@ -38,6 +39,8 @@ export const useGetMe = () => {
|
|
|
38
39
|
* Log in a user.
|
|
39
40
|
*
|
|
40
41
|
* Refresh tokens are handled automatically using Interceptors.
|
|
42
|
+
* @param {UserLoginRequest} credentials The user login credentials.
|
|
43
|
+
* @returns {UseMutationResult<LoginResponse, Error, UserLoginRequest>} The mutation result.
|
|
41
44
|
*/
|
|
42
45
|
export const useLogin = () => {
|
|
43
46
|
const queryClient = useQueryClient();
|
|
@@ -61,6 +64,8 @@ export const useLogin = () => {
|
|
|
61
64
|
|
|
62
65
|
/**
|
|
63
66
|
* Register a new user.
|
|
67
|
+
* @param {RegisterUserRequest} userData The user registration details.
|
|
68
|
+
* @returns {UseMutationResult<UserCreatedResponse, Error, RegisterUserRequest>} The mutation result.
|
|
64
69
|
*/
|
|
65
70
|
export const useRegister = () => {
|
|
66
71
|
const queryClient = useQueryClient();
|
|
@@ -84,6 +89,7 @@ export const useRegister = () => {
|
|
|
84
89
|
|
|
85
90
|
/**
|
|
86
91
|
* Log out the current user.
|
|
92
|
+
* @returns {UseMutationResult<void, Error, void>} The mutation result.
|
|
87
93
|
*/
|
|
88
94
|
export const useLogout = () => {
|
|
89
95
|
const queryClient = useQueryClient();
|
|
@@ -102,6 +108,8 @@ export const useLogout = () => {
|
|
|
102
108
|
|
|
103
109
|
/**
|
|
104
110
|
* Register a new user as admin.
|
|
111
|
+
* @param {AdminRegisterUserRequest} userData The admin user registration details.
|
|
112
|
+
* @returns {UseMutationResult<User, Error, AdminRegisterUserRequest>} The mutation result.
|
|
105
113
|
*/
|
|
106
114
|
export const useAdminRegister = () => {
|
|
107
115
|
const queryClient = useQueryClient();
|
|
@@ -121,7 +129,9 @@ export const useAdminRegister = () => {
|
|
|
121
129
|
};
|
|
122
130
|
|
|
123
131
|
/**
|
|
124
|
-
* Change the
|
|
132
|
+
* Change the current user's password.
|
|
133
|
+
* @param {ChangePasswordRequest} data The password change request details.
|
|
134
|
+
* @returns {UseMutationResult<void, Error, ChangePasswordRequest>} The mutation result.
|
|
125
135
|
*/
|
|
126
136
|
export const useChangePassword = () => {
|
|
127
137
|
return useMutation({
|
|
@@ -132,7 +142,9 @@ export const useChangePassword = () => {
|
|
|
132
142
|
};
|
|
133
143
|
|
|
134
144
|
/**
|
|
135
|
-
* Request a password reset
|
|
145
|
+
* Request a password reset.
|
|
146
|
+
* @param {ForgotPasswordRequest} data The forgot password request details.
|
|
147
|
+
* @returns {UseMutationResult<ForgotPasswordResponse, Error, ForgotPasswordRequest>} The mutation result.
|
|
136
148
|
*/
|
|
137
149
|
export const useForgotPassword = () => {
|
|
138
150
|
return useMutation({
|
|
@@ -148,7 +160,9 @@ export const useForgotPassword = () => {
|
|
|
148
160
|
};
|
|
149
161
|
|
|
150
162
|
/**
|
|
151
|
-
* Reset
|
|
163
|
+
* Reset the current user's password using a valid reset token.
|
|
164
|
+
* @param {ResetPasswordRequest} data The reset password request details.
|
|
165
|
+
* @returns {UseMutationResult<void, Error, ResetPasswordRequest>} The mutation result.
|
|
152
166
|
*/
|
|
153
167
|
export const useResetPassword = () => {
|
|
154
168
|
return useMutation({
|
|
@@ -10,6 +10,7 @@ const PATH = "";
|
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Ping the server to check for basic connectivity.
|
|
13
|
+
* @returns {UseQueryResult<PingResponse, Error>} The result.
|
|
13
14
|
*/
|
|
14
15
|
export const usePing = () => {
|
|
15
16
|
return useQuery({
|
|
@@ -25,6 +26,7 @@ export const usePing = () => {
|
|
|
25
26
|
|
|
26
27
|
/**
|
|
27
28
|
* Check the detailed health of the server and its dependencies (e.g. databases).
|
|
29
|
+
* @returns {UseQueryResult<HealthResponse, Error>} The result.
|
|
28
30
|
*/
|
|
29
31
|
export const useHealth = () => {
|
|
30
32
|
return useQuery({
|
|
@@ -40,6 +42,7 @@ export const useHealth = () => {
|
|
|
40
42
|
|
|
41
43
|
/**
|
|
42
44
|
* Check if the server is ready to accept traffic.
|
|
45
|
+
* @returns {UseQueryResult<ReadyResponse, Error>} The result.
|
|
43
46
|
*/
|
|
44
47
|
export const useReady = () => {
|
|
45
48
|
return useQuery({
|
|
@@ -9,8 +9,9 @@ import {
|
|
|
9
9
|
const PATH = "/conversations";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
* Get all conversations
|
|
13
|
-
* @param ticket_id
|
|
12
|
+
* Get all conversations of a ticket.
|
|
13
|
+
* @param {string} ticket_id ticket_id parameter.
|
|
14
|
+
* @returns {UseQueryResult<Conversation[]>} The query result.
|
|
14
15
|
*/
|
|
15
16
|
export const useGetConversations = (ticket_id: string) => {
|
|
16
17
|
return useQuery({
|
|
@@ -26,10 +27,29 @@ export const useGetConversations = (ticket_id: string) => {
|
|
|
26
27
|
};
|
|
27
28
|
|
|
28
29
|
/**
|
|
29
|
-
* Get
|
|
30
|
-
* @param
|
|
31
|
-
* @
|
|
32
|
-
|
|
30
|
+
* Get a specific client's conversations.
|
|
31
|
+
* @param {string} client_id client_id parameter.
|
|
32
|
+
* @returns {UseQueryResult<Conversation[]>} The query result.
|
|
33
|
+
*/
|
|
34
|
+
export const useGetClientConversations = (client_id: string) => {
|
|
35
|
+
return useQuery({
|
|
36
|
+
queryKey: ["conversations", "client", client_id],
|
|
37
|
+
queryFn: async (): Promise<Conversation[]> => {
|
|
38
|
+
const response = await apiClient.get<ApiResponse<Conversation[]>>(
|
|
39
|
+
`${PATH}/client/${client_id}`,
|
|
40
|
+
);
|
|
41
|
+
return response.data.data;
|
|
42
|
+
},
|
|
43
|
+
enabled: !!client_id,
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Get ticket messages with pagination.
|
|
49
|
+
* @param {string} ticket_id ticket_id parameter.
|
|
50
|
+
* @param {number} page page parameter.
|
|
51
|
+
* @param {number} limit limit parameter.
|
|
52
|
+
* @returns {UseQueryResult<PaginatedMessages>} The query result.
|
|
33
53
|
*/
|
|
34
54
|
export const useGetPaginatedMessages = (
|
|
35
55
|
ticket_id: string,
|
|
@@ -56,7 +76,9 @@ export const useGetPaginatedMessages = (
|
|
|
56
76
|
};
|
|
57
77
|
|
|
58
78
|
/**
|
|
59
|
-
* Create a new conversation
|
|
79
|
+
* Create a new conversation.
|
|
80
|
+
* @param {CreateConversationDTO} dto The conversation creation details.
|
|
81
|
+
* @returns {UseMutationResult<Conversation, Error, CreateConversationDTO>} The mutation result.
|
|
60
82
|
*/
|
|
61
83
|
export const useCreateConversation = () => {
|
|
62
84
|
const queryClient = useQueryClient();
|
|
@@ -79,6 +101,8 @@ export const useCreateConversation = () => {
|
|
|
79
101
|
|
|
80
102
|
/**
|
|
81
103
|
* Assign an agent to a conversation.
|
|
104
|
+
* @param {{ chat_id: string; agent_id: string }} params The chat ID and agent ID payload.
|
|
105
|
+
* @returns {UseMutationResult<void, Error, { chat_id: string; agent_id: string }>} The mutation result.
|
|
82
106
|
*/
|
|
83
107
|
export const useSetConversationAgent = () => {
|
|
84
108
|
const queryClient = useQueryClient();
|
|
@@ -93,9 +117,6 @@ export const useSetConversationAgent = () => {
|
|
|
93
117
|
}): Promise<void> => {
|
|
94
118
|
await apiClient.patch(`${PATH}/${chat_id}/set-agent/${agent_id}`);
|
|
95
119
|
},
|
|
96
|
-
// We invalidate the ticket conversations here.
|
|
97
|
-
// To do so effectively, you may need the ticket_id, but the mutation only receives the chat_id.
|
|
98
|
-
// If ticket list invalidation is required, invalidate the whole 'conversations' key.
|
|
99
120
|
onSuccess: () => {
|
|
100
121
|
queryClient.invalidateQueries({ queryKey: ["conversations"] });
|
|
101
122
|
},
|
|
@@ -11,6 +11,10 @@ import type {
|
|
|
11
11
|
|
|
12
12
|
const PATH = "/permissions";
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* List all permissions.
|
|
16
|
+
* @returns {UseQueryResult<Permission[]>} The query result.
|
|
17
|
+
*/
|
|
14
18
|
export function usePermissions() {
|
|
15
19
|
return useQuery<Permission[]>({
|
|
16
20
|
queryKey: ["permissions"],
|
|
@@ -23,6 +27,11 @@ export function usePermissions() {
|
|
|
23
27
|
});
|
|
24
28
|
}
|
|
25
29
|
|
|
30
|
+
/**
|
|
31
|
+
* Get a permission by ID.
|
|
32
|
+
* @param {number} id id parameter.
|
|
33
|
+
* @returns {UseQueryResult<Permission>} The query result.
|
|
34
|
+
*/
|
|
26
35
|
export function usePermission(id: number) {
|
|
27
36
|
return useQuery<Permission>({
|
|
28
37
|
queryKey: ["permissions", id],
|
|
@@ -36,6 +45,11 @@ export function usePermission(id: number) {
|
|
|
36
45
|
});
|
|
37
46
|
}
|
|
38
47
|
|
|
48
|
+
/**
|
|
49
|
+
* Create a new permission.
|
|
50
|
+
* @param {CreatePermissionDTO} dto DTO containing details.
|
|
51
|
+
* @returns {UseMutationResult<Permission, Error, CreatePermissionDTO>} The mutation result.
|
|
52
|
+
*/
|
|
39
53
|
export function useCreatePermission() {
|
|
40
54
|
const queryClient = useQueryClient();
|
|
41
55
|
return useMutation<Permission, Error, CreatePermissionDTO>({
|
|
@@ -52,6 +66,14 @@ export function useCreatePermission() {
|
|
|
52
66
|
});
|
|
53
67
|
}
|
|
54
68
|
|
|
69
|
+
/**
|
|
70
|
+
* Replace a permission by ID.
|
|
71
|
+
* @param {number} id ID.
|
|
72
|
+
* @param {ReplacePermissionDTO} dto DTO containing details.
|
|
73
|
+
* @returns {UseMutationResult<Permission,
|
|
74
|
+
Error,
|
|
75
|
+
{ id: number; dto: ReplacePermissionDTO }>} The mutation result.
|
|
76
|
+
*/
|
|
55
77
|
export function useReplacePermission() {
|
|
56
78
|
const queryClient = useQueryClient();
|
|
57
79
|
return useMutation<
|
|
@@ -73,6 +95,14 @@ export function useReplacePermission() {
|
|
|
73
95
|
});
|
|
74
96
|
}
|
|
75
97
|
|
|
98
|
+
/**
|
|
99
|
+
* Update a permission by ID.
|
|
100
|
+
* @param {number} id ID.
|
|
101
|
+
* @param {UpdatePermissionDTO} dto DTO containing details.
|
|
102
|
+
* @returns {UseMutationResult<Permission,
|
|
103
|
+
Error,
|
|
104
|
+
{ id: number; dto: UpdatePermissionDTO }>} The mutation result.
|
|
105
|
+
*/
|
|
76
106
|
export function useUpdatePermission() {
|
|
77
107
|
const queryClient = useQueryClient();
|
|
78
108
|
return useMutation<
|
|
@@ -94,6 +124,11 @@ export function useUpdatePermission() {
|
|
|
94
124
|
});
|
|
95
125
|
}
|
|
96
126
|
|
|
127
|
+
/**
|
|
128
|
+
* Delete a permission by ID.
|
|
129
|
+
* @param {number} dto DTO containing details.
|
|
130
|
+
* @returns {UseMutationResult<Permission, Error, number>} The mutation result.
|
|
131
|
+
*/
|
|
97
132
|
export function useDeletePermission() {
|
|
98
133
|
const queryClient = useQueryClient();
|
|
99
134
|
return useMutation<Permission, Error, number>({
|
|
@@ -110,6 +145,15 @@ export function useDeletePermission() {
|
|
|
110
145
|
});
|
|
111
146
|
}
|
|
112
147
|
|
|
148
|
+
/**
|
|
149
|
+
* Get permission with associated roles.
|
|
150
|
+
*
|
|
151
|
+
* All roles that have this permission will be included in the
|
|
152
|
+
* response under a `roles` field.
|
|
153
|
+
*
|
|
154
|
+
* @param {number} id id parameter.
|
|
155
|
+
* @returns {UseQueryResult<Permission>} The query result.
|
|
156
|
+
*/
|
|
113
157
|
export function usePermissionRoles(id: number) {
|
|
114
158
|
return useQuery<Permission>({
|
|
115
159
|
queryKey: ["permissions", id, "roles"],
|
|
@@ -123,6 +167,14 @@ export function usePermissionRoles(id: number) {
|
|
|
123
167
|
});
|
|
124
168
|
}
|
|
125
169
|
|
|
170
|
+
/**
|
|
171
|
+
* Add a permission to a list of roles.
|
|
172
|
+
* @param {number} id ID.
|
|
173
|
+
* @param {AddPermissionRolesDTO} dto DTO containing details.
|
|
174
|
+
* @returns {UseMutationResult<Permission,
|
|
175
|
+
Error,
|
|
176
|
+
{ id: number; dto: AddPermissionRolesDTO }>} The mutation result.
|
|
177
|
+
*/
|
|
126
178
|
export function useAddPermissionRoles() {
|
|
127
179
|
const queryClient = useQueryClient();
|
|
128
180
|
return useMutation<
|
|
@@ -10,6 +10,10 @@ import type {
|
|
|
10
10
|
|
|
11
11
|
const PATH = "/roles";
|
|
12
12
|
|
|
13
|
+
/**
|
|
14
|
+
* List all roles.
|
|
15
|
+
* @returns {UseQueryResult<Role[]>} The query result.
|
|
16
|
+
*/
|
|
13
17
|
export function useRoles() {
|
|
14
18
|
return useQuery<Role[]>({
|
|
15
19
|
queryKey: ["roles"],
|
|
@@ -20,6 +24,11 @@ export function useRoles() {
|
|
|
20
24
|
});
|
|
21
25
|
}
|
|
22
26
|
|
|
27
|
+
/**
|
|
28
|
+
* Get a role by ID.
|
|
29
|
+
* @param {number} id id parameter.
|
|
30
|
+
* @returns {UseQueryResult<Role>} The query result.
|
|
31
|
+
*/
|
|
23
32
|
export function useRole(id: number) {
|
|
24
33
|
return useQuery<Role>({
|
|
25
34
|
queryKey: ["roles", id],
|
|
@@ -31,6 +40,11 @@ export function useRole(id: number) {
|
|
|
31
40
|
});
|
|
32
41
|
}
|
|
33
42
|
|
|
43
|
+
/**
|
|
44
|
+
* Create a new role.
|
|
45
|
+
* @param {CreateRoleDTO} dto DTO containing details.
|
|
46
|
+
* @returns {UseMutationResult<Role, Error, CreateRoleDTO>} The mutation result.
|
|
47
|
+
*/
|
|
34
48
|
export function useCreateRole() {
|
|
35
49
|
const queryClient = useQueryClient();
|
|
36
50
|
return useMutation<Role, Error, CreateRoleDTO>({
|
|
@@ -44,6 +58,12 @@ export function useCreateRole() {
|
|
|
44
58
|
});
|
|
45
59
|
}
|
|
46
60
|
|
|
61
|
+
/**
|
|
62
|
+
* Replace a role by ID.
|
|
63
|
+
* @param {number} id ID.
|
|
64
|
+
* @param {ReplaceRoleDTO} dto DTO containing details.
|
|
65
|
+
* @returns {UseMutationResult<Role, Error, { id: number; dto: ReplaceRoleDTO }>} The mutation result.
|
|
66
|
+
*/
|
|
47
67
|
export function useReplaceRole() {
|
|
48
68
|
const queryClient = useQueryClient();
|
|
49
69
|
return useMutation<Role, Error, { id: number; dto: ReplaceRoleDTO }>({
|
|
@@ -61,6 +81,12 @@ export function useReplaceRole() {
|
|
|
61
81
|
});
|
|
62
82
|
}
|
|
63
83
|
|
|
84
|
+
/**
|
|
85
|
+
* Update a role by ID.
|
|
86
|
+
* @param {number} id ID.
|
|
87
|
+
* @param {UpdateRoleDTO} dto DTO containing details.
|
|
88
|
+
* @returns {UseMutationResult<Role, Error, { id: number; dto: UpdateRoleDTO }>} The mutation result.
|
|
89
|
+
*/
|
|
64
90
|
export function useUpdateRole() {
|
|
65
91
|
const queryClient = useQueryClient();
|
|
66
92
|
return useMutation<Role, Error, { id: number; dto: UpdateRoleDTO }>({
|
|
@@ -78,6 +104,11 @@ export function useUpdateRole() {
|
|
|
78
104
|
});
|
|
79
105
|
}
|
|
80
106
|
|
|
107
|
+
/**
|
|
108
|
+
* Delete a role by ID.
|
|
109
|
+
* @param {number} dto DTO containing details.
|
|
110
|
+
* @returns {UseMutationResult<Role, Error, number>} The mutation result.
|
|
111
|
+
*/
|
|
81
112
|
export function useDeleteRole() {
|
|
82
113
|
const queryClient = useQueryClient();
|
|
83
114
|
return useMutation<Role, Error, number>({
|
|
@@ -94,6 +125,11 @@ export function useDeleteRole() {
|
|
|
94
125
|
});
|
|
95
126
|
}
|
|
96
127
|
|
|
128
|
+
/**
|
|
129
|
+
* Get the permissions for a role by ID.
|
|
130
|
+
* @param {number} id id parameter.
|
|
131
|
+
* @returns {UseQueryResult<Role>} The query result.
|
|
132
|
+
*/
|
|
97
133
|
export function useRolePermissions(id: number) {
|
|
98
134
|
return useQuery<Role>({
|
|
99
135
|
queryKey: ["roles", id, "permissions"],
|
|
@@ -107,6 +143,13 @@ export function useRolePermissions(id: number) {
|
|
|
107
143
|
});
|
|
108
144
|
}
|
|
109
145
|
|
|
146
|
+
/**
|
|
147
|
+
* Add permissions to a role.
|
|
148
|
+
*
|
|
149
|
+
* @param {number} id ID.
|
|
150
|
+
* @param {AddRolePermissionsDTO} dto DTO containing details.
|
|
151
|
+
* @returns {UseMutationResult<Role, Error, { id: number; dto: AddRolePermissionsDTO }>} The mutation result.
|
|
152
|
+
*/
|
|
110
153
|
export function useAddRolePermissions() {
|
|
111
154
|
const queryClient = useQueryClient();
|
|
112
155
|
return useMutation<Role, Error, { id: number; dto: AddRolePermissionsDTO }>({
|
|
@@ -18,7 +18,11 @@ export const TICKET_KEYS = {
|
|
|
18
18
|
[...TICKET_KEYS.all, "list", filters] as const,
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Get all tickets.
|
|
23
|
+
* @param {TicketSearchFilters} filters filters parameter.
|
|
24
|
+
* @returns {UseQueryResult<TicketResponse[]>} The query result.
|
|
25
|
+
*/
|
|
22
26
|
export const useTickets = (filters: TicketSearchFilters = {}) => {
|
|
23
27
|
return useQuery({
|
|
24
28
|
queryKey: TICKET_KEYS.list(filters),
|
|
@@ -32,7 +36,11 @@ export const useTickets = (filters: TicketSearchFilters = {}) => {
|
|
|
32
36
|
});
|
|
33
37
|
};
|
|
34
38
|
|
|
35
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Create a new ticket.
|
|
41
|
+
* @param {CreateTicketRequest} payload The ticket creation details.
|
|
42
|
+
* @returns {UseMutationResult<CreateTicketResponse, Error, CreateTicketRequest>} The mutation result.
|
|
43
|
+
*/
|
|
36
44
|
export const useCreateTicket = () => {
|
|
37
45
|
const queryClient = useQueryClient();
|
|
38
46
|
|
|
@@ -53,7 +61,11 @@ export const useCreateTicket = () => {
|
|
|
53
61
|
});
|
|
54
62
|
};
|
|
55
63
|
|
|
56
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
* Update a ticket's status.
|
|
66
|
+
* @param {{ ticketId: string; payload: UpdateTicketStatusRequest }} params The ticket ID and status update payload.
|
|
67
|
+
* @returns {UseMutationResult<UpdateTicketStatusResponse, Error, { ticketId: string; payload: UpdateTicketStatusRequest }>} The mutation result.
|
|
68
|
+
*/
|
|
57
69
|
export const useUpdateTicketStatus = () => {
|
|
58
70
|
const queryClient = useQueryClient();
|
|
59
71
|
|
|
@@ -12,7 +12,7 @@ const PATH = "/users";
|
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Get all users.
|
|
15
|
-
* @returns
|
|
15
|
+
* @returns {UseQueryResult<User[]>} The query result.
|
|
16
16
|
*/
|
|
17
17
|
export const useGetUsers = () => {
|
|
18
18
|
return useQuery({
|
|
@@ -28,8 +28,8 @@ export const useGetUsers = () => {
|
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* Get one user.
|
|
31
|
-
* @param id
|
|
32
|
-
* @returns
|
|
31
|
+
* @param {string} id id parameter.
|
|
32
|
+
* @returns {UseQueryResult<User>} The query result.
|
|
33
33
|
*/
|
|
34
34
|
export const useGetUser = (id: string) => {
|
|
35
35
|
return useQuery({
|
|
@@ -44,7 +44,8 @@ export const useGetUser = (id: string) => {
|
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
46
|
* Create a user.
|
|
47
|
-
* @
|
|
47
|
+
* @param {CreateUserDTO} user The user creation details.
|
|
48
|
+
* @returns {UseMutationResult<User, Error, CreateUserDTO>} The mutation result.
|
|
48
49
|
*/
|
|
49
50
|
export const useCreateUser = () => {
|
|
50
51
|
const queryClient = useQueryClient();
|
|
@@ -63,7 +64,8 @@ export const useCreateUser = () => {
|
|
|
63
64
|
|
|
64
65
|
/**
|
|
65
66
|
* Replace an entire user.
|
|
66
|
-
* @
|
|
67
|
+
* @param {{ id: string; data: ReplaceUserDTO }} params The ID and user replacement data.
|
|
68
|
+
* @returns {UseMutationResult<User, Error, { id: string; data: ReplaceUserDTO }>} The mutation result.
|
|
67
69
|
*/
|
|
68
70
|
export const useUpdateUser = () => {
|
|
69
71
|
const queryClient = useQueryClient();
|
|
@@ -91,7 +93,8 @@ export const useUpdateUser = () => {
|
|
|
91
93
|
|
|
92
94
|
/**
|
|
93
95
|
* Update specific fields of a user.
|
|
94
|
-
* @
|
|
96
|
+
* @param {{ id: string; data: UpdateUserDTO }} params The ID and user update data.
|
|
97
|
+
* @returns {UseMutationResult<User, Error, { id: string; data: UpdateUserDTO }>} The mutation result.
|
|
95
98
|
*/
|
|
96
99
|
export const usePatchUser = () => {
|
|
97
100
|
const queryClient = useQueryClient();
|
|
@@ -119,7 +122,8 @@ export const usePatchUser = () => {
|
|
|
119
122
|
|
|
120
123
|
/**
|
|
121
124
|
* Add roles to a user.
|
|
122
|
-
* @
|
|
125
|
+
* @param {{ id: string; data: AddUserRolesDTO }} params The ID and user roles data.
|
|
126
|
+
* @returns {UseMutationResult<User, Error, { id: string; data: AddUserRolesDTO }>} The mutation result.
|
|
123
127
|
*/
|
|
124
128
|
export const useAddUserRoles = () => {
|
|
125
129
|
const queryClient = useQueryClient();
|
package/src/users/index.ts
CHANGED
|
@@ -14,9 +14,3 @@ export type {
|
|
|
14
14
|
ReplaceUserDTO,
|
|
15
15
|
AddUserRolesDTO,
|
|
16
16
|
} from "./types/user";
|
|
17
|
-
|
|
18
|
-
// # syncdesk-api/app/api/api_router
|
|
19
|
-
// - /auth/ -- /app/domains/auth/routers/auth_router
|
|
20
|
-
// | `/api/users/` | User management (CRUD) |
|
|
21
|
-
// | `/api/roles/` | Role management (CRUD) |
|
|
22
|
-
// | `/api/permissions/` | Permission management (CRUD) |
|