freeleaps-service-hub/apps/notification/backend/models/constants.py
2024-10-30 20:49:50 -07:00

128 lines
4.3 KiB
Python

from enum import Enum
from pydantic import BaseModel
from common.constants.region import UserRegion
class NotificationChannel(Enum):
IN_APP = 0
CHAT_MESSAGE = 1
EMAIL = 2
SMS = 3
class NotificationMessage(BaseModel):
sender_id: str
receiver_id: str
subject: str
event: str
properties: dict
SystemNotifications = {
UserRegion.OTHER: {
"request": { # Subject
"quoted": { # Event
"message_subject": "update for your request",
"message": "There is a quote for your request",
},
"unquoted": {
"message_subject": "update for your request",
"message": "A quote for your request has been withdrawed",
},
"invite": {
"message_subject": "You are invited",
"message": "You are invited to provide proposal for a request.",
},
"chat_created": {
"message_subject": "new chat created",
"message": "This chat group is created for the project.",
},
},
"quote": { # Subject
"accepted": { # Event
"message_subject": "update for your quote",
"message": "Your quote has been accepted",
},
"rejected": {
"message_subject": "update for your quote",
"message": "Your quote has been rejected",
},
},
"milestone": { # Subject
"state-change": { # Event
"message_subject": "update for your milestone",
"message": "Your project milestone has a state change.",
}
},
"email": { # Subject
"authentication": { # Event
"message_subject": "Freeleaps Support",
"message": "The auth code is: {} . \r\nDo not share this to anyone.",
}
},
"mobile": { # Subject
"authentication": { # Event
"message_subject": "Freeleaps Support",
"message": "The auth code is: {} . \r\nDo not share this to anyone.",
}
},
"message": { # Subject
"new": { # Event
"message_subject": "new messages",
"message": "There are new messages.",
}
},
},
UserRegion.ZH_CN: {
"request": { # Subject
"quoted": { # Event
"message_subject": "你的请求有更新",
"message": "这里有一条关于你的请求的报价",
},
"unquoted": {
"message_subject": "你的请求有更新",
"message": "一条你的请求的报价被拒绝",
},
"invite": {
"message_subject": "有人邀请你",
"message": "你被邀请为一个请求提供报价",
},
"chat_created": {
"message_subject": "创建了聊天群组",
"message": "本项目的聊天群组以及建立完成.",
},
},
"quote": { # Subject
"accepted": {
"message_subject": "你的报价有更新",
"message": "你的报价已被接受",
}, # Event
"rejected": {
"message_subject": "你的报价有更新",
"message": "你的报价被拒绝",
},
},
"milestone": { # Subject
"state-change": { # Event
"message_subject": "你的里程碑有更新",
"message": "你的项目里程碑发生了状态改变",
}
},
"email": { # Subject
"authentication": { # Event
"message_subject": "自由跳跃技术支持",
"message": "安全认证码为: {} . \r\n切勿分享给他人",
}
},
"mobile": { # Subject
"authentication": { # Event
"message_subject": "自由跳跃技术支持",
"message": "安全认证码为: {} . \r\n切勿分享给他人",
}
},
"message": { # Subject
"new": {"message_subject": "新消息", "message": "你有新的会话消息"} # Event
},
},
}