X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/2e60bb998178752c3a126f077cbb891b597ed91e..f4d717705f9824add63e7d0730f486f58a93cf83:/src/services/tag-service/tag-service.ts diff --git a/src/services/tag-service/tag-service.ts b/src/services/tag-service/tag-service.ts index 78c930d2e7..bb1eed469c 100644 --- a/src/services/tag-service/tag-service.ts +++ b/src/services/tag-service/tag-service.ts @@ -3,35 +3,42 @@ // SPDX-License-Identifier: AGPL-3.0 import { LinkService } from "../link-service/link-service"; -import { LinkResource, LinkClass, TailType } from "../../models/link"; -import { FilterBuilder } from "../../common/api/filter-builder"; +import { LinkClass } from "~/models/link"; +import { FilterBuilder } from "~/services/api/filter-builder"; +import { TagTailType, TagResource } from "~/models/tag"; +import { OrderBuilder } from "~/services/api/order-builder"; export class TagService { constructor(private linkService: LinkService) { } create(uuid: string, data: { key: string; value: string } ) { - return this.linkService.create({ - headUuid: uuid, - tailUuid: TailType.COLLECTION, - linkClass: LinkClass.TAG, - name: '', - properties: data - }); + return this.linkService + .create({ + headUuid: uuid, + tailUuid: TagTailType.COLLECTION, + linkClass: LinkClass.TAG, + name: '', + properties: data + }) + .then(tag => tag as TagResource ); } list(uuid: string) { - const filters = FilterBuilder - .create() - .addEqual("headUuid", uuid) - .addEqual("tailUuid", TailType.COLLECTION) - .addEqual("linkClass", LinkClass.TAG); + const filters = new FilterBuilder() + .addEqual("head_uuid", uuid) + .addEqual("tail_uuid", TagTailType.COLLECTION) + .addEqual("link_class", LinkClass.TAG) + .getFilters(); + + const order = new OrderBuilder() + .addAsc('createdAt') + .getOrder(); return this.linkService - .list({ filters }) + .list({ filters, order }) .then(results => { - return results.items; + return results.items.map((tag => tag as TagResource )); }); } - -} \ No newline at end of file +}