116 lines
4.5 KiB
Python
116 lines
4.5 KiB
Python
import asyncio
|
|
from datetime import datetime
|
|
from backend.models.models import MessageTemplateDoc
|
|
from beanie import init_beanie
|
|
from motor.motor_asyncio import AsyncIOMotorClient
|
|
from common.constants.region import UserRegion
|
|
|
|
async def main():
|
|
# connect to MongoDB
|
|
client = AsyncIOMotorClient("mongodb://localhost:27017")
|
|
db = client["freeleaps2"] ##name needed to be renamed:: templates? magicleaps?
|
|
await init_beanie(database=db, document_models=[MessageTemplateDoc])
|
|
|
|
|
|
templates = [
|
|
## English Version
|
|
# evaluation result template
|
|
MessageTemplateDoc(
|
|
template_id="evaluation_result",
|
|
tenant_id=None,
|
|
region=UserRegion.OTHER,
|
|
subject="Interview Evaluation Result",
|
|
body="Your interview evaluation result is: {result}",
|
|
created_at=datetime.utcnow()
|
|
),
|
|
# Deadline Reminder - automated reminders before interview deadlines
|
|
MessageTemplateDoc(
|
|
template_id="deadline_reminder",
|
|
tenant_id=None,
|
|
region=UserRegion.OTHER,
|
|
subject="Interview Deadline Reminder",
|
|
body="Reminder: Your {position} interview will end on {deadline}. Please take action.",
|
|
created_at=datetime.utcnow()
|
|
),
|
|
# Deadline Reminder - notifications when interviews are about to expire
|
|
MessageTemplateDoc(
|
|
template_id="interview_expiring",
|
|
tenant_id=None,
|
|
region=UserRegion.OTHER,
|
|
subject="Interview Expiring",
|
|
body="Reminder: Your {position} interview will expire on {expire_time}. Please take action.",
|
|
created_at=datetime.utcnow()
|
|
),
|
|
# Status Update Notification - status changes
|
|
MessageTemplateDoc(
|
|
template_id="status_update",
|
|
tenant_id=None,
|
|
region=UserRegion.OTHER,
|
|
subject="Interview Status Update",
|
|
body="Your {position} interview status has been updated to: {status}",
|
|
created_at=datetime.utcnow()
|
|
),
|
|
# Status Update Notification - interview cancelled
|
|
MessageTemplateDoc(
|
|
template_id="interview_cancelled",
|
|
tenant_id=None,
|
|
region=UserRegion.OTHER,
|
|
subject="Interview Cancelled",
|
|
body="Your {position} interview has been cancelled.",
|
|
created_at=datetime.utcnow()
|
|
),
|
|
## Chinese Version
|
|
# Evaluation Result Notification
|
|
MessageTemplateDoc(
|
|
template_id="evaluation_result",
|
|
tenant_id="tenantA",
|
|
region=UserRegion.ZH_CN,
|
|
subject="面试评估结果通知",
|
|
body="您的面试评估结果为:{result}",
|
|
created_at=datetime.utcnow()
|
|
),
|
|
# Deadline Reminder - automated reminders before interview deadlines
|
|
MessageTemplateDoc(
|
|
template_id="deadline_reminder",
|
|
tenant_id="tenantA",
|
|
region=UserRegion.ZH_CN,
|
|
subject="面试截止提醒",
|
|
body="提醒:您申请的 {position} 面试将于 {deadline} 截止,请及时处理。",
|
|
created_at=datetime.utcnow()
|
|
),
|
|
# Deadline Reminder - notifications when interviews are about to expire
|
|
MessageTemplateDoc(
|
|
template_id="interview_expiring",
|
|
tenant_id="tenantA",
|
|
region=UserRegion.ZH_CN,
|
|
subject="面试即将过期",
|
|
body="您的 {position} 面试将在 {expire_time} 过期,请尽快完成相关操作。",
|
|
created_at=datetime.utcnow()
|
|
),
|
|
# Status Update Notification - status changes
|
|
MessageTemplateDoc(
|
|
template_id="status_update",
|
|
tenant_id="tenantA",
|
|
region=UserRegion.ZH_CN,
|
|
subject="面试状态更新",
|
|
body="您的 {position} 面试状态已变更为:{status}",
|
|
created_at=datetime.utcnow()
|
|
),
|
|
# Status Update Notification - interview cancelled
|
|
MessageTemplateDoc(
|
|
template_id="interview_cancelled",
|
|
tenant_id="tenantA",
|
|
region=UserRegion.ZH_CN,
|
|
subject="面试已取消",
|
|
body="您的 {position} 面试已被取消。",
|
|
created_at=datetime.utcnow()
|
|
),
|
|
]
|
|
|
|
# Insert templates
|
|
for template in templates:
|
|
await template.create()
|
|
print("Templates inserted successfully.")
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main()) |