import { PaginatedWorkPoolWorkers, WorkPoolWorker } from '@/models' import { WorkPoolWorkerPaginationResponse, WorkPoolWorkerResponse } from '@/models/api/WorkPoolWorkerResponse' import { MapFunction } from '@/services/Mapper' export const mapWorkPoolWorkerResponseToWorkPoolWorker: MapFunction = function(source) { return new WorkPoolWorker({ id: source.id, created: this.map('string', source.created, 'Date'), updated: this.map('string', source.updated, 'Date'), name: source.name, workPoolId: source.work_pool_id, lastHeartbeatTime: this.map('string', source.last_heartbeat_time, 'Date'), status: this.map('ServerWorkPoolWorkerStatus', source.status, 'WorkPoolWorkerStatus'), clientVersion: source.client_version ? source.client_version : null, heartbeatIntervalSeconds: source.heartbeat_interval_seconds, metadata: source.metadata_ ? source.metadata_ : null, }) } export const mapWorkPoolWorkerPaginationResponseToPaginatedWorkPoolWorkers: MapFunction = function(source) { return { workers: source.results.map((item: WorkPoolWorkerResponse) => this.map('WorkPoolWorkerResponse', item, 'WorkPoolWorker')), count: source.count, limit: source.limit, page: source.page, pages: source.pages, } }