Serving a payment option for my minecraft server so I don't have to pay for it all alone
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

MinecraftPayService.js 1.6KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /// <reference path="../../../../assets/plugins/mithril/mithril/generated/APIRequestImports.d.ts" />
  2. // MLQRequire: { "Type": "API", "Name": "MinecraftPayAPI" }
  3. // MLQRequire: { "Plugin": "Mithril", "Type": "Component", "Name": "Toasts" }
  4. class MinecraftPayService {
  5. constructor() {
  6. LoadQueue.Start(() => {
  7. MinecraftPayAPI.GetAllServers().then(s => MinecraftPayService.Servers = s || []);
  8. });
  9. }
  10. static CreateServer(server) {
  11. MinecraftPayAPI.AddMinecraftServer({ post: { server } }).then(r => {
  12. console.warn(r);
  13. if (r.Success) {
  14. this.Servers.push(r.Obj);
  15. }
  16. Toasts.Messaged(r.Message, Toast.Load({ Type: r.Success ? 'success' : 'danger' }));
  17. });
  18. }
  19. static UpdateServer(id, server) {
  20. MinecraftPayAPI.UpdateServer({ post: { server }, params: { id } }).then(r => {
  21. if (r.Success) {
  22. this.Servers[this.Servers.findIndex(o => o.ID === r.Obj.ID)] = r.Obj;
  23. }
  24. Toasts.Messaged(r.Message, Toast.Load({ Type: r.Success ? 'success' : 'danger' }));
  25. });
  26. }
  27. static DeleteServer(id) {
  28. MinecraftPayAPI.DeleteServer({ params: { id } }).then(r => {
  29. if (r.Success) {
  30. this.Servers.splice(this.Servers.findIndex(o => o.ID === id), 1);
  31. }
  32. Toasts.Messaged(r.Message, Toast.Load({ Type: r.Success ? 'success' : 'danger' }));
  33. });
  34. }
  35. }
  36. MinecraftPayService.INSTANCE = new MinecraftPayService();
  37. MinecraftPayService.Servers = [];