package mapper import ( "encoding/json" "jaecoo-be/app/database/entity" res "jaecoo-be/app/module/products/response" "path/filepath" ) func ProductsResponseMapper(product *entity.Products, host string) *res.ProductsResponse { if product == nil { return nil } var colors []string if product.Colors != nil && *product.Colors != "" { json.Unmarshal([]byte(*product.Colors), &colors) } response := &res.ProductsResponse{ ID: product.ID, Title: product.Title, Variant: product.Variant, Price: product.Price, ThumbnailPath: product.ThumbnailPath, Colors: colors, Status: product.Status, StatusId: product.StatusId, IsActive: product.IsActive, CreatedAt: product.CreatedAt, UpdatedAt: product.UpdatedAt, } if product.ThumbnailPath != nil && *product.ThumbnailPath != "" { // Extract filename from path filename := filepath.Base(*product.ThumbnailPath) thumbnailUrl := host + "/products/viewer/" + filename response.ThumbnailUrl = &thumbnailUrl } return response }