Now Every timeLog is officially a heart beat :)
6XRNELJYSCXSUKCASHOV5KI5J7J37L6ZRQLF53XNYFFB5LQSV5SQC U7YC7G2E7MNVRVOJJH2KWJ4JVXRRDH5QNNAM6GRH6LEPKIBYVCKQC 4X7O3IIIOLNFM7WIRFIQSA57Z5WBNN4ALXHLVEX6X5VAFH3NRYQAC HLT3VOJGKJBMLCM2J65FGAEWDSWRRCGMBGZBHC4UXHENDPXQGOQQC KOPR5C5RMNSRY5MRNOZ5XB7QNCN7XVCGMQG2I7HKIQAFASNJJXAAC WHFVDGU5M2K6UF3RTXTBR4UHJSRCXRSLF6CMIFNEAIUPH2KS6E5AC GIKW7G7ZCEUPTGDPUV236VJCPM7UGNKI6LI2T5KMIUWVNB4PICQQC R6WKWABEMZLMEX7IBIJNDAQSQGTQ72QX4QHWUGTQAOFCL73PQZNQC BIILSRZG4Y3K4DTEBPOQD4EERVJ5DUL3LU42XKJAKWKDN7DVTWXAC YQ4KLIM4WBKSSO32V7GOU6IVY53XAHIPL65RUUKWNKILOZ7VLQSAC VRJ6XA2ZRV5MP6UVYCFFWOVHXFFVOMNXZP4LZ5EYYPYKSDHJYCGAC UILSLVIAB4X2JHH57MLWDO4BFD665BPR2ISHEX35VFMVGP7QPGYAC OKPCYKFRUVA3KXT6I722VW4EN3QNJWDOM34FKCSW36PZCNPAUDQQC H6RFGRA6W24KDK4GEC4S26RBUQELZJJDRKPEZCD5W6WU3UBPLJJQC UGT3GABDAFKEMPYA2G2ATTGHAITHWLOMCVSI5NLGXZNZ7BDFKONQC from beats.exceptions import ProjectWasNotStarted, MoreThanOneLogOpenForProject, ProjectAlreadyStartedfrom beats.models import ProjectRepository, Project, TimeLog, TimeLogRepository
from beats.exceptions import ProjectWasNotStarted, HeartAlreadyBeating, ProjectAlreadyStartedfrom beats.models import ProjectRepository, Project, Beat, BeatRepository
logs = list(TimeLogRepository.list({"project_id": project_id}))today_logs = [TimeLog(**serialize_from_document(log)) for log in logs if TimeLog(**log).start.date() == date.today()]
logs = list(BeatRepository.list({"project_id": project_id}))today_logs = [Beat(**serialize_from_document(log)) for log in logs if Beat(**log).start.date() == date.today()]
log = TimeLog(project_id=project_id, start=time_validator.time)TimeLogRepository.create(log.dict(exclude_none=True))
log = Beat(project_id=project_id, start=time_validator.time)BeatRepository.create(log.dict(exclude_none=True))
@app.post("/timelogs", status_code=http.HTTPStatus.CREATED)async def create_timelog(log: TimeLog):log = TimeLogRepository.create(log.dict(exclude_none=True))
@app.post("/beats", status_code=http.HTTPStatus.CREATED)async def create_beat(log: Beat):log = BeatRepository.create(log.dict(exclude_none=True))
@app.get("/timelogs/{timelog_id}")async def get_timelog(timelog_id: str):timelog = TimeLogRepository.retrieve_by_id(timelog_id)return serialize_from_document(timelog)
@app.get("/beats/{beat_id}")async def get_beat(beat_id: str):beat = BeatRepository.retrieve_by_id(beat_id)return serialize_from_document(beat)
class TestTimeLogModel:def test_time_log_stop_timer(self):log = TimeLog(start=datetime.fromisoformat("2020-01-11T04:30:00"))
class TestBeatModel:def test_beat_stop_timer(self):log = Beat(start=datetime.fromisoformat("2020-01-11T04:30:00"))