added Edit Group button to mock sync group accordion
This commit is contained in:
@@ -58,6 +58,7 @@ func Routes(
|
||||
mockSyncGroups := syncGroups.Group("/mock")
|
||||
mockSyncGroups.POST("", pub.Publish("/:acctID/inventory/sync-groups/mock"), response.Handler(as.saveNewMockSyncGroup))
|
||||
mockSyncGroups.DELETE("/:syncGroupID", pub.Publish("/:acctID/inventory/sync-groups/mock"), response.Handler(as.deleteMockSyncGroup))
|
||||
mockSyncGroups.PUT("/editing", pub.Publish("/:acctID/inventory/sync-groups/mock/editing"), response.Handler(as.selectMockSyncGroupForEditing))
|
||||
|
||||
mockDraftListings := mockSyncGroups.Group("/draft/listings", pub.Publish("/:acctID/inventory/sync-groups/mock/draft/listings"))
|
||||
mockDraftListings.POST("", response.Handler(as.createMockSyncGroupListingDraft))
|
||||
@@ -534,6 +535,41 @@ func (s *accountSubrouter) deleteMockSyncGroup(c *gin.Context) (response.Respons
|
||||
return response.StatusCreated(), nil
|
||||
}
|
||||
|
||||
// PUT /:acctID/inventory/sync-groups/mock/editing
|
||||
func (s *accountSubrouter) selectMockSyncGroupForEditing(c *gin.Context) (response.Response, error) {
|
||||
r := c.Request
|
||||
ctx := r.Context()
|
||||
acctID := auth.GetIdentity(ctx).Account.AccountID
|
||||
|
||||
var (
|
||||
syncGroupID int64
|
||||
)
|
||||
|
||||
if err := param.Form("syncGroupID", param.Int64(&syncGroupID)).
|
||||
Unmarshal(c); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
prevSyncGroupID, ok, err := s.accts.StartEditingMockSyncGroup(ctx, acctID, syncGroupID)
|
||||
if err != nil {
|
||||
return nil, response.Errorf("failed to save new mock sync group: %w", response.ErrorFromConstant(err))
|
||||
}
|
||||
|
||||
// emit events indicating sync groups being edited and no longer being edited
|
||||
|
||||
evts := make([]string, 1, 2)
|
||||
evts[0] = fmt.Sprintf("accounts_%d_inventory_sync-groups_mock_%d", acctID, syncGroupID)
|
||||
if ok {
|
||||
evts = append(evts, fmt.Sprintf("accounts_%d_inventory_sync-groups_mock_%d", acctID, prevSyncGroupID))
|
||||
}
|
||||
|
||||
if err := s.pub.Push(c, acctID, evts...); err != nil {
|
||||
s.log.Errorf("failed to publish mock sync group editing events: %v", err)
|
||||
}
|
||||
|
||||
return response.StatusOK(), nil
|
||||
}
|
||||
|
||||
func lowerSnakeCase(s accounts.Platform) string {
|
||||
return strings.ToLower(strings.Join(strings.Split(string(s), " "), "_"))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user