All Downloads are FREE. Search and download functionalities are using the official Maven repository.

codacy.events.uiEvents.scala Maven / Gradle / Ivy

The newest version!
package codacy.events

private[events] trait uiEvents {
  self: PathPart =>

  case object wizard extends PathPart {

    case object user extends PathPart {

      @eventDef case class clickedProject(
          accountId: AccountId,
          projectName: ProjectName,
          projectUrl: ProjectUrl,
          isPrivate: Boolean
      )

      @eventDef case class clickedViewPrivateProjects(accountId: AccountId)

      @eventDef case class clickedSkipIntegrations(accountId: AccountId)

      @eventDef case class clickedAddIntegration(accountId: AccountId, integration: Integration.Value)

      @eventDef case class clickedProjectList(accountId: AccountId)

      @eventDef case class selectedProject(accountId: AccountId, projectId: ProjectId)

    }

  }

  case object projectList extends PathPart {

    case object user extends PathPart {

      @eventDef case class selectedProject(accountId: AccountId, projectId: ProjectId)

      @eventDef case class clickedAddProject(accountId: AccountId)

    }

  }

  case object projectDashboard extends PathPart {

    case object user extends PathPart {

      @eventDef case class clickedSidebar(
          accountId: Option[AccountId],
          projectId: ProjectId,
          target: SidebarButton.Value
      )

      @eventDef case class viewed(accountId: Option[AccountId], projectId: ProjectId)

      @eventDef case class clickedAddProject(accountId: AccountId)

    }

  }

  case object commitDashboard extends PathPart {

    case object user extends PathPart {

      @eventDef case class viewed(accountId: Option[AccountId], projectId: ProjectId)

      @eventDef case class selectedCommit(
          accountId: AccountId,
          projectId: ProjectId,
          commitId: CommitId,
          numNewIssues: Int,
          numFixedIssues: Int
      )

    }

  }

  case object filesDashboard extends PathPart {

    case object user extends PathPart {

      @eventDef case class viewed(accountId: Option[AccountId], projectId: ProjectId)

      @eventDef case class clickedSortFiles(
          accountId: AccountId,
          projectId: ProjectId,
          branchId: BranchId,
          criterion: SortFilesCriterion.Value,
          isAscending: IsAscending
      )

      @eventDef case class searchedForFile(
          accountId: AccountId,
          projectId: ProjectId,
          branchId: BranchId,
          searchString: String
      )

    }

  }

  case object issuesDashboard extends PathPart {

    case object user extends PathPart {

      @eventDef case class viewed(accountId: Option[AccountId], projectId: ProjectId)

      @eventDef case class clearedFilters(
          accountId: Option[AccountId],
          projectId: ProjectId,
          branchId: Option[BranchId]
      )

      @eventDef case class appliedFilter(
          accountId: Option[AccountId],
          projectId: ProjectId,
          branchId: Option[BranchId],
          filters: Map[IssueFilterCriterion.Value, FilterSelection.Value]
      )

      @eventDef case class expandedIssueInfo(
          accountId: Option[AccountId],
          projectId: ProjectId,
          branchId: Option[BranchId],
          resultId: ResultId
      )

      @eventDef case class clickedViewFile(
          accountId: Option[AccountId],
          projectId: ProjectId,
          branchId: Option[BranchId],
          fileId: FileId
      )

      @eventDef case class clickedcreateComment(
          accountId: AccountId,
          projectId: ProjectId,
          commitId: CommitId,
          resultId: ResultId,
          integration: Integration.Value
      )

      @eventDef case class clickedCreateIssue(
          accountId: AccountId,
          projectId: ProjectId,
          commitId: CommitId,
          resultId: ResultId,
          integration: Integration.Value
      )

    }

  }

  case object pullRequestsDashboard extends PathPart {

    case object user extends PathPart {

      @eventDef case class viewed(accountId: Option[AccountId], projectId: ProjectId)

      @eventDef case class selectedState(accountId: AccountId, projectId: ProjectId, selected: PullRequestState.Value)

    }

  }

  case object pullRequestPage extends PathPart {

    case object user extends PathPart {

      @eventDef case class selectedTab(
          accountId: AccountId,
          projectId: ProjectId,
          pullRequestId: PullRequestId,
          pullRequestTab: PullRequestTab.Value
      )

      @eventDef case class clickedCommitDetail(
          accountId: AccountId,
          projectId: ProjectId,
          pullRequestId: PullRequestId,
          commitId: CommitId
      )

      @eventDef case class clickedPossibleIssues(
          accountId: AccountId,
          projectId: ProjectId,
          pullRequestId: PullRequestId,
          issueType: IssueType.Value
      )

      @eventDef case class expandedIssueInfo(
          accountId: AccountId,
          projectId: ProjectId,
          pullRequestId: PullRequestId,
          resultId: ResultId
      )

      @eventDef case class clickedViewFile(
          accountId: AccountId,
          projectId: ProjectId,
          pullRequestId: PullRequestId,
          fileId: FileId
      )

      @eventDef case class ignoredIssue(
          accountId: AccountId,
          projectId: ProjectId,
          pullRequestId: PullRequestId,
          resultId: ResultId
      )

      @eventDef case class removedPattern(
          accountId: AccountId,
          projectId: ProjectId,
          pullRequestId: PullRequestId,
          patternId: PatternId
      )

      @eventDef case class ignoredFile(
          accountId: AccountId,
          projectId: ProjectId,
          pullRequestId: PullRequestId,
          fileId: FileId
      )

    }

  }

  case object securityDashboard extends PathPart {

    case object user extends PathPart {

      @eventDef case class viewed(accountId: Option[AccountId], projectId: ProjectId)

    }

  }

  case object patternSettings extends PathPart {

    case object user extends PathPart {

      @eventDef case class viewed(accountId: Option[AccountId], projectId: ProjectId)

      @eventDef case class changedEngineState(
          accountId: AccountId,
          projectId: ProjectId,
          isOn: Boolean,
          engineId: EngineId,
          engineName: EngineName
      )

    }

    case object growthBundle extends PathPart {

      @eventDef case class shown(accountId: AccountId, projectId: ProjectId)

      @eventDef case class dismissed(accountId: AccountId, projectId: ProjectId)

      @eventDef case class applied(accountId: AccountId, projectId: ProjectId)

      @eventDef case class undone(accountId: AccountId, projectId: ProjectId)
    }

  }

  case object projectSettings extends PathPart {

    case object user extends PathPart {

      @eventDef case class viewed(accountId: Option[AccountId], projectId: ProjectId)

      @eventDef case class deletedProject(accountId: AccountId, projectId: ProjectId)

      @eventDef case class transferredProject(
          accountId: AccountId,
          projectId: ProjectId,
          organizationId: Option[OrganizationId]
      )

      @eventDef case class selectedDefaultBranch(accountId: AccountId, branch: BranchId)

      @eventDef case class enabledBranch(accountId: AccountId, branch: BranchId)

      @eventDef case class disabledBranch(accountId: AccountId, branch: BranchId)

      @eventDef case class createdIntegration(accountId: AccountId, projectId: ProjectId, integration: String)

      @eventDef case class changedIntegration(
          accountId: AccountId,
          projectId: ProjectId,
          integrationId: ProjectIntegrationId
      )

      @eventDef case class removedIntegration(
          accountId: AccountId,
          projectId: ProjectId,
          integrationId: ProjectIntegrationId
      )

      @eventDef case class ignoredFiles(accountId: AccountId, projectId: ProjectId)

      @eventDef case class changedQualitySettings(accountId: AccountId, projectId: ProjectId, settings: Option[String])

    }

  }

  case object account extends PathPart {

    case object user extends PathPart {

      @eventDef case class viewedDeleteAccount(accountId: AccountId)

      @eventDef case class deletedAccount(accountId: AccountId, motive: String)

      @eventDef case class removedIntegration(accountId: AccountId, integrationId: AccountIntegrationId)

      @eventDef case class changedEmailSettings(accountId: AccountId, settings: Option[String])

      @eventDef case class createdProjectEmailSettings(accountId: AccountId, projectId: ProjectId)

      @eventDef case class changedProjectEmailSettings(
          accountId: AccountId,
          projectId: ProjectId,
          settings: Option[String]
      )

      @eventDef case class removedProjectEmailSettings(accountId: AccountId, projectId: ProjectId)

      @eventDef case class createdAPIToken(accountId: AccountId)

      @eventDef case class deletedAPIToken(accountId: AccountId)

      @eventDef case class downGraded(
          accountId: AccountId,
          organizationId: Option[OrganizationId],
          emails: List[String],
          signedUpReasons: Option[List[String]],
          cancelReasons: Option[List[String]],
          improvements: Option[String]
      )

    }

  }

  case object organizationDashboard extends PathPart {

    case object user extends PathPart {

      @eventDef case class clickedAddProject(
          accountId: AccountId,
          organizationId: OrganizationId,
          position: ButtonPosition.Value
      )

      @eventDef case class changedBetweenTeams(accountId: AccountId, organizationId: OrganizationId)

      @eventDef case class changedQualityMetricOrganizationGraph(
          accountId: AccountId,
          organizationId: OrganizationId,
          qualityMetric: QualityMetric.Value
      )

      @eventDef case class clickedGraphProject(
          accountId: AccountId,
          organizationId: OrganizationId,
          projectId: ProjectId
      )

      @eventDef case class changeBetweenOpenPullRequestTabs(accountId: AccountId, organizationId: OrganizationId)

      @eventDef case class clickedOpenPullRequest(
          accountId: AccountId,
          organizationId: OrganizationId,
          pullRequestId: PullRequestId
      )

      @eventDef case class clickedProject(accountId: AccountId, organizationId: OrganizationId, projectId: ProjectId)

      @eventDef case class clickedSeeAllProject(accountId: AccountId, organizationId: OrganizationId)

    }

  }

  case object newProjectDashboard extends PathPart {

    case object user extends PathPart {

      @eventDef case class changedBetweenBranch(accountId: AccountId, targetBranchId: Option[BranchId])

      @eventDef case class changedQualityMetricOrganizationGraph(
          accountId: AccountId,
          projectId: ProjectId,
          qualityMetric: QualityMetric.Value
      )

      @eventDef case class clickedSetupCoverageProjectGraph(accountId: AccountId, projectId: ProjectId)

      @eventDef case class changedBetweenDays(
          accountId: AccountId,
          projectId: ProjectId,
          dashboardDays: DashboardDays.Value
      )

      @eventDef case class clickedSeeAllIssues(accountId: AccountId, projectId: ProjectId)

      @eventDef case class clickedSpecificIssueCategory(
          accountId: AccountId,
          projectId: ProjectId,
          issueCategory: IssueCategory.Value
      )

      @eventDef case class clickedCoverageSeeAllFiles(accountId: AccountId, projectId: ProjectId)

      @eventDef case class clickedSetupCoverageCoverageComponent(accountId: AccountId, projectId: ProjectId)

      @eventDef case class clickedSeeAllPullRequests(accountId: AccountId, projectId: ProjectId)

      @eventDef case class clickedShareDashboardButton(accountId: AccountId, projectId: ProjectId)

      @eventDef case class clickedCopyLinkShareDashboard(accountId: AccountId, projectId: ProjectId)

      @eventDef case class clickedTwitterShareDashboardButton(accountId: AccountId, projectId: ProjectId)

      @eventDef case class clickedBadgeDashboardButton(accountId: AccountId, projectId: ProjectId)

      @eventDef case class clickedAddBadgeDashboardButton(accountId: AccountId, projectId: ProjectId)

      @eventDef case class clickedCopyLinkBadgeDashboardButton(accountId: AccountId, projectId: ProjectId)

      @eventDef case class clickedShareButton(accountId: AccountId, projectId: ProjectId)

      @eventDef case class pageViewedWithToken(accountId: AccountId, projectId: ProjectId)
    }

  }

  case object personalDashboard extends PathPart {

    case object user extends PathPart {

      @eventDef case class clickedAddProject(accountId: AccountId, organizationId: OrganizationId)

      @eventDef case class clickedStarProject(
          accountId: AccountId,
          organizationId: OrganizationId,
          projectId: ProjectId
      )

      @eventDef case class clickedSeeAllProjects(accountId: AccountId, organizationId: OrganizationId)

      @eventDef case class changeBetweenPullRequestsTabs(accountId: AccountId, organizationId: OrganizationId)

      @eventDef case class clickedProject(accountId: AccountId, organizationId: OrganizationId, projectId: ProjectId)

    }

  }

  case object sidebarDashboards extends PathPart {

    case object user extends PathPart {

      @eventDef case class clickedSidebarButton(
          accountId: AccountId,
          actual: DashboardSidebarButton.Value,
          target: DashboardSidebarButton.Value
      )

    }

  }

  case object hotspotsComponent extends PathPart {

    case object user extends PathPart {

      @eventDef case class clickedHotspot(accountId: AccountId, hotspotType: String, dashboard: String)

      @eventDef case class clickedDismissHotspot(accountId: AccountId, hotspotType: String, dashboard: String)

      @eventDef case class clickedEmptyState(accountId: AccountId, dashboard: String)

    }

  }

  case object activitiesComponent extends PathPart {

    case object user extends PathPart {

      @eventDef case class clickedActivity(accountId: AccountId, activityType: String, dashboard: String)

      @eventDef case class clickedActivityLink(accountId: AccountId, activityType: String, dashboard: String)

      @eventDef case class clickedEmptyState(accountId: AccountId, dashboard: String)

    }

  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy