mirror of
https://github.com/gmbrax/Pilgrim.git
synced 2026-11-10 02:30:18 +00:00
39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
from ..models.travel_diary import TravelDiary
|
|
import asyncio
|
|
|
|
class TravelDiaryService:
|
|
def __init__(self,session):
|
|
self.session = session
|
|
async def async_create(self, name:str):
|
|
new_travel_diary = TravelDiary(name)
|
|
self.session.add(new_travel_diary)
|
|
self.session.commit()
|
|
self.session.refresh(new_travel_diary)
|
|
|
|
return new_travel_diary
|
|
|
|
def read_by_id(self, travel_id:int):
|
|
return self.session.query(TravelDiary).get(travel_id)
|
|
|
|
def read_all(self):
|
|
return self.session.query(TravelDiary).all()
|
|
|
|
def update(self, travel_diary_id: int, name: str):
|
|
original = self.read_by_id(travel_diary_id)
|
|
if original is not None:
|
|
original.name = name
|
|
self.session.commit()
|
|
self.session.refresh(original)
|
|
return original
|
|
|
|
async def async_update(self, travel_diary_id: int, name: str):
|
|
return self.update(travel_diary_id, name)
|
|
|
|
def delete(self, travel_diary_id: TravelDiary):
|
|
excluded = self.read_by_id(travel_diary_id.id)
|
|
if excluded is not None:
|
|
self.session.delete(travel_diary_id)
|
|
self.session.commit()
|
|
return excluded
|
|
return None
|