mirror of
https://github.com/kevin-DL/full-stack-fastapi-postgresql.git
synced 2026-01-12 10:15:12 +00:00
* ♻️ Refactor backend, update DB session handling * ✨ Add mypy config and plugins * ➕ Use Python-jose instead of PyJWT as it has some extra functionalities and features * ✨ Add/update scripts for test, lint, format * 🔧 Update lint and format configs * 🎨 Update import format, comments, and types * 🎨 Add types to config * ✨ Add types for all the code, and small fixes * 🎨 Use global imports to simplify exploring with Jupyter * ♻️ Import schemas and models, instead of each class * 🚚 Rename db_session to db for simplicity * 📌 Update dependencies installation for testing
19 lines
644 B
Python
19 lines
644 B
Python
from typing import Optional
|
|
|
|
from sqlalchemy.orm import Session
|
|
|
|
from app import crud, models
|
|
from app.schemas.item import ItemCreate
|
|
from app.tests.utils.user import create_random_user
|
|
from app.tests.utils.utils import random_lower_string
|
|
|
|
|
|
def create_random_item(db: Session, *, owner_id: Optional[int] = None) -> models.Item:
|
|
if owner_id is None:
|
|
user = create_random_user(db)
|
|
owner_id = user.id
|
|
title = random_lower_string()
|
|
description = random_lower_string()
|
|
item_in = ItemCreate(title=title, description=description, id=id)
|
|
return crud.item.create_with_owner(db=db, obj_in=item_in, owner_id=owner_id)
|