diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 0930a60..68a66be 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,11 +4,17 @@
-
-
+
+
+
+
+
+
+
+
@@ -141,7 +147,15 @@
1749140898576
-
+
+
+ 1749155713848
+
+
+
+ 1749155713848
+
+
@@ -162,7 +176,8 @@
-
+
+
diff --git a/src/pilgrim/application.py b/src/pilgrim/application.py
index 0c0dcbb..61d75ba 100644
--- a/src/pilgrim/application.py
+++ b/src/pilgrim/application.py
@@ -13,4 +13,4 @@ class Application:
session = self.database.session()
session_manager = ServiceManager()
session_manager.set_session(session)
- return session_manager
\ No newline at end of file
+ return session_manager
diff --git a/src/pilgrim/models/entry.py b/src/pilgrim/models/entry.py
index b9f75ed..27c6612 100644
--- a/src/pilgrim/models/entry.py
+++ b/src/pilgrim/models/entry.py
@@ -8,7 +8,7 @@ from ..database import Base
class Entry(Base):
- __tablename__ = "Entry"
+ __tablename__ = "entries"
id = Column(Integer, primary_key=True)
title = Column(String)
text = Column(String)
@@ -17,12 +17,10 @@ class Entry(Base):
"Photo",
secondary=photo_entry_association,
back_populates="entries")
- fk_TravelDiary_id = Column(Integer, ForeignKey("TravelDiary.id"))
+ fk_travel_diary_id = Column(Integer, ForeignKey("travel_diaries.id"))
def __init__(self, title: str, text: str, date: str, travel_diary_id: int, **kw: Any):
super().__init__(**kw)
self.title = title
self.text = text
self.date = date
- self.fk_TravelDiary_id = travel_diary_id
-
-
+ self.fk_travel_diary_id = travel_diary_id
diff --git a/src/pilgrim/models/photo.py b/src/pilgrim/models/photo.py
index 0e327f1..d52dca5 100644
--- a/src/pilgrim/models/photo.py
+++ b/src/pilgrim/models/photo.py
@@ -8,17 +8,18 @@ from ..database import Base
class Photo(Base):
- __tablename__ = "photo"
+ __tablename__ = "photos"
id = Column(Integer, primary_key=True)
filepath = Column(String)
name = Column(String)
addition_date = Column(String)
caption = Column(String)
- entries:relationship = relationship(
+ entries = relationship(
"Entry",
secondary=photo_entry_association,
back_populates="photos"
)
+
def __init__(self, filepath, name, addition_date=None, caption=None, entries=None, **kw: Any):
super().__init__(**kw)
self.filepath = filepath
@@ -26,4 +27,3 @@ class Photo(Base):
self.addition_date = addition_date
self.caption = caption
self.entries = entries
-
diff --git a/src/pilgrim/models/photo_in_entry.py b/src/pilgrim/models/photo_in_entry.py
index 99ff9db..e50c939 100644
--- a/src/pilgrim/models/photo_in_entry.py
+++ b/src/pilgrim/models/photo_in_entry.py
@@ -4,5 +4,5 @@ from ..database import Base
photo_entry_association = Table('photo_entry_association', Base.metadata,
Column('id', Integer, primary_key=True, autoincrement=True),
- Column('fk_Photo_id', Integer, ForeignKey('photo.id')),
- Column('fk_Entry_id', Integer, ForeignKey('Entry.id')))
+ Column('fk_photo_id', Integer, ForeignKey('photos.id')),
+ Column('fk_entry_id', Integer, ForeignKey('entries.id')))
diff --git a/src/pilgrim/models/travel_diary.py b/src/pilgrim/models/travel_diary.py
index 23caf34..676b49b 100644
--- a/src/pilgrim/models/travel_diary.py
+++ b/src/pilgrim/models/travel_diary.py
@@ -5,7 +5,7 @@ from sqlalchemy import Column, String, Integer
from ..database import Base
class TravelDiary(Base):
- __tablename__ = "TravelDiary"
+ __tablename__ = "travel_diaries"
id = Column(Integer, primary_key=True)
name = Column(String)
diff --git a/src/pilgrim/service/entry_service.py b/src/pilgrim/service/entry_service.py
index 07bc959..f799d20 100644
--- a/src/pilgrim/service/entry_service.py
+++ b/src/pilgrim/service/entry_service.py
@@ -1,4 +1,4 @@
-
+from typing import List
from ..models.entry import Entry
from ..models.travel_diary import TravelDiary
@@ -20,33 +20,31 @@ class EntryService:
return new_entry
- def read_by_id(self,entry_id:int):
+ def read_by_id(self,entry_id:int)->Entry:
entry = self.session.query(Entry).filter(Entry.id == entry_id).first()
return entry
- def read_all(self):
+ def read_all(self)-> List[Entry]:
entries = self.session.query(Entry).all()
return entries
- def update(self,entry_src:Entry,entry_dst:Entry):
+ def update(self,entry_src:Entry,entry_dst:Entry) -> Entry | None:
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.fk_travel_diary_id = entry_dst.fk_travel_diary_id
original.photos = entry_dst.photos
self.session.commit()
self.session.refresh(original)
- return original
+ return original
+ return None
- def delete(self,entry_src:Entry):
+ def delete(self,entry_src:Entry)-> Entry | None:
excluded = self.read_by_id(entry_src.id)
if excluded is not None:
self.session.delete(excluded)
self.session.commit()
return excluded
return None
-
-
-
diff --git a/src/pilgrim/service/photo_service.py b/src/pilgrim/service/photo_service.py
index 340dd72..cf4ab30 100644
--- a/src/pilgrim/service/photo_service.py
+++ b/src/pilgrim/service/photo_service.py
@@ -43,4 +43,3 @@ class PhotoService:
self.session.refresh(excluded)
return excluded
return None
-
diff --git a/src/pilgrim/service/servicemanager.py b/src/pilgrim/service/servicemanager.py
index 8ec7801..b0b0cde 100644
--- a/src/pilgrim/service/servicemanager.py
+++ b/src/pilgrim/service/servicemanager.py
@@ -16,4 +16,4 @@ class ServiceManager:
def get_travel_diary_service(self):
if self.session is not None:
return TravelDiaryService(self.session)
- return None
\ No newline at end of file
+ return None