Skip to content

Commit f040f50

Browse files
authored
Remove rest-hooks for specifications load (#10764)
1 parent bd54d4a commit f040f50

File tree

22 files changed

+192
-200
lines changed

22 files changed

+192
-200
lines changed

airbyte-webapp/package-lock.json

Lines changed: 0 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

airbyte-webapp/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
"@fortawesome/free-solid-svg-icons": "^5.15.4",
2222
"@fortawesome/react-fontawesome": "^0.1.17",
2323
"@fullstory/browser": "^1.5.0",
24-
"@rest-hooks/legacy": "^2.0.5",
2524
"@sentry/react": "^6.17.9",
2625
"@sentry/tracing": "^6.17.9",
2726
"dayjs": "^1.10.7",
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { AirbyteRequestService } from "core/request/AirbyteRequestService";
2+
import { DestinationDefinitionSpecification } from "./types";
3+
4+
class DestinationDefinitionSpecificationService extends AirbyteRequestService {
5+
get url(): string {
6+
return "destination_definition_specifications";
7+
}
8+
9+
public get(
10+
destinationDefinitionId: string
11+
): Promise<DestinationDefinitionSpecification> {
12+
return this.fetch<DestinationDefinitionSpecification>(`${this.url}/get`, {
13+
destinationDefinitionId,
14+
});
15+
}
16+
}
17+
18+
export { DestinationDefinitionSpecificationService };
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { AirbyteRequestService } from "core/request/AirbyteRequestService";
2+
import { SourceDefinitionSpecification } from "./types";
3+
4+
class SourceDefinitionSpecificationService extends AirbyteRequestService {
5+
get url(): string {
6+
return "source_definition_specifications";
7+
}
8+
9+
public get(
10+
sourceDefinitionId: string
11+
): Promise<SourceDefinitionSpecification> {
12+
return this.fetch<SourceDefinitionSpecification>(`${this.url}/get`, {
13+
sourceDefinitionId,
14+
});
15+
}
16+
}
17+
18+
export { SourceDefinitionSpecificationService };

airbyte-webapp/src/core/resources/DestinationDefinitionSpecification.ts

Lines changed: 0 additions & 36 deletions
This file was deleted.

airbyte-webapp/src/core/resources/Schema.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { ReadShape, Resource, SchemaDetail } from "rest-hooks";
33
import BaseResource from "./BaseResource";
44
import { SourceDiscoverSchemaRead, SyncSchema } from "core/domain/catalog";
55
import { toInnerModel } from "core/domain/catalog/fieldUtil";
6-
import { JobInfo } from "core/domain/job/Job";
6+
import { JobInfo } from "core/domain/job";
77

88
export interface Schema extends SourceDiscoverSchemaRead {
99
id: string;

airbyte-webapp/src/core/resources/SourceDefinitionSpecification.ts

Lines changed: 0 additions & 30 deletions
This file was deleted.

airbyte-webapp/src/hooks/services/useDestinationHook.tsx

Lines changed: 1 addition & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,15 @@
11
import { useCallback } from "react";
22
import { useFetcher, useResource } from "rest-hooks";
3-
import { useStatefulResource } from "@rest-hooks/legacy";
43

54
import DestinationResource from "core/resources/Destination";
65
import ConnectionResource, { Connection } from "core/resources/Connection";
76
import { RoutePaths } from "pages/routes";
87
import useRouter from "../useRouter";
9-
import DestinationDefinitionSpecificationResource from "core/resources/DestinationDefinitionSpecification";
108
import SchedulerResource, { Scheduler } from "core/resources/Scheduler";
119
import { ConnectionConfiguration } from "core/domain/connection";
1210
import useWorkspace from "./useWorkspace";
1311
import { useAnalyticsService } from "hooks/services/Analytics/useAnalyticsService";
14-
import {
15-
Destination,
16-
DestinationDefinitionSpecification,
17-
} from "core/domain/connector";
12+
import { Destination } from "core/domain/connector";
1813

1914
type ValuesProps = {
2015
name: string;
@@ -24,46 +19,6 @@ type ValuesProps = {
2419

2520
type ConnectorProps = { name: string; destinationDefinitionId: string };
2621

27-
export const useDestinationDefinitionSpecificationLoad = (
28-
destinationDefinitionId: string | null
29-
): {
30-
isLoading: boolean;
31-
destinationDefinitionSpecification?: DestinationDefinitionSpecification;
32-
sourceDefinitionError?: Error;
33-
} => {
34-
const {
35-
loading: isLoading,
36-
error,
37-
data: destinationDefinitionSpecification,
38-
} = useStatefulResource(
39-
DestinationDefinitionSpecificationResource.detailShape(),
40-
destinationDefinitionId
41-
? {
42-
destinationDefinitionId,
43-
}
44-
: null
45-
);
46-
47-
return {
48-
destinationDefinitionSpecification,
49-
sourceDefinitionError: error,
50-
isLoading,
51-
};
52-
};
53-
54-
export const useDestinationDefinitionSpecificationLoadAsync = (
55-
destinationDefinitionId: string
56-
): DestinationDefinitionSpecification => {
57-
const definition = useResource(
58-
DestinationDefinitionSpecificationResource.detailShape(),
59-
{
60-
destinationDefinitionId,
61-
}
62-
);
63-
64-
return definition;
65-
};
66-
6722
type DestinationService = {
6823
checkDestinationConnection: ({
6924
destinationId,

airbyte-webapp/src/hooks/services/useSourceHook.tsx

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
import { useCallback } from "react";
22
import { useFetcher, useResource } from "rest-hooks";
3-
import { useStatefulResource } from "@rest-hooks/legacy";
43

54
import SourceResource from "core/resources/Source";
65
import { RoutePaths } from "pages/routes";
76
import ConnectionResource, { Connection } from "core/resources/Connection";
8-
import SourceDefinitionSpecificationResource from "core/resources/SourceDefinitionSpecification";
97
import SchedulerResource, { Scheduler } from "core/resources/Scheduler";
108
import { ConnectionConfiguration } from "core/domain/connection";
119
import useWorkspace from "./useWorkspace";
1210

1311
import useRouter from "hooks/useRouter";
1412
import { useAnalyticsService } from "hooks/services/Analytics/useAnalyticsService";
15-
import { Source, SourceDefinitionSpecification } from "core/domain/connector";
13+
import { Source } from "core/domain/connector";
1614

1715
type ValuesProps = {
1816
name: string;
@@ -23,29 +21,6 @@ type ValuesProps = {
2321

2422
type ConnectorProps = { name: string; sourceDefinitionId: string };
2523

26-
export const useSourceDefinitionSpecificationLoad = (
27-
sourceDefinitionId: string
28-
): {
29-
isLoading: boolean;
30-
sourceDefinitionError?: Error;
31-
sourceDefinitionSpecification?: SourceDefinitionSpecification;
32-
} => {
33-
const {
34-
loading: isLoading,
35-
error: sourceDefinitionError,
36-
data: sourceDefinitionSpecification,
37-
} = useStatefulResource(
38-
SourceDefinitionSpecificationResource.detailShape(),
39-
sourceDefinitionId
40-
? {
41-
sourceDefinitionId,
42-
}
43-
: null
44-
);
45-
46-
return { sourceDefinitionSpecification, sourceDefinitionError, isLoading };
47-
};
48-
4924
type SourceService = {
5025
recreateSource: (recreateSourcePayload: {
5126
values: ValuesProps;

airbyte-webapp/src/pages/ConnectionPage/pages/ConnectionItemPage/components/TransformationView.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ import {
2121
} from "core/domain/connection";
2222
import useConnection from "hooks/services/useConnectionHook";
2323
import { useCurrentWorkspace } from "hooks/services/useWorkspace";
24-
import { useDestinationDefinitionSpecificationLoadAsync } from "hooks/services/useDestinationHook";
2524
import { ContentCard, H4 } from "components";
2625
import { FeatureItem, useFeatureService } from "hooks/services/Feature";
26+
import { useGetDestinationDefinitionSpecification } from "services/connector/DestinationDefinitionSpecificationService";
2727

2828
type TransformationViewProps = {
2929
connection: Connection;
@@ -107,7 +107,7 @@ const NormalizationCard: React.FC<{
107107
const TransformationView: React.FC<TransformationViewProps> = ({
108108
connection,
109109
}) => {
110-
const definition = useDestinationDefinitionSpecificationLoadAsync(
110+
const definition = useGetDestinationDefinitionSpecification(
111111
connection.destination.destinationDefinitionId
112112
);
113113
const { updateConnection } = useConnection();

airbyte-webapp/src/pages/DestinationPage/pages/CreateDestinationPage/components/DestinationForm.tsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import React, { useState } from "react";
22
import { FormattedMessage } from "react-intl";
3+
34
import useRouter from "hooks/useRouter";
4-
import { useDestinationDefinitionSpecificationLoad } from "hooks/services/useDestinationHook";
55
import { createFormErrorMessage } from "utils/errorStatusMessage";
66
import { ConnectionConfiguration } from "core/domain/connection";
77
import { useAnalyticsService } from "hooks/services/Analytics/useAnalyticsService";
88
import { LogsRequestError } from "core/request/LogsRequestError";
99
import { ConnectorCard } from "views/Connector/ConnectorCard";
1010
import { DestinationDefinition } from "core/domain/connector";
11+
import { useGetDestinationDefinitionSpecificationAsync } from "services/connector/DestinationDefinitionSpecificationService";
1112

1213
type IProps = {
1314
onSubmit: (values: {
@@ -46,13 +47,13 @@ const DestinationForm: React.FC<IProps> = ({
4647
const [destinationDefinitionId, setDestinationDefinitionId] = useState(
4748
hasDestinationDefinitionId(location.state)
4849
? location.state.destinationDefinitionId
49-
: ""
50+
: null
5051
);
5152
const {
52-
destinationDefinitionSpecification,
53+
data: destinationDefinitionSpecification,
5354
isLoading,
54-
sourceDefinitionError,
55-
} = useDestinationDefinitionSpecificationLoad(destinationDefinitionId);
55+
error: destinationDefinitionError,
56+
} = useGetDestinationDefinitionSpecificationAsync(destinationDefinitionId);
5657

5758
const onDropDownSelect = (destinationDefinitionId: string) => {
5859
setDestinationDefinitionId(destinationDefinitionId);
@@ -87,7 +88,7 @@ const DestinationForm: React.FC<IProps> = ({
8788
return (
8889
<ConnectorCard
8990
onServiceSelect={onDropDownSelect}
90-
fetchingConnectorError={sourceDefinitionError}
91+
fetchingConnectorError={destinationDefinitionError}
9192
onSubmit={onSubmitForm}
9293
formType="destination"
9394
availableServices={destinationDefinitions}

airbyte-webapp/src/pages/DestinationPage/pages/DestinationItemPage/components/DestinationSettings.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@ import styled from "styled-components";
44
import { useResource } from "rest-hooks";
55

66
import DeleteBlock from "components/DeleteBlock";
7-
import useDestination, {
8-
useDestinationDefinitionSpecificationLoadAsync,
9-
} from "hooks/services/useDestinationHook";
7+
import useDestination from "hooks/services/useDestinationHook";
108
import { Connection } from "core/resources/Connection";
119
import { ConnectionConfiguration } from "core/domain/connection";
1210
import DestinationDefinitionResource from "core/resources/DestinationDefinition";
@@ -15,6 +13,7 @@ import { createFormErrorMessage } from "utils/errorStatusMessage";
1513
import { LogsRequestError } from "core/request/LogsRequestError";
1614
import { ConnectorCard } from "views/Connector/ConnectorCard";
1715
import { Connector, Destination } from "core/domain/connector";
16+
import { useGetDestinationDefinitionSpecification } from "services/connector/DestinationDefinitionSpecificationService";
1817

1918
const Content = styled.div`
2019
width: 100%;
@@ -36,7 +35,7 @@ const DestinationsSettings: React.FC<IProps> = ({
3635
null
3736
);
3837

39-
const destinationSpecification = useDestinationDefinitionSpecificationLoadAsync(
38+
const destinationSpecification = useGetDestinationDefinitionSpecification(
4039
currentDestination.destinationDefinitionId
4140
);
4241

0 commit comments

Comments
 (0)