6 8 25 dev#74
Conversation
…diting menu courses
…uccessfully. Need to send correct email with link to the product to purchase
…vent product on with default sales channel for now
|
Caution Review failedThe pull request is closed. WalkthroughIntroduces “menus” and “chef-event” modules end-to-end: models, migrations, services, links, workflows, admin/store APIs, SDKs, admin UI (calendar, forms, email management), storefront UI/routes (menus, request flow, event products), notification provider (Resend) with templates/subscribers, seeding scripts, configuration updates, and supporting utilities. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User
participant Storefront as Storefront UI
participant StoreAPI as Store API (/store/chef-events)
participant Workflow as create-chef-event-workflow
participant Module as ChefEventModuleService
participant Notif as Notification Service
User->>Storefront: Submit Event Request Form
Storefront->>StoreAPI: POST /store/chef-events (validated)
StoreAPI->>Workflow: Run create-chef-event-workflow
Workflow->>Module: createChefEvents(...)
Module-->>Workflow: chefEvent
Workflow->>Notif: emit "chef-event.requested"
Workflow-->>StoreAPI: { chefEvent }
StoreAPI-->>Storefront: 201 Created + chefEvent
Storefront-->>User: Redirect to /request/success
sequenceDiagram
autonumber
actor Admin
participant AdminUI as Admin UI
participant AdminAPI as Admin API (/admin/chef-events/:id/accept)
participant AcceptWF as accept-chef-event-workflow
participant ChefModule as ChefEventModuleService
participant Core as Core Flows (products, inventory, channels, profiles)
participant Product as Product Module
participant Notif as Notification Service
Admin->>AdminUI: Click "Accept" (with sendAcceptanceEmail?)
AdminUI->>AdminAPI: POST /admin/chef-events/:id/accept
AdminAPI->>AcceptWF: Run accept-chef-event-workflow
AcceptWF->>ChefModule: Update status=confirmed, notes, acceptedBy
AcceptWF->>Core: Ensure digital shipping profile/channel/location
AcceptWF->>Core: Create product + variant (+ inventory)
Core-->>AcceptWF: productId
AcceptWF->>ChefModule: Link productId to chefEvent
alt sendAcceptanceEmail == true
AcceptWF->>Notif: emit "chef-event.accepted"
end
AcceptWF-->>AdminAPI: { success, chefEventId, productId, emailSent }
AdminAPI-->>AdminUI: 200 OK
sequenceDiagram
autonumber
actor Admin
participant AdminUI as Admin UI (EmailManagementSection)
participant AdminAPI as Admin API (/admin/chef-events/:id/resend-email)
participant ResendWF as resend-event-email-workflow
participant ChefModule as ChefEventModuleService
participant Notif as Notification Service
Admin->>AdminUI: Open Resend Modal, choose recipients
AdminUI->>AdminAPI: POST /admin/chef-events/:id/resend-email
AdminAPI->>ResendWF: Run resend-event-email-workflow
ResendWF->>ChefModule: Update emailHistory, lastEmailSentAt
ResendWF->>Notif: emit "chef-event.email-resend"
ResendWF-->>AdminAPI: { chefEvent, emailSent: true }
AdminAPI-->>AdminUI: 200 OK
Estimated code review effort🎯 5 (Critical) | ⏱️ ~120+ minutes Possibly related PRs
Suggested reviewers
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. ✨ Finishing Touches
🧪 Generate unit tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Chores