diff --git a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/ProductSpecification.java b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/ProductSpecification.java index 56027f3575f711..6274c444211bb7 100644 --- a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/ProductSpecification.java +++ b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/ProductSpecification.java @@ -603,6 +603,47 @@ public void setValue( @JsonIgnore private Supplier> _valueSupplier; + @Schema(example = "true") + public Boolean getVisible() { + if (_visibleSupplier != null) { + visible = _visibleSupplier.get(); + + _visibleSupplier = null; + } + + return visible; + } + + public void setVisible(Boolean visible) { + this.visible = visible; + + _visibleSupplier = null; + } + + @JsonIgnore + public void setVisible( + UnsafeSupplier visibleUnsafeSupplier) { + + _visibleSupplier = () -> { + try { + return visibleUnsafeSupplier.get(); + } + catch (RuntimeException runtimeException) { + throw runtimeException; + } + catch (Exception exception) { + throw new RuntimeException(exception); + } + }; + } + + @GraphQLField + @JsonProperty(access = JsonProperty.Access.READ_WRITE) + protected Boolean visible; + + @JsonIgnore + private Supplier _visibleSupplier; + @Override public boolean equals(Object object) { if (this == object) { @@ -809,6 +850,18 @@ public String toString() { sb.append(_toJSON(value)); } + Boolean visible = getVisible(); + + if (visible != null) { + if (sb.length() > 1) { + sb.append(", "); + } + + sb.append("\"visible\": "); + + sb.append(visible); + } + sb.append("}"); return sb.toString(); diff --git a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/Specification.java b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/Specification.java index 3f665957128620..46321fb2a8b333 100644 --- a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/Specification.java +++ b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/Specification.java @@ -470,6 +470,47 @@ public void setTitle( @JsonIgnore private Supplier> _titleSupplier; + @Schema(example = "true") + public Boolean getVisible() { + if (_visibleSupplier != null) { + visible = _visibleSupplier.get(); + + _visibleSupplier = null; + } + + return visible; + } + + public void setVisible(Boolean visible) { + this.visible = visible; + + _visibleSupplier = null; + } + + @JsonIgnore + public void setVisible( + UnsafeSupplier visibleUnsafeSupplier) { + + _visibleSupplier = () -> { + try { + return visibleUnsafeSupplier.get(); + } + catch (RuntimeException runtimeException) { + throw runtimeException; + } + catch (Exception exception) { + throw new RuntimeException(exception); + } + }; + } + + @GraphQLField + @JsonProperty(access = JsonProperty.Access.READ_WRITE) + protected Boolean visible; + + @JsonIgnore + private Supplier _visibleSupplier; + @Override public boolean equals(Object object) { if (this == object) { @@ -635,6 +676,18 @@ public String toString() { sb.append(_toJSON(title)); } + Boolean visible = getVisible(); + + if (visible != null) { + if (sb.length() > 1) { + sb.append(", "); + } + + sb.append("\"visible\": "); + + sb.append(visible); + } + sb.append("}"); return sb.toString(); diff --git a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/dto/v1_0/ProductSpecification.java b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/dto/v1_0/ProductSpecification.java index 29e3c03fd2c18c..34ae2f36650d28 100644 --- a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/dto/v1_0/ProductSpecification.java +++ b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/dto/v1_0/ProductSpecification.java @@ -305,6 +305,27 @@ public void setValue( protected Map value; + public Boolean getVisible() { + return visible; + } + + public void setVisible(Boolean visible) { + this.visible = visible; + } + + public void setVisible( + UnsafeSupplier visibleUnsafeSupplier) { + + try { + visible = visibleUnsafeSupplier.get(); + } + catch (Exception e) { + throw new RuntimeException(e); + } + } + + protected Boolean visible; + @Override public ProductSpecification clone() throws CloneNotSupportedException { return (ProductSpecification)super.clone(); diff --git a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/dto/v1_0/Specification.java b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/dto/v1_0/Specification.java index e1d02ed11a186d..37543334017d24 100644 --- a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/dto/v1_0/Specification.java +++ b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/dto/v1_0/Specification.java @@ -234,6 +234,27 @@ public void setTitle( protected Map title; + public Boolean getVisible() { + return visible; + } + + public void setVisible(Boolean visible) { + this.visible = visible; + } + + public void setVisible( + UnsafeSupplier visibleUnsafeSupplier) { + + try { + visible = visibleUnsafeSupplier.get(); + } + catch (Exception e) { + throw new RuntimeException(e); + } + } + + protected Boolean visible; + @Override public Specification clone() throws CloneNotSupportedException { return (Specification)super.clone(); diff --git a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/serdes/v1_0/ProductSpecificationSerDes.java b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/serdes/v1_0/ProductSpecificationSerDes.java index 7eb3857f67995d..6e0c40db1c6c94 100644 --- a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/serdes/v1_0/ProductSpecificationSerDes.java +++ b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/serdes/v1_0/ProductSpecificationSerDes.java @@ -206,6 +206,16 @@ public static String toJSON(ProductSpecification productSpecification) { sb.append(_toJSON(productSpecification.getValue())); } + if (productSpecification.getVisible() != null) { + if (sb.length() > 1) { + sb.append(", "); + } + + sb.append("\"visible\": "); + + sb.append(productSpecification.getVisible()); + } + sb.append("}"); return sb.toString(); @@ -345,6 +355,14 @@ public static Map toMap( map.put("value", String.valueOf(productSpecification.getValue())); } + if (productSpecification.getVisible() == null) { + map.put("visible", null); + } + else { + map.put( + "visible", String.valueOf(productSpecification.getVisible())); + } + return map; } @@ -410,6 +428,9 @@ else if (Objects.equals( else if (Objects.equals(jsonParserFieldName, "value")) { return true; } + else if (Objects.equals(jsonParserFieldName, "visible")) { + return false; + } return false; } @@ -504,6 +525,12 @@ else if (Objects.equals(jsonParserFieldName, "value")) { (Map)jsonParserFieldValue); } } + else if (Objects.equals(jsonParserFieldName, "visible")) { + if (jsonParserFieldValue != null) { + productSpecification.setVisible( + (Boolean)jsonParserFieldValue); + } + } } } diff --git a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/serdes/v1_0/SpecificationSerDes.java b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/serdes/v1_0/SpecificationSerDes.java index a5d01ee0f75cd0..a9da020e470f6a 100644 --- a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/serdes/v1_0/SpecificationSerDes.java +++ b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-client/src/main/java/com/liferay/headless/commerce/admin/catalog/client/serdes/v1_0/SpecificationSerDes.java @@ -166,6 +166,16 @@ public static String toJSON(Specification specification) { sb.append(_toJSON(specification.getTitle())); } + if (specification.getVisible() != null) { + if (sb.length() > 1) { + sb.append(", "); + } + + sb.append("\"visible\": "); + + sb.append(specification.getVisible()); + } + sb.append("}"); return sb.toString(); @@ -264,6 +274,13 @@ public static Map toMap(Specification specification) { map.put("title", String.valueOf(specification.getTitle())); } + if (specification.getVisible() == null) { + map.put("visible", null); + } + else { + map.put("visible", String.valueOf(specification.getVisible())); + } + return map; } @@ -318,6 +335,9 @@ else if (Objects.equals(jsonParserFieldName, "priority")) { else if (Objects.equals(jsonParserFieldName, "title")) { return true; } + else if (Objects.equals(jsonParserFieldName, "visible")) { + return false; + } return false; } @@ -392,6 +412,11 @@ else if (Objects.equals(jsonParserFieldName, "title")) { (Map)jsonParserFieldValue); } } + else if (Objects.equals(jsonParserFieldName, "visible")) { + if (jsonParserFieldValue != null) { + specification.setVisible((Boolean)jsonParserFieldValue); + } + } } } diff --git a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-impl/src/main/java/com/liferay/headless/commerce/admin/catalog/internal/graphql/query/v1_0/Query.java b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-impl/src/main/java/com/liferay/headless/commerce/admin/catalog/internal/graphql/query/v1_0/Query.java index 9342c58864eaa9..5869dba2ac3611 100644 --- a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-impl/src/main/java/com/liferay/headless/commerce/admin/catalog/internal/graphql/query/v1_0/Query.java +++ b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-impl/src/main/java/com/liferay/headless/commerce/admin/catalog/internal/graphql/query/v1_0/Query.java @@ -2079,7 +2079,7 @@ public ProductShippingConfiguration productIdShippingConfiguration( /** * Invoke this method with the command line: * - * curl -H 'Content-Type: text/plain; charset=utf-8' -X 'POST' 'http://localhost:8080/o/graphql' -d $'{"query": "query {productSpecificationByExternalReferenceCode(externalReferenceCode: ___){externalReferenceCode, id, key, label, optionCategoryExternalReferenceCode, optionCategoryId, priority, productId, specificationExternalReferenceCode, specificationId, specificationKey, specificationPriority, value}}"}' -u 'test@liferay.com:test' + * curl -H 'Content-Type: text/plain; charset=utf-8' -X 'POST' 'http://localhost:8080/o/graphql' -d $'{"query": "query {productSpecificationByExternalReferenceCode(externalReferenceCode: ___){externalReferenceCode, id, key, label, optionCategoryExternalReferenceCode, optionCategoryId, priority, productId, specificationExternalReferenceCode, specificationId, specificationKey, specificationPriority, value, visible}}"}' -u 'test@liferay.com:test' */ @GraphQLField public ProductSpecification productSpecificationByExternalReferenceCode( @@ -2098,7 +2098,7 @@ public ProductSpecification productSpecificationByExternalReferenceCode( /** * Invoke this method with the command line: * - * curl -H 'Content-Type: text/plain; charset=utf-8' -X 'POST' 'http://localhost:8080/o/graphql' -d $'{"query": "query {productSpecification(id: ___){externalReferenceCode, id, key, label, optionCategoryExternalReferenceCode, optionCategoryId, priority, productId, specificationExternalReferenceCode, specificationId, specificationKey, specificationPriority, value}}"}' -u 'test@liferay.com:test' + * curl -H 'Content-Type: text/plain; charset=utf-8' -X 'POST' 'http://localhost:8080/o/graphql' -d $'{"query": "query {productSpecification(id: ___){externalReferenceCode, id, key, label, optionCategoryExternalReferenceCode, optionCategoryId, priority, productId, specificationExternalReferenceCode, specificationId, specificationKey, specificationPriority, value, visible}}"}' -u 'test@liferay.com:test' */ @GraphQLField public ProductSpecification productSpecification(@GraphQLName("id") Long id) @@ -2684,7 +2684,7 @@ public SpecificationPage specifications( /** * Invoke this method with the command line: * - * curl -H 'Content-Type: text/plain; charset=utf-8' -X 'POST' 'http://localhost:8080/o/graphql' -d $'{"query": "query {specificationByExternalReferenceCode(externalReferenceCode: ___){description, externalReferenceCode, facetable, id, key, listTypeDefinitionId, listTypeDefinitionIds, optionCategory, priority, title}}"}' -u 'test@liferay.com:test' + * curl -H 'Content-Type: text/plain; charset=utf-8' -X 'POST' 'http://localhost:8080/o/graphql' -d $'{"query": "query {specificationByExternalReferenceCode(externalReferenceCode: ___){description, externalReferenceCode, facetable, id, key, listTypeDefinitionId, listTypeDefinitionIds, optionCategory, priority, title, visible}}"}' -u 'test@liferay.com:test' */ @GraphQLField public Specification specificationByExternalReferenceCode( @@ -2702,7 +2702,7 @@ public Specification specificationByExternalReferenceCode( /** * Invoke this method with the command line: * - * curl -H 'Content-Type: text/plain; charset=utf-8' -X 'POST' 'http://localhost:8080/o/graphql' -d $'{"query": "query {specification(id: ___){description, externalReferenceCode, facetable, id, key, listTypeDefinitionId, listTypeDefinitionIds, optionCategory, priority, title}}"}' -u 'test@liferay.com:test' + * curl -H 'Content-Type: text/plain; charset=utf-8' -X 'POST' 'http://localhost:8080/o/graphql' -d $'{"query": "query {specification(id: ___){description, externalReferenceCode, facetable, id, key, listTypeDefinitionId, listTypeDefinitionIds, optionCategory, priority, title, visible}}"}' -u 'test@liferay.com:test' */ @GraphQLField public Specification specification(@GraphQLName("id") Long id) diff --git a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-impl/src/main/java/com/liferay/headless/commerce/admin/catalog/internal/resource/v1_0/BaseProductSpecificationResourceImpl.java b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-impl/src/main/java/com/liferay/headless/commerce/admin/catalog/internal/resource/v1_0/BaseProductSpecificationResourceImpl.java index aad4f0a2165686..6df82ca8959d95 100644 --- a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-impl/src/main/java/com/liferay/headless/commerce/admin/catalog/internal/resource/v1_0/BaseProductSpecificationResourceImpl.java +++ b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-impl/src/main/java/com/liferay/headless/commerce/admin/catalog/internal/resource/v1_0/BaseProductSpecificationResourceImpl.java @@ -145,7 +145,7 @@ public ProductSpecification getProductSpecificationByExternalReferenceCode( /** * Invoke this method with the command line: * - * curl -X 'PATCH' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/productSpecifications/by-externalReferenceCode/{externalReferenceCode}' -d $'{"externalReferenceCode": ___, "id": ___, "key": ___, "label": ___, "optionCategoryExternalReferenceCode": ___, "optionCategoryId": ___, "priority": ___, "productId": ___, "specificationExternalReferenceCode": ___, "specificationId": ___, "specificationKey": ___, "specificationPriority": ___, "value": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' + * curl -X 'PATCH' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/productSpecifications/by-externalReferenceCode/{externalReferenceCode}' -d $'{"externalReferenceCode": ___, "id": ___, "key": ___, "label": ___, "optionCategoryExternalReferenceCode": ___, "optionCategoryId": ___, "priority": ___, "productId": ___, "specificationExternalReferenceCode": ___, "specificationId": ___, "specificationKey": ___, "specificationPriority": ___, "value": ___, "visible": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' */ @io.swagger.v3.oas.annotations.Parameters( value = { @@ -296,7 +296,7 @@ public ProductSpecification getProductSpecification( /** * Invoke this method with the command line: * - * curl -X 'PATCH' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/productSpecifications/{id}' -d $'{"externalReferenceCode": ___, "id": ___, "key": ___, "label": ___, "optionCategoryExternalReferenceCode": ___, "optionCategoryId": ___, "priority": ___, "productId": ___, "specificationExternalReferenceCode": ___, "specificationId": ___, "specificationKey": ___, "specificationPriority": ___, "value": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' + * curl -X 'PATCH' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/productSpecifications/{id}' -d $'{"externalReferenceCode": ___, "id": ___, "key": ___, "label": ___, "optionCategoryExternalReferenceCode": ___, "optionCategoryId": ___, "priority": ___, "productId": ___, "specificationExternalReferenceCode": ___, "specificationId": ___, "specificationKey": ___, "specificationPriority": ___, "value": ___, "visible": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' */ @io.swagger.v3.oas.annotations.Parameters( value = { @@ -377,7 +377,7 @@ public ProductSpecification patchProductSpecification( /** * Invoke this method with the command line: * - * curl -X 'POST' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/products/by-externalReferenceCode/{externalReferenceCode}/product-specifications' -d $'{"externalReferenceCode": ___, "id": ___, "key": ___, "label": ___, "optionCategoryExternalReferenceCode": ___, "optionCategoryId": ___, "priority": ___, "productId": ___, "specificationExternalReferenceCode": ___, "specificationId": ___, "specificationKey": ___, "specificationPriority": ___, "value": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' + * curl -X 'POST' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/products/by-externalReferenceCode/{externalReferenceCode}/product-specifications' -d $'{"externalReferenceCode": ___, "id": ___, "key": ___, "label": ___, "optionCategoryExternalReferenceCode": ___, "optionCategoryId": ___, "priority": ___, "productId": ___, "specificationExternalReferenceCode": ___, "specificationId": ___, "specificationKey": ___, "specificationPriority": ___, "value": ___, "visible": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' */ @io.swagger.v3.oas.annotations.Parameters( value = { @@ -458,7 +458,7 @@ public Page getProductIdProductSpecificationsPage( /** * Invoke this method with the command line: * - * curl -X 'POST' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/products/{id}/productSpecifications' -d $'{"externalReferenceCode": ___, "id": ___, "key": ___, "label": ___, "optionCategoryExternalReferenceCode": ___, "optionCategoryId": ___, "priority": ___, "productId": ___, "specificationExternalReferenceCode": ___, "specificationId": ___, "specificationKey": ___, "specificationPriority": ___, "value": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' + * curl -X 'POST' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/products/{id}/productSpecifications' -d $'{"externalReferenceCode": ___, "id": ___, "key": ___, "label": ___, "optionCategoryExternalReferenceCode": ___, "optionCategoryId": ___, "priority": ___, "productId": ___, "specificationExternalReferenceCode": ___, "specificationId": ___, "specificationKey": ___, "specificationPriority": ___, "value": ___, "visible": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' */ @io.swagger.v3.oas.annotations.Parameters( value = { diff --git a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-impl/src/main/java/com/liferay/headless/commerce/admin/catalog/internal/resource/v1_0/BaseSpecificationResourceImpl.java b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-impl/src/main/java/com/liferay/headless/commerce/admin/catalog/internal/resource/v1_0/BaseSpecificationResourceImpl.java index 690d9d56ac10e9..884b3396352df4 100644 --- a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-impl/src/main/java/com/liferay/headless/commerce/admin/catalog/internal/resource/v1_0/BaseSpecificationResourceImpl.java +++ b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-impl/src/main/java/com/liferay/headless/commerce/admin/catalog/internal/resource/v1_0/BaseSpecificationResourceImpl.java @@ -206,7 +206,7 @@ public Response postSpecificationsPageExportBatch( /** * Invoke this method with the command line: * - * curl -X 'POST' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/specifications' -d $'{"description": ___, "externalReferenceCode": ___, "facetable": ___, "key": ___, "listTypeDefinitionId": ___, "listTypeDefinitionIds": ___, "optionCategory": ___, "priority": ___, "title": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' + * curl -X 'POST' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/specifications' -d $'{"description": ___, "externalReferenceCode": ___, "facetable": ___, "key": ___, "listTypeDefinitionId": ___, "listTypeDefinitionIds": ___, "optionCategory": ___, "priority": ___, "title": ___, "visible": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' */ @io.swagger.v3.oas.annotations.tags.Tags( value = { @@ -339,7 +339,7 @@ public Specification getSpecificationByExternalReferenceCode( /** * Invoke this method with the command line: * - * curl -X 'PATCH' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/specifications/by-external-reference-code/{externalReferenceCode}' -d $'{"description": ___, "externalReferenceCode": ___, "facetable": ___, "key": ___, "listTypeDefinitionId": ___, "listTypeDefinitionIds": ___, "optionCategory": ___, "priority": ___, "title": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' + * curl -X 'PATCH' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/specifications/by-external-reference-code/{externalReferenceCode}' -d $'{"description": ___, "externalReferenceCode": ___, "facetable": ___, "key": ___, "listTypeDefinitionId": ___, "listTypeDefinitionIds": ___, "optionCategory": ___, "priority": ___, "title": ___, "visible": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' */ @io.swagger.v3.oas.annotations.Parameters( value = { @@ -408,6 +408,10 @@ public Specification patchSpecificationByExternalReferenceCode( existingSpecification.setTitle(specification.getTitle()); } + if (specification.getVisible() != null) { + existingSpecification.setVisible(specification.getVisible()); + } + preparePatch(specification, existingSpecification); return putSpecificationByExternalReferenceCode( @@ -417,7 +421,7 @@ public Specification patchSpecificationByExternalReferenceCode( /** * Invoke this method with the command line: * - * curl -X 'PUT' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/specifications/by-external-reference-code/{externalReferenceCode}' -d $'{"description": ___, "externalReferenceCode": ___, "facetable": ___, "key": ___, "listTypeDefinitionId": ___, "listTypeDefinitionIds": ___, "optionCategory": ___, "priority": ___, "title": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' + * curl -X 'PUT' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/specifications/by-external-reference-code/{externalReferenceCode}' -d $'{"description": ___, "externalReferenceCode": ___, "facetable": ___, "key": ___, "listTypeDefinitionId": ___, "listTypeDefinitionIds": ___, "optionCategory": ___, "priority": ___, "title": ___, "visible": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' */ @io.swagger.v3.oas.annotations.Parameters( value = { @@ -559,7 +563,7 @@ public Specification getSpecification( /** * Invoke this method with the command line: * - * curl -X 'PATCH' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/specifications/{id}' -d $'{"description": ___, "externalReferenceCode": ___, "facetable": ___, "key": ___, "listTypeDefinitionId": ___, "listTypeDefinitionIds": ___, "optionCategory": ___, "priority": ___, "title": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' + * curl -X 'PATCH' 'http://localhost:8080/o/headless-commerce-admin-catalog/v1.0/specifications/{id}' -d $'{"description": ___, "externalReferenceCode": ___, "facetable": ___, "key": ___, "listTypeDefinitionId": ___, "listTypeDefinitionIds": ___, "optionCategory": ___, "priority": ___, "title": ___, "visible": ___}' --header 'Content-Type: application/json' -u 'test@liferay.com:test' */ @io.swagger.v3.oas.annotations.Parameters( value = { diff --git a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-test/src/testIntegration/java/com/liferay/headless/commerce/admin/catalog/resource/v1_0/test/BaseProductSpecificationResourceTestCase.java b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-test/src/testIntegration/java/com/liferay/headless/commerce/admin/catalog/resource/v1_0/test/BaseProductSpecificationResourceTestCase.java index 163968fa302a3f..9a498ac5eb8527 100644 --- a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-test/src/testIntegration/java/com/liferay/headless/commerce/admin/catalog/resource/v1_0/test/BaseProductSpecificationResourceTestCase.java +++ b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-test/src/testIntegration/java/com/liferay/headless/commerce/admin/catalog/resource/v1_0/test/BaseProductSpecificationResourceTestCase.java @@ -1359,6 +1359,14 @@ protected void assertValid(ProductSpecification productSpecification) continue; } + if (Objects.equals("visible", additionalAssertFieldName)) { + if (productSpecification.getVisible() == null) { + valid = false; + } + + continue; + } + throw new IllegalArgumentException( "Invalid additional assert field name " + additionalAssertFieldName); @@ -1637,6 +1645,17 @@ protected boolean equals( continue; } + if (Objects.equals("visible", additionalAssertFieldName)) { + if (!Objects.deepEquals( + productSpecification1.getVisible(), + productSpecification2.getVisible())) { + + return false; + } + + continue; + } + throw new IllegalArgumentException( "Invalid additional assert field name " + additionalAssertFieldName); @@ -2021,6 +2040,11 @@ else if (operator.equals("startswith")) { "Invalid entity field " + entityFieldName); } + if (entityFieldName.equals("visible")) { + throw new IllegalArgumentException( + "Invalid entity field " + entityFieldName); + } + throw new IllegalArgumentException( "Invalid entity field " + entityFieldName); } @@ -2083,6 +2107,7 @@ protected ProductSpecification randomProductSpecification() specificationKey = StringUtil.toLowerCase( RandomTestUtil.randomString()); specificationPriority = RandomTestUtil.randomDouble(); + visible = RandomTestUtil.randomBoolean(); } }; } diff --git a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-test/src/testIntegration/java/com/liferay/headless/commerce/admin/catalog/resource/v1_0/test/BaseSpecificationResourceTestCase.java b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-test/src/testIntegration/java/com/liferay/headless/commerce/admin/catalog/resource/v1_0/test/BaseSpecificationResourceTestCase.java index dfc6e598b3c32c..868d700c9c84f1 100644 --- a/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-test/src/testIntegration/java/com/liferay/headless/commerce/admin/catalog/resource/v1_0/test/BaseSpecificationResourceTestCase.java +++ b/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-test/src/testIntegration/java/com/liferay/headless/commerce/admin/catalog/resource/v1_0/test/BaseSpecificationResourceTestCase.java @@ -1325,6 +1325,14 @@ protected void assertValid(Specification specification) throws Exception { continue; } + if (Objects.equals("visible", additionalAssertFieldName)) { + if (specification.getVisible() == null) { + valid = false; + } + + continue; + } + throw new IllegalArgumentException( "Invalid additional assert field name " + additionalAssertFieldName); @@ -1558,6 +1566,17 @@ protected boolean equals( continue; } + if (Objects.equals("visible", additionalAssertFieldName)) { + if (!Objects.deepEquals( + specification1.getVisible(), + specification2.getVisible())) { + + return false; + } + + continue; + } + throw new IllegalArgumentException( "Invalid additional assert field name " + additionalAssertFieldName); @@ -1798,6 +1817,11 @@ else if (operator.equals("startswith")) { "Invalid entity field " + entityFieldName); } + if (entityFieldName.equals("visible")) { + throw new IllegalArgumentException( + "Invalid entity field " + entityFieldName); + } + throw new IllegalArgumentException( "Invalid entity field " + entityFieldName); } @@ -1850,6 +1874,7 @@ protected Specification randomSpecification() throws Exception { key = StringUtil.toLowerCase(RandomTestUtil.randomString()); listTypeDefinitionId = RandomTestUtil.randomLong(); priority = RandomTestUtil.randomDouble(); + visible = RandomTestUtil.randomBoolean(); } }; }