isFirstTimeSync() || $requestDAO->getInputOptionsDAO()->getMauticObjectIds()) { return $this->fullObjectReportBuilder->buildReport($requestDAO); } return $this->partialObjectReportBuilder->buildReport($requestDAO); } public function executeSyncOrder(OrderDAO $syncOrderDAO): ObjectMappingsDAO { return $this->orderExecutioner->execute($syncOrderDAO); } /** * @return ReportObjectDAO * * @throws ObjectNotFoundException * @throws ObjectNotSupportedException * @throws ObjectDeletedException */ public function getConflictedInternalObject(MappingManualDAO $mappingManualDAO, string $internalObjectName, ReportObjectDAO $integrationObjectDAO) { // Check to see if we have a match $internalObjectDAO = $this->mappingHelper->findMauticObject($mappingManualDAO, $internalObjectName, $integrationObjectDAO); if (!$internalObjectDAO->getObjectId()) { return new ReportObjectDAO($internalObjectName, null); } $fieldChanges = $this->fieldChangeRepository->findChangesForObject( $mappingManualDAO->getIntegration(), $this->mappingHelper->getMauticEntityClassName($internalObjectName), $internalObjectDAO->getObjectId() ); foreach ($fieldChanges as $fieldChange) { $internalObjectDAO->addField( $this->fieldHelper->getFieldChangeObject($fieldChange) ); } return $internalObjectDAO; } /** * @param ObjectChangeDAO[] $objectChanges */ public function cleanupProcessedObjects(array $objectChanges): void { foreach ($objectChanges as $changedObjectDAO) { try { $object = $this->fieldHelper->getFieldObjectName($changedObjectDAO->getMappedObject()); $objectId = $changedObjectDAO->getMappedObjectId(); $this->fieldChangeRepository->deleteEntitiesForObject( (int) $objectId, $object, $changedObjectDAO->getIntegration(), $this->syncDateHelper->getInternalSyncStartDateTime() ); } catch (ObjectNotSupportedException $exception) { DebugLogger::log( self::NAME, $exception->getMessage(), self::class.':'.__FUNCTION__ ); } } } }