mirror of
https://github.com/gitpod-io/gitpod.git
synced 2025-12-08 17:36:30 +00:00
25 lines
1.3 KiB
TypeScript
25 lines
1.3 KiB
TypeScript
/**
|
|
* Copyright (c) 2021 Gitpod GmbH. All rights reserved.
|
|
* Licensed under the Gitpod Enterprise Source Code License,
|
|
* See License.enterprise.txt in the project root folder.
|
|
*/
|
|
|
|
import { Team, TeamMemberInfo, TeamMemberRole, TeamMembershipInvite } from "@gitpod/gitpod-protocol";
|
|
|
|
export const TeamDB = Symbol('TeamDB');
|
|
export interface TeamDB {
|
|
findTeams(offset: number, limit: number, orderBy: keyof Team, orderDir: "ASC" | "DESC", searchTerm: string): Promise<{ total: number, rows: Team[] }>;
|
|
findTeamById(teamId: string): Promise<Team | undefined>;
|
|
findMembersByTeam(teamId: string): Promise<TeamMemberInfo[]>;
|
|
findTeamsByUser(userId: string): Promise<Team[]>;
|
|
findTeamsByUserAsSoleOwner(userId: string): Promise<Team[]>;
|
|
createTeam(userId: string, name: string): Promise<Team>;
|
|
addMemberToTeam(userId: string, teamId: string): Promise<void>;
|
|
setTeamMemberRole(userId: string, teamId: string, role: TeamMemberRole): Promise<void>;
|
|
removeMemberFromTeam(userId: string, teamId: string): Promise<void>;
|
|
findTeamMembershipInviteById(inviteId: string): Promise<TeamMembershipInvite>;
|
|
findGenericInviteByTeamId(teamId: string): Promise<TeamMembershipInvite | undefined>;
|
|
resetGenericInvite(teamId: string): Promise<TeamMembershipInvite>;
|
|
deleteTeam(teamId: string): Promise<void>;
|
|
}
|