Skip to content

Commit 44c0358

Browse files
committed
Fixed bug where all dates are the same based on when the server loaded the file
1 parent 18c754e commit 44c0358

File tree

9 files changed

+39
-13
lines changed

9 files changed

+39
-13
lines changed

backend/PyMatcha/models/block.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import datetime
2222
import logging
23+
from typing import Optional
2324

2425
from PyMatcha.utils import create_blocks_table
2526
from PyMatcha.utils.orm import Field
@@ -35,7 +36,9 @@ class Block(Model):
3536
dt_blocked = Field(datetime.datetime, fmt="%Y-%m-%d %H:%M:%S")
3637

3738
@staticmethod
38-
def create(blocker_id: int, blocked_id: int, dt_blocked: datetime.datetime = datetime.datetime.utcnow()) -> Block:
39+
def create(blocker_id: int, blocked_id: int, dt_blocked: Optional[datetime.datetime] = None) -> Block:
40+
if not dt_blocked:
41+
dt_blocked = datetime.datetime.utcnow()
3942
new_blocked = Block(blocker_id=blocker_id, blocked_id=blocked_id, dt_blocked=dt_blocked)
4043
new_blocked.save()
4144
logging.debug("Creating new block")

backend/PyMatcha/models/image.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import logging
2222
from datetime import datetime
23+
from typing import Optional
2324

2425
from PyMatcha.utils import create_images_table
2526
from PyMatcha.utils.orm import Field
@@ -36,7 +37,9 @@ class Image(Model):
3637
is_primary = Field(bool)
3738

3839
@staticmethod
39-
def create(user_id: int, link: str, is_primary: bool = False, timestamp: datetime = datetime.utcnow()) -> Image:
40+
def create(user_id: int, link: str, is_primary: bool = False, timestamp: Optional[datetime] = None) -> Image:
41+
if not timestamp:
42+
timestamp = datetime.utcnow()
4043
new_image = Image(user_id=user_id, link=link, is_primary=is_primary, timestamp=timestamp)
4144
new_image.save()
4245
logging.debug("Creating new image")

backend/PyMatcha/models/like.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import datetime
2222
import logging
23+
from typing import Optional
2324

2425
from PyMatcha.utils import create_likes_table
2526
from PyMatcha.utils.orm import Field
@@ -37,11 +38,10 @@ class Like(Model):
3738

3839
@staticmethod
3940
def create(
40-
liker_id: int,
41-
liked_id: int,
42-
is_superlike: str = False,
43-
dt_liked: datetime.datetime = datetime.datetime.utcnow(),
41+
liker_id: int, liked_id: int, is_superlike: str = False, dt_liked: Optional[datetime.datetime] = None
4442
) -> Like:
43+
if not dt_liked:
44+
dt_liked = datetime.datetime.utcnow()
4545
new_like = Like(liker_id=liker_id, liked_id=liked_id, is_superlike=is_superlike, dt_liked=dt_liked)
4646
new_like.save()
4747
logging.debug("Creating new like")

backend/PyMatcha/models/match.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import datetime
2222
import logging
23+
from typing import Optional
2324

2425
from PyMatcha.utils import create_matches_table
2526
from PyMatcha.utils.orm import Field
@@ -35,7 +36,9 @@ class Match(Model):
3536
dt_matched = Field(datetime.datetime, fmt="%Y-%m-%d %H:%M:%S")
3637

3738
@staticmethod
38-
def create(user_1: int, user_2: int, dt_matched: datetime.datetime = datetime.datetime.utcnow()) -> Match:
39+
def create(user_1: int, user_2: int, dt_matched: Optional[datetime.datetime] = None) -> Match:
40+
if not dt_matched:
41+
dt_matched = datetime.datetime.utcnow()
3942
new_match = Match(user_1=user_1, user_2=user_2, dt_matched=dt_matched)
4043
new_match.save()
4144
logging.debug("Creating new match")

backend/PyMatcha/models/message.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import logging
2222
from datetime import datetime
2323
from typing import Dict
24+
from typing import Optional
2425

2526
from PyMatcha.utils import create_messages_table
2627
from PyMatcha.utils.orm import Field
@@ -45,11 +46,13 @@ def create(
4546
from_id: int,
4647
to_id: int,
4748
content: str,
48-
timestamp: datetime = datetime.utcnow(),
49+
timestamp: Optional[datetime] = None,
4950
seen_timestamp: datetime = None,
5051
is_seen: bool = False,
5152
is_liked: bool = False,
5253
) -> Message:
54+
if not timestamp:
55+
datetime.utcnow()
5356
new_message = Message(
5457
from_id=from_id,
5558
to_id=to_id,

backend/PyMatcha/models/notification.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def create(
4646
type: str,
4747
link_to: Optional[str],
4848
is_seen: bool = False,
49-
dt_received: datetime = datetime.utcnow(),
49+
dt_received: Optional[datetime] = None,
5050
) -> Optional[Notification]:
5151
if type not in ["match", "like", "superlike", "unlike", "view", "message", "message_like"]:
5252
raise ValueError(
@@ -57,6 +57,8 @@ def create(
5757
blocked_ids = [block.blocked_id for block in get_user(user_id).get_blocks()]
5858
if trigger_id in blocked_ids:
5959
return None
60+
if not dt_received:
61+
dt_received = datetime.utcnow()
6062
new_notif = Notification(
6163
user_id=user_id, content=content, type=type, link_to=link_to, is_seen=is_seen, dt_received=dt_received
6264
)

backend/PyMatcha/models/report.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import datetime
2222
import logging
23+
from typing import Optional
2324

2425
from PyMatcha.utils import create_reports_table
2526
from PyMatcha.utils.orm import Field
@@ -43,8 +44,10 @@ def create(
4344
reporter_id: int,
4445
reason: str,
4546
details: str = None,
46-
dt_reported: datetime.datetime = datetime.datetime.utcnow(),
47+
dt_reported: Optional[datetime.datetime] = None,
4748
) -> Report:
49+
if not dt_reported:
50+
dt_reported = datetime.datetime.utcnow()
4851
new_report = Report(
4952
reported_id=reported_id, reporter_id=reporter_id, reason=reason, details=details, dt_reported=dt_reported
5053
)

backend/PyMatcha/models/user.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ def create(
8484
geohash: str,
8585
heat_score: int = 0,
8686
is_online: bool = False,
87-
date_joined: datetime.datetime = datetime.datetime.utcnow(),
88-
date_lastseen: datetime.datetime = datetime.datetime.utcnow(),
87+
date_joined: Optional[datetime.datetime] = None,
88+
date_lastseen: Optional[datetime.datetime] = None,
8989
is_profile_completed: bool = False,
9090
is_confirmed: bool = False,
9191
confirmed_on: datetime.datetime = None,
@@ -126,6 +126,12 @@ def create(
126126
# Encrypt password
127127
password = hash_password(password)
128128

129+
if not date_joined:
130+
date_joined = datetime.datetime.utcnow()
131+
132+
if not date_lastseen:
133+
date_lastseen = datetime.datetime.utcnow()
134+
129135
new_user = User(
130136
first_name=first_name,
131137
last_name=last_name,

backend/PyMatcha/models/view.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import datetime
2222
import logging
23+
from typing import Optional
2324

2425
from PyMatcha.utils import create_views_table
2526
from PyMatcha.utils.orm import Field
@@ -35,7 +36,9 @@ class View(Model):
3536
dt_seen = Field(datetime.datetime, fmt="%Y-%m-%d %H:%M:%S")
3637

3738
@staticmethod
38-
def create(profile_id: int, viewer_id: int, dt_seen: datetime.datetime = datetime.datetime.utcnow()) -> View:
39+
def create(profile_id: int, viewer_id: int, dt_seen: Optional[datetime.datetime] = None) -> View:
40+
if not dt_seen:
41+
dt_seen = datetime.datetime.utcnow()
3942
new_view = View(profile_id=profile_id, viewer_id=viewer_id, dt_seen=dt_seen)
4043
new_view.save()
4144
logging.debug("Creating new view")

0 commit comments

Comments
 (0)