Skip to content

Commit b962dff

Browse files
committed
refactor: convert constants to TypeScript enums
1 parent 23df4d4 commit b962dff

16 files changed

Lines changed: 89 additions & 101 deletions

File tree

ui/src/enums/connectorEnum.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
export enum SourceConnector {
2+
MONGODB = "MongoDB",
3+
POSTGRES = "Postgres",
4+
MYSQL = "MySQL",
5+
ORACLE = "Oracle",
6+
}
7+
8+
export enum DestinationConnector {
9+
AMAZON_S3 = "Amazon S3",
10+
APACHE_ICEBERG = "Apache Iceberg",
11+
}

ui/src/enums/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export { SourceConnector, DestinationConnector } from "./connectorEnum"
2+
export { StreamFilter } from "./streamFilterEnum"
3+
export { TabType } from "./tabTypeEnum"
4+
export { StatusValue } from "./statusValueEnum"

ui/src/enums/statusValueEnum.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
export enum StatusValue {
2+
ACTIVE = "active",
3+
INACTIVE = "inactive",
4+
PENDING = "pending",
5+
FAILED = "failed",
6+
RUNNING = "running",
7+
SUCCESS = "success",
8+
COMPLETED = "completed",
9+
CANCELLED = "cancelled",
10+
}

ui/src/enums/streamFilterEnum.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export enum StreamFilter {
2+
ALL_TABLES = "All tables",
3+
SELECTED = "Selected",
4+
NOT_SELECTED = "Not Selected",
5+
}

ui/src/enums/tabTypeEnum.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export enum TabType {
2+
CONFIG = "config",
3+
SCHEMA = "schema",
4+
JOBS = "jobs",
5+
PARTITIONING = "partitioning",
6+
}

ui/src/modules/destinations/components/connectorOptions.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@ import { ConnectorOption } from "../../../types"
22
import AWSS3 from "../../../assets/AWSS3.svg"
33
import ApacheIceBerg from "../../../assets/ApacheIceBerg.svg"
44
import { CONNECTOR_TYPES } from "../../../utils/constants"
5+
import { DestinationConnector } from "../../../enums"
56

67
export const connectorOptions: ConnectorOption[] = [
78
{
8-
value: CONNECTOR_TYPES.AMAZON_S3,
9+
value: DestinationConnector.AMAZON_S3,
910
label: (
1011
<div className="flex items-center">
1112
<img
@@ -18,7 +19,7 @@ export const connectorOptions: ConnectorOption[] = [
1819
),
1920
},
2021
{
21-
value: CONNECTOR_TYPES.APACHE_ICEBERG,
22+
value: DestinationConnector.APACHE_ICEBERG,
2223
label: (
2324
<div className="flex items-center">
2425
<img

ui/src/modules/jobs/components/FilterButton.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import clsx from "clsx"
22

3-
import { COLORS, STREAM_FILTERS } from "../../../utils/constants"
3+
import { COLORS } from "../../../utils/constants"
4+
import { StreamFilter } from "../../../enums"
45
import { FilterButtonProps } from "../../../types"
56

67
const FilterButton: React.FC<FilterButtonProps> = ({
@@ -11,9 +12,8 @@ const FilterButton: React.FC<FilterButtonProps> = ({
1112
const isFilterSelected = selectedFilters.includes(filter)
1213

1314
const handleFilterSelect = (filter: string) => {
14-
if (filter === STREAM_FILTERS[0]) {
15-
// "All tables"
16-
setSelectedFilters([STREAM_FILTERS[0]])
15+
if (filter === StreamFilter.ALL_TABLES) {
16+
setSelectedFilters([StreamFilter.ALL_TABLES])
1717
return
1818
}
1919

@@ -24,7 +24,7 @@ const FilterButton: React.FC<FilterButtonProps> = ({
2424

2525
setSelectedFilters([
2626
...selectedFilters.filter(
27-
(selectedFilter: string) => selectedFilter !== STREAM_FILTERS[0], // "All tables"
27+
(selectedFilter: string) => selectedFilter !== StreamFilter.ALL_TABLES,
2828
),
2929
filter,
3030
])

ui/src/modules/jobs/pages/JobCreation.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ import {
1919
JOB_CREATION_STEPS,
2020
JOB_STEP_NUMBERS,
2121
TEST_CONNECTION_STATUS,
22-
DEFAULT_CONNECTORS,
2322
} from "../../../utils/constants"
23+
import { SourceConnector } from "../../../enums"
2424

2525
// Internal imports from components
2626
import JobConfiguration from "../components/JobConfiguration"
@@ -48,7 +48,7 @@ const JobCreation: React.FC = () => {
4848
const [docsMinimized, setDocsMinimized] = useState(false)
4949
const [sourceName, setSourceName] = useState(initialData.sourceName || "")
5050
const [sourceConnector, setSourceConnector] = useState(
51-
initialData.sourceConnector || DEFAULT_CONNECTORS.SOURCE,
51+
initialData.sourceConnector || SourceConnector.MONGODB,
5252
)
5353
const [sourceFormData, setSourceFormData] = useState<any>(
5454
initialData.sourceFormData || {},

ui/src/modules/jobs/pages/JobEdit.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ import {
3333
DESTINATION_INTERNAL_TYPES,
3434
JOB_CREATION_STEPS,
3535
JOB_STEP_NUMBERS,
36-
DEFAULT_CONNECTORS,
3736
} from "../../../utils/constants"
37+
import { SourceConnector } from "../../../enums"
3838
import ResetStreamsModal from "../../common/Modals/ResetStreamsModal"
3939

4040
// Custom wrapper component for SourceEdit to use in job flow
@@ -228,7 +228,7 @@ const JobEdit: React.FC = () => {
228228
const initializeForNewJob = () => {
229229
setSourceData({
230230
name: "New Source",
231-
type: DEFAULT_CONNECTORS.SOURCE,
231+
type: SourceConnector.MONGODB,
232232
config: {
233233
hosts: [],
234234
username: "",

ui/src/modules/jobs/pages/SchemaConfiguration.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ import { ArrowSquareOut, Info, PencilSimple } from "@phosphor-icons/react"
1818
import {
1919
DESTINATION_INTERNAL_TYPES,
2020
DESTINATATION_DATABASE_TOOLTIP_TEXT,
21-
STREAM_FILTERS,
2221
} from "../../../utils/constants"
22+
import { StreamFilter } from "../../../enums"
2323
import { extractNamespaceFromDestination } from "../../../utils/destination-database"
2424
import DestinationDatabaseModal from "../../common/Modals/DestinationDatabaseModal"
2525

@@ -647,7 +647,7 @@ const SchemaConfiguration: React.FC<SchemaConfigurationProps> = ({
647647
<div
648648
className={`flex w-1/2 flex-wrap ${destinationDatabase ? "justify-end" : "justify-start"} gap-2`}
649649
>
650-
{STREAM_FILTERS.map(filter => (
650+
{Object.values(StreamFilter).map(filter => (
651651
<FilterButton
652652
key={filter}
653653
filter={filter}

0 commit comments

Comments
 (0)