Commit c2ba10de authored by arun.uday's avatar arun.uday

AssetManager- V1.0 - Not Reviewed

Updates for adding http responses
parent 6e7e6e7c
# iot manager - Arun Uday
if __name__ == "__main__":
from dotenv import load_dotenv
load_dotenv()
import uvicorn
from scripts.config import PROJECT_NAME, Services
......@@ -11,4 +15,3 @@ if __name__ == "__main__":
uvicorn.run("main:app", port=int(Services.PORT))
except Exception as e:
logger.error(e)
......@@ -14,26 +14,26 @@ if __name__ == "__main__":
load_dotenv()
import uvicorn
from fastapi import FastAPI
from scripts.services import router
from scripts.config import PROJECT_NAME, Services as ServiceConf
from fastapi.middleware.cors import CORSMiddleware
from scripts.logging.logger import logger
app = FastAPI()
app.include_router(router)
# starting the application
if __name__ == "__main__":
try:
print("Api for " + PROJECT_NAME)
if ServiceConf.ENABLE_CORS:
router.add_middleware(
app.add_middleware(
CORSMiddleware,
allow_origins=ServiceConf.CORS_URLS,
allow_credentials=ServiceConf.CORS_ALLOW_CREDENTIALS,
allow_methods=ServiceConf.CORS_ALLOW_METHODS,
allow_headers=ServiceConf.CORS_ALLOW_HEADERS,
)
uvicorn.run(router, port=int(ServiceConf.PORT))
except Exception as e:
logger.error(e)
import configparser
from typing import Optional, Literal
from typing import Literal
from pydantic import BaseSettings, Field
......
......@@ -14,9 +14,9 @@ class LoginHandlers:
@staticmethod
def user_data_validation(login_data) -> dict | None:
if login_data.username == "" or login_data.username == "user@example.com":
return {"message": ErrorMessages.ERROR_INVALID_USERNAME_PASSWORD, "data": login_data.username}
return {"message": ErrorMessages.ERROR_INVALID_USERNAME, "data": login_data.username}
if login_data.password == "" or login_data.password == "string":
return {"message": ErrorMessages.ERROR_INVALID_USERNAME_PASSWORD, "data": login_data.password}
return {"message": ErrorMessages.ERROR_INVALID_PASSWORD, "data": login_data.password}
return None
def db_data_validation(self, login_data):
......@@ -32,4 +32,3 @@ class LoginHandlers:
return {"message": ErrorMessages.ERROR_PASSWORD_MISMATCH, "data": {login_data.username,
login_data.password}}
return None
......@@ -3,6 +3,7 @@ class ErrorMessages:
OP_FAILED = "Operation failed"
# Authorization Errors
ERROR_AUTH_FAILED = "Authentication Failed. Please verify token"
ERROR_INVALID_USERNAME_PASSWORD = "Invalid Username or Password."
ERROR_INVALID_USERNAME = "Invalid Username"
ERROR_INVALID_PASSWORD = "Invalid Password"
ERROR_USER_NOT_REGISTERED = "Account is not registered in the portal."
ERROR_PASSWORD_MISMATCH = "Passwords Authentication Failed. Please enter the correct password"
from fastapi import FastAPI
from fastapi import APIRouter
from scripts.services import v1
router = FastAPI()
router = APIRouter()
router.include_router(v1.router)
from fastapi import APIRouter
from fastapi import APIRouter, status
from fastapi.responses import JSONResponse
from scripts.constants.api import ApiEndPoints
from scripts.core.handlers.login_handler import LoginHandlers
......@@ -15,10 +16,14 @@ def login_default(login_data: NormalLogin):
try:
response = obj_login_handler.user_data_validation(login_data)
if response is not None:
return DefaultFailureResponse(error=response["message"])
return JSONResponse(content=DefaultFailureResponse(error=response["message"]).dict(),
status_code=status.HTTP_400_BAD_REQUEST)
response = obj_login_handler.db_password_matching(login_data)
if response is not None:
return DefaultFailureResponse(error=response["message"])
return DefaultResponse(message="Login Successful", payload={"username": login_data.username})
return JSONResponse(content=DefaultFailureResponse(error=response["message"]).dict(),
status_code=status.HTTP_401_UNAUTHORIZED)
return JSONResponse(
content=DefaultResponse(message="Login Successful", payload={"username": login_data.username}).dict(),
status_code=status.HTTP_200_OK)
except Exception as e:
logger.exception(e)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment