@Path(value="shops/{shopId}/products")
@RolesAllowed(value={"sf","products_read"})
public final class ProductResource
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private ProductReadService |
productReadService |
private ProductWriteService |
productWriteService |
private javax.ws.rs.core.SecurityContext |
securityContext |
private ShopRequestContextService |
shopService |
Constructor and Description |
---|
ProductResource() |
Modifier and Type | Method and Description |
---|---|
javax.ws.rs.core.Response |
create(ProductTemplate productTemplate,
java.lang.String shopId,
java.util.Locale locale,
java.util.Currency currency) |
javax.ws.rs.core.Response |
delete(java.lang.String shopId,
GUID productId) |
javax.ws.rs.core.Response |
get(java.lang.String shopId,
GUID productId,
java.util.Locale locale,
java.util.Currency currency) |
javax.ws.rs.core.Response |
getAll(java.lang.String shopId,
java.util.List<GUID> guids,
GUID categoryId,
java.util.Locale locale,
java.util.Currency currency,
java.lang.Boolean useSearchIndex,
boolean includeInvisible,
PagerStartsFromOneBeanParam pager,
java.lang.String query,
ProductApi.SortAttribute sort,
SortDirection direction) |
javax.ws.rs.core.Response |
getAllUpdated(java.lang.String shopId,
LastChangedProductProperty productProperty,
java.time.LocalDateTime changedAfter,
java.util.Locale locale,
java.util.Currency currency,
PagerStartsFromOneBeanParam pager) |
javax.ws.rs.core.Response |
getCategories(java.lang.String shopId,
GUID productId,
java.util.Locale locale) |
javax.ws.rs.core.Response |
getCustomAttributes(java.lang.String shopId,
GUID productId,
java.util.Locale locale) |
javax.ws.rs.core.Response |
getLowestPriceVariation(java.lang.String shopId,
GUID productId,
java.util.Currency currency,
java.util.Locale locale) |
javax.ws.rs.core.Response |
patch(JsonPatch jsonPatch,
java.lang.String shopId,
GUID productId,
java.util.Locale locale,
java.util.Currency currency) |
@Inject private ShopRequestContextService shopService
@Inject private ProductReadService productReadService
@Inject private ProductWriteService productWriteService
@Inject private javax.ws.rs.core.SecurityContext securityContext
@GET @Produces(value="application/vnd.epages.v1+json, application/json") public javax.ws.rs.core.Response getAll(@PathParam(value="shopId") java.lang.String shopId, @Size(max=12) @QueryParam(value="id") java.util.List<GUID> guids, @QueryParam(value="categoryId") GUID categoryId, @QueryParam(value="locale") java.util.Locale locale, @QueryParam(value="currency") java.util.Currency currency, @DefaultValue(value="true") @QueryParam(value="useSearchIndex") java.lang.Boolean useSearchIndex, @QueryParam(value="includeInvisible") boolean includeInvisible, @BeanParam PagerStartsFromOneBeanParam pager, @QueryParam(value="q") java.lang.String query, @DefaultValue(value="name") @QueryParam(value="sort") ProductApi.SortAttribute sort, @DefaultValue(value="asc") @QueryParam(value="direction") SortDirection direction)
@POST @Produces(value="application/vnd.epages.v1+json, application/json") @RolesAllowed(value="products_write") public javax.ws.rs.core.Response create(ProductTemplate productTemplate, @PathParam(value="shopId") java.lang.String shopId, @QueryParam(value="locale") java.util.Locale locale, @QueryParam(value="currency") java.util.Currency currency)
@GET @Path(value="{productId}") @Produces(value="application/vnd.epages.v1+json, application/json") public javax.ws.rs.core.Response get(@PathParam(value="shopId") java.lang.String shopId, @PathParam(value="productId") GUID productId, @QueryParam(value="locale") java.util.Locale locale, @QueryParam(value="currency") java.util.Currency currency)
@GET @Path(value="updated/{productProperty}") @Produces(value="application/vnd.epages.v1+json, application/json") @RolesAllowed(value="products_write") public javax.ws.rs.core.Response getAllUpdated(@PathParam(value="shopId") java.lang.String shopId, @PathParam(value="productProperty") LastChangedProductProperty productProperty, @QueryParam(value="changedAfter") java.time.LocalDateTime changedAfter, @QueryParam(value="locale") java.util.Locale locale, @QueryParam(value="currency") java.util.Currency currency, @BeanParam PagerStartsFromOneBeanParam pager)
@PATCH @Path(value="{productId}") @Produces(value="application/vnd.epages.v1+json, application/json") @RolesAllowed(value="products_write") public javax.ws.rs.core.Response patch(JsonPatch jsonPatch, @PathParam(value="shopId") java.lang.String shopId, @PathParam(value="productId") GUID productId, @QueryParam(value="locale") java.util.Locale locale, @QueryParam(value="currency") java.util.Currency currency)
@DELETE @Path(value="{productId}") @RolesAllowed(value="products_write") public javax.ws.rs.core.Response delete(@PathParam(value="shopId") java.lang.String shopId, @PathParam(value="productId") GUID productId)
@GET @Path(value="{productId}/custom-attributes") @Produces(value="application/vnd.epages.v1+json, application/json") public javax.ws.rs.core.Response getCustomAttributes(@PathParam(value="shopId") java.lang.String shopId, @PathParam(value="productId") GUID productId, @QueryParam(value="locale") java.util.Locale locale)
@GET @Path(value="{productId}/lowest-price") @Produces(value="application/vnd.epages.v1+json, application/json") public javax.ws.rs.core.Response getLowestPriceVariation(@PathParam(value="shopId") java.lang.String shopId, @PathParam(value="productId") GUID productId, @QueryParam(value="currency") java.util.Currency currency, @QueryParam(value="locale") java.util.Locale locale)
@GET @Path(value="{productId}/categories") @Produces(value="application/vnd.epages.v1+json, application/json") public javax.ws.rs.core.Response getCategories(@PathParam(value="shopId") java.lang.String shopId, @PathParam(value="productId") GUID productId, @QueryParam(value="locale") java.util.Locale locale)