mirror of
https://github.com/gmbrax/Pilgrim.git
synced 2026-11-10 02:30:18 +00:00
Added the Services layer to the code to do the database operation
This commit is contained in:
parent
0a9c2952ec
commit
8ad57b548f
@@ -0,0 +1,52 @@
|
||||
|
||||
|
||||
from ..models.entry import Entry
|
||||
from ..models.travel_diary import TravelDiary
|
||||
|
||||
|
||||
class EntryService:
|
||||
def __init__(self,session):
|
||||
self.session = session
|
||||
|
||||
def create(self, travel_diary_id:int, title: str, text: str, date: str, ):
|
||||
travel_diary = self.session.query(TravelDiary).filter(TravelDiary.id == travel_diary_id).first()
|
||||
if not travel_diary:
|
||||
return None
|
||||
new_entry = Entry(title,text,date,travel_diary_id)
|
||||
self.session.add(new_entry)
|
||||
self.session.commit()
|
||||
self.session.refresh(new_entry)
|
||||
|
||||
|
||||
return new_entry
|
||||
|
||||
def read_by_id(self,entry_id:int):
|
||||
entry = self.session.query(Entry).filter(Entry.id == entry_id).first()
|
||||
return entry
|
||||
|
||||
def read_all(self):
|
||||
entries = self.session.query(Entry).all()
|
||||
return entries
|
||||
|
||||
def update(self,entry_src:Entry,entry_dst:Entry):
|
||||
original:Entry = self.read_by_id(entry_src.id)
|
||||
if original:
|
||||
original.title = entry_dst.title
|
||||
original.text = entry_dst.text
|
||||
original.date = entry_dst.date
|
||||
original.fk_TravelDiary_id = entry_dst.fk_TravelDiary_id
|
||||
original.photos = entry_dst.photos
|
||||
self.session.commit()
|
||||
self.session.refresh(original)
|
||||
return original
|
||||
|
||||
def delete(self,entry_src:Entry):
|
||||
excluded = self.read_by_id(entry_src.id)
|
||||
if excluded is not None:
|
||||
self.session.delete(excluded)
|
||||
self.session.commit()
|
||||
return excluded
|
||||
return None
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user