Skip to content

Commit 71345a0

Browse files
authored
chore(dep): Update deepnote database integrations package (#353)
* chore(dep): Update deepnote database integrations package * Reformat code
1 parent 28dc905 commit 71345a0

4 files changed

Lines changed: 27 additions & 17 deletions

File tree

package-lock.json

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

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2675,7 +2675,7 @@
26752675
"@c4312/evt": "^0.1.1",
26762676
"@deepnote/blocks": "^4.3.0",
26772677
"@deepnote/convert": "^3.2.0",
2678-
"@deepnote/database-integrations": "^1.3.0",
2678+
"@deepnote/database-integrations": "^1.4.3",
26792679
"@deepnote/sql-language-server": "^3.0.0",
26802680
"@enonic/fnv-plus": "^1.3.0",
26812681
"@jupyter-widgets/base": "^6.0.8",

src/webviews/webview-side/integrations/ConfigurationForm.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { RedshiftForm } from './RedshiftForm';
1616
import { SnowflakeForm } from './SnowflakeForm';
1717
import { SpannerForm } from './SpannerForm';
1818
import { SQLServerForm } from './SQLServerForm';
19-
import { TrinoForm } from './TrinoForm';
19+
import { isTrinoPasswordConfig, TrinoForm } from './TrinoForm';
2020
import { ConfigurableDatabaseIntegrationConfig, ConfigurableDatabaseIntegrationType } from './types';
2121
import { integrationTypeLabels } from './integrationUtils';
2222

@@ -157,7 +157,11 @@ export const ConfigurationForm: React.FC<IConfigurationFormProps> = ({
157157
return (
158158
<TrinoForm
159159
integrationId={integrationId}
160-
existingConfig={existingConfig?.type === 'trino' ? existingConfig : null}
160+
existingConfig={
161+
existingConfig?.type === 'trino' && isTrinoPasswordConfig(existingConfig)
162+
? existingConfig
163+
: null
164+
}
161165
defaultName={defaultName}
162166
onSave={onSave}
163167
onCancel={onCancel}

src/webviews/webview-side/integrations/TrinoForm.tsx

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,24 @@ import { SshOptionsFields } from './SshOptionsFields';
55
import { CaCertificateFields } from './CaCertificateFields';
66
import { getDefaultIntegrationName } from './integrationUtils';
77

8+
type TrinoConfig = Extract<DatabaseIntegrationConfig, { type: 'trino' }>;
9+
export type TrinoPasswordConfig = TrinoConfig & {
10+
metadata: Extract<TrinoConfig['metadata'], { authMethod?: 'password' | null | undefined }>;
11+
};
12+
13+
export function isTrinoPasswordConfig(config: TrinoConfig): config is TrinoPasswordConfig {
14+
return config.metadata.authMethod !== 'trino-oauth';
15+
}
16+
817
export interface ITrinoFormProps {
918
integrationId: string;
10-
existingConfig: Extract<DatabaseIntegrationConfig, { type: 'trino' }> | null;
19+
existingConfig: TrinoPasswordConfig | null;
1120
defaultName?: string;
12-
onSave: (config: Extract<DatabaseIntegrationConfig, { type: 'trino' }>) => void;
21+
onSave: (config: TrinoPasswordConfig) => void;
1322
onCancel: () => void;
1423
}
1524

16-
function createEmptyTrinoConfig(params: {
17-
id: string;
18-
name?: string;
19-
}): Extract<DatabaseIntegrationConfig, { type: 'trino' }> {
25+
function createEmptyTrinoConfig(params: { id: string; name?: string }): TrinoPasswordConfig {
2026
return {
2127
id: params.id,
2228
name: (params.name || getDefaultIntegrationName('trino')).trim(),
@@ -38,7 +44,7 @@ export const TrinoForm: React.FC<ITrinoFormProps> = ({
3844
onSave,
3945
onCancel
4046
}) => {
41-
const [pendingConfig, setPendingConfig] = React.useState<Extract<DatabaseIntegrationConfig, { type: 'trino' }>>(
47+
const [pendingConfig, setPendingConfig] = React.useState<TrinoPasswordConfig>(
4248
existingConfig
4349
? structuredClone(existingConfig)
4450
: createEmptyTrinoConfig({ id: integrationId, name: defaultName })

0 commit comments

Comments
 (0)