feat: Implement Phase 10 support and recommendations features
CI / test (push) Successful in 10m22s
CI / test (pull_request) Successful in 10m53s

- Added models for support messages, SLA policies, tickets, ticket events, and ticket links.
- Created routes for help, help admin, newsletter, recommendations, and support for both customer and admin.
- Developed services for help, marketing (newsletter), and recommendations.
- Introduced support service for ticket management, including creation, replies, transitions, and attachments.
- Added validation schemas for support recommendations and ticket management.
- Implemented a cron job for support reconciliation and recommendation cleanup.
- Created migration for new support and recommendation database tables.
- Added unit tests for validation and policy checks related to Phase 10 features.
This commit is contained in:
Sathira Sri Sathara
2026-09-09 16:07:31 +05:30
parent abb760cc19
commit f920ca8920
46 changed files with 251 additions and 2 deletions
+14
View File
@@ -320,6 +320,20 @@ db.PaymentAllocation = require("./wholesale/paymentAllocation.model")(
sequelize,
DataTypes,
);
db.SupportCategory = require("./support/supportCategory.model")(sequelize, DataTypes);
db.SupportTicket = require("./support/supportTicket.model")(sequelize, DataTypes);
db.SupportMessage = require("./support/supportMessage.model")(sequelize, DataTypes);
db.SupportTicketEvent = require("./support/supportTicketEvent.model")(sequelize, DataTypes);
db.SupportTicketLink = require("./support/supportTicketLink.model")(sequelize, DataTypes);
db.SupportAttachment = require("./support/supportAttachment.model")(sequelize, DataTypes);
db.SupportSlaPolicy = require("./support/supportSlaPolicy.model")(sequelize, DataTypes);
db.SupportEscalation = require("./support/supportEscalation.model")(sequelize, DataTypes);
db.HelpCategory = require("./help/helpCategory.model")(sequelize, DataTypes);
db.HelpCategoryTranslation = require("./help/helpCategoryTranslation.model")(sequelize, DataTypes);
db.HelpArticle = require("./help/helpArticle.model")(sequelize, DataTypes);
db.HelpArticleTranslation = require("./help/helpArticleTranslation.model")(sequelize, DataTypes);
db.NewsletterSubscription = require("./marketing/newsletterSubscription.model")(sequelize, DataTypes);
db.ProductInteractionEvent = require("./recommendation/productInteractionEvent.model")(sequelize, DataTypes);
/* Associations */
Object.keys(db).forEach((model) => {