Commit graph

28 commits

Author SHA1 Message Date
parthy007
d1f62405a4 fix: configure body correctly for token call
fix: add hubspot in querymanager auth flow
2025-10-23 15:44:51 +05:30
Parth
03505b0174
fix: token headers & client-auth dropdown (#14082) 2025-10-22 15:19:20 +05:30
gsmithun4
f40be5b1b5 feat(logging): integrate transaction logging across various guards and services
- Updated `AbilityGuard` to utilize `TransactionLogger` for logging execution time and errors.
- Enhanced `ResponseInterceptor` to include transaction metadata in logs.
- Modified `QueryAuthGuard`, `ValidateQueryAppGuard`, and `ValidateQuerySourceGuard` to log completion times and transaction IDs.
- Introduced `TransactionLogger` service for structured logging with transaction context.
- Added transaction ID and route information to request context in `RequestContextMiddleware`.
- Updated `JwtStrategy` to log validation completion times.
- Refactored logging configuration in `AppModuleLoader` to support pretty printing in non-production environments.
- Removed console logs in favor of structured logging for better traceability.
2025-09-19 02:08:49 +05:30
Priyansh Rai
94e4a13043
Feat: Add Gmail plugin (#13843)
* ee commit

* merge commit

* feat: updated openapi operation component

* updated query operation sepctype

* fix: updated query dropdown style

* feat: config dropdown update

* feat: add Gmail plugin with API integration and initial setup

* refactor: enhance type definitions

* refactor: clean up code and refactor variable names

* fix: update Gmail OAuth scope to allow full access to Gmail

* feat: standardize error handling for Gmail plugin

* fix: include oauth_type handling in Gmail plugin for cloud environment

* fix: update spec_url for Gmail operations

* refactor: remove unused fields in gmail manifest.json

* fix: update Content-Type header to application/x-www-form-urlencoded for token requests

* feat: add environment variable prefix for Gmail in OAuth handling

* fix: remove encryption requirement for client_id in Gmail manifest

* fix: update Gmail plugin to use form data for token requests and simplify response handling

* fix: add Gmail to OAuth data sources in DataSourceManager

* fix: encode path parameters in Gmail plugin URL construction

* fix: add back margin to Client ID label in CommonOAuthFields component

* fix: adjust width of input field in RenderParameterFields for better alignment

* fix: set response type to 'json' in requestOptions for Gmail service

---------

Co-authored-by: Devanshu Gupta <devanshuguptaknp@gmail.com>
2025-09-08 12:20:32 +05:30
Devanshu Gupta
6f572315c1
feat: added hubspot (#13854)
* feat: added hubspot

* fix: updated name

* feat: updated spec url

* fix: added options in manifest

* fix: resolved comments

* fix: added kind

* fix: updated query options check

* fix: kind index
2025-08-21 18:54:05 +05:30
Akshay
ca71355d8e
Feature[LTS]: GRPC Plugin revamp (#13894)
* 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>
2025-08-21 16:39:31 +05:30
Devanshu Gupta
cb0a87e1a1
Feat/ms graph pre release (#13581)
* ee commit

* merge commit

* feat: updated openapi operation component

* updated query operation sepctype

* fix: updated query dropdown style

* init plugin

* init plugin

* feat: config dropdown update

* feat: added ms plugin

* fix: plugin connection name

* submodule reference updated

* plugin label updated

* added back margin top class

---------

Co-authored-by: Ganesh Kumar <ganesh8056234@gmail.com>
2025-08-11 18:59:49 +05:30
Ganesh Kumar
f46340b477
Enhance: Extract OAuth 2.0 flow for Salesforce & Snowflake (#13529)
* salesforce & snowflake changes added to prerelease

* module import error fixes

* optional parameter for getAuthUrl method
2025-07-23 22:18:50 +05:30
parthy007
2dd4a4cfbe Add hashing function centrally
Update the caching function name
2025-05-27 16:42:17 +05:30
parthy007
fc03fefee6 Add new in-mem cache based on datasource config 2025-05-25 03:28:06 +05:30
Parth
4563a42032
Handle invalid headers (#12654) 2025-04-28 13:54:57 +05:30
Kushagra Srivastava
43ac4f251f
add metadata to QueryError and populating metadata in inspector on error (#12501)
* add metadata to QueryError

Signed-off-by: thesynthax <kushagra1403@gmail.com>

* add TODO, minor changes

Signed-off-by: thesynthax <kushagra1403@gmail.com>

* minor changes

Signed-off-by: thesynthax <kushagra1403@gmail.com>

* metadata gets populated on query error/failure

Signed-off-by: thesynthax <kushagra1403@gmail.com>

* add headers to metadata.response

Signed-off-by: thesynthax <kushagra1403@gmail.com>

* redact headers

Signed-off-by: thesynthax <kushagra1403@gmail.com>

---------

Signed-off-by: thesynthax <kushagra1403@gmail.com>
2025-04-28 10:08:34 +05:30
Ganesh Kumar
de9d9b5924
graphql plugin url appended with empty urlparams (#12353) 2025-04-28 09:53:05 +05:30
Parth
6dbdfe2f79 Fix: Api call for token generation in client-credentials grant type (#2785) 2024-11-29 00:58:35 +05:30
Devanshu Rastogi
e4196adae1 Enhance: Rest api body to accept raw input instead of raw json. (#2249)
* Enhanced rest api body to accept raw input instead of raw json.

* Changed content type from application/json to text/json and changed copywrite to RAW.

* Changed rest api body toggle label from 'RAW' to 'Raw'.

* Added request label for static REST API data source.

* Fixed issue where GET query failed since body was undefined.

* Integrated json_body to add backward compatibility.

* Removed console logs.

* Added support for 'text/json' type in checkIfContentTypeIsJson function.

* Made changes according to new frontend architecture in v3.

* Fixed request URL field overflow issue.

---------

Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
2024-11-22 12:49:08 +05:30
Akshay
5652f10806 fix numerical/boolean value not sent on restapi (#662) 2024-11-11 22:55:53 +05:30
Akshay Sasidharan
03329abfa6 sync marketplace and tooljet database changes 2024-10-28 23:37:40 +05:30
Parth
056d23dd94
Feature: Add cookies support in the REST API datasource & query builder for static and global datasource (#10166)
* Add cookies parameter to querybuilder frontend

* Add cookies parameter to datasource page

* Add cookies to the request headers in backend

* Change return type of sanitizeCookies function

* Change empty state styling in query-builder

* Add style changes for button

* fix : rounded corners in border for key field in rest api datasource

---------

Co-authored-by: Abd-Rahman-1999 <s.rahmanabd1999@gmail.com>
2024-07-01 15:32:24 +05:30
Arpit
b91029a008
[hotfix] CE fixes (#8395)
* events should be synced for multi-edit

* remove console

* removes db constrainsts for layouts and handles corrupeted apps created from prev migrations

* Revert "removes db constrainsts for layouts and handles corrupeted apps created from prev migrations"

This reverts commit 10a307118b.

* removing constrainsts fro CE

* bumped the patched version ~ 2.26.3

* fixes: import/export general styles for components

* fixes: viewer crash on adding plugin as gds due to accessing camalised data

* fixes: plugin queries gds

* preserve duplicate search params on restapi

* preserve duplicate params in query manager params fields

* fixes: edge cases where undo of some components crashes thew widget

---------

Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
2023-12-28 15:16:50 +05:30
Akshay Sasidharan
17ff9f540c explictly check for multipart headers for restapi 2023-11-17 12:36:10 +05:30
Akshay
a9f641d0cc
fix plugins redirection on subpath (#8037) 2023-11-01 15:09:41 +05:30
Muhsin Shah C P
80ee7b7cac
[Improvement] Auth flow improvements for RestAPI, OpenAPI & GraphQL (#5324)
* Added access token url headers option to open api

* removing and adding code

* add authentication in GraphQL as RestAPI (#6687)

* add authentication in GraphQL as RestAPI

* fix: remove double header check

---------

Co-authored-by: Jean-Baptiste PIN <jeanbaptiste@idruide.com>

* refactor auth flows for restapi, openapi & graphql

* fix type errors

* remove redundant declarations

* fix openapi build error

* update authUrl for OAuth

* fix oauth check

---------

Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
Co-authored-by: Jean-Baptiste PIN <jibet.pin@gmail.com>
Co-authored-by: Jean-Baptiste PIN <jeanbaptiste@idruide.com>
2023-07-21 15:38:56 +05:30
Muhsin Shah C P
638fcf7223
[Feature] Now multiple users can login through RestAPI-Oauth 🚀 (#4052)
* Implemented multiple access token feature
- working on refresh token case

* worked on refresh token flow

* added multiple token ability to openapi plugin too
- fixed some bugs

* changed tokenData to token_data
- fixed some issues

* added user type with user id

* changed user type

* Rewrote some function
- added switch for enabling and disable multi auth
- fixed some bugs
- refactored the code

* fixed view app issue

* Fixed public app issue

* cleaning some code

* (public_app) add a check to avoid oauth login redirect when there is no access token

* reverted all changes of openapi (temporary)
- will add multi token functionality once done with restapi

* fixed a bug

* fixed a bug

* refactored some code

* changed the switch text

* pr changes

* changed token_data back to tokenData

* cleaning code

* removed token data from datasources query

* removed some lines

* added a comment
2022-09-19 20:27:37 +05:30
Midhun G S
3fac991da8
clead data call made recursive (#3133) 2022-05-26 19:38:03 +05:30
Midhun G S
b05ea813c2
[BUG] Hide authorization header for Rest API (#3129)
* Hide authorization header for Rest API

* Fixed mutatting response
2022-05-26 18:29:05 +05:30
Maurits Lourens
60f515d19c
Feature/2395 - add eslint to plugins (#2402)
* merge develop

* Add eslint dependencies, configs and scripts to plugins project

* run lint with Github action

* ignore tests and dist folders

* fun eslint with --fix and manual fixes, renamed __tests_ to __tests__

* add plugins packages folder to lint-staged config

* fix lint issue
2022-03-10 12:29:48 +05:30
Akshay
59cf3b1931
Fix: Googlesheets OAuth refresh token flow (#2118)
* implement google sheet oauh token refresh flow

* format lint

* make use of constructor name as instanceof fails

* remove unused import

* force consent to get refresh token on googlesheets ds
2022-02-05 07:09:40 +05:30
Gandharv
2f3b441c0a
Move plugins to root (#1728)
* feat: move plugins to root

* modify tsconfig

* add .gitignore

* delete old plugins file

* add parcel

* docker compose volume mount

* add gcs

* add typescript to plugins folder

* gcs to ts

* add dynamodb

* add elastic search

* add firestore

* add gsheets

* add graphql

* add mongodb

* mssql

* add mysql

* add postgresql

* add redis

* add s3

* add slack

* add stripe

* remove plugin related packages from pkgjson

* add lib folder

* add gitignore

* remove typescript generated files

* remove generated file

* remove generated files

* add twilio

* add dist to docker compose cache binding

* add dist prefix

* cleanup - 1

* delete dist

* rename to index.ts + add jest config

* add it.todo in tests

* test fixes

* test file changes

* fix type checks

* add @tooljet/plugins to server package json

* esm vs commonjs bug, reduce got to 11.8.2 from 12.0.0

* docker file npm package version fix

* add typesense

* cleaup - 2

* add sendgrid

* add lerna build and clean script for all packages + tsconfig

* cleanup -3

* add plugins build step

* add missing plugins build step in npm run build

* add mssql, mysql & postgres as singleton classes

* add db connection to cache only if datasourceId is available

* client: add data source schema/manifest files

* add query operations files

* logic for wrapping form with schema

* add script to create index file

* add @tooljet/plugins to frontend folder

* cleanup 1 -frontend

* cleanup - 2 // frontend // data queries

* add client and index to gitignore

* update gitignore

* fix lint & test

* update ci

* fix unit, e2e

* cleanup -3

* fix test

* fix tests

* fix indent

* try npm ci

* fix tests

* fix typo

* fix

* rename file for server entry

* heroku fix

* add main and types entry points in pkg json

* move common to root

* cleanup - 4: remove redundant $ sign prefix

* cleanup - 4: remove redundant $ sign prefix

* update options in-sync before DOM is painted

* change type cloud to cloud storage

* update readme

* update ci.yml

* update ci yml

* add pkg-lock.json

* rename index.ts to server.ts

* update lock files

* add server package.lock

* remove unused import

* revert commit: add minio

* add root dep

* import server.ts

* remove plugins build step

* add npm shrinkwrap

* update version - plugins

* add new version - 0.0.8

* upgrade version

* move to symlinked package

* add lock file

* feat: add icon inside package

* add plugin creation docs

* Remove seed

* move icons to plugins folder

* install pg dep

* add react to packages

* add seed cmd

* revert change

* add plugins build in lint, e2e, unit

* e2e, lint use npm ci

* update dockerfile for plugins

* try combining release with web

* limit memory on release

* try executing seed script post transpile

* try executing seed from server directory

* update seed execution

* add minio

* add correct type

* add minio to pkg json

* remove old file

* fix provider key

* add python installable + npm ^7.2.0 (#1752)

* add python installable + npm ^7.2.0

* add py to prod file

* pin npm version to 7.20.0

* pin npm version to 7.20.0

* split into multi stage build and remove python for buildx

* copy plugins from buider stage

* update dependencies

* add freetds dependency

* update server dockerfile

* update client dockerfile

* update dev dockerfile and compose file

* fix entrypoint

* fix server dev dockerfile

* update docker-compose

* remove npm install on root dir on docker build

* fix heroku script

* make lerna prod dependency to enable prod builds

* remove redundant env setup

Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
Co-authored-by: navaneeth <navaneethpk@outlook.com>
2022-01-17 12:38:17 +05:30