/// // MLQRequire: { "Type": "API", "Name": "MinecraftPayAPI" } // MLQRequire: { "Plugin": "Mithril", "Type": "Component", "Name": "Toasts" } class MinecraftPayService { public static INSTANCE: MinecraftPayService = new MinecraftPayService(); public static Servers: MinecraftServer[] = []; public static Users: MinecraftUser[] = []; public static UserAccounts: MinecraftUserAccount[] = []; private constructor() { LoadQueue.Start( () => { MinecraftPayAPI.GetAllServers().then( s => MinecraftPayService.Servers = s || [] ); MinecraftPayAPI.GetAllUsers().then( u => MinecraftPayService.Users = u || [] ); MinecraftPayAPI.GetAllCharges().then( mua => MinecraftPayService.UserAccounts = mua || [] ); } ); } public static RefreshCharges() { LoadQueue.Start( () => { MinecraftPayAPI.GetAllCharges().then( mua => MinecraftPayService.UserAccounts = mua || [] ); } ); } public static CreateServer( server: MinecraftServer ) { MinecraftPayAPI.AddServer( { post: { server } } ).then( 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' } ) ); } ); } public static CreateUser( user: MinecraftUser ) { MinecraftPayAPI.AddUser( { post: { user } } ).then( r => { if ( r.Success ) { this.Users.push( r.Obj ); } Toasts.Messaged( r.Message, Toast.Load( { Type: r.Success ? 'success' : 'danger' } ) ); } ); } // public static UpdateUser( id: number, user: MinecraftUser ) { // MinecraftPayAPI.UpdateUser( { post: { user }, params: { id } } ).then( r => { // if ( r.Success ) { // this.Users[ this.Users.findIndex( o => o.ID === r.Obj.ID ) ] = r.Obj; // } // Toasts.Messaged( r.Message, Toast.Load( { Type: r.Success ? 'success' : 'danger' } ) ); // } ); // } public static DeleteUser( id: number ) { MinecraftPayAPI.DeleteUser( { params: { id } } ).then( r => { if ( r.Success ) { this.Users.splice( this.Users.findIndex( o => o.ID === id ), 1 ); } Toasts.Messaged( r.Message, Toast.Load( { Type: r.Success ? 'success' : 'danger' } ) ); } ); } }