Serving a payment option for my minecraft server so I don't have to pay for it all alone
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

MinecraftUsers.class.js 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // MLQRequire: { "Plugin": "Minecraft-Payment", "Type": "Service", "Name": "MinecraftPayService" }
  2. class MinecraftUsers {
  3. constructor() {
  4. this.user = {};
  5. this.subscriptionsStates = new Map();
  6. }
  7. onview(vnode) {
  8. if (typeof (MinecraftUser) !== 'function')
  9. LoadQueue.Start(() => {
  10. });
  11. else
  12. this.loadUser();
  13. }
  14. loadUser() {
  15. var id = m.route.param('id');
  16. if (id.match(/^[0-9]+$/))
  17. id = +id;
  18. else
  19. return;
  20. if (this.user.ID !== id) {
  21. this.user = $.extend(true, new MinecraftUser(), MinecraftPayService.Users.find(o => o.ID === id)) || this.user;
  22. if (this.user.ID) {
  23. MinecraftPayAPI.GetAllSubscriptionStates({ params: { id } }).then(map => {
  24. this.subscriptionsStates = map || this.subscriptionsStates;
  25. });
  26. }
  27. m.redraw();
  28. }
  29. }
  30. UnlockServer(serverId) {
  31. if (!this.subscriptionsStates.get(serverId)) {
  32. Modal.YesNo('Delete minecraft user', __('Do you really want to unlock this server for this minecraft user?'), (c, e) => this.unlockServer(this.user.ID, serverId, c)).Show();
  33. }
  34. }
  35. unlockServer(userId, serverId, confirmed) {
  36. if (confirmed) {
  37. MinecraftPayAPI.SubscribeServer({ params: { id: userId, serverId } }).then(r => {
  38. this.subscriptionsStates.set(serverId, r.Obj);
  39. Toasts.Messaged(r.Message, Toast.Load({ Type: r.Success ? 'success' : 'danger' }));
  40. });
  41. }
  42. return undefined;
  43. }
  44. }