@@ -90,40 +90,40 @@ const createS3Service = async (bucket: string, isPublic: boolean) => {
9090 }
9191 } ;
9292
93- try {
94- await client . ensureBucket ( ) ;
95- if ( isPublic ) await ensurePublicPolicy ( client ) ;
96- } catch ( error ) {
97- logger . info ( `Failed to ensure bucket "${ bucket } " exists:` , { error } ) ;
98- }
93+ await client . ensureBucket ( ) ;
94+ if ( isPublic ) await ensurePublicPolicy ( client ) ;
9995
100- try {
101- await externalClient ?. ensureBucket ( ) ;
102- if ( isPublic && externalClient ) await ensurePublicPolicy ( externalClient ) ;
103- } catch ( error ) {
104- logger . info ( `Failed to ensure bucket "${ bucket } " exists:` , { error } ) ;
105- }
96+ await externalClient ?. ensureBucket ( ) ;
97+ if ( isPublic && externalClient ) await ensurePublicPolicy ( externalClient ) ;
10698
10799 return new S3Service ( client , externalClient ) ;
108100} ;
109101
110- export const publicS3Server = await ( async ( ) => {
111- if ( ! global . _publicS3Server ) {
112- const { publicBucket } = getConfig ( ) ;
113- global . _publicS3Server = await createS3Service ( publicBucket , true ) ;
114- }
115- return global . _publicS3Server ;
116- } ) ( ) ;
117-
118- export const privateS3Server = await ( async ( ) => {
119- if ( ! global . _privateS3Server ) {
120- const { privateBucket } = getConfig ( ) ;
121- global . _privateS3Server = await createS3Service ( privateBucket , false ) ;
122- }
123- return global . _privateS3Server ;
124- } ) ( ) ;
125-
126102declare global {
127103 var _publicS3Server : S3Service ;
128104 var _privateS3Server : S3Service ;
129105}
106+
107+ export const initS3Service = async ( ) => {
108+ const logger = getLogger ( infra . storage ) ;
109+ logger . info ( 'Initializing S3 service...' ) ;
110+ const { publicBucket, privateBucket } = getConfig ( ) ;
111+
112+ try {
113+ if ( ! globalThis . _publicS3Server ) {
114+ logger . debug ( 'Initializing public S3 service...' ) ;
115+ globalThis . _publicS3Server = await createS3Service ( publicBucket , true ) ;
116+ }
117+
118+ if ( ! globalThis . _privateS3Server ) {
119+ logger . debug ( 'Initializing private S3 service...' ) ;
120+ globalThis . _privateS3Server = await createS3Service ( privateBucket , false ) ;
121+ }
122+ } catch ( e ) {
123+ logger . error ( 'Failed to initialize S3 service:' , { error : e } ) ;
124+ throw new Error ( 'Failed to initialize S3 service' ) ;
125+ }
126+ } ;
127+
128+ export const publicS3Server = globalThis . _publicS3Server ;
129+ export const privateS3Server = globalThis . _privateS3Server ;
0 commit comments