UNPKG

@crowdin/crowdin-api-client

Version:
166 lines (165 loc) 6.34 kB
import { CrowdinApi, Pagination, PaginationOptions, PatchRequest, ProjectRole, ProjectRoles, ResponseList, ResponseObject } from '../core'; import { ProjectsGroupsModel } from '../projectsGroups'; export declare class Teams extends CrowdinApi { /** * @param teamId team identifier * @param options request options * @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.teams.projects.permissions.getMany */ listTeamProjectPermissions(teamId: number, options?: PaginationOptions): Promise<ResponseList<TeamsModel.ProjectPermissions>>; /** * @param teamId team identifier * @param request request body * @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.teams.projects.permissions.patch */ editTeamProjectPermissions(teamId: number, request: PatchRequest[]): Promise<ResponseList<TeamsModel.ProjectPermissions>>; /** * @param projectId project identifier * @param request request body * @see https://support.crowdin.com/enterprise/api/#operation/api.projects.teams.post */ addTeamToProject(projectId: number, request: TeamsModel.AddTeamToProjectRequest): Promise<TeamsModel.ProjectTeamResources>; /** * @param options optional pagination parameters for the request * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.getMany */ listTeams(options?: TeamsModel.ListTeamsOptions): Promise<ResponseList<TeamsModel.Team>>; /** * @param limit maximum number of items to retrieve (default 25) * @param offset starting offset in the collection (default 0) * @deprecated optional parameters should be passed through an object * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.getMany */ listTeams(limit?: number, offset?: number): Promise<ResponseList<TeamsModel.Team>>; /** * @param request request body * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.post */ addTeam(request: TeamsModel.AddTeamRequest): Promise<ResponseObject<TeamsModel.Team>>; /** * @param teamId team identifier * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.get */ getTeam(teamId: number): Promise<ResponseObject<TeamsModel.Team>>; /** * @param teamId team identifier * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.delete */ deleteTeam(teamId: number): Promise<void>; /** * @param teamId team identifier * @param request request body * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.patch */ editTeam(teamId: number, request: PatchRequest[]): Promise<ResponseObject<TeamsModel.Team>>; /** * @param teamId team identifier * @param options optional pagination parameters for the request * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.members.getMany */ teamMembersList(teamId: number, options?: PaginationOptions): Promise<ResponseList<TeamsModel.TeamMember>>; /** * @param teamId team identifier * @param limit maximum number of items to retrieve (default 25) * @param offset starting offset in the collection (default 0) * @deprecated optional parameters should be passed through an object * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.members.getMany */ teamMembersList(teamId: number, limit?: number, offset?: number): Promise<ResponseList<TeamsModel.TeamMember>>; /** * @param teamId team identifier * @param request request body * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.members.post */ addTeamMembers(teamId: number, request: TeamsModel.AddTeamMembersRequest): Promise<TeamsModel.AddTeamMembersResponse>; /** * @param teamId team identifier * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.members.deleteMany */ deleteAllTeamMembers(teamId: number): Promise<void>; /** * @param teamId team identifier * @param memberId member identifier * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.members.delete */ deleteTeamMember(teamId: number, memberId: number): Promise<void>; } export declare namespace TeamsModel { interface ProjectPermissions { id: number; roles: ProjectRole[]; project: ProjectsGroupsModel.Project | ProjectsGroupsModel.ProjectSettings; } interface AddTeamToProjectRequest { teamId: number; managerAccess?: boolean; developerAccess?: boolean; roles?: ProjectRole[]; /** * @deprecated */ accessToAllWorkflowSteps?: boolean; /** * @deprecated */ permissions?: Permissions; } interface ListTeamsOptions extends PaginationOptions { search?: string; projectIds?: string; projectRoles?: ProjectRoles[]; languageIds?: string; groupIds?: string; orderBy?: string; } interface ProjectTeamResources { skipped: ProjectTeamResource; added: ProjectTeamResource; } interface ProjectTeamResource { id: number; hasManagerAccess: boolean; hasDeveloperAccess: boolean; /** * @deprecated */ hasAccessToAllWorkflowSteps: boolean; /** * @deprecated */ permissions: Permissions; roles: ProjectRole[]; } interface Permissions { [lang: string]: { workflowStepIds: number[] | 'all'; }; } interface Team { id: number; name: string; totalMembers: number; webUrl: string; createdAt: string; updatedAt: string; } interface AddTeamRequest { name: string; } interface TeamMember { id: number; username: string; firstName: string; lastName: string; avatarUrl: string; addedAt: string; } interface AddTeamMembersRequest { userIds: number[]; } interface AddTeamMembersResponse { skipped: ResponseObject<TeamMember>[]; added: ResponseObject<TeamMember>[]; pagination: Pagination; } }