Init files

This commit is contained in:
2021-07-23 14:48:20 +09:00
commit f1186d7483
38 changed files with 480 additions and 0 deletions

0
auth/routers/__init__.py Normal file
View File

View File

@ -0,0 +1,24 @@
from fastapi import APIRouter, Depends, status, HTTPException
from fastapi.security import OAuth2PasswordRequestForm
from auth import token
from auth.login.models import login as models
from databases.pgsql import database
from auth.hashing import Hash
from sqlalchemy.orm import Session
router = APIRouter(tags=['Authentication'])
@router.post('/login')
def login(request: OAuth2PasswordRequestForm = Depends(), db: Session = Depends(database.get_db)):
user = db.query(models.User).filter(
models.User.email == request.username).first()
if not user:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND,
detail=f"Invalid Credentials")
if not Hash.verify(request.password,user.hashed_password):
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND,
detail=f"Incorrect password")
access_token = token.create_access_token(data={"sub": user.email})
return {"access_token": access_token, "token_type": "bearer"}

34
auth/routers/login.py Normal file
View File

@ -0,0 +1,34 @@
from auth.login import models
from auth.auth import login
from fastapi import APIRouter
from auth.login.schemas import login as schemas
from auth.login.models import login as models
from sqlalchemy.orm import Session
from fastapi import APIRouter, Depends, status
from auth.login.repository import login as user
from databases.pgsql import database
router = APIRouter(
prefix="/user",
tags=['Users']
)
get_db = database.get_db
@router.post('/', response_model=schemas.UserCreate)
def create_user(request: schemas.UserCreate, db: Session = Depends(get_db)):
print(request)
return user.create_user(db, request)
@router.delete('/{id}')
def delete_user(id:int, db: Session = Depends(get_db)):
return user.delete_user(db, id)
@router.get('/{id}', response_model=schemas.User)
def get_user(id: int, db: Session = Depends(get_db)):
return user.get_user(db, id)
@router.get('/')
def get_users(db: Session = Depends(get_db)):
return user.get_users(db)

34
auth/routers/roles.py Normal file
View File

@ -0,0 +1,34 @@
import re
from auth.login import models
from auth.auth import login
from fastapi import APIRouter
from auth.login.schemas import login as schemas
from auth.login.models import login as models
from sqlalchemy.orm import Session
from fastapi import APIRouter, Depends, status
from auth.login.repository import login as user
from databases.pgsql import database
router = APIRouter(
prefix="/roles",
tags=['Roles']
)
get_db = database.get_db
@router.post('/', response_model=schemas.RoleCreate)
def create_role(request: schemas.RoleCreate, db: Session = Depends(get_db)):
return user.create_roles(db, request)
@router.get('/{id}',response_model=schemas.Role)
def show_role(id :int, db: Session = Depends(get_db)):
return user.get_role(db, id)
@router.get('/')
def show_roles(db: Session = Depends(get_db)):
return user.get_roles(db)
@router.delete('/{id}')
def delete_role(id: int, db: Session = Depends(get_db)):
return user.delete_role(db, id)