| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- // MLQRequire: { "Plugin": "Minecraft-Payment", "Type": "Service", "Name": "MinecraftPayService" }
-
- class MinecraftUsers {
- private user: MinecraftUser = {} as MinecraftUser;
- private subscriptionsStates: Map<number, boolean> = new Map();
-
- public onview( vnode ) {
- if ( typeof ( MinecraftUser ) !== 'function' ) LoadQueue.Start( () => {
- } )
- else this.loadUser();
- }
-
- private loadUser() {
- var id: string | number = m.route.param( 'id' );
- if ( id.match( /^[0-9]+$/ ) ) id = +id;
- else return;
-
- if ( this.user.ID !== id ) {
- this.user = $.extend( true, new MinecraftUser(), MinecraftPayService.Users.find( o => o.ID === id ) ) || this.user;
- if ( this.user.ID ) {
- MinecraftPayAPI.GetAllSubscriptionStates( { params: { id } } ).then( map => {
- this.subscriptionsStates = map || this.subscriptionsStates;
- } );
- }
- m.redraw();
- }
- }
-
- private UnlockServer( serverId: number ) {
- if ( !this.subscriptionsStates.get( serverId ) ) {
- 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();
- }
- }
-
- private unlockServer( userId: number, serverId: number, confirmed: boolean ): boolean {
- if ( confirmed ) {
- MinecraftPayAPI.SubscribeServer( { params: { id: userId, serverId } } ).then( r => {
- this.subscriptionsStates.set( serverId, r.Obj );
- Toasts.Messaged( r.Message, Toast.Load( { Type: r.Success ? 'success' : 'danger' } ) );
- } );
- }
- return undefined;
- }
-
- public constructor() {
- }
- }
|