def create_tokens(db: Session, user_id: int, at: str): """パスワード認証を行い、トークンを生成""" # ペイロード作成 access_payload = { 'token_type': 'access_token', 'exp': datetime.utcnow() + timedelta(minutes=60), 'user_id': user_id, } refresh_payload = { 'token_type': 'refresh_token', 'exp': datetime.utcnow() + timedelta(days=90), 'user_id': user_id, } # トークン作成(本来は'SECRET_KEY123'はもっと複雑にする) access_token = jwt.encode(access_payload, random_key, algorithm='HS256') refresh_token = jwt.encode(refresh_payload, random_key, algorithm='HS256') # DBにリフレッシュトークンを保存 # db.query(User).update({"refresh_token": refresh_token}).filter(User.id == user_id).values() # User.update(refresh_token=refresh_token).where(User.id == user_id).execute() user = schemas.User(id=user_id, foursquare_at=at) crud.create_user_item(db, user) return {'access_token': access_token, 'refresh_token': refresh_token, 'token_type': 'bearer'}
def create_item_for_user(user_id: int, item: schemas.ItemCreate, db: Session = Depends(get_db)): return crud.create_user_item(db=db, item=item, user_id=user_id)
def create_item_for_user(user_id: int, item: schemas.ItemCreate): return crud.create_user_item(item=item, user_id=user_id)