/// // MLQRequire: { "Type": "API", "Name": "MinecraftPayAPI" } // MLQRequire: { "Plugin": "Mithril", "Type": "Component", "Name": "Toasts" } class MinecraftPayService { public static INSTANCE: MinecraftPayService = new MinecraftPayService(); public static Servers: MinecraftServer[] = []; private constructor() { LoadQueue.Start( () => { MinecraftPayAPI.GetAllServers().then( s => MinecraftPayService.Servers = s || [] ); } ); } public static CreateServer( server: MinecraftServer ) { MinecraftPayAPI.AddMinecraftServer( { post: { server } } ).then( r => { console.warn( r ); if ( r.Success ) { this.Servers.push( r.Obj ); } Toasts.Messaged( r.Message, Toast.Load( { Type: r.Success ? 'success' : 'danger' } ) ); } ); } public static UpdateServer( id: number, server: MinecraftServer ) { MinecraftPayAPI.UpdateServer( { post: { server }, params: { id } } ).then( r => { if ( r.Success ) { this.Servers[ this.Servers.findIndex( o => o.ID === r.Obj.ID ) ] = r.Obj; } Toasts.Messaged( r.Message, Toast.Load( { Type: r.Success ? 'success' : 'danger' } ) ); } ); } public static DeleteServer( id: number ) { MinecraftPayAPI.DeleteServer( { params: { id } } ).then( r => { if ( r.Success ) { this.Servers.splice( this.Servers.findIndex( o => o.ID === id ), 1 ); } Toasts.Messaged( r.Message, Toast.Load( { Type: r.Success ? 'success' : 'danger' } ) ); } ); } }