Skip to content

Commit eaabf04

Browse files
committed
username already exist issue solved
1 parent 2f88420 commit eaabf04

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

frontend/src/services/apiClient.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,21 @@ export async function apiRequest(path, options = {}) {
3131
const data = await response.json().catch(() => null)
3232

3333
if (!response.ok) {
34-
const message = data?.error || data?.detail || 'Request failed'
34+
let message = data?.error || data?.detail
35+
36+
// Handle DRF field-level validation errors, e.g.:
37+
// {"username": ["A user with that username already exists."]}
38+
if (!message && data && typeof data === 'object') {
39+
const firstErrorList = Object.values(data).find(
40+
(value) => Array.isArray(value) && value.length > 0
41+
)
42+
const firstError = Object.values(data).find(
43+
(value) => typeof value === 'string' && value
44+
)
45+
message = firstErrorList?.[0] || firstError
46+
}
47+
48+
message = message || 'Request failed'
3549
throw new Error(message)
3650
}
3751

0 commit comments

Comments
 (0)