Files
dsc-api/src/modules/settings/enums/notif-settings.enum.ts
T

90 lines
4.1 KiB
TypeScript
Executable File

export enum NotifCategory {
SUPPORT = "SUPPORT", //TICKET
SERVICE = "SERVICE",
INVOICE = "INVOICE",
ACCOUNT = "ACCOUNT",
FINANCE = "FINANCE", //WALLET AND ...
ADMIN = "ADMIN", // New category for admin notifications
}
export enum NotifType {
// Account category
USER_LOGIN = "USER_LOGIN",
USER_PASSWORD = "USER_PASSWORD",
ANNOUNCEMENT = "ANNOUNCEMENT",
// Finance category
WALLET_CHARGE = "WALLET_CHARGE",
WALLET_DEDUCTION = "WALLET_DEDUCTION",
//Invoice
BILL_INVOICE_REMINDER = "BILL_INVOICE_REMINDER",
BILL_INVOICE = "BILL_INVOICE",
APPROVE_INVOICE = "APPROVE_INVOICE",
CREATE_INVOICE = "CREATE_INVOICE",
INVOICE_OVERDUE = "INVOICE_OVERDUE",
// Service category
CREATE_SERVICE = "CREATE_SERVICE",
UNBLOCK_SERVICE = "UNBLOCK_SERVICE",
BLOCK_SERVICE = "BLOCK_SERVICE",
// Support category
ANSWER_TICKET = "ANSWER_TICKET",
CREATE_TICKET = "CREATE_TICKET",
//
ASSIGN_TICKET = "ASSIGN_TICKET",
RECURRING_INVOICE = "RECURRING_INVOICE",
PAYMENT_REMINDER = "PAYMENT_REMINDER",
PAYMENT_CANCELLATION = "PAYMENT_CANCELLATION",
// // Admin category
NEW_BLOG_COMMENT = "NEW_BLOG_COMMENT",
NEW_SERVICE_REVIEW = "NEW_SERVICE_REVIEW",
NEW_CUSTOMER = "NEW_CUSTOMER",
NEW_SUBSCRIPTION = "NEW_SUBSCRIPTION",
NEW_TICKET = "NEW_TICKET",
NEW_CRITICISM = "NEW_CRITICISM",
}
export const NotifDescriptions: Record<NotifType, { fa: string; category: NotifCategory }> = {
// Account category
[NotifType.USER_LOGIN]: { fa: "ورود به ناحیه کاربری", category: NotifCategory.ACCOUNT },
[NotifType.ANNOUNCEMENT]: { fa: "اعلانات و اطلاعیه ها", category: NotifCategory.ACCOUNT },
//DO_NOT_CREATE_THIS_NOTIFICATION_IN_DATABASE
[NotifType.USER_PASSWORD]: { fa: "ارسال رمز عبور پیش‌فرض", category: NotifCategory.ACCOUNT },
// Finance category
[NotifType.PAYMENT_REMINDER]: { fa: "یادآوری پرداخت", category: NotifCategory.FINANCE },
[NotifType.PAYMENT_CANCELLATION]: { fa: "لغو پرداخت", category: NotifCategory.FINANCE },
[NotifType.WALLET_CHARGE]: { fa: "شارژ کیف پول", category: NotifCategory.FINANCE },
[NotifType.WALLET_DEDUCTION]: { fa: "کسر از کیف پول", category: NotifCategory.FINANCE },
// Invoice category
[NotifType.CREATE_INVOICE]: { fa: "ایجاد صورت حساب", category: NotifCategory.INVOICE },
[NotifType.BILL_INVOICE_REMINDER]: { fa: "یادآوری پرداخت صورت حساب", category: NotifCategory.INVOICE },
[NotifType.BILL_INVOICE]: { fa: "پرداخت صورت حساب", category: NotifCategory.INVOICE },
[NotifType.APPROVE_INVOICE]: { fa: "تایید صورت حساب", category: NotifCategory.INVOICE },
[NotifType.RECURRING_INVOICE]: { fa: "صورت حساب دوره ای", category: NotifCategory.INVOICE },
[NotifType.INVOICE_OVERDUE]: { fa: "صورت حساب معوق", category: NotifCategory.INVOICE },
// Service category
[NotifType.CREATE_SERVICE]: { fa: "ایجاد سرویس", category: NotifCategory.SERVICE },
[NotifType.UNBLOCK_SERVICE]: { fa: "رفع انسداد سرویس", category: NotifCategory.SERVICE },
[NotifType.BLOCK_SERVICE]: { fa: "انسداد سرویس", category: NotifCategory.SERVICE },
// Support category
[NotifType.ANSWER_TICKET]: { fa: "پاسخ تیکت", category: NotifCategory.SUPPORT },
[NotifType.CREATE_TICKET]: { fa: "ثبت تیکت جدید", category: NotifCategory.SUPPORT },
[NotifType.ASSIGN_TICKET]: { fa: "ارجاع تیکت", category: NotifCategory.SUPPORT },
// // Admin category
//this are not inserted in the database
[NotifType.NEW_BLOG_COMMENT]: { fa: "نظر جدید در بلاگ", category: NotifCategory.ADMIN },
[NotifType.NEW_SERVICE_REVIEW]: { fa: "نقد و بررسی جدید سرویس", category: NotifCategory.ADMIN },
[NotifType.NEW_CUSTOMER]: { fa: "مشتری جدید", category: NotifCategory.ADMIN },
[NotifType.NEW_SUBSCRIPTION]: { fa: "اشتراک جدید", category: NotifCategory.ADMIN },
[NotifType.NEW_TICKET]: { fa: "تیکت جدید", category: NotifCategory.ADMIN },
[NotifType.NEW_CRITICISM]: { fa: "انتقاد جدید", category: NotifCategory.ADMIN },
};