mnubo-sdk
Version:
mnubo SmartObjects JavaScript client
62 lines (49 loc) • 1.64 kB
text/typescript
import { Client } from '../mnubo';
import { authenticate } from '../decorators';
export class Owners {
private path: string;
constructor(private client: Client) {
this.path = '/api/v3/owners';
}
create(payload: any): Promise<any> {
return this.client.post(this.path, payload);
}
update(username: string, payload: any): Promise<any> {
return this.client.put(`${this.path}/${username}`, payload);
}
createUpdate(payload: Array<any>): Promise<any> {
return this.client.put(`${this.path}`, payload);
}
delete(username: string): Promise<any> {
return this.client.delete(`${this.path}/${username}`);
}
claim(username: string, deviceId: string, payload: any): Promise<any> {
return this.client.post(`${this.path}/${username}/objects/${deviceId}/claim`, payload);
}
batchClaim(claims: Array<any>): Promise<any> {
return this.client.post(`${this.path}/claim`, claims);
}
unclaim(username: string, deviceId: string, payload: any): Promise<any> {
return this.client.post(`${this.path}/${username}/objects/${deviceId}/unclaim`, payload);
}
batchUnclaim(unclaims: Array<any>): Promise<any> {
return this.client.post(`${this.path}/unclaim`, unclaims);
}
exists(usernames: Array<string> | string): Promise<any> {
const path = `${this.path}/exists`;
if (Array.isArray(usernames)) {
return this.client.post(`${path}`, usernames);
} else {
return this.client.get(`${path}/${usernames}`);
}
}
}