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
+12
View File
@@ -43,6 +43,12 @@ const loyaltyCustomerRoutes = require("./loyalty/customer.routes");
const loyaltyAdminRoutes = require("./loyalty/admin.routes");
const wholesaleCustomerRoutes = require("./wholesale/customer.routes");
const wholesaleAdminRoutes = require("./wholesale/admin.routes");
const supportCustomerRoutes = require("./support/customer.routes");
const supportAdminRoutes = require("./support/admin.routes");
const helpRoutes = require("./help.routes");
const helpAdminRoutes = require("./helpAdmin.routes");
const newsletterRoutes = require("./newsletter.routes");
const recommendationRoutes = require("./recommendation.routes");
const router = express.Router();
@@ -78,5 +84,11 @@ router.use("/", loyaltyCustomerRoutes);
router.use("/admin", loyaltyAdminRoutes);
router.use("/", wholesaleCustomerRoutes);
router.use("/admin", wholesaleAdminRoutes);
router.use("/", supportCustomerRoutes);
router.use("/admin", supportAdminRoutes);
router.use("/", helpRoutes);
router.use("/admin", helpAdminRoutes);
router.use("/", newsletterRoutes);
router.use("/", recommendationRoutes);
module.exports = router;