@@ -51,54 +51,56 @@ export const UpdateMember: React.FC<{ member: any }> = ({ member }) => {
5151
5252 const handleChange = ( value : string ) => {
5353 setRole ( value ) ;
54-
55- // if (role.length < member?.roles?.length) {
56- // member?.roles?.map((meme: any) => {
57- // // @ts -ignore
58- // if (meme?.id !== value[0]?.value)
59- // return console.log(role)
60- // })
61- // }
62- }
54+ }
6355
6456 useEffect ( ( ) => {
6557 setUsername ( member ?. name )
66- } , [ member ] )
67-
58+ // eslint-disable-next-line
59+ } , [ ] )
60+
6861 const onUpdate = async ( ) => {
6962 setSubmitting ( true ) ;
70- try {
71- if ( password ) {
72- await fetchApiWithAuthRequest ( {
73- url : apiUrl ( endpoints . users . updateUser ( member . id ) ) ,
74- method : httpMethods . put ,
75- authenticationToken,
76- headers : {
77- 'Content-Type' : 'application/json' ,
78- } ,
79- data : { name : username , password : password } ,
80- } ) ;
81- } else {
82- await fetchApiWithAuthRequest ( {
83- url : apiUrl ( endpoints . users . updateUser ( member . id ) ) ,
84- method : httpMethods . put ,
85- authenticationToken,
86- headers : {
87- 'Content-Type' : 'application/json' ,
88- } ,
89- data : { name : username } ,
90- } )
63+ try {
64+ if ( password ) {
65+ await fetchApiWithAuthRequest ( {
66+ url : apiUrl ( endpoints . users . updateUser ( member . id ) ) ,
67+ method : httpMethods . put ,
68+ authenticationToken,
69+ headers : {
70+ 'Content-Type' : 'application/json' ,
71+ } ,
72+ data : { name : username , password : password } ,
73+ } ) ;
74+ } else {
75+ await fetchApiWithAuthRequest ( {
76+ url : apiUrl ( endpoints . users . updateUser ( member . id ) ) ,
77+ method : httpMethods . put ,
78+ authenticationToken,
79+ headers : {
80+ 'Content-Type' : 'application/json' ,
81+ } ,
82+ data : { name : username } ,
83+ } )
84+ }
85+
86+ const { data } = await axios . get ( `${ process . env . REACT_APP_BASE_API_URL } /role_assignments?user_name_or_id=${ member ?. name } ` , { headers : { Authorization : `Bearer ${ authToken } ` } } )
87+
88+ for ( let index = 0 ; index < data ?. length ; index ++ ) {
89+ const singleDelRole = data [ index ] ;
90+ await axios . delete ( `https://appserver.zenml.io/api/v1/role_assignments/${ singleDelRole ?. id } ` ,
91+ { headers : { Authorization : `Bearer ${ authToken } ` } }
92+ )
9193 }
9294
9395 for ( let index = 0 ; index < role . length ; index ++ ) {
9496 const singleRole = role [ index ] ;
9597 await axios . post ( `${ process . env . REACT_APP_BASE_API_URL } /role_assignments` ,
96- // @ts -ignore
97- { user : member . id , role : singleRole ?. value } ,
98- { headers : { Authorization : `Bearer ${ authToken } ` } }
99- )
98+ // @ts -ignore
99+ { user : member . id , role : singleRole ?. value } ,
100+ { headers : { Authorization : `Bearer ${ authToken } ` } }
101+ )
100102 }
101-
103+
102104 setSubmitting ( false ) ;
103105 setPopupOpen ( false ) ;
104106 dispatch (
@@ -107,11 +109,11 @@ export const UpdateMember: React.FC<{ member: any }> = ({ member }) => {
107109 type : toasterTypes . success ,
108110 } ) ,
109111 ) ;
110- await dispatch ( organizationActions . getMembers ( { } ) ) ;
112+ await dispatch ( organizationActions . getMembers ( { } ) ) ;
111113 } catch ( err ) {
112114 setSubmitting ( false ) ;
113115 setPopupOpen ( false ) ;
114-
116+
115117 dispatch (
116118 showToasterAction ( {
117119 // @ts -ignore
@@ -145,14 +147,14 @@ export const UpdateMember: React.FC<{ member: any }> = ({ member }) => {
145147 < >
146148 { popupOpen && (
147149 < Popup onClose = { ( ) => setPopupOpen ( false ) } >
148-
150+
149151 < FlexBox . Row alignItems = "center" justifyContent = "space-between" >
150152 < H3 bold color = "darkGrey" > { translate ( 'updateMemberPopup.title' ) } </ H3 >
151153 </ FlexBox . Row >
152154 < Box marginTop = "sm" > < Paragraph > { `${ translate ( 'updateMemberPopup.text' ) } ${ member ?. name } .` } </ Paragraph > </ Box >
153155
154156 < Box marginTop = 'lg' >
155-
157+
156158 < Box >
157159 < FormTextField
158160 label = { translate ( 'updateMemberPopup.form.username.label' ) }
@@ -164,13 +166,13 @@ export const UpdateMember: React.FC<{ member: any }> = ({ member }) => {
164166 </ Box >
165167
166168 < Box marginTop = 'md' >
167- < Paragraph size = "body" style = { { color : 'black' } } > < label htmlFor = { username } > { 'Roles' } </ label > </ Paragraph >
168- < Select options = { allRoles } isMulti onChange = { ( e : any ) => handleChange ( e ) }
169- value = { role }
170- placeholder = { 'Roles' }
171- styles = { colourStyles }
172- isClearable = { false }
173- />
169+ < Paragraph size = "body" style = { { color : 'black' } } > < label htmlFor = { username } > { 'Roles' } </ label > </ Paragraph >
170+ < Select options = { allRoles } isMulti onChange = { ( e : any ) => handleChange ( e ) }
171+ value = { role }
172+ placeholder = { 'Roles' }
173+ styles = { colourStyles }
174+ isClearable = { false }
175+ />
174176 </ Box >
175177
176178 < Box marginTop = "md" >
@@ -185,7 +187,7 @@ export const UpdateMember: React.FC<{ member: any }> = ({ member }) => {
185187 } }
186188 showPasswordOption
187189 />
188- </ Box >
190+ </ Box >
189191 </ Box >
190192
191193 < FlexBox justifyContent = "flex-end" marginTop = "xl" flexWrap >
0 commit comments