Created
March 17, 2020 05:43
-
-
Save cuongld2/df1d12bc938772132d8ae987e4ce0401 to your computer and use it in GitHub Desktop.
CRUD to manipulate data into MySQL database
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from sqlalchemy.orm import Session | |
from . import models, schemas | |
import bcrypt | |
def get_user_by_username(db: Session, username: str): | |
return db.query(models.UserInfo).filter(models.UserInfo.username == username).first() | |
def create_user(db: Session, user: schemas.UserCreate): | |
hashed_password = bcrypt.hashpw(user.password.encode('utf-8'), bcrypt.gensalt()) | |
db_user = models.UserInfo(username=user.username, password=hashed_password, fullname=user.fullname) | |
db.add(db_user) | |
db.commit() | |
db.refresh(db_user) | |
return db_user | |
def check_username_password(db: Session, user: schemas.UserAuthenticate): | |
db_user_info: models.UserInfo = get_user_by_username(db, username=user.username) | |
return bcrypt.checkpw(user.password.encode('utf-8'), db_user_info.password.encode('utf-8')) | |
def create_new_blog(db: Session, blog: schemas.BlogBase): | |
db_blog = models.Blog(title=blog.title, content=blog.content) | |
db.add(db_blog) | |
db.commit() | |
db.refresh(db_blog) | |
return db_blog | |
def get_all_blogs(db: Session): | |
return db.query(models.Blog).all() | |
def get_blog_by_id(db: Session, blog_id: int): | |
return db.query(models.Blog).filter(models.Blog.id == blog_id).first() | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment