UNPKG

lh-sdk

Version:

LassondeHacks REST API SDK in Typescript

70 lines (54 loc) 1.67 kB
import { Model, SDK, Response } from './common'; module User { export interface UserInterface { id: number; username: string; password: string; } interface CreateUserResponse extends Response { user: UserInterface; } interface GetUserInfoResponse extends Response { user: UserInterface; } export async function create(user: UserInterface): Promise<Instance> { try { let res = <CreateUserResponse>await SDK.getInstance().POST("user", user); return new Instance(res.user); } catch (err) { return null; } } export async function getInfo(): Promise<Instance> { try { let res = <GetUserInfoResponse> await SDK.getInstance().GET("user/info"); if (res.success) { return new Instance(res.user); } else { return null; } } catch (err) { return null; } } export class Instance implements UserInterface, Model { public id: number; public username: string; public password: string; constructor(user: UserInterface) { this.username = user.username; this.password = user.password; } public async save(): Promise<boolean> { return new Promise<boolean>((resolve, reject) => { resolve(true); }); } public async delete(): Promise<boolean> { return new Promise<boolean>((resolve, reject) => { resolve(true); }); } } } export = User;