mirror of
https://github.com/ConvoyPanel/panel.git
synced 2026-06-20 04:07:33 +08:00
29 lines
890 B
TypeScript
29 lines
890 B
TypeScript
import http, { getPaginationSet, PaginatedResult } from '@/api/http'
|
|
import { rawDataToServerBuild, ServerBuild } from '@/api/server/getServer'
|
|
|
|
interface QueryParams {
|
|
query?: string
|
|
page?: number
|
|
type?: string
|
|
perPage?: number
|
|
}
|
|
|
|
export default ({ query, perPage = 50, ...params }: QueryParams): Promise<PaginatedResult<ServerBuild>> => {
|
|
return new Promise((resolve, reject) => {
|
|
http.get('/api/client/servers', {
|
|
params: {
|
|
'filter[name]': query,
|
|
'per_page': perPage,
|
|
...params,
|
|
},
|
|
})
|
|
.then(({ data }) =>
|
|
resolve({
|
|
items: (data.data || []).map((datum: any) => rawDataToServerBuild(datum)),
|
|
pagination: getPaginationSet(data.meta.pagination),
|
|
})
|
|
)
|
|
.catch(reject)
|
|
})
|
|
}
|