X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/8c8a3d8d646f99dce6a1cdbf515745d6f84bb814..2a1d97be8bff60ef9b51f120b00c285d51a26a1c:/src/services/project-service/project-service.ts diff --git a/src/services/project-service/project-service.ts b/src/services/project-service/project-service.ts index 5fac2b28..4ae91d4d 100644 --- a/src/services/project-service/project-service.ts +++ b/src/services/project-service/project-service.ts @@ -2,35 +2,27 @@ // // SPDX-License-Identifier: AGPL-3.0 -import GroupsService, { ContensArguments } from "../groups-service/groups-service"; -import { ProjectResource } from "../../models/project"; -import { GroupClass } from "../../models/group"; -import { ListArguments } from "../../common/api/common-resource-service"; -import FilterBuilder from "../../common/api/filter-builder"; - -export default class ProjectService extends GroupsService { +import { GroupsService } from "../groups-service/groups-service"; +import { ProjectResource } from "~/models/project"; +import { GroupClass } from "~/models/group"; +import { ListArguments } from "~/services/common-service/common-service"; +import { FilterBuilder, joinFilters } from "~/services/api/filter-builder"; +export class ProjectService extends GroupsService { create(data: Partial) { - const projectData = { ...data, groupClass: GroupClass.Project }; + const projectData = { ...data, groupClass: GroupClass.PROJECT }; return super.create(projectData); } list(args: ListArguments = {}) { return super.list({ ...args, - filters: this.addProjectFilter(args.filters) + filters: joinFilters( + args.filters || '', + new FilterBuilder() + .addEqual("group_class", GroupClass.PROJECT) + .getFilters() + ) }); } - - private addProjectFilter(filters?: FilterBuilder) { - return FilterBuilder - .create() - .concat(filters - ? filters - : FilterBuilder.create()) - .concat(FilterBuilder - .create() - .addEqual("groupClass", GroupClass.Project)); - } - -} \ No newline at end of file +}