65 lines
1.3 KiB
TypeScript
65 lines
1.3 KiB
TypeScript
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;
|
|
};
|
|
}
|