31 lines
1.2 KiB
TypeScript
31 lines
1.2 KiB
TypeScript
import { UpdateProfilePayload, UpdateProfileResponse, UserData } from '@interfaces';
|
|
import { api } from '@utils';
|
|
|
|
export const updateProfileApi = async (
|
|
payload: UpdateProfilePayload,
|
|
): Promise<UpdateProfileResponse> => {
|
|
const formData = new FormData();
|
|
|
|
formData.append('id', String(payload.id));
|
|
formData.append('email', payload.email);
|
|
|
|
if (payload.firstname !== undefined) formData.append('firstname', payload.firstname);
|
|
if (payload.lastname !== undefined) formData.append('lastname', payload.lastname);
|
|
if (payload.phonenumber !== undefined) formData.append('phonenumber', payload.phonenumber);
|
|
if (payload.email_signature !== undefined) formData.append('email_signature', payload.email_signature);
|
|
if (payload.password) formData.append('password', payload.password);
|
|
if (payload.passwordr) formData.append('passwordr', payload.passwordr);
|
|
|
|
if (payload.profile_image) {
|
|
formData.append('profile_image', payload.profile_image as any);
|
|
}
|
|
|
|
return await api.post<UpdateProfileResponse>('/api/staffupdate', formData);
|
|
};
|
|
|
|
export const getStaffDetailsApi = async (
|
|
id: string | number,
|
|
): Promise<UserData> => {
|
|
return await api.get<UserData>(`/api/staffs/${id}`);
|
|
};
|