1 parent 8dae126 commit b635a15Copy full SHA for b635a15
1 file changed
repository.py
@@ -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
11
+ def get(self, reference) -> model.Batch:
12
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