Skip to content

Commit 7d3ebfa

Browse files
committed
Set sourceCatalogId when creating a new connection
1 parent 8e7917b commit 7d3ebfa

File tree

5 files changed

+13
-4
lines changed

5 files changed

+13
-4
lines changed

airbyte-webapp/src/components/CreateConnectionContent/CreateConnectionContent.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,16 @@ const CreateConnectionContent: React.FC<IProps> = ({
5151
const { mutateAsync: createConnection } = useCreateConnection();
5252
const analyticsService = useAnalyticsService();
5353

54-
const { schema, isLoading, schemaErrorStatus, onDiscoverSchema } = useDiscoverSchema(source.sourceId);
54+
const { schema, isLoading, schemaErrorStatus, catalogId, onDiscoverSchema } = useDiscoverSchema(source.sourceId);
5555

5656
const connection = useMemo(
5757
() => ({
5858
syncCatalog: schema,
5959
destination,
6060
source,
61+
catalogId,
6162
}),
62-
[schema, destination, source]
63+
[schema, destination, source, catalogId]
6364
);
6465

6566
const onSubmitConnectionStep = async (values: ValuesProps) => {
@@ -75,6 +76,7 @@ const CreateConnectionContent: React.FC<IProps> = ({
7576
name: destination?.name ?? "",
7677
destinationDefinitionId: destination?.destinationDefinitionId ?? "",
7778
},
79+
sourceCatalogId: catalogId,
7880
});
7981

8082
if (afterSubmitConnection) {

airbyte-webapp/src/core/domain/catalog/api.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { JobInfo } from "../job";
55
export interface SourceDiscoverSchemaRead {
66
catalog: SyncSchema;
77
jobInfo?: JobInfo;
8+
catalogId: string;
89
}
910

1011
export type SchemaFields = JSONSchema7;

airbyte-webapp/src/core/domain/connector/SourceService.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ class SourceService extends AirbyteRequestService {
9494
return {
9595
catalog: result.catalog,
9696
jobInfo: result.jobInfo,
97+
catalogId: result.catalogId,
9798
id: sourceId,
9899
};
99100
}

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ type CreateConnectionProps = {
4343
destination?: Destination;
4444
sourceDefinition?: SourceDefinition | { name: string; sourceDefinitionId: string };
4545
destinationDefinition?: { name: string; destinationDefinitionId: string };
46+
sourceCatalogId: string;
4647
};
4748

4849
type UpdateConnection = {
@@ -139,12 +140,13 @@ const useCreateConnection = () => {
139140

140141
return useMutation(
141142
async (conn: CreateConnectionProps) => {
142-
const { values, source, destination, sourceDefinition, destinationDefinition } = conn;
143+
const { values, source, destination, sourceDefinition, destinationDefinition, sourceCatalogId } = conn;
143144
const response = await service.create({
144145
sourceId: source?.sourceId,
145146
destinationId: destination?.destinationId,
146147
...values,
147148
status: "active",
149+
sourceCatalogId: sourceCatalogId,
148150
});
149151

150152
const frequencyData = FrequencyConfig.find((item) => equal(item.config, values.schedule));

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,10 +175,12 @@ const useDiscoverSchema = (
175175
isLoading: boolean;
176176
schema: SyncSchema;
177177
schemaErrorStatus: { status: number; response: JobInfo } | null;
178+
catalogId: string;
178179
onDiscoverSchema: () => Promise<void>;
179180
} => {
180181
const service = useSourceService();
181182
const [schema, setSchema] = useState<SyncSchema>({ streams: [] });
183+
const [catalogId, setCatalogId] = useState<string>("");
182184
const [isLoading, setIsLoading] = useState(false);
183185
const [schemaErrorStatus, setSchemaErrorStatus] = useState<{
184186
status: number;
@@ -191,6 +193,7 @@ const useDiscoverSchema = (
191193
try {
192194
const data = await service.discoverSchema(sourceId || "");
193195
setSchema(data.catalog);
196+
setCatalogId(data.catalogId);
194197
} catch (e) {
195198
setSchemaErrorStatus(e);
196199
} finally {
@@ -207,7 +210,7 @@ const useDiscoverSchema = (
207210
})();
208211
}, [onDiscoverSchema, sourceId]);
209212

210-
return { schemaErrorStatus, isLoading, schema, onDiscoverSchema };
213+
return { schemaErrorStatus, isLoading, schema, catalogId, onDiscoverSchema };
211214
};
212215

213216
export { useSourceList, useGetSource, useCreateSource, useDeleteSource, useUpdateSource, useDiscoverSchema };

0 commit comments

Comments
 (0)