2022-09-20 05:14:00 -05:00
|
|
|
package team
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
|
2023-11-22 07:20:22 -06:00
|
|
|
"github.com/grafana/grafana/pkg/services/dashboards/dashboardaccess"
|
2022-09-20 05:14:00 -05:00
|
|
|
)
|
|
|
|
|
|
|
|
type Service interface {
|
2023-01-11 07:20:09 -06:00
|
|
|
CreateTeam(name, email string, orgID int64) (Team, error)
|
|
|
|
UpdateTeam(ctx context.Context, cmd *UpdateTeamCommand) error
|
|
|
|
DeleteTeam(ctx context.Context, cmd *DeleteTeamCommand) error
|
|
|
|
SearchTeams(ctx context.Context, query *SearchTeamsQuery) (SearchTeamQueryResult, error)
|
|
|
|
GetTeamByID(ctx context.Context, query *GetTeamByIDQuery) (*TeamDTO, error)
|
|
|
|
GetTeamsByUser(ctx context.Context, query *GetTeamsByUserQuery) ([]*TeamDTO, error)
|
2023-11-20 09:23:13 -06:00
|
|
|
GetTeamIDsByUser(ctx context.Context, query *GetTeamIDsByUserQuery) ([]int64, error)
|
2024-02-27 04:10:54 -06:00
|
|
|
AddTeamMember(ctx context.Context, userID, orgID, teamID int64, isExternal bool, permission dashboardaccess.PermissionType) error
|
2023-01-13 02:43:38 -06:00
|
|
|
UpdateTeamMember(ctx context.Context, cmd *UpdateTeamMemberCommand) error
|
2022-09-20 05:14:00 -05:00
|
|
|
IsTeamMember(orgId int64, teamId int64, userId int64) (bool, error)
|
2023-01-13 02:43:38 -06:00
|
|
|
RemoveTeamMember(ctx context.Context, cmd *RemoveTeamMemberCommand) error
|
2023-05-22 11:41:53 -05:00
|
|
|
RemoveUsersMemberships(tx context.Context, userID int64) error
|
2023-01-13 02:43:38 -06:00
|
|
|
GetUserTeamMemberships(ctx context.Context, orgID, userID int64, external bool) ([]*TeamMemberDTO, error)
|
|
|
|
GetTeamMembers(ctx context.Context, query *GetTeamMembersQuery) ([]*TeamMemberDTO, error)
|
2023-10-11 08:57:03 -05:00
|
|
|
RegisterDelete(query string)
|
2022-09-20 05:14:00 -05:00
|
|
|
}
|