@bit-ui-libs/common
Version:
This library was generated with [Nx](https://nx.dev).
57 lines (45 loc) • 1.78 kB
text/typescript
import { BaseService, BaseServiceOptions } from '../api/services/base-service';
import { PagedResponse } from '../common';
import {
InitDeviceVdtRequest,
RegisterAdminDeviceRequest,
RegisterDeviceRequest,
SearchDevicesRequest,
ValidateDeviceRequest,
ValidateDeviceResponse,
} from './device.service.interfaces';
import { Device } from './interfaces';
export class DeviceService extends BaseService {
protected deviceApiUrl: string;
constructor(opts: BaseServiceOptions) {
super(opts);
this.deviceApiUrl = `${this.apiUrl}/devices/v1/devices`;
}
searchDevices(req: SearchDevicesRequest) {
return this.get<PagedResponse<Device>>(this.deviceApiUrl, req);
}
registerDevice(req: RegisterDeviceRequest) {
return this.post<Device, RegisterDeviceRequest>(`${this.deviceApiUrl}/register`, req);
}
registerAdminDevice(req: RegisterAdminDeviceRequest) {
return this.post<Device, RegisterAdminDeviceRequest>(`${this.deviceApiUrl}/admin/register`, req);
}
getAdminDeviceByExternalId(externalId: string) {
return this.get<Device>(`${this.deviceApiUrl}/admin/${externalId}`);
}
validateDevice(req: ValidateDeviceRequest) {
return this.post<ValidateDeviceResponse, ValidateDeviceRequest>(`${this.deviceApiUrl}/validate`, req);
}
getDeviceByExternalId(externalId: string) {
return this.get<Device>(`${this.deviceApiUrl}/${externalId}`);
}
unregisterDevice(externalId: string) {
return this.delete<void>(`${this.deviceApiUrl}/${externalId}/unregister`);
}
initDeviceVdt(req: InitDeviceVdtRequest) {
return this.post<void, InitDeviceVdtRequest>(`${this.deviceApiUrl}/init-vdt`, req);
}
getDeviceInfoById(deviceId: string) {
return this.get<Device>(`${this.deviceApiUrl}/${deviceId}/info`);
}
}