package auth

import (
	

	
	
	
)

// Creates a new authorization instance
func () fiber.Handler {
	return authorization
}

// authorization Middleware auths users before requests
func authorization( *fiber.Ctx) error {
	if len(.FormValue("token")) > 0 {
		,  := liman.AuthWithToken(
			strings.Trim(.FormValue("token"), ""),
		)

		if  != nil {
			return logger.FiberError(fiber.StatusUnauthorized, .Error())
		}

		.Locals("user_id", )
		return .Next()
	}

	if len(.FormValue("liman-token")) > 0 {
		,  := liman.AuthWithAccessToken(
			strings.Trim(.FormValue("liman-token"), ""),
		)

		if  != nil {
			return logger.FiberError(fiber.StatusUnauthorized, .Error())
		}

		.Locals("user_id", )
		return .Next()
	}

	if len(string(.Request().Header.Peek("Authorization"))) > 0 {
		,  := liman.AuthWithToken(
			strings.Trim(string(.Request().Header.Peek("Authorization")), ""),
		)

		if  != nil {
			return logger.FiberError(fiber.StatusUnauthorized, .Error())
		}

		.Locals("user_id", )
		return .Next()
	}

	return logger.FiberError(fiber.StatusUnauthorized, "authorization token is missing")
}