Skip to content

Commit efbc078

Browse files
authored
Merge pull request #381 from rrvrs/500-fix
optimisations
2 parents fc46d27 + da495b3 commit efbc078

File tree

2 files changed

+31
-12
lines changed

2 files changed

+31
-12
lines changed

apps/backend/app/schemas/pydantic/resume_preview.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,18 @@ class PersonalInfo(BaseModel):
1616
class ExperienceItem(BaseModel):
1717
id: int
1818
title: str
19-
company: str
19+
company: Optional[str] = None
2020
location: Optional[str] = None
21-
years: str
22-
description: List[str]
21+
years: Optional[str] = None
22+
description: List[Optional[str]] = []
2323

2424

2525
class EducationItem(BaseModel):
2626
id: int
2727
institution: str
2828
degree: str
2929
years: str
30-
description: str
30+
description: Optional[str] = None
3131

3232

3333
class ResumePreviewerModel(BaseModel):

apps/frontend/lib/api/resume.ts

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,32 @@ export async function improveResume(
2323
resumeId: string,
2424
jobId: string
2525
): Promise<ImprovedResult> {
26-
const res = await fetch(`${API_URL}/api/v1/resumes/improve`, {
27-
method: 'POST',
28-
headers: { 'Content-Type': 'application/json' },
29-
body: JSON.stringify({ resume_id: resumeId, job_id: jobId }),
30-
});
31-
if (!res.ok) throw new Error(`Improve failed with status ${res.status}`);
32-
const data = await res.json();
26+
let response: Response;
27+
try {
28+
response = await fetch(`${API_URL}/api/v1/resumes/improve`, {
29+
method: 'POST',
30+
headers: { 'Content-Type': 'application/json' },
31+
body: JSON.stringify({ resume_id: resumeId, job_id: jobId }),
32+
});
33+
} catch (networkError) {
34+
console.error('Network error during improveResume:', networkError);
35+
throw networkError;
36+
}
37+
38+
const text = await response.text();
39+
if (!response.ok) {
40+
console.error('Improve failed response body:', text);
41+
throw new Error(`Improve failed with status ${response.status}: ${text}`);
42+
}
43+
44+
let data: ImprovedResult;
45+
try {
46+
data = JSON.parse(text) as ImprovedResult;
47+
} catch (parseError) {
48+
console.error('Failed to parse improveResume response:', parseError, 'Raw response:', text);
49+
throw parseError;
50+
}
51+
3352
console.log('Resume improvement response:', data);
34-
return data as ImprovedResult;
53+
return data;
3554
}

0 commit comments

Comments
 (0)