-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathusers.ts
More file actions
30 lines (24 loc) · 1.1 KB
/
users.ts
File metadata and controls
30 lines (24 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import type { TestRailCtx } from '../TestRailCtx';
import { pagination } from '../internal/pagination';
import { _api } from '../internal/request';
import type { AddUser, User, UserFilters } from '../payload';
export function getUser(ctx: TestRailCtx, userId: number): Promise<User> {
return _api(ctx, 'GET', `get_user/${userId}`);
}
export function getCurrentUser(ctx: TestRailCtx): Promise<User> {
return _api(ctx, 'GET', `get_current_user`);
}
export function getUserByEmail(ctx: TestRailCtx, email: string): Promise<User> {
return _api(ctx, 'GET', 'get_user_by_email', { query: { email } });
}
export function getUsers(ctx: TestRailCtx, filters?: UserFilters): Promise<User[]> {
return pagination('users', filters, (filters) => {
return _api(ctx, 'GET', 'get_users', { query: filters });
});
}
export function addUser(ctx: TestRailCtx, payload: AddUser): Promise<User> {
return _api(ctx, 'POST', 'add_user', { json: payload });
}
export function updateUser(ctx: TestRailCtx, userId: number, payload: AddUser): Promise<User> {
return _api(ctx, 'POST', `update_user/${userId}`, { json: payload });
}