feat(inboxes): persist chatwoot working hours
This commit is contained in:
@@ -32,7 +32,7 @@ func serializeInbox(inbox *model.Inbox) map[string]any {
|
||||
"enable_auto_assignment": inbox.EnableAutoAssignment,
|
||||
"auto_assignment_config": configValue(config, "auto_assignment_config"),
|
||||
"out_of_office_message": inbox.OutOfOfficeMessage,
|
||||
"working_hours": configArray(config, "working_hours"),
|
||||
"working_hours": serializeInboxWorkingHours(inbox, config),
|
||||
"timezone": inbox.Timezone,
|
||||
"callback_webhook_url": configValue(config, "callback_webhook_url"),
|
||||
"allow_messages_after_resolved": inbox.AllowMessagesAfterResolved,
|
||||
@@ -96,6 +96,25 @@ func serializeInbox(inbox *model.Inbox) map[string]any {
|
||||
return payload
|
||||
}
|
||||
|
||||
func serializeInboxWorkingHours(inbox *model.Inbox, config map[string]any) any {
|
||||
if len(inbox.WorkingHours) == 0 {
|
||||
return configArray(config, "working_hours")
|
||||
}
|
||||
payload := make([]any, 0, len(inbox.WorkingHours))
|
||||
for _, wh := range inbox.WorkingHours {
|
||||
payload = append(payload, map[string]any{
|
||||
"day_of_week": wh.DayOfWeek,
|
||||
"closed_all_day": wh.ClosedAllDay,
|
||||
"open_hour": wh.OpenHour,
|
||||
"open_minutes": wh.OpenMinutes,
|
||||
"close_hour": wh.CloseHour,
|
||||
"close_minutes": wh.CloseMinutes,
|
||||
"open_all_day": wh.OpenAllDay,
|
||||
})
|
||||
}
|
||||
return payload
|
||||
}
|
||||
|
||||
func chatwootChannelType(channelType string) string {
|
||||
if strings.HasPrefix(channelType, "Channel::") {
|
||||
return channelType
|
||||
|
||||
Reference in New Issue
Block a user