Serving a payment option for my minecraft server so I don't have to pay for it all alone
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

MinecraftUsers.class.ts 1.8KB

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