Documentation
¶
Index ¶
- Constants
- func AdminAuthenticator() func(http.Handler) http.Handler
- func AdminRouter() http.Handler
- func AuthRouter() http.Handler
- func ConvertToAuthProvider(provider string) string
- func FailedAuthUser() common.APIError
- func FailedCreation() common.APIError
- func FailedFind() common.APIError
- func FailedGenerateAuthToken() common.APIError
- func FailedLogout() common.APIError
- func GetByIDHandler(w http.ResponseWriter, r *http.Request) error
- func InvalidID() common.APIError
- func LoginHandler(w http.ResponseWriter, r *http.Request) error
- func LogoutHandler(w http.ResponseWriter, r *http.Request) error
- func NewRepository(ctx context.Context, conn *pgxpool.Pool)
- func NewServer(repository *Repository)
- func OnboardingRouter() http.Handler
- func PrivateAuthenticator() func(http.Handler) http.Handler
- func Provider(w http.ResponseWriter, r *http.Request) error
- func ProviderCallback(w http.ResponseWriter, r *http.Request) error
- func RegisterHandler(w http.ResponseWriter, r *http.Request) error
- func Router() http.Handler
- type Entity
- type LoginRequestDTO
- type Model
- type RegisterRequestDTO
- type Repository
- func (r *Repository) CreateEntity(entity Entity) (Entity, error)
- func (r *Repository) DeleteEntity(id uuid.UUID) error
- func (r *Repository) GetEntityByEmail(email string, authProvider string) (Entity, error)
- func (r *Repository) GetEntityByID(id uuid.UUID) (Entity, error)
- func (r *Repository) UpdateEntity(entity Entity) (Entity, error)
- type ResponseDTO
- type Server
- func (s *Server) Auth(email string, provider string) (Model, error)
- func (s *Server) CreateModel(model Model) (Model, error)
- func (s *Server) FindModelByEmailAndAuthProvider(model Model) (Model, error)
- func (s *Server) GetModelByID(id string) (Model, error)
- func (s *Server) InitAuthProviders()
- func (s *Server) UpdateModel(model Model) (Model, error)
Constants ¶
View Source
const ( INVALID string = "INVALID" NONE string = "NONE" GOOGLE string = "GOOGLE" FACEBOOK string = "FACEBOOK" GITHUB string = "GITHUB" )
View Source
const ( CLIENT string = "CLIENT" ADMIN string = "ADMIN" )
Variables ¶
This section is empty.
Functions ¶
func AdminRouter ¶
func AuthRouter ¶
func ConvertToAuthProvider ¶
func FailedAuthUser ¶
func FailedCreation ¶
func FailedFind ¶
func FailedGenerateAuthToken ¶
func FailedLogout ¶
func GetByIDHandler ¶
func GetByIDHandler(w http.ResponseWriter, r *http.Request) error
func LoginHandler ¶
func LoginHandler(w http.ResponseWriter, r *http.Request) error
func LogoutHandler ¶
func LogoutHandler(w http.ResponseWriter, r *http.Request) error
func NewServer ¶
func NewServer(repository *Repository)
func OnboardingRouter ¶
func ProviderCallback ¶
func ProviderCallback(w http.ResponseWriter, r *http.Request) error
func RegisterHandler ¶
func RegisterHandler(w http.ResponseWriter, r *http.Request) error
Types ¶
type Entity ¶
type Entity struct { ID uuid.UUID `db:"id"` Email string `db:"email"` Nickname string `db:"nickname"` Password string `db:"password"` AuthProvider string `db:"auth_provider"` Role string `db:"role"` CreatedAt time.Time `db:"created_at"` ModifiedAt time.Time `db:"modified_at"` }
func CreateEntityFromModel ¶
type LoginRequestDTO ¶
type Model ¶
type Model struct { ID uuid.UUID Email string Nickname string Password string AuthProvider string Role string CreatedAt time.Time ModifiedAt time.Time }
func CreateModelFromEntity ¶
func CreateModelFromLoginRequestDTO ¶
func CreateModelFromLoginRequestDTO(requestDTO LoginRequestDTO) Model
func CreateModelFromRegisterRequestDTO ¶
func CreateModelFromRegisterRequestDTO(requestDTO RegisterRequestDTO) Model
type RegisterRequestDTO ¶
type Repository ¶
type Repository struct {
// contains filtered or unexported fields
}
func GetRepository ¶
func GetRepository() *Repository
func (*Repository) CreateEntity ¶
func (r *Repository) CreateEntity(entity Entity) (Entity, error)
func (*Repository) DeleteEntity ¶
func (r *Repository) DeleteEntity(id uuid.UUID) error
func (*Repository) GetEntityByEmail ¶
func (r *Repository) GetEntityByEmail(email string, authProvider string) (Entity, error)
func (*Repository) GetEntityByID ¶
func (r *Repository) GetEntityByID(id uuid.UUID) (Entity, error)
func (*Repository) UpdateEntity ¶
func (r *Repository) UpdateEntity(entity Entity) (Entity, error)
UpdateEntity Only can update nickname and modified_at
type ResponseDTO ¶
type ResponseDTO struct { ID string `json:"id"` Email string `json:"email"` Nickname string `json:"nickname"` Role string `json:"role"` }
func CreateResponseDTOFromModel ¶
func CreateResponseDTOFromModel(model Model) ResponseDTO
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
func (*Server) FindModelByEmailAndAuthProvider ¶
func (*Server) InitAuthProviders ¶
func (s *Server) InitAuthProviders()
Click to show internal directories.
Click to hide internal directories.