Skip to content

Commit 79b4c7a

Browse files
authored
Only checkUpdates if AllowUpdateConnectors enabled (#21138)
1 parent 19c05f7 commit 79b4c7a

File tree

1 file changed

+29
-6
lines changed

1 file changed

+29
-6
lines changed
Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,46 @@
11
import { useConfig } from "config";
22
import { webBackendCheckUpdates, WebBackendCheckUpdatesRead } from "core/request/AirbyteClient";
33
import { AirbyteRequestService } from "core/request/AirbyteRequestService";
4+
import { RequestMiddleware } from "core/request/RequestMiddleware";
5+
import { FeatureItem, useFeature } from "hooks/services/Feature";
46
import { useDefaultRequestMiddlewares } from "services/useDefaultRequestMiddlewares";
57
import { useInitService } from "services/useInitService";
6-
import { isCloudApp } from "utils/app";
8+
9+
const NO_UPDATES: WebBackendCheckUpdatesRead = {
10+
destinationDefinitions: 0,
11+
sourceDefinitions: 0,
12+
};
13+
14+
type EnabledFeatures = Partial<Record<FeatureItem, boolean>>;
715

816
class ConnectorService extends AirbyteRequestService {
9-
checkUpdates(): Promise<WebBackendCheckUpdatesRead> {
10-
if (isCloudApp()) {
11-
return Promise.resolve({ sourceDefinitions: 0, destinationDefinitions: 0 });
17+
constructor(
18+
rootUrl: string,
19+
middlewares: RequestMiddleware[] = [],
20+
private readonly enabledFeatures: EnabledFeatures
21+
) {
22+
super(rootUrl, middlewares);
23+
this.enabledFeatures = enabledFeatures;
24+
}
25+
checkUpdates() {
26+
if (this.enabledFeatures[FeatureItem.AllowUpdateConnectors]) {
27+
return webBackendCheckUpdates(this.requestOptions);
1228
}
13-
return webBackendCheckUpdates(this.requestOptions);
29+
return Promise.resolve(NO_UPDATES);
1430
}
1531
}
1632

1733
export function useConnectorService() {
1834
const { apiUrl } = useConfig();
1935

36+
const enabledFeatures = {
37+
[FeatureItem.AllowUpdateConnectors]: useFeature(FeatureItem.AllowUpdateConnectors),
38+
};
39+
2040
const requestAuthMiddleware = useDefaultRequestMiddlewares();
2141

22-
return useInitService(() => new ConnectorService(apiUrl, requestAuthMiddleware), [apiUrl, requestAuthMiddleware]);
42+
return useInitService(
43+
() => new ConnectorService(apiUrl, requestAuthMiddleware, enabledFeatures),
44+
[apiUrl, requestAuthMiddleware]
45+
);
2346
}

0 commit comments

Comments
 (0)