39 lines
1.1 KiB
TypeScript
39 lines
1.1 KiB
TypeScript
|
const HIDE_MESSAGE_ENDPOINT = `/api/chat/messagevisibility`;
|
||
|
const BAN_USER_ENDPOINT = `/api/chat/users/setenabled`;
|
||
|
|
||
|
class ChatModerationService {
|
||
|
public static async removeMessage(id: string, accessToken: string): Promise<any> {
|
||
|
const url = new URL(HIDE_MESSAGE_ENDPOINT, window.location.toString());
|
||
|
url.searchParams.append('accessToken', accessToken);
|
||
|
const hideMessageUrl = url.toString();
|
||
|
|
||
|
const options = {
|
||
|
method: 'POST',
|
||
|
headers: {
|
||
|
'Content-Type': 'application/json',
|
||
|
},
|
||
|
body: JSON.stringify({ idArray: [id] }),
|
||
|
};
|
||
|
|
||
|
await fetch(hideMessageUrl, options);
|
||
|
}
|
||
|
|
||
|
public static async banUser(id: string, accessToken: string): Promise<any> {
|
||
|
const url = new URL(BAN_USER_ENDPOINT, window.location.toString());
|
||
|
url.searchParams.append('accessToken', accessToken);
|
||
|
const hideMessageUrl = url.toString();
|
||
|
|
||
|
const options = {
|
||
|
method: 'POST',
|
||
|
headers: {
|
||
|
'Content-Type': 'application/json',
|
||
|
},
|
||
|
body: JSON.stringify({ id }),
|
||
|
};
|
||
|
|
||
|
await fetch(hideMessageUrl, options);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export default ChatModerationService;
|