Skip to content

Commit f28d122

Browse files
update response model
1 parent f6171e6 commit f28d122

File tree

5 files changed

+65
-21
lines changed

5 files changed

+65
-21
lines changed

BaseApp/UserApp/query.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from BaseApp.UserApp.models import User
2+
import datetime
3+
4+
5+
def getUser(db):
6+
return db.query(User).all()
7+
8+
9+
def createUser(data, db):
10+
dateTime = str(datetime.datetime.timestamp(datetime.datetime.now()))
11+
userObj = User(
12+
first_name=data.first_name,
13+
last_name=data.last_name,
14+
username=data.username,
15+
email=data.email,
16+
password=data.password,
17+
created_on=dateTime,
18+
updated_on=dateTime
19+
)
20+
db.add(userObj)
21+
db.commit()
22+
return userObj

BaseApp/UserApp/router.py

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,32 @@
11
from fastapi import Depends, APIRouter, HTTPException, status
22
from sqlalchemy.orm import Session
33
from BaseApp.dependencies import get_db
4-
from BaseApp.UserApp.schemas import UserCreateSchema
5-
from BaseApp.UserApp.models import User
6-
import datetime
4+
from BaseApp.UserApp.schemas import UserCreateSchema, UserResponse, UserList
5+
from BaseApp.UserApp.query import getUser, createUser
6+
from typing import List
7+
# from BaseApp.database import database
78

89
api = APIRouter()
910

1011

11-
@api.get("/users")
12-
def users(db: Session = Depends(get_db)):
13-
data = db.query(User).all()
12+
# @api.on_event("startup")
13+
# async def startup():
14+
# await database.connect()
15+
#
16+
#
17+
# @api.on_event("shutdown")
18+
# async def shutdown():
19+
# await database.disconnect()
20+
21+
22+
@api.get("/users", response_model=List[UserResponse], status_code=200)
23+
async def users(db: Session = Depends(get_db)):
24+
data = getUser(db)
25+
print(data)
1426
return data
1527

1628

17-
@api.post("/create-user")
18-
def registerUser(userData: UserCreateSchema, db: Session = Depends(get_db)):
19-
dateTime = str(datetime.datetime.timestamp(datetime.datetime.now()))
20-
userObj = User(
21-
first_name=userData.first_name,
22-
last_name=userData.last_name,
23-
username=userData.username,
24-
email=userData.email,
25-
password=userData.password,
26-
created_on=dateTime,
27-
updated_on=dateTime
28-
)
29-
db.add(userObj)
30-
db.commit()
31-
return {"status": "User created"}
29+
@api.post("/create-user", status_code=201)
30+
async def registerUser(userData: UserCreateSchema, db: Session = Depends(get_db)):
31+
data = createUser(userData, db)
32+
return data

BaseApp/UserApp/schemas.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from typing import List
12
from pydantic import BaseModel
23

34

@@ -9,3 +10,19 @@ class UserCreateSchema(BaseModel):
910
password: str
1011

1112

13+
class UserResponse(BaseModel):
14+
id: int
15+
first_name: str
16+
last_name: str
17+
username: str
18+
email: str
19+
password: str
20+
is_active: bool
21+
is_verify: bool
22+
is_delete: bool
23+
created_on: str
24+
updated_on: str
25+
26+
27+
class UserList(BaseModel):
28+
data: List = UserResponse

BaseApp/database.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from sqlalchemy.ext.declarative import declarative_base
33
from sqlalchemy.orm import sessionmaker
44
import os
5+
# import databases
56
from dotenv import load_dotenv
67

78
load_dotenv()
@@ -13,4 +14,6 @@
1314
)
1415
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
1516

17+
# database = databases.Database(SQLALCHEMY_DATABASE_URL)
18+
1619
Base = declarative_base()

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ SQLAlchemy==1.4.17
1616
starlette==0.14.2
1717
typing-extensions==3.10.0.0
1818
uvicorn==0.14.0
19+
databases~=0.4.3

0 commit comments

Comments
 (0)