* 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>
* Feature: Prometheus plugin (#13161)
* prometheus plugin
* added existing props
* Host and database can be dynamically configured in query builder for PostgreSQL and MySQL data sources (#13163)
* Fix: Postgresql datasource tries to connect via ssl even when ssl toggle is off (#13167)
* The ability to provide a partition key for deleting items in CosmosDB datasource has been enabled (#13166)
* Feature: Ability to configure the database name in Redis datasource (#13165)
* Fix: Avoid setting Content-Type header for requests without body and configure different host for all environments in OpenAPI [PRE-RELEASE] (#13230)
* Send content-type only with body in request
* Persist OpenAPI parameters per operation only
* Configure different host
* Add disable styles to the select input
* Feat: New fields 'client id' and 'client secret' have been introduced in the Slack datasource configuration page in pre-release (#13162)
* Update slack frontend
* Update slack backend to handle custom creds
* Add backfill migrations
* Dynamically change dropdown according to versions
* Change migration file name
* Correctly access scope in chat:write logic
---------
Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
Co-authored-by: Parth <108089718+parthy007@users.noreply.github.com>
Co-authored-by: Akshay <akshaysasidrn@gmail.com>
* fix deps
* Modularisation changes for Build with AI feature
* New app loading UI for Build with AI feature & added animation for chat messages
* Fix Error using AI feature
* add missing services and logic
* fix app gen
* update submodules
* EE frontend submodule updated
* update submodules
* EE frontend submodule updated post sync
* Added Artifact Preview component to ee moddules list
* Updated ai slice code
* app gen changes
* Resolved fix with AI bugs
* Resolved AI Copilot bugs
* app gen changes and query fixes
* fix query generation bugs
* update copilot
* Resolved ChatMode dropdown & popover bug fix
* Resolved PR suggestions & PreviewBox component in CE edition
* Synced frontend/ee with main
* Synced server/ee with main branch
* Enhance submodule checkout process to handle branch existence and fallback to main (#13218)
* Enhance submodule checkout process to handle branch existence and fallback to main
* Improve submodule checkout process to handle branch validation and fallback to main
* chore: Comment out Node.js setup, dependency installation, and build steps in cloud frontend workflow
* refactor: Enhance submodule checkout process to include submodule name in logs
* Update submodule checkout process to use the correct submodule name extraction method
* fix: Update submodule checkout script to use correct submodule path variable
* Improve submodule checkout process to correctly handle branch names and fallback to main
* chore: Uncomment Node.js setup, dependency installation, and build steps in cloud frontend workflow
* fix: Update branch checkout logic to use correct syntax and improve fallback handling
* fix: Update git checkout command to use -B flag for branch creation
* fix: Improve submodule checkout process to explicitly fetch branch ref before checkout
* fix: Enhance submodule checkout process with improved branch validation and error handling
* fix: Improve branch checkout logic by enhancing fetch command and validating branch existence
* fix: Enhance manual Git checkout process with improved fetch and error handling
* fix: Restore Node.js setup, dependency installation, and Netlify deployment steps in workflow
* 🔄 chore: update submodules to latest main after auto-merge
* Took sync of fix/appbuilder-02 in frontend/ee
---------
Co-authored-by: Kartik Gupta <gupta.kartik18kg@gmail.com>
Co-authored-by: Adish M <44204658+adishM98@users.noreply.github.com>
Co-authored-by: adishM98 Bot <adish.madhu@gmail.com>
What's changed?
🚀 Features
Feature: Configurable workflow execution in #3663 by @akshaysasidrn
Feature: Duplicate the workflow node in #3616 by @manishkushare
🛠️ Fixes
Fix: Resolve workspace constants and secrets in workflow context in #3659 by @akshaysasidrn
* Added feature to set default value to nul
Fix app crashing bug while creating FK relations
* feat: enhance default value validation for foreign keys
- Updated the label for setting default value to Null for clarity.
- Implemented a validation function to check the default value against referenced foreign key columns.
- Added useEffect to trigger validation on component mount.
* Handled edge case between not null constraint and set default to null toggle
* Removed turnary operator
* fix: placeholder is getting overlapped with null tag
* When isNotNull is truthy and default value is falsy, then disabling the save button
* fix: remove unnecessary rows check for NOT NULL default value validation
* Added feature to add bulk upsert using PK
* Avoid pre-fetching of data
* refactor: update bulk upsert option to use primary key in ToolJetDbOperations
* refactor: rename bulk upsert action to include primary key in TooljetDbActions
* refactor: enhance data type conversion and improve bulk upsert logic in TooljetDbBulkUploadService for bulk upsert function
* updated bulk upsert functionalities
* refactor: implement error handling in bulk upsert process of TooljetDbBulkUploadService
* refactor: simplify row handling in BulkUpsertPrimaryKey and ensure consistent data structure in TooljetDb services
* Made the review changes
* refactor: remove getTableInfo method from TooljetDbBulkUploadService and its usage in TooljetDbDataOperationsService
* refactor: update initialValue handling in CodeHinter for BulkUploadPrimaryKey and BulkUpsertPrimaryKey components