mirror of
https://github.com/gitpod-io/gitpod.git
synced 2025-12-08 17:36:30 +00:00
- Fix memberSince date
- Replace paths /{new,join}-team with /teams/{new,join}
- Implement minimal top menu layout for full-page forms (e.g. new team/project)
- Implement removing members & leaving teams
- Implement member search & role filter
- Implement changing team member roles
22 lines
1.0 KiB
TypeScript
22 lines
1.0 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 {
|
|
findTeamById(teamId: string): Promise<Team | undefined>;
|
|
findMembersByTeam(teamId: string): Promise<TeamMemberInfo[]>;
|
|
findTeamsByUser(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>;
|
|
}
|