Skip to content

Commit

Permalink
refactor getFrequencyConfig util function to just use connection sche…
Browse files Browse the repository at this point in the history
…dule values
  • Loading branch information
lmossman committed Aug 17, 2022
1 parent 8a7516d commit 3e0bedd
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 22 deletions.
6 changes: 2 additions & 4 deletions airbyte-webapp/src/components/EntityTable/hooks.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { getFrequencyConfig } from "config/utils";
import { getFrequencyType } from "config/utils";
import { Action, Namespace } from "core/analytics";
import { buildConnectionUpdate } from "core/domain/connection";
import { useAnalyticsService } from "hooks/services/Analytics";
Expand All @@ -21,14 +21,12 @@ const useSyncActions = (): {
})
);

const frequency = getFrequencyConfig(connection.schedule);

const enabledStreams = connection.syncCatalog.streams.filter((stream) => stream.config?.selected).length;

const trackableAction = connection.status === ConnectionStatus.active ? Action.DISABLE : Action.REENABLE;

analyticsService.track(Namespace.CONNECTION, trackableAction, {
frequency: frequency?.type,
frequency: getFrequencyType(connection.schedule),
connector_source: connection.source?.sourceName,
connector_source_definition_id: connection.source?.sourceDefinitionId,
connector_destination: connection.destination?.destinationName,
Expand Down
6 changes: 2 additions & 4 deletions airbyte-webapp/src/config/utils.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import FrequencyConfig from "config/FrequencyConfig.json";
import { ConnectionSchedule } from "core/request/AirbyteClient";
import { equal } from "utils/objects";

export const getFrequencyConfig = (schedule?: ConnectionSchedule) =>
FrequencyConfig.find((item) => (!schedule && !item.config) || equal(item.config, schedule));
export const getFrequencyType = (schedule?: ConnectionSchedule) =>
schedule ? `${schedule.units} ${schedule.timeUnit}` : "manual";
10 changes: 3 additions & 7 deletions airbyte-webapp/src/hooks/services/useConnectionHook.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { QueryClient, useMutation, useQueryClient } from "react-query";

import { getFrequencyConfig } from "config/utils";
import { getFrequencyType } from "config/utils";
import { Action, Namespace } from "core/analytics";
import { SyncSchema } from "core/domain/catalog";
import { WebBackendConnectionService } from "core/domain/connection";
Expand Down Expand Up @@ -92,15 +92,13 @@ export const useSyncConnection = () => {
const analyticsService = useAnalyticsService();

return useMutation((connection: WebBackendConnectionRead) => {
const frequency = getFrequencyConfig(connection.schedule);

analyticsService.track(Namespace.CONNECTION, Action.SYNC, {
actionDescription: "Manual triggered sync",
connector_source: connection.source?.sourceName,
connector_source_definition_id: connection.source?.sourceDefinitionId,
connector_destination: connection.destination?.destinationName,
connector_destination_definition_id: connection.destination?.destinationDefinitionId,
frequency: frequency?.type,
frequency: getFrequencyType(connection.schedule),
});

return service.sync(connection.connectionId);
Expand Down Expand Up @@ -143,11 +141,9 @@ const useCreateConnection = () => {

const enabledStreams = values.syncCatalog.streams.filter((stream) => stream.config?.selected).length;

const frequencyData = getFrequencyConfig(values.schedule);

analyticsService.track(Namespace.CONNECTION, Action.CREATE, {
actionDescription: "New connection created",
frequency: frequencyData?.type || "",
frequency: getFrequencyType(values.schedule),
connector_source_definition: source?.sourceName,
connector_source_definition_id: sourceDefinition?.sourceDefinitionId,
connector_destination_definition: destination?.destinationName,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { Navigate, Route, Routes, useParams } from "react-router-dom";
import { LoadingPage, MainPageWithScroll } from "components";
import HeadTitle from "components/HeadTitle";

import { getFrequencyConfig } from "config/utils";
import { getFrequencyType } from "config/utils";
import { Action, Namespace } from "core/analytics";
import { ConnectionStatus } from "core/request/AirbyteClient";
import { useAnalyticsService } from "hooks/services/Analytics";
Expand All @@ -30,16 +30,14 @@ const ConnectionItemPage: React.FC = () => {

const { source, destination } = connection;

const frequency = getFrequencyConfig(connection.schedule);

const onAfterSaveSchema = () => {
analyticsService.track(Namespace.CONNECTION, Action.EDIT_SCHEMA, {
actionDescription: "Connection saved with catalog changes",
connector_source: source.sourceName,
connector_source_definition_id: source.sourceDefinitionId,
connector_destination: destination.destinationName,
connector_destination_definition_id: destination.destinationDefinitionId,
frequency: frequency?.type,
frequency: getFrequencyType(connection.schedule),
});
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Link } from "react-router-dom";

import ConnectorCard from "components/ConnectorCard";

import { getFrequencyConfig } from "config/utils";
import { getFrequencyType } from "config/utils";
import { ConnectionStatus, SourceRead, DestinationRead, WebBackendConnectionRead } from "core/request/AirbyteClient";
import { FeatureItem, useFeature } from "hooks/services/Feature";
import { RoutePaths } from "pages/routePaths";
Expand All @@ -32,7 +32,6 @@ export const StatusMainInfo: React.FC<StatusMainInfoProps> = ({
const destinationDefinition = useDestinationDefinition(destination.destinationDefinitionId);

const allowSync = useFeature(FeatureItem.AllowSync);
const frequency = getFrequencyConfig(connection.schedule);

const sourceConnectionPath = `../../${RoutePaths.Source}/${source.sourceId}`;
const destinationConnectionPath = `../../${RoutePaths.Destination}/${destination.destinationId}`;
Expand Down Expand Up @@ -64,7 +63,7 @@ export const StatusMainInfo: React.FC<StatusMainInfoProps> = ({
onStatusUpdating={onStatusUpdating}
disabled={!allowSync}
connection={connection}
frequencyType={frequency?.type}
frequencyType={getFrequencyType(connection.schedule)}
/>
</div>
)}
Expand Down

0 comments on commit 3e0bedd

Please sign in to comment.