move kontor_model in kontor-api (#98)
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
Co-authored-by: Thomas Peetz <thomas.peetz@cimt-ag.de> Reviewed-on: #98
This commit was merged in pull request #98.
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
from datetime import datetime
|
||||
import uuid
|
||||
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from src.db.models.media import MediaLofi
|
||||
from src.schema.media.lofi import MediaLofiModel
|
||||
|
||||
|
||||
def create_new_lofi(url: str, db: Session) -> MediaLofi:
|
||||
"""
|
||||
Create MediaLofi with given URL.
|
||||
"""
|
||||
print("create MediaLofi with url %s", url)
|
||||
media_lofi = MediaLofi()
|
||||
media_lofi.id = str(uuid.uuid4())
|
||||
media_lofi.url = url
|
||||
media_lofi.created_date = datetime.now()
|
||||
media_lofi.last_modified_date = datetime.now()
|
||||
media_lofi.review = True
|
||||
media_lofi.should_download = False
|
||||
db.add(media_lofi)
|
||||
db.commit()
|
||||
db.refresh(media_lofi)
|
||||
print(media_lofi)
|
||||
return media_lofi
|
||||
|
||||
def import_medialofi(db: Session, new_lofi: MediaLofiModel) -> MediaLofi:
|
||||
"""
|
||||
import MediaLofi and set missing values with default ones.
|
||||
"""
|
||||
print("import MediaLofi with %s", new_lofi)
|
||||
media_lofi: MediaLofi = MediaLofi()
|
||||
media_lofi.id = new_lofi.id
|
||||
if new_lofi.created_date:
|
||||
media_lofi.created_date = new_lofi.created_date
|
||||
else:
|
||||
media_lofi.created_date = datetime.now()
|
||||
if new_lofi.last_modified_date:
|
||||
media_lofi.last_modified_date = new_lofi.last_modified_date
|
||||
else:
|
||||
media_lofi.last_modified_date = datetime.now()
|
||||
media_lofi.version = new_lofi.version
|
||||
if new_lofi.title:
|
||||
media_lofi.title = new_lofi.title
|
||||
else:
|
||||
media_lofi.title = ""
|
||||
if new_lofi.url:
|
||||
media_lofi.url = new_lofi.url
|
||||
else:
|
||||
# TODO shoud exeception be raised when url is missing?
|
||||
media_lofi.url = ""
|
||||
media_lofi.review = new_lofi.review
|
||||
media_lofi.should_download = new_lofi.should_download
|
||||
db.add(media_lofi)
|
||||
db.commit()
|
||||
db.refresh(media_lofi)
|
||||
return media_lofi
|
||||
|
||||
|
||||
def delete_medialofi(db: Session, lofi_id: str):
|
||||
"""
|
||||
Delete MediaLofi with given ID from db.
|
||||
"""
|
||||
print("delete MediaLofi with id %s", lofi_id)
|
||||
lofi = db.get(MediaLofi, lofi_id)
|
||||
db.delete(lofi)
|
||||
db.commit()
|
||||
|
||||
Reference in New Issue
Block a user