updated mock sync group accordions: editing state; cancel editing

This commit is contained in:
2026-02-17 19:35:12 -07:00
parent 7ef4638daa
commit a3ae872e9d
5 changed files with 185 additions and 23 deletions
+24 -1
View File
@@ -59,6 +59,7 @@ func Routes(
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))
mockSyncGroups.DELETE("/editing", pub.Publish("/:acctID/inventory/sync-groups/mock/editing"), response.Handler(as.cancelMockSyncGroupEdits))
mockDraftListings := mockSyncGroups.Group("/draft/listings", pub.Publish("/:acctID/inventory/sync-groups/mock/draft/listings"))
mockDraftListings.POST("", response.Handler(as.createMockSyncGroupListingDraft))
@@ -552,7 +553,7 @@ func (s *accountSubrouter) selectMockSyncGroupForEditing(c *gin.Context) (respon
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))
return nil, response.Errorf("failed to start editing mock sync group: %w", response.ErrorFromConstant(err))
}
// emit events indicating sync groups being edited and no longer being edited
@@ -570,6 +571,28 @@ func (s *accountSubrouter) selectMockSyncGroupForEditing(c *gin.Context) (respon
return response.StatusOK(), nil
}
// DELETE /:acctID/inventory/sync-groups/mock/editing
func (s *accountSubrouter) cancelMockSyncGroupEdits(c *gin.Context) (response.Response, error) {
r := c.Request
ctx := r.Context()
acctID := auth.GetIdentity(ctx).Account.AccountID
prevSyncGroupID, deleted, err := s.accts.CancelEditingOfMockSyncGroupForAccount(ctx, acctID)
if err != nil {
return nil, response.Errorf("failed to stop editing mock sync group: %w", response.ErrorFromConstant(err))
}
// emit events indicating sync groups being edited and no longer being edited
if deleted {
evt := fmt.Sprintf("accounts_%d_inventory_sync-groups_mock_%d", acctID, prevSyncGroupID)
if err := s.pub.Push(c, acctID, evt); 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), " "), "_"))
}