/// // MLQRequire: { "Type": "API", "Name": "MinecraftPayAPI" } // MLQRequire: { "Plugin": "Mithril", "Type": "Component", "Name": "Toasts" } class MinecraftPayService { constructor() { LoadQueue.Start(() => { MinecraftPayAPI.GetAllServers().then(s => MinecraftPayService.Servers = s || []); MinecraftPayAPI.GetAllUsers().then(u => MinecraftPayService.Users = u || []); MinecraftPayAPI.GetAllCharges().then(mua => MinecraftPayService.UserAccounts = mua || []); }); } static RefreshCharges() { LoadQueue.Start(() => { MinecraftPayAPI.GetAllCharges().then(mua => MinecraftPayService.UserAccounts = mua || []); }); } static CreateServer(server) { 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' })); }); } static UpdateServer(id, server) { 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' })); }); } static DeleteServer(id) { 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' })); }); } static CreateUser(user) { 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' } ) ); // } ); // } static DeleteUser(id) { 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' })); }); } } MinecraftPayService.INSTANCE = new MinecraftPayService(); MinecraftPayService.Servers = []; MinecraftPayService.Users = []; MinecraftPayService.UserAccounts = [];