(Vendor vendor, Company company)
| 39 | private final CustomFieldValueService customFieldValueService; |
| 40 | |
| 41 | public Vendor create(Vendor vendor, Company company) { |
| 42 | if (!licenseService.hasEntitlement(LicenseEntitlement.CUSTOMER_VENDOR)) |
| 43 | throw new CustomException("You need a license to create a vendor", HttpStatus.FORBIDDEN); |
| 44 | if (vendor instanceof VendorPostDTO vendorPostDTO) { |
| 45 | vendor = vendorMapper.fromPostDto(vendorPostDTO); |
| 46 | if (vendorPostDTO.getCustomFields() != null && !vendorPostDTO.getCustomFields().isEmpty()) { |
| 47 | setVendorCustomFields(vendor, vendorPostDTO.getCustomFields(), company); |
| 48 | } |
| 49 | } |
| 50 | Vendor savedVendor = vendorRepository.save(vendor); |
| 51 | Map<String, Object> webhookPayload = new HashMap<>(); |
| 52 | webhookPayload.put("vendorId", savedVendor.getId()); |
| 53 | webhookDispatchService.dispatchWebhook(savedVendor.getCompany(), WebhookEvent.NEW_VENDOR, webhookPayload, |
| 54 | "newVendor", savedVendor, null, null, null, null, null); |
| 55 | return savedVendor; |
| 56 | } |
| 57 | |
| 58 | private void setVendorCustomFields(Vendor vendor, List<CustomFieldValuePostDTO> customFieldValuePostDTOS, |
| 59 | Company company) { |
nothing calls this directly
no test coverage detected