59 lines
1.1 KiB
TypeScript
Raw Normal View History

2022-09-03 23:32:20 +02:00
import type { Requests, Responses } from '@/dto';
import { UserRole, get_token, post_token, isErrorResponse } from './base';
2022-08-25 20:42:53 +02:00
2022-09-03 23:32:20 +02:00
export const get_users = (token: string): Promise<Responses.GetUsers> =>
get_token('/api/admin/users', token);
2022-08-25 20:42:53 +02:00
export const set_role = (
2022-09-03 23:32:20 +02:00
user: number,
role: UserRole,
token: string
): Promise<Responses.Success | Responses.Error> =>
post_token<Requests.SetUserRole>(
'/api/admin/set_role',
{
user,
role
},
token
);
2022-08-25 20:42:53 +02:00
export const logout = (
2022-09-03 23:32:20 +02:00
user: number,
token: string
): Promise<Responses.Success | Responses.Error> =>
post_token<Requests.Admin>(
'/api/admin/logout',
{
user
},
token
);
2022-08-25 20:42:53 +02:00
export const delete_user = (
2022-09-03 23:32:20 +02:00
user: number,
token: string
): Promise<Responses.Success | Responses.Error> =>
post_token<Requests.Admin>(
'/api/admin/delete',
{
user
},
token
);
2022-08-25 20:42:53 +02:00
export const disable_tfa = (
2022-09-03 23:32:20 +02:00
user: number,
token: string
): Promise<Responses.Success | Responses.Error> =>
post_token<Requests.Admin>(
'/api/admin/disable_2fa',
{
user
},
token
);
export const is_admin = async (token: string): Promise<boolean> =>
!isErrorResponse(await get_token('/api/admin/is_admin', token));