15027: Removes code to avoid camel_case translation back to the api server.
[arvados-workbench2.git] / src / services / project-service / project-service.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { GroupsService } from "../groups-service/groups-service";
6 import { ProjectResource } from "~/models/project";
7 import { GroupClass } from "~/models/group";
8 import { ListArguments } from "~/services/common-service/common-service";
9 import { FilterBuilder, joinFilters } from "~/services/api/filter-builder";
10 import { TrashableResourceService } from '~/services/common-service/trashable-resource-service';
11 import { snakeCase } from 'lodash';
12 export class ProjectService extends GroupsService<ProjectResource> {
13
14     create(data: Partial<ProjectResource>) {
15         const projectData = { ...data, groupClass: GroupClass.PROJECT };
16         return super.create(projectData);
17     }
18
19     list(args: ListArguments = {}) {
20         return super.list({
21             ...args,
22             filters: joinFilters(
23                 args.filters,
24                 new FilterBuilder()
25                     .addEqual("groupClass", GroupClass.PROJECT)
26                     .getFilters()
27             )
28         });
29     }
30 }