@@ -20,8 +20,7 @@ import { createAsyncThunk } from '@reduxjs/toolkit';
2020import { User } from 'app/slice/types' ;
2121import omit from 'lodash/omit' ;
2222import { RootState } from 'types' ;
23- import { request , request2 } from 'utils/request' ;
24- import { errorHandle } from 'utils/utils' ;
23+ import { request2 } from 'utils/request' ;
2524import { selectEditingMember , selectEditingRole } from './selectors' ;
2625import {
2726 AddRoleParams ,
@@ -37,48 +36,33 @@ import {
3736export const getMembers = createAsyncThunk < User [ ] , string > (
3837 'member/getMembers' ,
3938 async orgId => {
40- try {
41- const result = await request < User [ ] > ( `/orgs/${ orgId } /members` ) ;
42- return result . data ;
43- } catch ( error ) {
44- errorHandle ( error ) ;
45- throw error ;
46- }
39+ const result = await request2 < User [ ] > ( `/orgs/${ orgId } /members` ) ;
40+ return result . data ;
4741 } ,
4842) ;
4943
5044export const inviteMember = createAsyncThunk < null , InviteMemberParams > (
5145 'member/inviteMember' ,
5246 async ( { params : { orgId, emails, sendMail } , resolve } ) => {
53- try {
54- const { data } = await request < { success : string [ ] ; fail : string [ ] } > ( {
55- url : `/orgs/${ orgId } /invite` ,
56- method : 'POST' ,
57- data : emails ,
58- params : { sendMail } ,
59- } ) ;
60- resolve ( data ) ;
61- return null ;
62- } catch ( error ) {
63- errorHandle ( error ) ;
64- throw error ;
65- }
47+ const { data } = await request2 < { success : string [ ] ; fail : string [ ] } > ( {
48+ url : `/orgs/${ orgId } /invite` ,
49+ method : 'POST' ,
50+ data : emails ,
51+ params : { sendMail } ,
52+ } ) ;
53+ resolve ( data ) ;
54+ return null ;
6655 } ,
6756) ;
6857
6958export const getMemberRoles = createAsyncThunk <
7059 Role [ ] ,
7160 { orgId : string ; memberId : string }
7261> ( 'member/getMemberRoles' , async ( { orgId, memberId } ) => {
73- try {
74- const { data } = await request < Role [ ] > ( {
75- url : `/orgs/${ orgId } /members/${ memberId } /roles` ,
76- } ) ;
77- return data ;
78- } catch ( error ) {
79- errorHandle ( error ) ;
80- throw error ;
81- }
62+ const { data } = await request2 < Role [ ] > ( {
63+ url : `/orgs/${ orgId } /members/${ memberId } /roles` ,
64+ } ) ;
65+ return data ;
8266} ) ;
8367
8468export const saveMember = createAsyncThunk <
@@ -132,17 +116,12 @@ export const saveMember = createAsyncThunk<
132116export const removeMember = createAsyncThunk < null , RemoveMemberParams > (
133117 'member/removeMember' ,
134118 async ( { id, orgId, resolve } ) => {
135- try {
136- await request < boolean > ( {
137- url : `/orgs/${ orgId } /members/${ id } ` ,
138- method : 'DELETE' ,
139- } ) ;
140- resolve ( ) ;
141- return null ;
142- } catch ( error ) {
143- errorHandle ( error ) ;
144- throw error ;
145- }
119+ await request2 < boolean > ( {
120+ url : `/orgs/${ orgId } /members/${ id } ` ,
121+ method : 'DELETE' ,
122+ } ) ;
123+ resolve ( ) ;
124+ return null ;
146125 } ,
147126) ;
148127
@@ -162,31 +141,21 @@ export const deleteMember = createAsyncThunk<null, RemoveMemberParams>(
162141export const getRoles = createAsyncThunk < Role [ ] , string > (
163142 'member/getRoles' ,
164143 async orgId => {
165- try {
166- const { data } = await request < Role [ ] > ( `/orgs/${ orgId } /roles` ) ;
167- return data ;
168- } catch ( error ) {
169- errorHandle ( error ) ;
170- throw error ;
171- }
144+ const { data } = await request2 < Role [ ] > ( `/orgs/${ orgId } /roles` ) ;
145+ return data ;
172146 } ,
173147) ;
174148
175149export const addRole = createAsyncThunk < Role , AddRoleParams > (
176150 'member/addRole' ,
177151 async ( { role, resolve } ) => {
178- try {
179- const { data } = await request < Role > ( {
180- url : '/roles' ,
181- method : 'POST' ,
182- data : role ,
183- } ) ;
184- resolve ( ) ;
185- return data ;
186- } catch ( error ) {
187- errorHandle ( error ) ;
188- throw error ;
189- }
152+ const { data } = await request2 < Role > ( {
153+ url : '/roles' ,
154+ method : 'POST' ,
155+ data : role ,
156+ } ) ;
157+ resolve ( ) ;
158+ return data ;
190159 } ,
191160) ;
192161
@@ -195,103 +164,78 @@ export const editRole = createAsyncThunk<
195164 EditRoleParams ,
196165 { state : RootState }
197166> ( 'member/editRole' , async ( { role, members, resolve } , { getState } ) => {
198- try {
199- const editingRole = selectEditingRole ( getState ( ) ) ;
200- if ( editingRole ) {
201- const { info, members : originMembers } = editingRole ;
202- const mergedRole = { ...info , ...role } ;
203- const originMemberIds = originMembers . map ( ( { id } ) => id ) ;
204- const memberIds = members . map ( ( { id } ) => id ) ;
167+ const editingRole = selectEditingRole ( getState ( ) ) ;
168+ if ( editingRole ) {
169+ const { info, members : originMembers } = editingRole ;
170+ const mergedRole = { ...info , ...role } ;
171+ const originMemberIds = originMembers . map ( ( { id } ) => id ) ;
172+ const memberIds = members . map ( ( { id } ) => id ) ;
173+
174+ await Promise . all ( [
175+ request2 < boolean > ( {
176+ url : `/roles/${ info . id } ` ,
177+ method : 'PUT' ,
178+ data : omit ( mergedRole , 'orgId' ) ,
179+ } ) ,
180+ originMemberIds . sort ( ) . join ( ) !== memberIds . sort ( ) . join ( )
181+ ? request2 < boolean > ( {
182+ url : `/roles/${ info . id } /users` ,
183+ method : 'PUT' ,
184+ data : memberIds ,
185+ } )
186+ : null ,
187+ ] ) ;
205188
206- await Promise . all ( [
207- request < boolean > ( {
208- url : `/roles/${ info . id } ` ,
209- method : 'PUT' ,
210- data : omit ( mergedRole , 'orgId' ) ,
211- } ) ,
212- originMemberIds . sort ( ) . join ( ) !== memberIds . sort ( ) . join ( )
213- ? request < boolean > ( {
214- url : `/roles/${ info . id } /users` ,
215- method : 'PUT' ,
216- data : memberIds ,
217- } )
218- : null ,
219- ] ) ;
220-
221- resolve ( ) ;
222- return mergedRole ;
223- }
224- return null ;
225- } catch ( error ) {
226- errorHandle ( error ) ;
227- throw error ;
189+ resolve ( ) ;
190+ return mergedRole ;
228191 }
192+ return null ;
229193} ) ;
230194
231195export const deleteRole = createAsyncThunk < null , DeleteRoleParams > (
232196 'member/deleteRole' ,
233197 async ( { id, resolve } ) => {
234- try {
235- await request < boolean > ( {
236- url : `/roles/${ id } ` ,
237- method : 'DELETE' ,
238- } ) ;
239- resolve ( ) ;
240- return null ;
241- } catch ( error ) {
242- errorHandle ( error ) ;
243- throw error ;
244- }
198+ await request2 < boolean > ( {
199+ url : `/roles/${ id } ` ,
200+ method : 'DELETE' ,
201+ } ) ;
202+ resolve ( ) ;
203+ return null ;
245204 } ,
246205) ;
247206
248207export const getRoleMembers = createAsyncThunk < User [ ] , string > (
249208 'member/getRoleMembers' ,
250209 async roleId => {
251- try {
252- const { data } = await request < User [ ] > ( {
253- url : `/roles/${ roleId } /users` ,
254- } ) ;
255- return data ;
256- } catch ( error ) {
257- errorHandle ( error ) ;
258- throw error ;
259- }
210+ const { data } = await request2 < User [ ] > ( {
211+ url : `/roles/${ roleId } /users` ,
212+ } ) ;
213+ return data ;
260214 } ,
261215) ;
262216
263217export const grantOwner = createAsyncThunk < null , GrantOwnerParams > (
264218 'member/grantOwner' ,
265219 async ( { orgId, userId, resolve } ) => {
266- try {
267- await request < boolean > ( {
268- url : '/roles/permission/grant/org_owner' ,
269- method : 'POST' ,
270- params : { orgId, userId } ,
271- } ) ;
272- resolve ( ) ;
273- return null ;
274- } catch ( error ) {
275- errorHandle ( error ) ;
276- throw error ;
277- }
220+ await request2 < boolean > ( {
221+ url : '/roles/permission/grant/org_owner' ,
222+ method : 'POST' ,
223+ params : { orgId, userId } ,
224+ } ) ;
225+ resolve ( ) ;
226+ return null ;
278227 } ,
279228) ;
280229
281230export const revokeOwner = createAsyncThunk < null , GrantOwnerParams > (
282231 'member/revokeOwner' ,
283232 async ( { orgId, userId, resolve } ) => {
284- try {
285- await request < boolean > ( {
286- url : '/roles/permission/revoke/org_owner' ,
287- method : 'DELETE' ,
288- params : { orgId, userId } ,
289- } ) ;
290- resolve ( ) ;
291- return null ;
292- } catch ( error ) {
293- errorHandle ( error ) ;
294- throw error ;
295- }
233+ await request2 < boolean > ( {
234+ url : '/roles/permission/revoke/org_owner' ,
235+ method : 'DELETE' ,
236+ params : { orgId, userId } ,
237+ } ) ;
238+ resolve ( ) ;
239+ return null ;
296240 } ,
297241) ;
0 commit comments