Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrInvalidID is the error returned by services when // the id provided in the call to the service is invalid ErrInvalidID = errors.New("invalid id") // ErrNotFound is the error returned by services when // the requested object could not be found ErrNotFound = errors.New("requested object not found") // ErrSendgridRejectedRequest is the error returned by EmailService // when Sendgrid rejects an email request ErrSendgridRejectedRequest = errors.New("email request rejected by Sendgrid") // User service errors ErrEmailTaken = errors.New("email is already taken") ErrNameTaken = errors.New("name is already taken") ErrInvalidToken = errors.New("invalid auth token") ErrInvalidUserUpdateParams = errors.New("invlid user update params") // Team service errors ErrUserInTeam = errors.New("user is already in a team") ErrUserNotInTeam = errors.New("user is not in a team") )
Functions ¶
This section is empty.
Types ¶
type EmailService ¶
type EmailService interface {
SendEmail(subject, htmlBody, plainTextBody, senderName, senderEmail, recipientName, recipientEmail string) error
SendEmailVerificationEmail(user entities.User) error
SendEmailVerificationEmailForUserWithEmail(ctx context.Context, email string) error
SendPasswordResetEmail(user entities.User) error
SendPasswordResetEmailForUserWithEmail(ctx context.Context, email string) error
}
EmailService is used to send out emails
type TeamService ¶
type TeamService interface {
CreateTeam(ctx context.Context, name, creatorID string) (*entities.Team, error)
CreateTeamForUserWithID(ctx context.Context, name, userID string) (*entities.Team, error)
CreateTeamForUserWithJWT(ctx context.Context, name, jwt string) (*entities.Team, error)
GetTeams(context.Context) ([]entities.Team, error)
GetTeamWithID(ctx context.Context, id string) (*entities.Team, error)
GetTeamWithName(ctx context.Context, name string) (*entities.Team, error)
GetTeamForUserWithID(ctx context.Context, userID string) (*entities.Team, error)
GetTeamForUserWithEmail(ctx context.Context, email string) (*entities.Team, error)
GetTeamForUserWithJWT(ctx context.Context, jwt string) (*entities.Team, error)
DeleteTeamWithID(ctx context.Context, id string) error
AddUserWithIDToTeamWithID(ctx context.Context, userID string, teamID string) error
AddUserWithJWTToTeamWithID(ctx context.Context, jwt string, teamID string) error
RemoveUserWithIDFromTheirTeam(ctx context.Context, userID string) error
RemoveUserWithJWTFromTheirTeam(ctx context.Context, jwt string) error
}
type UserService ¶
type UserService interface {
CreateUser(ctx context.Context, name, email, password string) (*entities.User, error)
GetUsers(ctx context.Context) ([]entities.User, error)
GetUsersWithTeam(ctx context.Context, teamID string) ([]entities.User, error)
GetUsersWithAuthLevel(ctx context.Context, authLevel authlevels.AuthLevel) ([]entities.User, error)
GetUserWithID(ctx context.Context, userID string) (*entities.User, error)
GetUserWithEmail(ctx context.Context, email string) (*entities.User, error)
GetUserWithEmailAndPwd(ctx context.Context, email, pwd string) (*entities.User, error)
GetUserWithJWT(ctx context.Context, jwt string) (*entities.User, error)
GetTeammatesForUserWithID(ctx context.Context, userID string) ([]entities.User, error)
GetTeammatesForUserWithJWT(ctx context.Context, jwt string) ([]entities.User, error)
UpdateUsersWithTeam(ctx context.Context, teamID string, params UserUpdateParams) error
UpdateUsersWithAuthLevel(ctx context.Context, authLevel authlevels.AuthLevel, params UserUpdateParams) error
UpdateUserWithID(ctx context.Context, userID string, params UserUpdateParams) error
UpdateUserWithEmail(ctx context.Context, email string, params UserUpdateParams) error
UpdateUserWithJWT(ctx context.Context, jwt string, params UserUpdateParams) error
DeleteUserWithID(ctx context.Context, userID string) error
DeleteUserWithEmail(ctx context.Context, email string) error
ResetPasswordForUserWithIDAndEmail(ctx context.Context, userID string, email string, newPwd string) error
ResetPasswordForUserWithJWTAndEmail(ctx context.Context, jwt string, email string, newPwd string) error
}
UserService is the service for interactions with a remote users repository
type UserUpdateParams ¶
func BuildUserUpdateParams ¶
func BuildUserUpdateParams(stringParams map[entities.UserField]string) (builtParams UserUpdateParams, err error)
Click to show internal directories.
Click to hide internal directories.