mock mode: database queries implemented and checkbox on account page built

This commit is contained in:
2026-02-26 22:54:58 -07:00
parent 85817a4adb
commit c6b8a9a00d
10 changed files with 278 additions and 27 deletions
+28
View File
@@ -37,6 +37,8 @@ func Routes(
r.POST("", response.Handler(as.createAccount))
// TODO: make the subroutes more readable
platformGroup := r.Group("/:acctID/platforms/:platform", pub.Publish("/:acctID/platforms"))
platformGroup.PUT("/order-index", response.Handler(as.setOrderOfPlatformOnAccountPage))
platformGroup.POST("/shops/mocks", response.Handler(as.createMockShop))
@@ -55,6 +57,9 @@ func Routes(
draftListings.PUT("/:orderIndex/listing", response.Handler(as.setListingInSyncGroupListingDraft))
draftListings.DELETE("/:orderIndex", response.Handler(as.deleteSyncGroupListingDraft))
mockModeGroup := r.Group("/:acctID/mock-mode", pub.Publish("/:acctID/mock-mode"))
mockModeGroup.PUT("", response.Handler(as.setMockMode))
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))
@@ -500,6 +505,29 @@ func (s *accountSubrouter) deleteMockSyncGroupListingDraft(c *gin.Context) (resp
return response.StatusOK(), nil
}
// PUT /:acctID/mock-mode
func (s *accountSubrouter) setMockMode(c *gin.Context) (response.Response, error) {
r := c.Request
ctx := r.Context()
acctID := auth.GetIdentity(ctx).Account.AccountID
var (
on bool
)
err := param.Form("on", param.Bool(&on)).
Unmarshal(c)
if err != nil {
return nil, err
}
if err := s.accts.SetMockMode(ctx, acctID, on); err != nil {
return nil, response.Errorf("failed to set mock mode: %w", response.ErrorFromConstant(err))
}
return response.StatusOK(), nil
}
// POST /:acctID/inventory/sync-groups/mock
func (s *accountSubrouter) saveNewMockSyncGroup(c *gin.Context) (response.Response, error) {
r := c.Request