fix user settings API to match rails backend params
This commit is contained in:
parent
919eee8cde
commit
be92eba4aa
2 changed files with 7 additions and 10 deletions
|
|
@ -149,9 +149,10 @@ export class UserAdapter extends BaseAdapter {
|
|||
* Update user profile
|
||||
*/
|
||||
async updateProfile(updates: Partial<UserInfo>): Promise<UserInfo> {
|
||||
// Wrap updates in 'user' key as required by Rails backend
|
||||
const result = await this.request<UserInfo>('/users/me', {
|
||||
method: 'PUT',
|
||||
body: JSON.stringify(updates)
|
||||
body: JSON.stringify({ user: updates })
|
||||
})
|
||||
|
||||
// Clear cache for current user after update
|
||||
|
|
|
|||
|
|
@ -26,25 +26,21 @@ export const users = {
|
|||
* Update user settings
|
||||
*/
|
||||
update: async (userId: string, params: UserUpdateParams): Promise<UserResponse> => {
|
||||
// Transform flat params to nested UserInfo structure
|
||||
// Pass flat params directly - backend expects flat picture/element fields
|
||||
const updates: {
|
||||
picture?: string | undefined
|
||||
element?: string | undefined
|
||||
gender?: number | undefined
|
||||
language?: string | undefined
|
||||
theme?: string | undefined
|
||||
avatar?: { picture: string; element: string } | undefined
|
||||
} = {}
|
||||
|
||||
if (params.picture !== undefined) updates.picture = params.picture
|
||||
if (params.element !== undefined) updates.element = params.element
|
||||
if (params.gender !== undefined) updates.gender = params.gender
|
||||
if (params.language !== undefined) updates.language = params.language
|
||||
if (params.theme !== undefined) updates.theme = params.theme
|
||||
|
||||
if (params.picture !== undefined || params.element !== undefined) {
|
||||
updates.avatar = {
|
||||
picture: params.picture ?? '',
|
||||
element: params.element ?? ''
|
||||
}
|
||||
}
|
||||
|
||||
const result = await userAdapter.updateProfile(updates)
|
||||
return {
|
||||
id: result.id,
|
||||
|
|
|
|||
Loading…
Reference in a new issue