Skip to content

Commit ac895e6

Browse files
committed
add types.py
1 parent cae6231 commit ac895e6

File tree

6 files changed

+26
-30
lines changed

6 files changed

+26
-30
lines changed

engine/apps/mobile_app/demo_push.py

+2-8
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,8 @@
66
from firebase_admin.messaging import APNSPayload, Aps, ApsAlert, CriticalSound, Message
77

88
from apps.mobile_app.exceptions import DeviceNotSet
9-
from apps.mobile_app.tasks import (
10-
FCMMessageData,
11-
MessageType,
12-
Platform,
13-
_construct_fcm_message,
14-
_send_push_notification,
15-
logger,
16-
)
9+
from apps.mobile_app.tasks import _construct_fcm_message, _send_push_notification, logger
10+
from apps.mobile_app.types import FCMMessageData, MessageType, Platform
1711
from apps.user_management.models import User
1812

1913
if typing.TYPE_CHECKING:

engine/apps/mobile_app/models.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
from apps.auth_token import constants, crypto
1212
from apps.auth_token.models import BaseAuthToken
13-
from apps.mobile_app.tasks import MessageType, Platform
13+
from apps.mobile_app.types import MessageType, Platform
1414

1515
if typing.TYPE_CHECKING:
1616
from apps.user_management.models import Organization, User

engine/apps/mobile_app/tasks.py

+1-18
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import logging
44
import math
55
import typing
6-
from enum import StrEnum
76

87
import humanize
98
import pytz
@@ -20,6 +19,7 @@
2019
from apps.alerts.models import AlertGroup
2120
from apps.base.utils import live_settings
2221
from apps.mobile_app.alert_rendering import get_push_notification_subtitle
22+
from apps.mobile_app.types import FCMMessageData, MessageType, Platform
2323
from apps.schedules.models import ShiftSwapRequest
2424
from apps.schedules.models.on_call_schedule import OnCallSchedule, ScheduleEvent
2525
from apps.user_management.models import User
@@ -36,23 +36,6 @@
3636
logger.setLevel(logging.DEBUG)
3737

3838

39-
class MessageType(StrEnum):
40-
DEFAULT = "oncall.message"
41-
IMPORTANT = "oncall.critical_message"
42-
INFO = "oncall.info"
43-
44-
45-
class Platform(StrEnum):
46-
ANDROID = "android"
47-
IOS = "ios"
48-
49-
50-
class FCMMessageData(typing.TypedDict):
51-
title: str
52-
subtitle: typing.Optional[str]
53-
body: typing.Optional[str]
54-
55-
5639
def send_push_notification_to_fcm_relay(message: Message) -> requests.Response:
5740
"""
5841
Send push notification to FCM relay on cloud instance: apps.mobile_app.fcm_relay.FCMRelayView

engine/apps/mobile_app/tests/test_user_settings.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from rest_framework.test import APIClient
55

66
from apps.mobile_app.models import MobileAppUserSettings
7-
from apps.mobile_app.tasks import MessageType, Platform
7+
from apps.mobile_app.types import MessageType, Platform
88

99

1010
@pytest.mark.django_db

engine/apps/mobile_app/tests/test_your_going_oncall_notification.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
from apps.mobile_app import tasks
1010
from apps.mobile_app.models import FCMDevice, MobileAppUserSettings
11-
from apps.mobile_app.tasks import MessageType, Platform
11+
from apps.mobile_app.types import MessageType, Platform
1212
from apps.schedules.models import OnCallScheduleCalendar, OnCallScheduleICal, OnCallScheduleWeb
1313
from apps.schedules.models.on_call_schedule import ScheduleEvent
1414

@@ -248,7 +248,7 @@ def test_get_youre_going_oncall_fcm_message(
248248
mock_get_youre_going_oncall_notification_title.assert_called_once_with(seconds_until_going_oncall)
249249

250250
mock_construct_fcm_message.assert_called_once_with(
251-
tasks.MessageType.INFO, device, notification_thread_id, data, mock_apns_payload.return_value
251+
MessageType.INFO, device, notification_thread_id, data, mock_apns_payload.return_value
252252
)
253253

254254

engine/apps/mobile_app/types.py

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import typing
2+
from enum import StrEnum
3+
4+
5+
class MessageType(StrEnum):
6+
DEFAULT = "oncall.message"
7+
IMPORTANT = "oncall.critical_message"
8+
INFO = "oncall.info"
9+
10+
11+
class Platform(StrEnum):
12+
ANDROID = "android"
13+
IOS = "ios"
14+
15+
16+
class FCMMessageData(typing.TypedDict):
17+
title: str
18+
subtitle: typing.Optional[str]
19+
body: typing.Optional[str]

0 commit comments

Comments
 (0)