fix(WEB): 프로필 이미지 업로드 및 회사 로고 기능 수정
AccountInfoManagement: - toAbsoluteUrl() 함수 추가 (상대경로 → 절대 URL 변환) - getAccountInfo()에서 /api/v1/profiles/me 조회 추가 (이미지 새로고침 후 유지) - uploadProfileImage() 구현 (2단계: 파일 업로드 → 프로필 업데이트) - updateAgreements() 구현 (약관 동의 수정) - withdrawAccount()에 password 파라미터 추가 CompanyInfoManagement: - toAbsoluteUrl() 함수 추가 (로고 이미지 경로 변환) fetch-wrapper: - FormData 전송 시 Content-Type 헤더 제외 (브라우저 자동 설정)
This commit is contained in:
@@ -83,7 +83,17 @@ export async function serverFetch(
|
||||
const cookieStore = await cookies();
|
||||
const refreshToken = cookieStore.get('refresh_token')?.value;
|
||||
|
||||
const headers = await getServerApiHeaders();
|
||||
const baseHeaders = await getServerApiHeaders() as Record<string, string>;
|
||||
|
||||
// FormData일 경우 Content-Type을 제외 (브라우저가 자동 설정)
|
||||
const isFormData = options?.body instanceof FormData;
|
||||
const headers: HeadersInit = isFormData
|
||||
? {
|
||||
Accept: baseHeaders.Accept,
|
||||
Authorization: baseHeaders.Authorization,
|
||||
'X-API-KEY': baseHeaders['X-API-KEY'],
|
||||
}
|
||||
: baseHeaders;
|
||||
|
||||
let response = await fetch(url, {
|
||||
...options,
|
||||
@@ -107,7 +117,15 @@ export async function serverFetch(
|
||||
await setNewTokenCookies(refreshResult);
|
||||
|
||||
// 새 토큰으로 원래 요청 재시도
|
||||
const newHeaders = await getServerApiHeaders(refreshResult.accessToken);
|
||||
const newBaseHeaders = await getServerApiHeaders(refreshResult.accessToken) as Record<string, string>;
|
||||
// FormData일 경우 Content-Type을 제외 (브라우저가 자동 설정)
|
||||
const newHeaders: HeadersInit = isFormData
|
||||
? {
|
||||
Accept: newBaseHeaders.Accept,
|
||||
Authorization: newBaseHeaders.Authorization,
|
||||
'X-API-KEY': newBaseHeaders['X-API-KEY'],
|
||||
}
|
||||
: newBaseHeaders;
|
||||
response = await fetch(url, {
|
||||
...options,
|
||||
headers: {
|
||||
|
||||
Reference in New Issue
Block a user