diff --git a/__pycache__/db.cpython-37.pyc b/__pycache__/db.cpython-37.pyc deleted file mode 100644 index b2d88c3..0000000 Binary files a/__pycache__/db.cpython-37.pyc and /dev/null differ diff --git a/__pycache__/run.cpython-37.pyc b/__pycache__/run.cpython-37.pyc deleted file mode 100644 index 4f94664..0000000 Binary files a/__pycache__/run.cpython-37.pyc and /dev/null differ diff --git a/application/__pycache__/__init__.cpython-37.pyc b/application/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index a4c0100..0000000 Binary files a/application/__pycache__/__init__.cpython-37.pyc and /dev/null differ diff --git a/application/__pycache__/app.cpython-37.pyc b/application/__pycache__/app.cpython-37.pyc deleted file mode 100644 index eb08c4c..0000000 Binary files a/application/__pycache__/app.cpython-37.pyc and /dev/null differ diff --git a/application/__pycache__/config.cpython-37.pyc b/application/__pycache__/config.cpython-37.pyc deleted file mode 100644 index 488e64a..0000000 Binary files a/application/__pycache__/config.cpython-37.pyc and /dev/null differ diff --git a/application/__pycache__/db.cpython-37.pyc b/application/__pycache__/db.cpython-37.pyc deleted file mode 100644 index ba30309..0000000 Binary files a/application/__pycache__/db.cpython-37.pyc and /dev/null differ diff --git a/application/__pycache__/endpoints.cpython-37.pyc b/application/__pycache__/endpoints.cpython-37.pyc deleted file mode 100644 index 52361da..0000000 Binary files a/application/__pycache__/endpoints.cpython-37.pyc and /dev/null differ diff --git a/application/db.py b/application/db.py index 08a616b..da46c3c 100644 --- a/application/db.py +++ b/application/db.py @@ -28,6 +28,23 @@ class Person(Base): face = Column('face', LargeBinary) fingerprints = relationship("Fingerprint", foreign_keys='Fingerprint.person_id') + def serialize(self): + prints = [] + for fingerprint in self.fingerprints: + prints.append(fingerprint.serialize()) + + data = { + "person_id": self.person_id, + "timestamp": self.timestamp, + "fname": self.fname, + "lname": self.lname, + "yob": self.yob, + "gender": self.gender, + "face": self.face, + "fingerprints": prints + } + return data + class Fingerprint(Base): __tablename__ = "fingerprint" person_id = Column('person_id', Integer, ForeignKey('person.person_id'), primary_key=True) @@ -36,4 +53,13 @@ class Fingerprint(Base): timestamp = Column('timestamp', DateTime, default=datetime.utcnow) fingerprint = Column('fingerprint', LargeBinary) + def serialize(self): + data = { + "person_id": self.person_id, + "fingerprint_id": self.fingerprint_id, + "timestamp": self.timestamp, + "fingerprint": self.fingerprint + } + return data + Base.metadata.create_all(engine) \ No newline at end of file diff --git a/application/endpoints.py b/application/endpoints.py index a78322f..1352fa8 100644 --- a/application/endpoints.py +++ b/application/endpoints.py @@ -3,7 +3,7 @@ import flask import requests import application.config as config import json -from application.db import Session, Person +from application.db import Session, Person, Fingerprint class PersonList(Resource): def post(self, id): @@ -19,14 +19,17 @@ class PersonList(Resource): """ """ try: session = Session() - person = Person(fname="hi") + fingerprint = Fingerprint(fingerprint_id=1) + person = Person(fname="hi", fingerprints=[fingerprint]) + session.add(fingerprint) session.add(person) + session.commit() data = list(session.query(Person).all()) arr = [] for x in data: - arr.append(json.loads(x)) + arr.append(x.serialize()) print(arr) return flask.make_response(flask.jsonify({'data': arr}), 200) diff --git a/run.py b/run.py index 2ea710a..eacc87a 100644 --- a/run.py +++ b/run.py @@ -2,3 +2,6 @@ from application import app app.run(host="0.0.0.0",port='10024', debug=True) + + + diff --git a/test.sqlite b/test.sqlite index 1839cd9..a15cd66 100644 Binary files a/test.sqlite and b/test.sqlite differ