Pilgrim/src/pilgrim/service/travel_diary_service.py

36 lines
1.1 KiB
Python

from ..models.travel_diary import TravelDiary
class TravelDiaryService:
def __init__(self,session):
self.session = session
def 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_src:TravelDiary,travel_diary_dst:TravelDiary):
original = self.read_by_id(travel_diary_src.id)
if original is not None:
original.name = travel_diary_dst.name
self.session.commit()
self.session.refresh(original)
return original
def delete(self, travel_diary_src:TravelDiary):
excluded = self.read_by_id(travel_diary_src.id)
if excluded is not None:
self.session.delete(travel_diary_src)
self.session.commit()
return excluded
return None