Serving a payment option for my minecraft server so I don't have to pay for it all alone
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

MinecraftUsers.class.ts 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. if ( typeof ( MinecraftUser ) !== 'function' ) LoadQueue.Start( () => {
  7. } )
  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. }