X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/a2bf1ed3a15cf55e426c51ad8e6febd7ff2e3020..0ea102c171d9c9e3fae5a0fd1e8e1e5e4a25c4d6:/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 92b0713d..8b66455b 100644 --- a/src/services/favorite-service/favorite-service.ts +++ b/src/services/favorite-service/favorite-service.ts @@ -4,9 +4,9 @@ import { LinkService } from "../link-service/link-service"; import { GroupsService, GroupContentsResource } from "../groups-service/groups-service"; -import { LinkClass } from "~/models/link"; -import { FilterBuilder, joinFilters } from "~/services/api/filter-builder"; -import { ListResults } from "~/services/common-service/common-resource-service"; +import { LinkClass } from "models/link"; +import { FilterBuilder, joinFilters } from "services/api/filter-builder"; +import { ListResults } from 'services/common-service/common-service'; export interface FavoriteListArguments { limit?: number; @@ -20,7 +20,7 @@ export class FavoriteService { constructor( private linkService: LinkService, private groupsService: GroupsService, - ) {} + ) { } create(data: { userUuid: string; resource: { uuid: string; name: string } }) { return this.linkService.create({ @@ -36,31 +36,31 @@ export class FavoriteService { return this.linkService .list({ filters: new FilterBuilder() - .addEqual('tailUuid', data.userUuid) - .addEqual('headUuid', data.resourceUuid) - .addEqual('linkClass', LinkClass.STAR) + .addEqual('owner_uuid', data.userUuid) + .addEqual('head_uuid', data.resourceUuid) + .addEqual('link_class', LinkClass.STAR) .getFilters() }) .then(results => Promise.all( results.items.map(item => this.linkService.delete(item.uuid)))); } - list(userUuid: string, { filters, limit, offset, linkOrder, contentOrder }: FavoriteListArguments = {}): Promise> { + list(userUuid: string, { filters, limit, offset, linkOrder, contentOrder }: FavoriteListArguments = {}, showOnlyOwned: boolean = true): Promise> { const listFilters = new FilterBuilder() - .addEqual('tailUuid', userUuid) - .addEqual('linkClass', LinkClass.STAR) + .addEqual('owner_uuid', userUuid) + .addEqual('link_class', LinkClass.STAR) .getFilters(); return this.linkService .list({ - filters: joinFilters(filters, listFilters), + filters: joinFilters(filters || '', listFilters), limit, offset, order: linkOrder }) .then(results => { const uuids = results.items.map(item => item.headUuid); - return this.groupsService.contents(userUuid, { + return this.groupsService.contents(showOnlyOwned ? userUuid : '', { limit, offset, order: contentOrder, @@ -74,9 +74,9 @@ export class FavoriteService { return this.linkService .list({ filters: new FilterBuilder() - .addIn("headUuid", resourceUuids) - .addEqual("tailUuid", userUuid) - .addEqual("linkClass", LinkClass.STAR) + .addIn("head_uuid", resourceUuids) + .addEqual("owner_uuid", userUuid) + .addEqual("link_class", LinkClass.STAR) .getFilters() }) .then(({ items }) => resourceUuids.reduce((results, uuid) => {