(Part part, User user)
| 66 | |
| 67 | |
| 68 | @Transactional |
| 69 | public Part create(Part part, User user) { |
| 70 | checkUsageBasedLimit(user.getCompany()); |
| 71 | Company company = user.getCompany(); |
| 72 | if (part instanceof PartPostDTO partPostDTO) { |
| 73 | part = partMapper.fromPostDto(partPostDTO); |
| 74 | if (partPostDTO.getCustomFields() != null && !partPostDTO.getCustomFields().isEmpty()) { |
| 75 | setPartCustomFields(part, partPostDTO.getCustomFields(), company); |
| 76 | } |
| 77 | } |
| 78 | Part savedPart = partRepository.saveAndFlush(part); |
| 79 | em.refresh(savedPart); |
| 80 | Map<String, Object> webhookPayload = new HashMap<>(); |
| 81 | webhookPayload.put("partId", savedPart.getId()); |
| 82 | Object serializedPart = partMapper.toShowDto(savedPart); |
| 83 | webhookDispatchService.dispatchWebhook(user.getCompany(), WebhookEvent.NEW_PART, webhookPayload, |
| 84 | "newPart", serializedPart, null, null, null, null, null); |
| 85 | return savedPart; |
| 86 | } |
| 87 | |
| 88 | private void setPartCustomFields(Part part, List<CustomFieldValuePostDTO> customFieldValuePostDTOS, |
| 89 | Company company) { |
no test coverage detected