import Http from "../utilities/http"; import makeErrorsPretty from "../utilities/make_errors_pretty"; import type { ApiGroup } from "../models"; import type { AssociationIds } from "type_aliases"; import type { User } from "../utilities/get_authorization_headers"; /** * @deprecated use {@link NewGroupApi} instead */ export default class GroupApi { static getGroup({ projectId, groupId }: AssociationIds, user: User, ): Promise { let url = `${Http.baseUrl()}/projects/${projectId}/groups/${groupId}`; return Http.get(url, user) as unknown as Promise; } static getGroups({ projectId, floorId }: AssociationIds, user: User, ): Promise { let url = `${Http.baseUrl()}/projects/${projectId}/groups/?floorId=${floorId}`; return Http.get(url, user) as unknown as Promise; } static createElementGroup({ projectId, floorId }: AssociationIds, globalIds: string[], user: User, ): Promise { let url = `${Http.baseUrl()}/projects/${projectId}/groups/floor/${floorId}/planned-building-elements`; return Http.post(url, user, globalIds) as unknown as Promise; } static deleteGroup({ projectId, groupId }: AssociationIds, user: User, ): Promise { let url = `${Http.baseUrl()}/projects/${projectId}/groups/${groupId}`; return Http.delete(url, user) as unknown as Promise; } static deleteGroupMembers({ projectId }: AssociationIds, groupMemberIds: number[], user: User, ): Promise { let url = `${Http.baseUrl()}/projects/${projectId}/groups/members`; return Http.delete(url, user, groupMemberIds) as unknown as Promise; } static updateGroup({ projectId, groupId }: AssociationIds, group: ApiGroup, user: User, ): Promise { let url = `${Http.baseUrl()}/projects/${projectId}/groups/${groupId}`; return Http.patch(url, user, group) as unknown as Promise; } } makeErrorsPretty(GroupApi);