Skip to content

Commit

Permalink
Merge branch 'devel' into CB-5712-identity-providers-tab-removes-from…
Browse files Browse the repository at this point in the history
…-administration-menu-after-refresh
  • Loading branch information
dariamarutkina authored Oct 23, 2024
2 parents 0503aae + 5282175 commit 0c79118
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 27 deletions.
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,15 @@ You can see a live demo of CloudBeaver here: https://demo.cloudbeaver.io

## Changelog

### 24.2.3. 2024-10-21
- Important update:
- Connections Templates feature is declared as obsolete and will be removed in future releases.
- General:
- Data editor enhancements: Rows with focused cells are specially marked to make it easier to locate a position in large tables;
- DB2i driver has been updated to version 20.0.7;
- The URL mode for PostgreSQL now supports connecting to multiple databases;
- The issue with displaying BLOB data types in DuckDB has been resolved.

### 24.2.2. 2024-10-07
- Schemas were added to the SQL autocompletion for PostgreSQL, H2, and SQL Server;
- CloudBeaver can now correctly display negative dates for MySQL database;
Expand Down
45 changes: 26 additions & 19 deletions server/bundles/io.cloudbeaver.server/schema/service.core.graphqls
Original file line number Diff line number Diff line change
Expand Up @@ -514,18 +514,21 @@ input ConnectionConfig {
# Host, port, serverName, databaseName are also stored in mainPropertyValues for custom pages
mainPropertyValues: Object @since(version: "24.1.2")

# Connection url jdbc:{driver}://{host}[:{port}]/[{database}]
# Return connection URL jdbc:{driver}://{host}[:{port}]/[{database}]
url: String
# Properties

# Return properties list
properties: Object

# Keep-Alive interval
# Return keep-alive interval
keepAliveInterval: Int

# Return auto-commit connection state
autocommit: Boolean

# Template connection
# Return template connection state
template: Boolean
# Read-onyl connection
# Return read-only connection state
readOnly: Boolean

# User credentials
Expand All @@ -536,12 +539,10 @@ input ConnectionConfig {
selectedSecretId: ID @since(version: "23.3.5")
credentials: Object

# Map of provider properties (name/value)

# Return map of provider properties (name/value)
providerProperties: Object

# Network handlers. Map of id->property map (name/value).

# Return network handlers configuration. Map of id->property map (name/value).
networkHandlersConfig: [NetworkHandlerConfigInput!]

#### deprecated fields
Expand All @@ -565,25 +566,27 @@ input ConnectionConfig {
####################################################

extend type Query {
# Returns server config
# Return server config
serverConfig: ServerConfig!

# Return product settings
productSettings: ProductSettings! @since(version: "24.0.1")

# Returns session state ( initialize if not )
# Return session state ( initialize if not )
sessionState: SessionInfo!

# Session permissions
# Return session permissions
sessionPermissions: [ID]!

# Get driver info
driverList( id: ID ): [ DriverInfo! ]!
authModels: [DatabaseAuthModel!]!
networkHandlers: [NetworkHandlerDescriptor!]!

# List of user connections.
# Return list of user connections
userConnections( projectId: ID, id: ID, projectIds: [ID!] ): [ ConnectionInfo! ]!
# List of template connections.

# Return list of template connections by project ID
templateConnections( projectId: ID ): [ ConnectionInfo! ]!

# List of connection folders
Expand Down Expand Up @@ -613,21 +616,25 @@ extend type Mutation {
# Refresh session connection list
refreshSessionConnections: Boolean

# Refreshes session on server and returns its state
# Change session language to specified
changeSessionLanguage(locale: String): Boolean

# Create new custom connection. Custom connections exist only within the current session.
# Create new custom connection
createConnection( config: ConnectionConfig!, projectId: ID ): ConnectionInfo!

# Update specified connection
updateConnection( config: ConnectionConfig!, projectId: ID ): ConnectionInfo!

# Delete specified connection
deleteConnection( id: ID!, projectId: ID ): Boolean!

# Create new custom connection from template
createConnectionFromTemplate( templateId: ID!, projectId: ID!, connectionName: String ): ConnectionInfo!

# Create new folder
# Create new folder for connections
createConnectionFolder(parentFolderPath: ID, folderName: String!, projectId: ID ): ConnectionFolderInfo!

# Delete specified connection folder
deleteConnectionFolder( folderPath: ID!, projectId: ID ): Boolean!

# Copies connection configuration from node
Expand All @@ -636,7 +643,7 @@ extend type Mutation {
# Test connection configuration. Returns remote server version
testConnection( config: ConnectionConfig!, projectId: ID): ConnectionInfo!

# Test connection configuration. Returns remote server version
# Test network handler
testNetworkHandler( config: NetworkHandlerConfigInput! ): NetworkEndpointInfo!

# Initiate existing connection
Expand All @@ -646,7 +653,7 @@ extend type Mutation {
# Disconnect from database
closeConnection( id: ID!, projectId: ID ): ConnectionInfo!

# Changes navigator settings for connection
# Change navigator settings for connection
setConnectionNavigatorSettings( id: ID!, projectId: ID, settings: NavigatorSettingsInput!): ConnectionInfo!

#### Generic async functions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,11 @@
display: flex;
}

.remove,
.select {
margin: 0 2px;
}

.container:hover .remove {
opacity: 1;
}
Expand Down Expand Up @@ -106,7 +111,6 @@
.button,
.propertyValueSelector {
composes: theme-form-element-radius from global;
margin: 2px;
overflow: hidden;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import {
import {
Button,
Cell,
Clickable,
Container,
Filter,
getComputed,
Expand Down Expand Up @@ -150,13 +151,15 @@ export const ConfigurationsList = observer<Props>(function ConfigurationsList({
const title = `${configuration.displayName}\n${configuration.description || ''}`;
return (
<Link key={configuration.id} title={title} wrapper onClick={() => login(false, provider, configuration)}>
<Cell
className={s(style, { cell: true })}
before={icon ? <IconOrImage className={s(style, { iconOrImage: true })} icon={icon} /> : undefined}
description={configuration.description}
>
{configuration.displayName}
</Cell>
<Clickable as="div">
<Cell
className={s(style, { cell: true })}
before={icon ? <IconOrImage className={s(style, { iconOrImage: true })} icon={icon} /> : undefined}
description={configuration.description}
>
{configuration.displayName}
</Cell>
</Clickable>
</Link>
);
})}
Expand Down

0 comments on commit 0c79118

Please sign in to comment.