Add assignment engine, FCM, WebSockets, city gate, and internal APIs
- internal/assignment: GEORADIUS miler assignment with retry/escalation, customer-side provider scoring, FCM notifications on assign - internal/notify: Firebase Admin SDK (FCM) client initialisation - internal/ws: WebSocket handlers for live parcel tracking and customer↔miler chat - middlewares: city gate (pincode prefix validation), internal API key auth, WebSocket JWT auth - controllers: InternalNotify + InternalReassign for machine-to-machine calls; pricing helpers wired into CreateCustomerBooking and CreateCRMBooking - routes: /internal/*, /ws/bookings/:id/track, /ws/bookings/:id/chat - models/users, models/doormile_pricing: new fields for device tokens, assignment state, pricing bands - seed_data.sql: initial pricing seed rows .env and Firebase service-account JSON intentionally excluded. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -16,6 +16,8 @@ type DoormilePricing struct {
|
||||
Minprice float64 `json:"min_price" gorm:"column:min_price;not null"`
|
||||
Maxprice float64 `json:"max_price" gorm:"column:max_price;not null"`
|
||||
Currency string `json:"currency" gorm:"column:currency;default:INR"`
|
||||
Providercompany string `json:"provider_company" gorm:"column:provider_company;default:Doormile"`
|
||||
Reliabilityscore float64 `json:"reliability_score" gorm:"column:reliability_score;default:5.0"`
|
||||
Status string `json:"status" gorm:"column:status;default:Active"`
|
||||
Createdat time.Time `json:"createdat" gorm:"column:createdat;default:CURRENT_TIMESTAMP"`
|
||||
Updatedat time.Time `json:"updatedat" gorm:"column:updatedat;default:CURRENT_TIMESTAMP"`
|
||||
|
||||
Reference in New Issue
Block a user