34 lines
1.4 KiB
Go
34 lines
1.4 KiB
Go
package ports
|
|
|
|
import (
|
|
"context"
|
|
|
|
"Yimaru-Backend/internal/domain"
|
|
)
|
|
|
|
type TeamStore interface {
|
|
CreateTeamMember(ctx context.Context, member domain.TeamMember) (domain.TeamMember, error)
|
|
GetTeamMemberByID(ctx context.Context, id int64) (domain.TeamMember, error)
|
|
GetTeamMemberByEmail(ctx context.Context, email string) (domain.TeamMember, error)
|
|
GetAllTeamMembers(
|
|
ctx context.Context,
|
|
teamRole, department, status *string,
|
|
limit, offset int32,
|
|
) ([]domain.TeamMember, int64, error)
|
|
SearchTeamMembers(
|
|
ctx context.Context,
|
|
search string,
|
|
teamRole, status *string,
|
|
) ([]domain.TeamMember, error)
|
|
UpdateTeamMember(ctx context.Context, req domain.UpdateTeamMemberReq) error
|
|
UpdateTeamMemberStatus(ctx context.Context, req domain.UpdateTeamMemberStatusReq) error
|
|
UpdateTeamMemberPassword(ctx context.Context, memberID int64, password string) error
|
|
UpdateTeamMemberLastLogin(ctx context.Context, memberID int64) error
|
|
DeleteTeamMember(ctx context.Context, memberID int64) error
|
|
CheckTeamMemberEmailExists(ctx context.Context, email string) (bool, error)
|
|
GetTeamMembersByDepartment(ctx context.Context, department string) ([]domain.TeamMember, error)
|
|
GetTeamMembersByRole(ctx context.Context, role string) ([]domain.TeamMember, error)
|
|
CountTeamMembersByStatus(ctx context.Context) (domain.TeamMemberStats, error)
|
|
UpdateTeamMemberEmailVerified(ctx context.Context, memberID int64, verified bool) error
|
|
}
|