106a6 integration performance issues (#581)
* apply performance fixes * fix integration * Update client/components/open/forms/components/FirstSubmissionModal.vue Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix unique cache for forms --------- Co-authored-by: Julien Nahum <julien@nahum.net> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
@@ -52,11 +52,15 @@ class IntegrationController
|
||||
$this->authorize('view', $form);
|
||||
|
||||
$lastSubmission = $form->submissions()->latest()->first();
|
||||
$submissionData = null;
|
||||
if (!$lastSubmission) {
|
||||
// Generate fake data when no previous submissions
|
||||
$submissionData = (new FormSubmissionDataFactory($form))->asFormSubmissionData()->createSubmissionData();
|
||||
}
|
||||
$cacheKey = "zapier-poll-submissions-{$form->id}";
|
||||
return (array) \Cache::remember($cacheKey, 60 * 5, function () use ($form, $submissionData, $lastSubmission) {
|
||||
return [ZapierIntegration::formatWebhookData($form, $submissionData ?? $lastSubmission->data)];
|
||||
});
|
||||
|
||||
return [ZapierIntegration::formatWebhookData($form, $submissionData ?? $lastSubmission->data)];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,13 +114,12 @@ abstract class AbstractIntegrationHandler
|
||||
|
||||
// Old format - kept for retro-compatibility
|
||||
$oldFormatData = [];
|
||||
foreach ($formatter->getFieldsWithValue() as $field) {
|
||||
$oldFormatData[$field['name']] = $field['value'];
|
||||
}
|
||||
|
||||
// New format using ID
|
||||
$formattedData = [];
|
||||
foreach ($formatter->getFieldsWithValue() as $field) {
|
||||
$fieldsWithValue = $formatter->getFieldsWithValue();
|
||||
|
||||
foreach ($fieldsWithValue as $field) {
|
||||
$oldFormatData[$field['name']] = $field['value'];
|
||||
// New format using ID
|
||||
$formattedData[$field['id']] = [
|
||||
'value' => $field['value'],
|
||||
'name' => $field['name'],
|
||||
|
||||
Reference in New Issue
Block a user