package com.lemans.ds.qualitycontrol import com.lemans.LemansApiController import grails.converters.JSON class ProductReviewController extends LemansApiController { def productReviewService def productReviewManagerService def byProduct(Integer productId) { renderOne(productReviewService.reviewByProduct(productId)) } def productDetails(Integer productId) { renderOne(productReviewService.productDetails(productId)) } def productQC(String productId) { renderOne(productReviewService.getQcStatus(productId)) } def productParts(Integer productId) { renderOne(productReviewService.productParts(productId)) } def productPartsToQC(Integer productId) { renderList(productReviewService.productPartsToQC(productId)) } def productMedia(Integer productId) { renderOne(productReviewService.productMedia(productId)) } def productFeatures(Integer productId) { renderOne(productReviewService.productFeatures(productId)) } def productMerchandising(Integer productId) { renderOne(productReviewService.productMerchandising(productId)) } def relatedProducts(Integer productId) { renderOne(productReviewService.relatedProducts(productId)) } def publicationCategories(Integer productId) { renderOne(productReviewService.productPublicationCategories(productId)) } def splitProducts(Integer productId) { renderOne(productReviewService.productSplits(productId)) } def productKeywords(Integer productId) { renderOne(productReviewService.productKeywords(productId)) } def sizeCharts(Integer productId) { renderOne(productReviewService.productSizeCharts(productId)) } def approveByChangeLogIds() { productReviewManagerService.approveByChangeLogIds(request.JSON.changeLogIds, auditUserName, request.JSON.qcChangeGroupId) render(toJson([results: [:]])) } def approveByProductId(Integer productId) { Map data = productReviewManagerService.approveByProductId(productId, auditUserName) if (data?.messages) { render toJson(data) } else { render(toJson([results: [:]])) } } def emailAndApproveByProductId(Integer productId) { Map data = productReviewManagerService.approveByProductIdAndEmail(productId, auditUserName) if (data?.messages) { render toJson(data) } else { render(toJson([results: [:]])) } } def declineByChangeLogIds() { Map data = productReviewManagerService.declineByChangeLogIds(request.JSON, auditUserName) if (data.messages) { render toJson(data) } else { renderOne(data) } } def createJira() { JiraTicketResponse response = productReviewManagerService.createJira(request.JSON, auditUserName) def data = response.error ? response.toErrorMap() : response.toResponseMap() if (data.messages) { render toJson(data) } else { renderOne(data) } } }