X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/e9ddb402bae21b72cc23ac71d492bca9d92eb356..bccb9ca5151f041d8c8b73098a3e1874023e3efa:/src/services/favorite-service/favorite-service.ts diff --git a/src/services/favorite-service/favorite-service.ts b/src/services/favorite-service/favorite-service.ts index 3d852ce5..d075b796 100644 --- a/src/services/favorite-service/favorite-service.ts +++ b/src/services/favorite-service/favorite-service.ts @@ -2,13 +2,18 @@ // // SPDX-License-Identifier: AGPL-3.0 -import LinkService from "../link-service/link-service"; -import GroupsService, { GroupContentsResource } from "../groups-service/groups-service"; +import { LinkService } from "../link-service/link-service"; +import { GroupsService, GroupContentsResource } from "../groups-service/groups-service"; import { LinkResource, LinkClass } from "../../models/link"; -import FilterBuilder from "../../common/api/filter-builder"; +import { FilterBuilder } from "../../common/api/filter-builder"; import { ListArguments, ListResults } from "../../common/api/common-resource-service"; +import { OrderBuilder } from "../../common/api/order-builder"; -export default class FavoriteService { +export interface FavoriteListArguments extends ListArguments { + filters?: FilterBuilder; + order?: OrderBuilder; +} +export class FavoriteService { constructor( private linkService: LinkService, private groupsService: GroupsService @@ -37,7 +42,7 @@ export default class FavoriteService { results.items.map(item => this.linkService.delete(item.uuid)))); } - list(userUuid: string, args: ListArguments = {}): Promise> { + list(userUuid: string, args: FavoriteListArguments = {}): Promise> { const listFilter = FilterBuilder .create() .addEqual('tailUuid', userUuid) @@ -53,7 +58,8 @@ export default class FavoriteService { return this.groupsService.contents(userUuid, { limit: args.limit, offset: args.offset, - filters: FilterBuilder.create().addIn('uuid', uuids) + filters: FilterBuilder.create().addIn('uuid', uuids), + recursive: true }); }); }