mirror of
https://github.com/ToolJet/ToolJet
synced 2026-04-22 05:57:20 +00:00
* feat: Add new gRPC v2 plugin - Enhanced DataSourcesController to support invoking methods on data sources. - Introduced InvokeDataSourceMethodDto for method invocation requests. - Added WhitelistPluginGuard to restrict method invocation based on data source kind. - Updated IDataSourcesController and IDataSourcesService interfaces to include invoke method functionality. - Implemented invokeMethod in DataSourcesService to handle method calls for gRPC v2. - Added method whitelisting for gRPC v2 in the service layer. * refactor: invokeMethod to use method dispatch pattern * fix: improve error handling in testConnection method * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * refactor: update types and interface * fix: remove unnecessary border styles for improved UI consistency * refactor: simplify error handling - Introduced a new SCSS file for styling the gRPC v2 query editor components. - Styled request sections, server URL input, dropdown menus, and method buttons for better user experience. refactor(grpcv2): enhance error handling and type safety - Updated error handling in gRPC query service to use a new `toError` utility function for consistent error conversion. - Improved type definitions for gRPC client and service methods to ensure better type safety. - Refactored method existence validation and gRPC call execution to handle errors more gracefully. fix(grpcv2): improve service discovery and proto file loading - Enhanced service discovery logic to handle reflection and proto file clients more robustly. - Added checks for valid service constructors and improved error messages for better debugging. - Updated the `loadProtoFromRemoteUrl` function to handle HTTP errors more effectively. chore(grpcv2): add utility functions for type checks - Introduced utility functions `isRecord`, `hasProperty`, and `toError` for better type checking and error handling throughout the codebase. * feat: add LegacyBanner component for gRPC legacy tag display * fix: styling changes * fix: correct text in LegacyBanner component * feat: enhance GRPCv2 component with request handling and state management improvements * refactor: update metadata handling in GRPCv2 component and service * refactor: update GRPCv2 component to use raw_message instead of requestData * fix: Styling issues and labels * refactor: gRPC test connection checks for proto file and url * fix: improve error handling in service discovery --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
16 lines
676 B
TypeScript
16 lines
676 B
TypeScript
import { App } from './app.type';
|
|
import { ConnectionTestResult } from './connection_test_result.type';
|
|
import { QueryResult } from './query_result.type';
|
|
import { User } from './user.type';
|
|
export interface QueryService {
|
|
run(
|
|
sourceOptions: object,
|
|
queryOptions: object,
|
|
dataSourceId?: string,
|
|
dataSourceUpdatedAt?: string,
|
|
context?: { user?: User; app?: App }
|
|
): Promise<QueryResult>;
|
|
getConnection?(queryOptions: object, options: any, checkCache: boolean, dataSourceId: string): Promise<object>;
|
|
testConnection?(sourceOptions: object): Promise<ConnectionTestResult>;
|
|
invokeMethod?(methodName: string, ...args: any[]): Promise<QueryResult>;
|
|
}
|