UNPKG

@bit-ui-libs/common

Version:
57 lines (45 loc) 1.78 kB
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`); } }