package repository import ( "context" "github.com/google/uuid" ) type LoginParams struct { LoginName string `json:"loginname"` Password string `json:"password"` } type RegisterParams struct { Username string `json:"username"` FirstName string `json:"firstname"` LastName string `json:"lastname"` LoginName string `json:"loginname"` EmailAddress string `json:"emailaddress"` Password string `json:"password"` } type User struct { Username string `json:"username"` FirstName string `json:"firstname"` LastName string `json:"lastname"` LoginName string `json:"loginname"` EmailAddress string `json:"email"` Password []byte } type AuthRepository interface { GetUserByToken(ctx context.Context, userId uuid.UUID) (User, error) Login(ctx context.Context, loginParams *LoginParams) (uuid.UUID, error) Register(ctx context.Context, registerParams *RegisterParams) (bool, error) }