MSAgent-Chat/protocol/src/admin.ts

64 lines
1.4 KiB
TypeScript
Raw Normal View History

import { MSAgentProtocolMessage, MSAgentProtocolMessageType } from "./protocol";
export enum MSAgentAdminOperation {
// Client-to-server
Kick = "kick",
Ban = "ban",
// Bidirectional
Login = "login",
GetIP = "ip",
}
export interface MSAgentAdminMessage extends MSAgentProtocolMessage {
op: MSAgentProtocolMessageType.Admin,
data: {
action: MSAgentAdminOperation
}
}
// Client-to-server
export interface MSAgentAdminLoginMessage extends MSAgentAdminMessage {
data: {
action: MSAgentAdminOperation.Login,
password: string
}
}
export interface MSAgentAdminGetIPMessage extends MSAgentAdminMessage {
data: {
action: MSAgentAdminOperation.GetIP,
username: string
}
}
export interface MSAgentAdminKickMessage extends MSAgentAdminMessage {
data: {
action: MSAgentAdminOperation.Kick,
username: string
}
}
export interface MSAgentAdminBanMessage extends MSAgentAdminMessage {
data: {
action: MSAgentAdminOperation.Ban,
username: string
}
}
// Server-to-client
export interface MSAgentAdminLoginResponse extends MSAgentAdminMessage {
data: {
action: MSAgentAdminOperation.Login,
success: boolean
}
}
export interface MSAgentAdminGetIPResponse extends MSAgentAdminMessage {
data: {
action: MSAgentAdminOperation.GetIP,
username: string
ip: string
}
}