128 lines
4.3 KiB
Python
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
|
|
},
|
|
},
|
|
}
|