update error handler

This commit is contained in:
smanylov
2026-02-04 16:10:16 +07:00
parent 40fa737208
commit e778cf7e33
6 changed files with 53 additions and 24 deletions
+32 -7
View File
@@ -2,6 +2,8 @@
import { API_BASE_URL } from '@/app/actions/definitions';
import { getSessionData } from '@/app/actions/session';
import { FormState } from '@/app/actions/auth';
import { unknown } from 'zod';
interface initMessageBody {
file_name: string,
@@ -101,7 +103,12 @@ export async function cancelUpload(udloadId: string) {
}
}
export async function chunkUpload(formData: FormData) {
export type ChunkResponse = {
errorMesage: string | null
fileId?: string
};
export async function chunkUpload(formData: FormData): Promise<ChunkResponse> {
try {
const response = await fetch(`${API_BASE_URL}/api/v1/files/chunk`, {
method: 'POST',
@@ -111,17 +118,35 @@ export async function chunkUpload(formData: FormData) {
if (response.ok) {
let parsed = await response.json();
if (parsed.message_desc === 'Upload cancelled successfully') {
return parsed.message_body;
if (parsed.message_code === 0) {
console.log('code 0');
return {
errorMesage: null,
fileId: parsed.message_body.file_id
}
} else if (parsed.message_desc === 'Duplicate file upload') {
throw 'duplicate-file'
} else if (parsed.message_desc === 'Failed to upload chunk: Failed to upload chunk: User not have tokens for protect') {
throw 'user-not-have-tokens-for-protect'
} else {
throw parsed;
throw 'error'
}
} else {
throw (`${response.status}`);
throw 'error'
}
} catch (error: unknown) {
if (error) {
const typedError = error as any;
return {
errorMesage: typedError
};
} else {
return {
errorMesage: 'error'
};
}
} catch (error) {
return error
}
}