@prefecthq/prefect-ui-library
Version:
This library is the Vue and Typescript component library for [Prefect 2](https://github.com/PrefectHQ/prefect) and [Prefect Cloud 2](https://www.prefect.io/cloud/). _The components and utilities in this project are not meant to be used independently_.
29 lines (26 loc) • 1.36 kB
text/typescript
import { PaginatedWorkPoolWorkers, WorkPoolWorker } from '@/models'
import { WorkPoolWorkerPaginationResponse, WorkPoolWorkerResponse } from '@/models/api/WorkPoolWorkerResponse'
import { MapFunction } from '@/services/Mapper'
export const mapWorkPoolWorkerResponseToWorkPoolWorker: MapFunction<WorkPoolWorkerResponse, WorkPoolWorker> = 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<WorkPoolWorkerPaginationResponse, PaginatedWorkPoolWorkers> = 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,
}
}