fix
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
||||
|
||||
"github.com/descrybe/descrybe-v2/apps/api/internal/catalog"
|
||||
"github.com/descrybe/descrybe-v2/apps/api/internal/company"
|
||||
"github.com/descrybe/descrybe-v2/apps/api/internal/processing"
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/google/uuid"
|
||||
"github.com/jackc/pgx/v5"
|
||||
@@ -403,6 +404,7 @@ func (s *Server) handleListProducts(w http.ResponseWriter, r *http.Request) {
|
||||
if detailed {
|
||||
attachProductQuality(items)
|
||||
}
|
||||
stripCatalogSEOMetaIfOmitted(processing.CompanyOmitsSEOMeta(r.Context(), s.Pool, cid), items...)
|
||||
resp := map[string]any{"products": items, "total": total, "kind": "processed", "limit": limit, "offset": offset, "detailed": detailed}
|
||||
if nextCursor, nextAfter := catalog.NextProductCursor(f, items, limit); nextCursor != "" || nextAfter != "" {
|
||||
if nextCursor != "" {
|
||||
@@ -438,6 +440,7 @@ func (s *Server) handleGetProduct(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
}
|
||||
stripCatalogSEOMetaIfOmitted(processing.CompanyOmitsSEOMeta(r.Context(), s.Pool, cid), item)
|
||||
JSON(w, http.StatusOK, item)
|
||||
}
|
||||
|
||||
@@ -458,5 +461,28 @@ func (s *Server) handleUpdateProduct(w http.ResponseWriter, r *http.Request) {
|
||||
ClientOrLog(w, http.StatusBadRequest, "could not update product", err, catalog.ClientError)
|
||||
return
|
||||
}
|
||||
stripCatalogSEOMetaIfOmitted(processing.CompanyOmitsSEOMeta(r.Context(), s.Pool, cid), item)
|
||||
JSON(w, http.StatusOK, item)
|
||||
}
|
||||
|
||||
// stripCatalogSEOMetaIfOmitted drops meta_title / meta_description from dashboard
|
||||
// product payloads when omit is true (same detection as V1 process / CompanyOmitsSEOMeta).
|
||||
func stripCatalogSEOMetaIfOmitted(omit bool, items ...map[string]any) {
|
||||
if !omit {
|
||||
return
|
||||
}
|
||||
for _, item := range items {
|
||||
if item == nil {
|
||||
continue
|
||||
}
|
||||
delete(item, "meta_title")
|
||||
delete(item, "meta_description")
|
||||
if loc, ok := item["localized_content"].(company.LocalizedContent); ok {
|
||||
for lang, fields := range loc {
|
||||
fields.MetaTitle = ""
|
||||
fields.MetaDescription = ""
|
||||
loc[lang] = fields
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user