using System.Collections.Immutable; using Phantom.Common.Data.Java; using Phantom.Common.Data.Minecraft; using Phantom.Common.Data.Replies; using Phantom.Common.Data.Web.AuditLog; using Phantom.Common.Data.Web.EventLog; using Phantom.Common.Data.Web.Instance; using Phantom.Common.Data.Web.Users; using Phantom.Common.Messages.Web.BiDirectional; using Phantom.Common.Messages.Web.ToController; using Phantom.Utils.Rpc.Message; namespace Phantom.Common.Messages.Web; public interface IMessageToControllerListener { Task<NoReply> HandleRegisterWeb(RegisterWebMessage message); Task<NoReply> HandleUnregisterWeb(UnregisterWebMessage message); Task<LogInSuccess?> HandleLogIn(LogInMessage message); Task<CreateOrUpdateAdministratorUserResult> HandleCreateOrUpdateAdministratorUser(CreateOrUpdateAdministratorUserMessage message); Task<CreateUserResult> HandleCreateUser(CreateUserMessage message); Task<ImmutableArray<UserInfo>> HandleGetUsers(GetUsersMessage message); Task<ImmutableArray<RoleInfo>> HandleGetRoles(GetRolesMessage message); Task<ImmutableDictionary<Guid, ImmutableArray<Guid>>> HandleGetUserRoles(GetUserRolesMessage message); Task<ChangeUserRolesResult> HandleChangeUserRoles(ChangeUserRolesMessage message); Task<DeleteUserResult> HandleDeleteUser(DeleteUserMessage message); Task<InstanceActionResult<CreateOrUpdateInstanceResult>> HandleCreateOrUpdateInstance(CreateOrUpdateInstanceMessage message); Task<InstanceActionResult<LaunchInstanceResult>> HandleLaunchInstance(LaunchInstanceMessage message); Task<InstanceActionResult<StopInstanceResult>> HandleStopInstance(StopInstanceMessage message); Task<InstanceActionResult<SendCommandToInstanceResult>> HandleSendCommandToInstance(SendCommandToInstanceMessage message); Task<ImmutableArray<MinecraftVersion>> HandleGetMinecraftVersions(GetMinecraftVersionsMessage message); Task<ImmutableDictionary<Guid, ImmutableArray<TaggedJavaRuntime>>> HandleGetAgentJavaRuntimes(GetAgentJavaRuntimesMessage message); Task<ImmutableArray<AuditLogItem>> HandleGetAuditLog(GetAuditLogMessage message); Task<ImmutableArray<EventLogItem>> HandleGetEventLog(GetEventLogMessage message); Task<NoReply> HandleReply(ReplyMessage message); }