lh-sdk
Version:
LassondeHacks REST API SDK in Typescript
66 lines (50 loc) • 1.47 kB
text/typescript
import { Model, SDK, Response } from './common';
module Team {
export interface TeamInterface {
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 save(): boolean {
return true;
}
public delete(): boolean {
return true;
}
}
}
export = Team;