/modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-inventory-impl/src/main/java/com/liferay/headless/commerce/admin/inventory/internal/graphql/mutation/v1_0/Mutation.java

https://github.com/ealonso/liferay-portal · Java · 326 lines · 254 code · 55 blank · 17 comment · 0 complexity · 21960b7522cdc5f99008cf4f74b2d50d MD5 · raw file

  1. /**
  2. * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
  3. *
  4. * This library is free software; you can redistribute it and/or modify it under
  5. * the terms of the GNU Lesser General Public License as published by the Free
  6. * Software Foundation; either version 2.1 of the License, or (at your option)
  7. * any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  11. * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
  12. * details.
  13. */
  14. package com.liferay.headless.commerce.admin.inventory.internal.graphql.mutation.v1_0;
  15. import com.liferay.headless.commerce.admin.inventory.dto.v1_0.Warehouse;
  16. import com.liferay.headless.commerce.admin.inventory.dto.v1_0.WarehouseItem;
  17. import com.liferay.headless.commerce.admin.inventory.resource.v1_0.WarehouseItemResource;
  18. import com.liferay.headless.commerce.admin.inventory.resource.v1_0.WarehouseResource;
  19. import com.liferay.petra.function.UnsafeConsumer;
  20. import com.liferay.petra.function.UnsafeFunction;
  21. import com.liferay.portal.kernel.search.Sort;
  22. import com.liferay.portal.kernel.service.GroupLocalService;
  23. import com.liferay.portal.kernel.service.RoleLocalService;
  24. import com.liferay.portal.vulcan.accept.language.AcceptLanguage;
  25. import com.liferay.portal.vulcan.batch.engine.resource.VulcanBatchEngineImportTaskResource;
  26. import com.liferay.portal.vulcan.graphql.annotation.GraphQLField;
  27. import com.liferay.portal.vulcan.graphql.annotation.GraphQLName;
  28. import java.util.function.BiFunction;
  29. import javax.annotation.Generated;
  30. import javax.servlet.http.HttpServletRequest;
  31. import javax.servlet.http.HttpServletResponse;
  32. import javax.ws.rs.core.Response;
  33. import javax.ws.rs.core.UriInfo;
  34. import org.osgi.service.component.ComponentServiceObjects;
  35. /**
  36. * @author Alessio Antonio Rendina
  37. * @generated
  38. */
  39. @Generated("")
  40. public class Mutation {
  41. public static void setWarehouseResourceComponentServiceObjects(
  42. ComponentServiceObjects<WarehouseResource>
  43. warehouseResourceComponentServiceObjects) {
  44. _warehouseResourceComponentServiceObjects =
  45. warehouseResourceComponentServiceObjects;
  46. }
  47. public static void setWarehouseItemResourceComponentServiceObjects(
  48. ComponentServiceObjects<WarehouseItemResource>
  49. warehouseItemResourceComponentServiceObjects) {
  50. _warehouseItemResourceComponentServiceObjects =
  51. warehouseItemResourceComponentServiceObjects;
  52. }
  53. @GraphQLField
  54. public Response deleteWarehousByExternalReferenceCode(
  55. @GraphQLName("externalReferenceCode") String externalReferenceCode)
  56. throws Exception {
  57. return _applyComponentServiceObjects(
  58. _warehouseResourceComponentServiceObjects,
  59. this::_populateResourceContext,
  60. warehouseResource ->
  61. warehouseResource.deleteWarehousByExternalReferenceCode(
  62. externalReferenceCode));
  63. }
  64. @GraphQLField
  65. public Response patchWarehousByExternalReferenceCode(
  66. @GraphQLName("externalReferenceCode") String externalReferenceCode,
  67. @GraphQLName("warehouse") Warehouse warehouse)
  68. throws Exception {
  69. return _applyComponentServiceObjects(
  70. _warehouseResourceComponentServiceObjects,
  71. this::_populateResourceContext,
  72. warehouseResource ->
  73. warehouseResource.patchWarehousByExternalReferenceCode(
  74. externalReferenceCode, warehouse));
  75. }
  76. @GraphQLField
  77. public Response deleteWarehousId(@GraphQLName("id") Long id)
  78. throws Exception {
  79. return _applyComponentServiceObjects(
  80. _warehouseResourceComponentServiceObjects,
  81. this::_populateResourceContext,
  82. warehouseResource -> warehouseResource.deleteWarehousId(id));
  83. }
  84. @GraphQLField
  85. public Response patchWarehousId(
  86. @GraphQLName("id") Long id,
  87. @GraphQLName("warehouse") Warehouse warehouse)
  88. throws Exception {
  89. return _applyComponentServiceObjects(
  90. _warehouseResourceComponentServiceObjects,
  91. this::_populateResourceContext,
  92. warehouseResource -> warehouseResource.patchWarehousId(
  93. id, warehouse));
  94. }
  95. @GraphQLField
  96. public Warehouse createWarehous(
  97. @GraphQLName("warehouse") Warehouse warehouse)
  98. throws Exception {
  99. return _applyComponentServiceObjects(
  100. _warehouseResourceComponentServiceObjects,
  101. this::_populateResourceContext,
  102. warehouseResource -> warehouseResource.postWarehous(warehouse));
  103. }
  104. @GraphQLField
  105. public Response deleteWarehouseItemByExternalReferenceCode(
  106. @GraphQLName("externalReferenceCode") String externalReferenceCode)
  107. throws Exception {
  108. return _applyComponentServiceObjects(
  109. _warehouseItemResourceComponentServiceObjects,
  110. this::_populateResourceContext,
  111. warehouseItemResource ->
  112. warehouseItemResource.
  113. deleteWarehouseItemByExternalReferenceCode(
  114. externalReferenceCode));
  115. }
  116. @GraphQLField
  117. public Response patchWarehouseItemByExternalReferenceCode(
  118. @GraphQLName("externalReferenceCode") String externalReferenceCode,
  119. @GraphQLName("warehouseItem") WarehouseItem warehouseItem)
  120. throws Exception {
  121. return _applyComponentServiceObjects(
  122. _warehouseItemResourceComponentServiceObjects,
  123. this::_populateResourceContext,
  124. warehouseItemResource ->
  125. warehouseItemResource.patchWarehouseItemByExternalReferenceCode(
  126. externalReferenceCode, warehouseItem));
  127. }
  128. @GraphQLField
  129. public WarehouseItem createWarehouseItemByExternalReferenceCode(
  130. @GraphQLName("externalReferenceCode") String externalReferenceCode,
  131. @GraphQLName("warehouseItem") WarehouseItem warehouseItem)
  132. throws Exception {
  133. return _applyComponentServiceObjects(
  134. _warehouseItemResourceComponentServiceObjects,
  135. this::_populateResourceContext,
  136. warehouseItemResource ->
  137. warehouseItemResource.postWarehouseItemByExternalReferenceCode(
  138. externalReferenceCode, warehouseItem));
  139. }
  140. @GraphQLField
  141. public Response deleteWarehouseItem(@GraphQLName("id") Long id)
  142. throws Exception {
  143. return _applyComponentServiceObjects(
  144. _warehouseItemResourceComponentServiceObjects,
  145. this::_populateResourceContext,
  146. warehouseItemResource -> warehouseItemResource.deleteWarehouseItem(
  147. id));
  148. }
  149. @GraphQLField
  150. public Response deleteWarehouseItemBatch(
  151. @GraphQLName("id") Long id,
  152. @GraphQLName("callbackURL") String callbackURL,
  153. @GraphQLName("object") Object object)
  154. throws Exception {
  155. return _applyComponentServiceObjects(
  156. _warehouseItemResourceComponentServiceObjects,
  157. this::_populateResourceContext,
  158. warehouseItemResource ->
  159. warehouseItemResource.deleteWarehouseItemBatch(
  160. id, callbackURL, object));
  161. }
  162. @GraphQLField
  163. public Response patchWarehouseItem(
  164. @GraphQLName("id") Long id,
  165. @GraphQLName("warehouseItem") WarehouseItem warehouseItem)
  166. throws Exception {
  167. return _applyComponentServiceObjects(
  168. _warehouseItemResourceComponentServiceObjects,
  169. this::_populateResourceContext,
  170. warehouseItemResource -> warehouseItemResource.patchWarehouseItem(
  171. id, warehouseItem));
  172. }
  173. @GraphQLField
  174. public WarehouseItem createWarehousByExternalReferenceCodeWarehouseItem(
  175. @GraphQLName("externalReferenceCode") String externalReferenceCode,
  176. @GraphQLName("warehouseItem") WarehouseItem warehouseItem)
  177. throws Exception {
  178. return _applyComponentServiceObjects(
  179. _warehouseItemResourceComponentServiceObjects,
  180. this::_populateResourceContext,
  181. warehouseItemResource ->
  182. warehouseItemResource.
  183. postWarehousByExternalReferenceCodeWarehouseItem(
  184. externalReferenceCode, warehouseItem));
  185. }
  186. @GraphQLField
  187. public WarehouseItem createWarehousIdWarehouseItem(
  188. @GraphQLName("id") Long id,
  189. @GraphQLName("warehouseItem") WarehouseItem warehouseItem)
  190. throws Exception {
  191. return _applyComponentServiceObjects(
  192. _warehouseItemResourceComponentServiceObjects,
  193. this::_populateResourceContext,
  194. warehouseItemResource ->
  195. warehouseItemResource.postWarehousIdWarehouseItem(
  196. id, warehouseItem));
  197. }
  198. private <T, R, E1 extends Throwable, E2 extends Throwable> R
  199. _applyComponentServiceObjects(
  200. ComponentServiceObjects<T> componentServiceObjects,
  201. UnsafeConsumer<T, E1> unsafeConsumer,
  202. UnsafeFunction<T, R, E2> unsafeFunction)
  203. throws E1, E2 {
  204. T resource = componentServiceObjects.getService();
  205. try {
  206. unsafeConsumer.accept(resource);
  207. return unsafeFunction.apply(resource);
  208. }
  209. finally {
  210. componentServiceObjects.ungetService(resource);
  211. }
  212. }
  213. private <T, E1 extends Throwable, E2 extends Throwable> void
  214. _applyVoidComponentServiceObjects(
  215. ComponentServiceObjects<T> componentServiceObjects,
  216. UnsafeConsumer<T, E1> unsafeConsumer,
  217. UnsafeConsumer<T, E2> unsafeFunction)
  218. throws E1, E2 {
  219. T resource = componentServiceObjects.getService();
  220. try {
  221. unsafeConsumer.accept(resource);
  222. unsafeFunction.accept(resource);
  223. }
  224. finally {
  225. componentServiceObjects.ungetService(resource);
  226. }
  227. }
  228. private void _populateResourceContext(WarehouseResource warehouseResource)
  229. throws Exception {
  230. warehouseResource.setContextAcceptLanguage(_acceptLanguage);
  231. warehouseResource.setContextCompany(_company);
  232. warehouseResource.setContextHttpServletRequest(_httpServletRequest);
  233. warehouseResource.setContextHttpServletResponse(_httpServletResponse);
  234. warehouseResource.setContextUriInfo(_uriInfo);
  235. warehouseResource.setContextUser(_user);
  236. warehouseResource.setGroupLocalService(_groupLocalService);
  237. warehouseResource.setRoleLocalService(_roleLocalService);
  238. warehouseResource.setVulcanBatchEngineImportTaskResource(
  239. _vulcanBatchEngineImportTaskResource);
  240. }
  241. private void _populateResourceContext(
  242. WarehouseItemResource warehouseItemResource)
  243. throws Exception {
  244. warehouseItemResource.setContextAcceptLanguage(_acceptLanguage);
  245. warehouseItemResource.setContextCompany(_company);
  246. warehouseItemResource.setContextHttpServletRequest(_httpServletRequest);
  247. warehouseItemResource.setContextHttpServletResponse(
  248. _httpServletResponse);
  249. warehouseItemResource.setContextUriInfo(_uriInfo);
  250. warehouseItemResource.setContextUser(_user);
  251. warehouseItemResource.setGroupLocalService(_groupLocalService);
  252. warehouseItemResource.setRoleLocalService(_roleLocalService);
  253. warehouseItemResource.setVulcanBatchEngineImportTaskResource(
  254. _vulcanBatchEngineImportTaskResource);
  255. }
  256. private static ComponentServiceObjects<WarehouseResource>
  257. _warehouseResourceComponentServiceObjects;
  258. private static ComponentServiceObjects<WarehouseItemResource>
  259. _warehouseItemResourceComponentServiceObjects;
  260. private AcceptLanguage _acceptLanguage;
  261. private com.liferay.portal.kernel.model.Company _company;
  262. private GroupLocalService _groupLocalService;
  263. private HttpServletRequest _httpServletRequest;
  264. private HttpServletResponse _httpServletResponse;
  265. private RoleLocalService _roleLocalService;
  266. private BiFunction<Object, String, Sort[]> _sortsBiFunction;
  267. private UriInfo _uriInfo;
  268. private com.liferay.portal.kernel.model.User _user;
  269. private VulcanBatchEngineImportTaskResource
  270. _vulcanBatchEngineImportTaskResource;
  271. }