UNPKG

@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_.

47 lines (35 loc) 2.02 kB
import { ConcurrencyLimitResponse } from '@/models/api/ConcurrencyLimitResponse' import { ConcurrencyLimit } from '@/models/ConcurrencyLimit' import { ConcurrencyLimitCreate } from '@/models/ConcurrencyLimitCreate' import { ConcurrencyLimitsFilter } from '@/models/Filters' import { mapper } from '@/services/Mapper' import { WorkspaceApi } from '@/services/WorkspaceApi' export class WorkspaceConcurrencyLimitsApi extends WorkspaceApi { protected override routePrefix = '/concurrency_limits' public async getConcurrencyLimits(filter: ConcurrencyLimitsFilter = {}): Promise<ConcurrencyLimit[]> { const { data } = await this.post<ConcurrencyLimitResponse[]>('/filter', filter) return mapper.map('ConcurrencyLimitResponse', data, 'ConcurrencyLimit') } public async getConcurrencyLimit(id: string): Promise<ConcurrencyLimit> { const { data } = await this.get<ConcurrencyLimitResponse>(`/${id}`) return mapper.map('ConcurrencyLimitResponse', data, 'ConcurrencyLimit') } public async getConcurrencyLimitByTag(tag: string): Promise<ConcurrencyLimit> { const { data } = await this.get<ConcurrencyLimitResponse>(`/tag/${tag}`) return mapper.map('ConcurrencyLimitResponse', data, 'ConcurrencyLimit') } public async createConcurrencyLimit(limit: ConcurrencyLimitCreate): Promise<ConcurrencyLimit> { const { data } = await this.post<ConcurrencyLimitResponse>('/', mapper.map('ConcurrencyLimitCreate', limit, 'ConcurrencyLimitCreateRequest')) return mapper.map('ConcurrencyLimitResponse', data, 'ConcurrencyLimit') } public deleteConcurrencyLimit(id: string): Promise<void> { return this.delete(`/${id}`) } public deleteConcurrencyLimitByTag(tag: string): Promise<void> { return this.delete(`/tag/${tag}`) } public async resetConcurrencyLimitByTag(tag: string): Promise<ConcurrencyLimit> { const { data } = await this.post<ConcurrencyLimitResponse>(`/tag/${tag}/reset`) return mapper.map('ConcurrencyLimitResponse', data, 'ConcurrencyLimit') } }