1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { serverApi } from "../../common/api/server-api";
6 import FilterBuilder, { FilterField } from "../../common/api/filter-builder";
7 import { ArvadosResource } from "../response";
8 import { Collection } from "../../models/collection";
10 interface CollectionResource extends ArvadosResource {
14 portable_data_hash: string;
15 manifest_text: string;
16 replication_desired: number;
17 replication_confirmed: number;
18 replication_confirmed_at: string;
24 interface CollectionsResponse {
27 items: CollectionResource[];
30 export default class CollectionService {
31 public getCollectionList = (parentUuid?: string): Promise<Collection[]> => {
33 const fb = new FilterBuilder();
34 fb.addLike(FilterField.OWNER_UUID, parentUuid);
35 return serverApi.get<CollectionsResponse>('/collections', { params: {
38 const collections = resp.data.items.map(g => ({
40 createdAt: g.created_at,
41 modifiedAt: g.modified_at,
44 ownerUuid: g.owner_uuid,
50 return Promise.resolve([]);