function parseDatasetToProps()

in app/assets/javascripts/integrations/edit/index.js [18:141]


function parseDatasetToProps(data) {
  const {
    id,
    type,
    projectId,
    groupId,
    commentDetail,
    projectKey,
    projectKeys,
    learnMorePath,
    aboutPricingUrl,
    triggerEvents,
    sections,
    fields,
    inheritFromId,
    integrationLevel,
    cancelPath,
    testPath,
    resetPath,
    formPath,
    vulnerabilitiesIssuetype,
    jiraIssueTransitionAutomatic,
    jiraIssueTransitionId,
    artifactRegistryPath,
    workloadIdentityFederationPath,
    workloadIdentityFederationProjectNumber,
    workloadIdentityPoolId,
    wlifIssuer,
    amazonQSubmitUrl,
    amazonQDisconnectUrl,
    amazonQRoleArn,
    amazonQAvailability,
    amazonQInstanceUid,
    amazonQAwsProviderUrl,
    amazonQAwsAudience,
    jwtClaims,
    redirectTo,
    upgradeSlackUrl,
    ...booleanAttributes
  } = data;
  const {
    manualActivation,
    activated,
    operating,
    activateDisabled,
    editable,
    canTest,
    commitEvents,
    mergeRequestEvents,
    enableComments,
    showJiraIssuesIntegration,
    showJiraVulnerabilitiesIntegration,
    enableJiraIssues,
    enableJiraVulnerabilities,
    shouldUpgradeSlack,
    customizeJiraIssueEnabled,
    amazonQReady,
    amazonQAutoReviewEnabled,
  } = parseBooleanInData(booleanAttributes);

  return {
    initialActivated: activated,
    operating,
    manualActivation,
    activateDisabled,
    type,
    cancelPath,
    editable,
    canTest,
    testPath,
    resetPath,
    formPath,
    triggerFieldsProps: {
      initialTriggerCommit: commitEvents,
      initialTriggerMergeRequest: mergeRequestEvents,
      initialEnableComments: enableComments,
      initialCommentDetail: commentDetail,
      initialJiraIssueTransitionAutomatic: jiraIssueTransitionAutomatic,
      initialJiraIssueTransitionId: jiraIssueTransitionId,
    },
    jiraIssuesProps: {
      showJiraIssuesIntegration,
      showJiraVulnerabilitiesIntegration,
      initialEnableJiraIssues: enableJiraIssues,
      initialEnableJiraVulnerabilities: enableJiraVulnerabilities,
      initialVulnerabilitiesIssuetype: vulnerabilitiesIssuetype,
      initialProjectKey: projectKey,
      initialProjectKeys: projectKeys,
      initialCustomizeJiraIssueEnabled: customizeJiraIssueEnabled,
    },
    googleArtifactManagementProps: {
      artifactRegistryPath,
      workloadIdentityFederationPath,
      workloadIdentityFederationProjectNumber,
      workloadIdentityPoolId,
    },
    amazonQProps: {
      amazonQSubmitUrl,
      amazonQDisconnectUrl,
      amazonQReady,
      amazonQRoleArn,
      amazonQAvailability,
      amazonQInstanceUid,
      amazonQAwsProviderUrl,
      amazonQAwsAudience,
      amazonQAutoReviewEnabled,
    },
    learnMorePath,
    aboutPricingUrl,
    triggerEvents: JSON.parse(triggerEvents),
    sections: JSON.parse(sections),
    fields: convertObjectPropsToCamelCase(JSON.parse(fields), { deep: true }),
    inheritFromId: parseInt(inheritFromId, 10),
    integrationLevel,
    id: parseInt(id, 10),
    groupId: parseInt(groupId, 10),
    projectId: parseInt(projectId, 10),
    wlifIssuer,
    jwtClaims,
    redirectTo,
    shouldUpgradeSlack,
    upgradeSlackUrl,
  };
}