@@ -71,18 +71,16 @@ export const fetchUsers = () => {
7171 } ;
7272} ;
7373
74- const deleteLogo = async oldLogo => {
75- if ( oldLogo ) {
76- const logoPath = oldLogo
77- . split ( 'users%2F' )
78- . pop ( )
79- . split ( '?alt=media' )
80- . shift ( ) ;
81- await firebase
82- . storage ( )
83- . ref ( `users/${ logoPath } ` )
84- . delete ( ) ;
85- }
74+ const deleteLogo = oldLogo => {
75+ const logoPath = oldLogo
76+ . split ( 'users%2F' )
77+ . pop ( )
78+ . split ( '?alt=media' )
79+ . shift ( ) ;
80+ return firebase
81+ . storage ( )
82+ . ref ( `users/${ logoPath } ` )
83+ . delete ( ) ;
8684} ;
8785
8886export const deleteUser = id => {
@@ -92,7 +90,7 @@ export const deleteUser = id => {
9290 . users . data . filter ( user => user . id === id )
9391 . pop ( ) ;
9492
95- const deleteLogoTask = deleteLogo ( logoUrl ) ;
93+ const deleteLogoTask = logoUrl ? deleteLogo ( logoUrl ) : null ;
9694
9795 const deleteUserTask = firebase
9896 . database ( )
@@ -122,7 +120,7 @@ export const clearUsersData = () => {
122120 } ;
123121} ;
124122
125- const uploadLogo = async ( uid , file ) => {
123+ const uploadLogo = ( uid , file ) => {
126124 const storageRef = firebase . storage ( ) . ref ( ) ;
127125
128126 const fileExtension = file . name . split ( '.' ) . pop ( ) ;
@@ -133,9 +131,6 @@ const uploadLogo = async (uid, file) => {
133131} ;
134132
135133const getLogoUrl = ( uid , file ) => {
136- if ( ! file ) {
137- return null ;
138- }
139134 const fileExtension = file . name . split ( '.' ) . pop ( ) ;
140135
141136 const bucketUrl = `${ process . env . REACT_APP_FIRE_BASE_STORAGE_API } ` ;
@@ -174,10 +169,11 @@ export const createUser = ({
174169 const { uid } = response . data ;
175170
176171 let uploadLogoTask = null ;
172+ let logoUrl = null ;
177173 if ( file ) {
174+ logoUrl = getLogoUrl ( uid , file ) ;
178175 uploadLogoTask = uploadLogo ( uid , file ) ;
179176 }
180- const logoUrl = getLogoUrl ( uid , file ) ;
181177
182178 const createUserDbTask = firebase
183179 . database ( )
@@ -229,28 +225,27 @@ export const modifyUser = ({
229225 const { logoUrl } = getState ( )
230226 . users . data . filter ( user => user . id === id )
231227 . pop ( ) ;
232-
233228 let deleteLogoTask ;
234229 let uploadLogoTask ;
235- const newLogoUrl = getLogoUrl ( id , file ) ;
230+ let newLogoUrl = null ;
236231 if ( file ) {
237- deleteLogoTask = deleteLogo ( logoUrl ) ;
232+ newLogoUrl = getLogoUrl ( id , file ) ;
233+ deleteLogoTask = logoUrl ? deleteLogo ( logoUrl ) : null ;
238234 uploadLogoTask = uploadLogo ( id , file ) ;
239235 }
240236
241237 const userData = {
242238 name,
243239 location,
244240 createdAt,
245- isAdmin
241+ isAdmin,
242+ logoUrl : newLogoUrl || logoUrl
246243 } ;
247244
248- if ( logoUrl ) userData . logoUrl = newLogoUrl ;
249-
250245 const updateUserDbTask = firebase
251246 . database ( )
252247 . ref ( `users/${ id } ` )
253- . update ( { ... userData } ) ;
248+ . update ( userData ) ;
254249
255250 try {
256251 await Promise . all ( [ deleteLogoTask , uploadLogoTask , updateUserDbTask ] ) ;
0 commit comments