mirror of https://github.com/gmbrax/Pilgrim.git
36 lines
1.1 KiB
Python
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
|