@@ -35,23 +35,36 @@ export const USERS_CLEAN_UP = createAction('USERS_CLEAN_UP');
3535
3636export const USERS_CLEAR_DATA_LOGOUT = createAction ( 'USERS_CLEAR_DATA_LOGOUT' ) ;
3737
38- export const fetchUsers = ( ) => {
38+ export const fetchUsers = ( userId = '' ) => {
3939 return async ( dispatch , getState ) => {
4040 dispatch ( checkUserData ( ) ) ;
4141
4242 dispatch ( USERS_FETCH_DATA_INIT ( ) ) ;
43+ if ( userId ) {
44+ let userData ;
45+ try {
46+ userData = (
47+ await firebase . database ( ) . ref ( `users/${ userId } ` ) . once ( 'value' )
48+ ) . val ( ) ;
49+ } catch ( error ) {
50+ toastr . error ( '' , error ) ;
51+ return dispatch ( USERS_FETCH_DATA_FAIL ( { error } ) ) ;
52+ }
53+
54+ const user = { ...userData , id : userId } ;
55+ return dispatch (
56+ USERS_FETCH_DATA_SUCCESS ( {
57+ users : [ user ] ,
58+ } )
59+ ) ;
60+ }
4361
4462 const { id } = getState ( ) . auth . userData ;
4563
4664 let users ;
4765
4866 try {
49- users = (
50- await firebase
51- . database ( )
52- . ref ( 'users' )
53- . once ( 'value' )
54- ) . val ( ) ;
67+ users = ( await firebase . database ( ) . ref ( 'users' ) . once ( 'value' ) ) . val ( ) ;
5568 } catch ( error ) {
5669 toastr . error ( '' , error ) ;
5770 return dispatch ( USERS_FETCH_DATA_FAIL ( { error } ) ) ;
@@ -60,47 +73,37 @@ export const fetchUsers = () => {
6073 const usersData = users
6174 ? Object . entries ( users ) . map ( ( [ key , value ] ) => ( {
6275 id : key ,
63- ...value
76+ ...value ,
6477 } ) )
6578 : [ ] ;
6679
6780 return dispatch (
6881 USERS_FETCH_DATA_SUCCESS ( {
69- users : usersData . filter ( user => user . id !== id )
82+ users : usersData . filter ( ( user ) => user . id !== id ) ,
7083 } )
7184 ) ;
7285 } ;
7386} ;
7487
75- const deleteLogo = oldLogo => {
88+ const deleteLogo = ( oldLogo ) => {
7689 if ( ! oldLogo . includes ( 'firebasestorage' ) ) {
7790 return null ;
7891 }
79- const logoPath = oldLogo
80- . split ( 'users%2F' )
81- . pop ( )
82- . split ( '?alt=media' )
83- . shift ( ) ;
84- return firebase
85- . storage ( )
86- . ref ( `users/${ logoPath } ` )
87- . delete ( ) ;
92+ const logoPath = oldLogo . split ( 'users%2F' ) . pop ( ) . split ( '?alt=media' ) . shift ( ) ;
93+ return firebase . storage ( ) . ref ( `users/${ logoPath } ` ) . delete ( ) ;
8894} ;
8995
90- export const deleteUser = id => {
96+ export const deleteUser = ( id ) => {
9197 return async ( dispatch , getState ) => {
9298 dispatch ( USERS_DELETE_USER_INIT ( ) ) ;
9399 const { locale } = getState ( ) . preferences ;
94100 const { logoUrl } = getState ( )
95- . users . data . filter ( user => user . id === id )
101+ . users . data . filter ( ( user ) => user . id === id )
96102 . pop ( ) ;
97103
98104 const deleteLogoTask = logoUrl ? deleteLogo ( logoUrl ) : null ;
99105
100- const deleteUserTask = firebase
101- . database ( )
102- . ref ( `users/${ id } ` )
103- . remove ( ) ;
106+ const deleteUserTask = firebase . database ( ) . ref ( `users/${ id } ` ) . remove ( ) ;
104107
105108 try {
106109 await Promise . all ( [ deleteLogoTask , deleteUserTask ] ) ;
@@ -109,7 +112,7 @@ export const deleteUser = id => {
109112 toastr . error ( '' , errorMessage ) ;
110113 return dispatch (
111114 USERS_DELETE_USER_FAIL ( {
112- error : errorMessage
115+ error : errorMessage ,
113116 } )
114117 ) ;
115118 }
@@ -120,13 +123,13 @@ export const deleteUser = id => {
120123} ;
121124
122125export const clearUsersData = ( ) => {
123- return dispatch => {
126+ return ( dispatch ) => {
124127 dispatch ( USERS_CLEAR_DATA ( ) ) ;
125128 } ;
126129} ;
127130
128131export const clearUsersDataLogout = ( ) => {
129- return dispatch => {
132+ return ( dispatch ) => {
130133 dispatch ( USERS_CLEAR_DATA_LOGOUT ( ) ) ;
131134 } ;
132135} ;
@@ -155,7 +158,7 @@ export const createUser = ({
155158 location,
156159 file,
157160 createdAt,
158- isAdmin
161+ isAdmin,
159162} ) => {
160163 return async ( dispatch , getState ) => {
161164 dispatch ( USERS_CREATE_USER_INIT ( ) ) ;
@@ -173,7 +176,7 @@ export const createUser = ({
173176 toastr . error ( '' , errorMessage ) ;
174177 return dispatch (
175178 USERS_CREATE_USER_FAIL ( {
176- error : errorMessage
179+ error : errorMessage ,
177180 } )
178181 ) ;
179182 }
@@ -194,7 +197,7 @@ export const createUser = ({
194197
195198 const actionCodeSettings = {
196199 url : process . env . REACT_APP_LOGIN_PAGE_URL ,
197- handleCodeInApp : true
200+ handleCodeInApp : true ,
198201 } ;
199202
200203 const sendSignInLinkToEmailTask = firebase
@@ -205,14 +208,14 @@ export const createUser = ({
205208 await Promise . all ( [
206209 uploadLogoTask ,
207210 createUserDbTask ,
208- sendSignInLinkToEmailTask
211+ sendSignInLinkToEmailTask ,
209212 ] ) ;
210213 } catch ( error ) {
211214 const errorMessage = firebaseError ( error . code , locale ) ;
212215 toastr . error ( '' , errorMessage ) ;
213216 return dispatch (
214217 USERS_CREATE_USER_FAIL ( {
215- error : errorMessage
218+ error : errorMessage ,
216219 } )
217220 ) ;
218221 }
@@ -230,15 +233,15 @@ export const modifyUser = ({
230233 createdAt,
231234 id,
232235 isEditing,
233- isProfile
236+ isProfile,
234237} ) => {
235238 return async ( dispatch , getState ) => {
236239 dispatch ( USERS_MODIFY_USER_INIT ( ) ) ;
237240 const { locale } = getState ( ) . preferences ;
238241 const { logoUrl } = isProfile
239242 ? getState ( ) . auth . userData
240243 : getState ( )
241- . users . data . filter ( user => user . id === id )
244+ . users . data . filter ( ( user ) => user . id === id )
242245 . pop ( ) ;
243246
244247 let deleteLogoTask ;
@@ -255,7 +258,7 @@ export const modifyUser = ({
255258 location,
256259 createdAt,
257260 isAdmin,
258- logoUrl : logoUrl || newLogoUrl
261+ logoUrl : logoUrl || newLogoUrl ,
259262 } ;
260263
261264 const updateUserDbTask = firebase
@@ -276,7 +279,7 @@ export const modifyUser = ({
276279 toastr . error ( '' , errorMessage ) ;
277280 return dispatch (
278281 USERS_MODIFY_USER_FAIL ( {
279- error : errorMessage
282+ error : errorMessage ,
280283 } )
281284 ) ;
282285 }
@@ -291,4 +294,4 @@ export const modifyUser = ({
291294 } ;
292295} ;
293296
294- export const usersCleanUp = ( ) => dispatch => dispatch ( USERS_CLEAN_UP ( ) ) ;
297+ export const usersCleanUp = ( ) => ( dispatch ) => dispatch ( USERS_CLEAN_UP ( ) ) ;
0 commit comments