@@ -71,7 +71,7 @@ const getConfig = () => {
7171 throw new Error ( `Not supported vendor: ${ vendor } ` ) ;
7272} ;
7373
74- const createS3Service = ( bucket : string , isPublic : boolean ) => {
74+ const createS3Service = async ( bucket : string , isPublic : boolean ) => {
7575 const { config, externalConfig, externalBaseUrl } = getConfig ( ) ;
7676
7777 const client = createStorage ( { bucket, ...config } as IStorageOptions ) ;
@@ -87,41 +87,37 @@ const createS3Service = (bucket: string, isPublic: boolean) => {
8787 }
8888 } ;
8989
90- client
91- . ensureBucket ( )
92- . then ( ( ) => {
93- if ( isPublic ) ensurePublicPolicy ( client ) ;
94- } )
95- . catch ( ( err ) => {
96- addLog . error ( `Failed to ensure bucket "${ bucket } " exists:` , err ) ;
97- } ) ;
98-
99- if ( externalClient ) {
100- externalClient
101- . ensureBucket ( )
102- . then ( ( ) => {
103- if ( isPublic ) ensurePublicPolicy ( externalClient ) ;
104- } )
105- . catch ( ( err ) => {
106- addLog . error ( `Failed to ensure external bucket "${ bucket } " exists:` , err ) ;
107- } ) ;
90+ try {
91+ await client . ensureBucket ( ) ;
92+ if ( isPublic ) ensurePublicPolicy ( client ) ;
93+ } catch ( error ) {
94+ addLog . error ( `Failed to ensure bucket "${ bucket } " exists:` , error ) ;
95+ addLog . debug ( `Storage client:` , client ) ;
96+ }
97+
98+ try {
99+ await externalClient ?. ensureBucket ( ) ;
100+ if ( isPublic && externalClient ) ensurePublicPolicy ( externalClient ) ;
101+ } catch ( error ) {
102+ addLog . error ( `Failed to ensure bucket "${ bucket } " exists:` , error ) ;
103+ addLog . debug ( `Storage client:` , externalClient ) ;
108104 }
109105
110106 return new S3Service ( client , externalClient ) ;
111107} ;
112108
113- export const publicS3Server = ( ( ) => {
109+ export const publicS3Server = await ( async ( ) => {
114110 if ( ! global . _publicS3Server ) {
115111 const { publicBucket } = getConfig ( ) ;
116- global . _publicS3Server = createS3Service ( publicBucket , true ) ;
112+ global . _publicS3Server = await createS3Service ( publicBucket , true ) ;
117113 }
118114 return global . _publicS3Server ;
119115} ) ( ) ;
120116
121- export const privateS3Server = ( ( ) => {
117+ export const privateS3Server = await ( async ( ) => {
122118 if ( ! global . _privateS3Server ) {
123119 const { privateBucket } = getConfig ( ) ;
124- global . _privateS3Server = createS3Service ( privateBucket , false ) ;
120+ global . _privateS3Server = await createS3Service ( privateBucket , false ) ;
125121 }
126122 return global . _privateS3Server ;
127123} ) ( ) ;
0 commit comments