import { NativeModules } from 'react-native' import Base from './Base' import { GizCallback, GizResult, IUpdateAuthorizeDataParams } from './types' class RNGizUserManagerModule extends Base { logout(): Promise> { return this.callbackWapper((callback: GizCallback) => { NativeModules.RNGizUserManagerModule.logout({}, callback) }) } updateAuthorizeData( params: IUpdateAuthorizeDataParams ): Promise> { return this.callbackWapper((callback: GizCallback) => { NativeModules.RNGizUserManagerModule.updateAuthorizeData(params, callback) }) } getAuthorizeData(): Promise> { return this.callbackWapper((callback: GizCallback) => { NativeModules.RNGizUserManagerModule.getAuthorizeData({}, callback) }) } loginByAnonymous(): Promise> { return this.callbackWapper((callback: GizCallback) => { NativeModules.RNGizUserManagerModule.loginByAnonymous({}, callback) }) } registerWithAccount(username: string, password: string): Promise> { return this.callbackWapper((callback: GizCallback) => { NativeModules.RNGizUserManagerModule.registerWithAccount({username, password}, callback) }) } loginWithAccount(username: string, password: string): Promise> { return this.callbackWapper((callback: GizCallback) => { NativeModules.RNGizUserManagerModule.loginWithAccount({username, password}, callback) }) } } export default new RNGizUserManagerModule() export { RNGizUserManagerModule }