Skip to content

Commit b635a15

Browse files
committed
repository for batches [chapter_02_repository_ends]
1 parent 8dae126 commit b635a15

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

repository.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import abc
2+
import model
3+
4+
5+
class AbstractRepository(abc.ABC):
6+
@abc.abstractmethod
7+
def add(self, batch: model.Batch):
8+
raise NotImplementedError
9+
10+
@abc.abstractmethod
11+
def get(self, reference) -> model.Batch:
12+
raise NotImplementedError
13+
14+
15+
class SqlAlchemyRepository(AbstractRepository):
16+
def __init__(self, session):
17+
self.session = session
18+
19+
def add(self, batch):
20+
self.session.add(batch)
21+
22+
def get(self, reference):
23+
return self.session.query(model.Batch).filter_by(reference=reference).one()
24+
25+
def list(self):
26+
return self.session.query(model.Batch).all()

0 commit comments

Comments
 (0)