MCPcopy Create free account
hub / github.com/bytebase/bytebase / useInstanceSpecs

Function useInstanceSpecs

frontend/src/react/components/instance/specs.ts:27–88  ·  view source on GitHub ↗
(
  basicInfo: BasicInfo,
  adminDataSource: EditDataSource,
  editingDataSource: EditDataSource | undefined
)

Source from the content-addressed store, hash-verified

25}
26
27export const useInstanceSpecs = (
28 basicInfo: BasicInfo,
29 adminDataSource: EditDataSource,
30 editingDataSource: EditDataSource | undefined
31): InstanceSpecs => {
32 return useMemo(() => {
33 const showDatabase =
34 (basicInfo.engine === Engine.POSTGRES ||
35 basicInfo.engine === Engine.REDSHIFT ||
36 basicInfo.engine === Engine.COCKROACHDB ||
37 basicInfo.engine === Engine.MSSQL) &&
38 editingDataSource?.type === DataSourceType.ADMIN;
39
40 const showSSL = instanceV1HasSSL(basicInfo.engine);
41 const showSSH = instanceV1HasSSH(basicInfo.engine);
42
43 const isEngineBeta = (_engine: Engine): boolean => false;
44
45 const defaultPort = defaultPortForEngine(basicInfo.engine);
46
47 let instanceLink = basicInfo.externalLink ?? "";
48 if (basicInfo.engine === Engine.SNOWFLAKE) {
49 if (adminDataSource.host) {
50 instanceLink = `https://${
51 adminDataSource.host.split("@")[0]
52 }.snowflakecomputing.com/console`;
53 }
54 }
55
56 const allowEditPort = !(
57 basicInfo.engine === Engine.MONGODB && editingDataSource?.srv
58 );
59
60 const allowUsingEmptyPassword = basicInfo.engine !== Engine.SPANNER;
61 const showAuthenticationDatabase = basicInfo.engine === Engine.MONGODB;
62 const hasReadonlyReplicaHost = basicInfo.engine !== Engine.SPANNER;
63 const hasReadonlyReplicaPort = basicInfo.engine !== Engine.SPANNER;
64 const hasExtraParameters = instanceV1HasExtraParameters(basicInfo.engine);
65
66 return {
67 showDatabase,
68 showSSL,
69 showSSH,
70 isEngineBeta,
71 defaultPort,
72 instanceLink,
73 allowEditPort,
74 allowUsingEmptyPassword,
75 showAuthenticationDatabase,
76 hasReadonlyReplicaHost,
77 hasReadonlyReplicaPort,
78 hasExtraParameters,
79 };
80 }, [
81 basicInfo.engine,
82 basicInfo.externalLink,
83 adminDataSource.host,
84 adminDataSource.srv,

Callers 1

InstanceFormProviderFunction · 0.90

Calls 4

instanceV1HasSSLFunction · 0.90
instanceV1HasSSHFunction · 0.90
defaultPortForEngineFunction · 0.90

Tested by

no test coverage detected