package services import ( "dove/config" "dove/enums" "dove/messages" "dove/types" "dove/utils/auth" "dove/utils/shortcuts" "github.com/gofiber/fiber/v2" ) func Authenticate(context *fiber.Ctx, request types.LoginRequest) (*types.MessageResponse, *types.ServiceError) { switch request.Username == config.Server.Username && request.Password == config.Server.Password { case true: if sessionError := auth.Authenticate(context); sessionError != nil { return nil, shortcuts.ServiceError(enums.Internal, sessionError.Error()) } return &types.MessageResponse{ Message: messages.AuthAuthenticated, }, nil default: return nil, shortcuts.ServiceError(enums.Unauthorized, messages.AuthInvalidCredentials) } } func Deauthenticate(context *fiber.Ctx) (*types.MessageResponse, *types.ServiceError) { if sessionError := auth.Deauthenticate(context); sessionError != nil { return nil, shortcuts.ServiceError(enums.Internal, sessionError.Error()) } return &types.MessageResponse{ Message: messages.AuthLoggedOut, }, nil }