First commit

This commit is contained in:
shaw
2025-12-18 13:50:39 +08:00
parent 569f4882e5
commit 642842c29e
218 changed files with 86902 additions and 0 deletions

41
frontend/src/api/user.ts Normal file
View File

@@ -0,0 +1,41 @@
/**
* User API endpoints
* Handles user profile management and password changes
*/
import { apiClient } from './client';
import type { User, ChangePasswordRequest } from '@/types';
/**
* Get current user profile
* @returns User profile data
*/
export async function getProfile(): Promise<User> {
const { data } = await apiClient.get<User>('/users/me');
return data;
}
/**
* Change current user password
* @param passwords - Old and new password
* @returns Success message
*/
export async function changePassword(
oldPassword: string,
newPassword: string
): Promise<{ message: string }> {
const payload: ChangePasswordRequest = {
old_password: oldPassword,
new_password: newPassword,
};
const { data } = await apiClient.post<{ message: string }>('/users/me/password', payload);
return data;
}
export const userAPI = {
getProfile,
changePassword,
};
export default userAPI;