40 lines
1.0 KiB
TypeScript
40 lines
1.0 KiB
TypeScript
import apiClient from './authApi';
|
|
|
|
export interface UserSummary {
|
|
userId: string;
|
|
email: string;
|
|
displayName?: string;
|
|
firstName?: string;
|
|
lastName?: string;
|
|
department?: string;
|
|
designation?: string;
|
|
isActive?: boolean;
|
|
}
|
|
|
|
export async function searchUsers(query: string, limit: number = 10): Promise<UserSummary[]> {
|
|
const res = await apiClient.get('/users/search', { params: { q: query, limit } });
|
|
const data = (res.data?.data || res.data) as any[];
|
|
return data as UserSummary[];
|
|
}
|
|
|
|
/**
|
|
* Ensure user exists in database (creates if not exists)
|
|
* Call this when a user is selected/tagged to pre-create their record
|
|
*/
|
|
export async function ensureUserExists(userData: {
|
|
userId: string;
|
|
email: string;
|
|
displayName?: string;
|
|
firstName?: string;
|
|
lastName?: string;
|
|
department?: string;
|
|
phone?: string;
|
|
}): Promise<UserSummary> {
|
|
const res = await apiClient.post('/users/ensure', userData);
|
|
return (res.data?.data || res.data) as UserSummary;
|
|
}
|
|
|
|
export default { searchUsers, ensureUserExists };
|
|
|
|
|