PromucFlow_constructor/app/client/src/api/DatasourcesApi.ts

250 lines
8.1 KiB
TypeScript
Raw Normal View History

import { DEFAULT_TEST_DATA_SOURCE_TIMEOUT_MS } from "@appsmith/constants/ApiConstants";
import API from "api/Api";
chore: upgrade to prettier v2 + enforce import types (#21013)Co-authored-by: Satish Gandham <hello@satishgandham.com> Co-authored-by: Satish Gandham <satish.iitg@gmail.com> ## Description This PR upgrades Prettier to v2 + enforces TypeScript’s [`import type`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#type-only-imports-and-export) syntax where applicable. It’s submitted as a separate PR so we can merge it easily. As a part of this PR, we reformat the codebase heavily: - add `import type` everywhere where it’s required, and - re-format the code to account for Prettier 2’s breaking changes: https://prettier.io/blog/2020/03/21/2.0.0.html#breaking-changes This PR is submitted against `release` to make sure all new code by team members will adhere to new formatting standards, and we’ll have fewer conflicts when merging `bundle-optimizations` into `release`. (I’ll merge `release` back into `bundle-optimizations` once this PR is merged.) ### Why is this needed? This PR is needed because, for the Lodash optimization from https://github.com/appsmithorg/appsmith/commit/7cbb12af886621256224be0c93e6a465dd710ad3, we need to use `import type`. Otherwise, `babel-plugin-lodash` complains that `LoDashStatic` is not a lodash function. However, just using `import type` in the current codebase will give you this: <img width="962" alt="Screenshot 2023-03-08 at 17 45 59" src="https://user-images.githubusercontent.com/2953267/223775744-407afa0c-e8b9-44a1-90f9-b879348da57f.png"> That’s because Prettier 1 can’t parse `import type` at all. To parse it, we need to upgrade to Prettier 2. ### Why enforce `import type`? Apart from just enabling `import type` support, this PR enforces specifying `import type` everywhere it’s needed. (Developers will get immediate TypeScript and ESLint errors when they forget to do so.) I’m doing this because I believe `import type` improves DX and makes refactorings easier. Let’s say you had a few imports like below. Can you tell which of these imports will increase the bundle size? (Tip: it’s not all of them!) ```ts // app/client/src/workers/Linting/utils.ts import { Position } from "codemirror"; import { LintError as JSHintError, LintOptions } from "jshint"; import { get, isEmpty, isNumber, keys, last, set } from "lodash"; ``` It’s pretty hard, right? What about now? ```ts // app/client/src/workers/Linting/utils.ts import type { Position } from "codemirror"; import type { LintError as JSHintError, LintOptions } from "jshint"; import { get, isEmpty, isNumber, keys, last, set } from "lodash"; ``` Now, it’s clear that only `lodash` will be bundled. This helps developers to see which imports are problematic, but it _also_ helps with refactorings. Now, if you want to see where `codemirror` is bundled, you can just grep for `import \{.*\} from "codemirror"` – and you won’t get any type-only imports. This also helps (some) bundlers. Upon transpiling, TypeScript erases type-only imports completely. In some environment (not ours), this makes the bundle smaller, as the bundler doesn’t need to bundle type-only imports anymore. ## Type of change - Chore (housekeeping or task changes that don't impact user perception) ## How Has This Been Tested? This was tested to not break the build. ### Test Plan > Add Testsmith test cases links that relate to this PR ### Issues raised during DP testing > Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR) ## Checklist: ### Dev activity - [x] My code follows the style guidelines of this project - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] PR is being merged under a feature flag ### QA activity: - [ ] Test plan has been approved by relevant developers - [ ] Test plan has been peer reviewed by QA - [ ] Cypress test cases have been added and approved by either SDET or manual QA - [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA - [ ] Added Test Plan Approved label after reveiwing all Cypress test --------- Co-authored-by: Satish Gandham <hello@satishgandham.com> Co-authored-by: Satish Gandham <satish.iitg@gmail.com>
2023-03-16 11:41:47 +00:00
import type { ApiResponse } from "./ApiResponses";
import type { AxiosPromise } from "axios";
2019-11-07 09:32:38 +00:00
import type { Datasource, DatasourceStorage } from "entities/Datasource";
2019-11-07 09:32:38 +00:00
export interface CreateDatasourceConfig {
name: string;
pluginId: string;
feat: [epic] appsmith design system version 2 deduplication (#22030) ## Description ### Fixes - [x] https://github.com/appsmithorg/appsmith/issues/19383 - [x] https://github.com/appsmithorg/appsmith/issues/19384 - [x] https://github.com/appsmithorg/appsmith/issues/19385 - [x] https://github.com/appsmithorg/appsmith/issues/19386 - [x] https://github.com/appsmithorg/appsmith/issues/19387 - [x] https://github.com/appsmithorg/appsmith/issues/19388 - [x] https://github.com/appsmithorg/appsmith/issues/19389 - [x] https://github.com/appsmithorg/appsmith/issues/19390 - [x] https://github.com/appsmithorg/appsmith/issues/19391 - [x] https://github.com/appsmithorg/appsmith/issues/19392 - [x] https://github.com/appsmithorg/appsmith/issues/19393 - [x] https://github.com/appsmithorg/appsmith/issues/19394 - [x] https://github.com/appsmithorg/appsmith/issues/19395 - [x] https://github.com/appsmithorg/appsmith/issues/19396 - [x] https://github.com/appsmithorg/appsmith/issues/19397 - [x] https://github.com/appsmithorg/appsmith/issues/19398 - [x] https://github.com/appsmithorg/appsmith/issues/19399 - [x] https://github.com/appsmithorg/appsmith/issues/19400 - [x] https://github.com/appsmithorg/appsmith/issues/19401 - [x] https://github.com/appsmithorg/appsmith/issues/19402 - [x] https://github.com/appsmithorg/appsmith/issues/19403 - [x] https://github.com/appsmithorg/appsmith/issues/19404 - [x] https://github.com/appsmithorg/appsmith/issues/19405 - [x] https://github.com/appsmithorg/appsmith/issues/19406 - [x] https://github.com/appsmithorg/appsmith/issues/19407 - [x] https://github.com/appsmithorg/appsmith/issues/19408 - [x] https://github.com/appsmithorg/appsmith/issues/19409 Fixes # (issue) > if no issue exists, please create an issue and ask the maintainers about this first Media > A video or a GIF is preferred. when using Loom, don’t embed because it looks like it’s a GIF. instead, just link to the video ## Type of change > Please delete options that are not relevant. - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) - Breaking change (fix or feature that would cause existing functionality to not work as expected) - Chore (housekeeping or task changes that don't impact user perception) - This change requires a documentation update ## How Has This Been Tested? > Please describe the tests that you ran to verify your changes. Provide instructions, so we can reproduce. > Please also list any relevant details for your test configuration. > Delete anything that is not important - Manual - Jest - Cypress ### Test Plan > Add Testsmith test cases links that relate to this PR ### Issues raised during DP testing > Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR) ## Checklist: ### Dev activity - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] PR is being merged under a feature flag ### QA activity: - [ ] Test plan has been approved by relevant developers - [ ] Test plan has been peer reviewed by QA - [ ] Cypress test cases have been added and approved by either SDET or manual QA - [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA - [ ] Added Test Plan Approved label after reveiwing all Cypress test --------- Co-authored-by: Ankita Kinger <ankita@appsmith.com> Co-authored-by: akash-codemonk <67054171+akash-codemonk@users.noreply.github.com> Co-authored-by: Tanvi Bhakta <tanvi@appsmith.com> Co-authored-by: Arsalan <arsalanyaldram0211@outlook.com> Co-authored-by: Aman Agarwal <aman@appsmith.com> Co-authored-by: Rohit Agarwal <rohit_agarwal@live.in> Co-authored-by: Nilesh Sarupriya <nilesh@appsmith.com> Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com> Co-authored-by: Tanvi Bhakta <tanvibhakta@gmail.com> Co-authored-by: Aishwarya UR <aishwarya@appsmith.com> Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local> Co-authored-by: Vijetha-Kaja <vijetha@appsmith.com> Co-authored-by: Parthvi <80334441+Parthvi12@users.noreply.github.com> Co-authored-by: Apple <nandan@thinkify.io> Co-authored-by: Saroj <43822041+sarojsarab@users.noreply.github.com> Co-authored-by: Sangeeth Sivan <74818788+berzerkeer@users.noreply.github.com> Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com> Co-authored-by: Aishwarya-U-R <91450662+Aishwarya-U-R@users.noreply.github.com> Co-authored-by: rahulramesha <rahul@appsmith.com> Co-authored-by: Aswath K <aswath.sana@gmail.com> Co-authored-by: Preet Sidhu <preetsidhu.bits@gmail.com> Co-authored-by: Vijetha-Kaja <119562824+Vijetha-Kaja@users.noreply.github.com> Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2023-05-19 18:37:06 +00:00
type?: string;
// key in the map representation of environment id of type string
datasourceStorages: Record<string, DatasourceStorage>;
2020-03-06 04:59:24 +00:00
//Passed for logging purposes.
appName?: string;
2019-11-07 09:32:38 +00:00
}
feat: Simplified Google Sheets queries (#14869) * Client changes 1 * add DSL functionality * Temp commit for refactoring changes * Do I even know what I'm doing here? * chore: Second GS layout * Update: Visibility conditional outputs for schemas - Added the output from conditional outputs for schema children too * Update: Entity selector visibility control - Added logic for controlling visibility of sub components via the JS expressions system * Update: Passing disabled prop to toggle button * Update: Passing disabled prop to toggle btn * Update: Styled component for toggle button - Added disabled styles based on the disabled prop sent to the toggle form view JSON button * Update: configProperty role in Entity Selector - Removed dependance of the configProperty of the entity selector children to it's parent component * Update: type of placeholder key - Made placeholder key from form config JSON to accept either string or an object - Earlier only string was accepted - This is for pagination component * Update: Added placeholder control for pagination * Client changes 1 * add DSL functionality * Do I even know what I'm doing here? * fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design * fix: updated tooltip component for wrong ui on entity explore * temp triggers * fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design (#12395) * fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design * fix: updated tooltip component for wrong ui on entity explore * fix: updated tooltip ui, where condition placement, sort by ui * temp form data access logic * fix: updated sorting type width ui * fix: updated ui for spacing, width and text issues * Update: Type for tooltip of UQI forms - Added option to send an object to the tooltipText object. - This allows for composite components like pagination to have tooltips for each sub component * Update: tooltip for pagination component - Added handling to parse the tooltip for multiple components. - This allows for composite components like pagination to have tooltips for each sub component * Update: Type cast for tooltip component - Made the content passed to tooltip component as a string only * Update: Fixed tooltip component CSS * Update: Dropdown option component - Added a tooltip wrapper to each option - This is to show on hover text like disabled state * fix: updated ẇhere clause broken ui for condition * Add: functions to check and extract expressions - Loop through the formConfig and find any keys that have a value that is bindable - Used pre defined regex to check if value is a moustache binding * Add: Types for evaluated form configs - Added types for the form configs to be evaluated and their output post eval * Add: Flow to run the form config - Run the form config and update the result to the redux state * Update: Name of the type for formconfigs - Updated since it was clashing with a component of the same name * Add: Function to enforce config type checks - This is done so that the improper configs can be weeded out and the rest of the form can be shown * Add: Function to update evaluated config - Added option to update the config if it's values needed evaluation * Add: Type check for schema sections * Update: Error handling for invalid control type - We were throwing an exception till now, changed it to a warning text * Add: Exposed tooltip for dropdown option disabled state * Update: switch to json mode functionality - Added logic to convert data to a string rather than an object when the first switch to JSON mode happens * Update: Added key to tooltip for dropdown options * Trigger API modification * Add: function to fetch default trigger URL * Update: Made URL optional in dynamic trigger config * Update: Dynamic trigger API call - Made the API call for dynamic triggers have URL as optional field - Added type check to the response of the API call * Update: resp type for trigger APIs * Update: Moved code to utils folder - Moved functions for UQI form eval processing to utils file * Update: passing original controltype to JS switch * Update: config for JSON editor mode - Updated the config to have different options for JSON mode depending on the original control type * Update: Connected line numbers flag to config * Revert: CSS changes for tooltip * Refactor: Removed consle * Add: type for the config of dynamic values * Add: Feature to evaluate config for triggers * Refactor: fix type check errors * fix: dropdown ui width with text alignment * Update: fixed selector for dynamic values * Update: selector call for fetchDynamicValues * Add table header index prop for columns selector * migration partial commit * migration partial commit * Refactor: removed unused import * Update: reused function for checking dynamic value * Update: removed unused import * Fix format JSON issues * Retrieve binding paths from entity selector components * Fixes 6 remaining issues with UQI implementation * Fix dropdown issues * Fix dropdown height issues and fixes triggering of APIs when option is deselected * Migration changes * Fix QA generated UQI issues * Fix projection component height and route change logic * Fix multi select dropdown placeholder text issue and json stringify issue with switching view types * Reset entity type value when command value changes * Test changes * Review comments * Moved migrations around * Corrected import statement * Added JSON schema migration * Updated schema version * perf improvements and filter dropdown options feature * Fix Code mirror component config for toggleComponentToJson input fields. * Fix prettier issues * fix prettier issues * Fix style issues as a result of the merged conflicts * Fix failing test case * Fixed a few other flows (#14225) * Fixed a few other flows * Review comments * Fix generate CRUD, fix evaluation of dynamic bindings and fix various styling issues. * More fixes (#14367) * Factor in the root formconfig parent key. * Fix flickering issues, and evaluatedFormConfig issues * fix: Teeny bugs (#14455) * Teeny bugs * Added previous functionality as is * Improvements in the way we fetch dynamic values * Fix stringiification issue and cyclic dependency issues * Resolve projection component values deletion * Resolve merge conflicts and fix prettier issues * fix: Tsc issues * Fix property pane connection navigation * updating ee locator * updating inputfield locator * dropdown locator update * Merge conflict not properly resolved. * Fix s3 spec * Fix Mongo Spec * Fix some more tests * fix: prevent cyclic dependency when switching to js mode (#14668) * add delete events for change from array to string in diff * add test to assert absence of cyclic dependency error when switching to js in switchgroup widget * Assert that evaluation is not disabled when no cyclic dependency happens * Cypress test preparations for google sheets and form controls * Fixed a few test errors (#14874) * Add: unit tests for uqi UI updates - view type tests - conditional output extraction - processing conditional output to handle view/enabled state of the component * Add: completed isValidFormConfig test * Update: improved tests for update config - These tests cover the functionality to update a section config after it's components are done evaluating * Fix failing cypress tests and cyclic dependency issue * Fixes some more tests * Fixed migration of row objects (#14896) * Bumped the version of design system package * Update: reverted change to EE selector * Fix deletion pointer * Update: selector for js on load spec - Synced with changes related to ADS dropdown * Fix mongoDBShoppingCart spec * Remove comments * Fix: mongo shopping cart test failures * fix: mongo shopping cart spec * Dummy push to retrigger vercel * fix: mongo shopping cart spec * Update MongoDBShoppingCart_spec.js * fix: removed unused click away * dummy commit * Update: moved helper functions to separate file * Add: added tests for saga functions - Worked on testing for - extractFetchDynamicValueFormConfigs - extractQueueOfValuesToBeFetched * Add if check for queueOfValuesToBeFetched * Resolve review comments * Empty-Commit Co-authored-by: Irongade <adeoluayangade@yahoo.com> Co-authored-by: Ayush Pahwa <ayush@appsmith.com> Co-authored-by: Aman Agarwal <aman@appsmith.com> Co-authored-by: Ayangade Adeoluwa <37867493+Irongade@users.noreply.github.com> Co-authored-by: Aishwarya UR <aishwarya@appsmith.com> Co-authored-by: Favour Ohanekwu <fohanekwu@gmail.com> Co-authored-by: Albin <albin@appsmith.com>
2022-07-04 05:43:27 +00:00
// type executeQueryData = Array<{ key?: string; value?: string }>;
type executeQueryData = Record<string, any>;
[Feature] Generate template page from datasource (#5513) - Add Generate CRUD page feature - Modify the Datasource card UI in the `INTEGRATION.ACTIVE` tab to directly delete and edit. - Add `renderOption` , `errorMsg`, `isLoading` props in Dropdown component. If `renderOption` prop is not defined, it will show default option UI. - Add getDatasourcesStructure [new entity Selector] ( This will provide all fetched structure of datasources) > Commit Messages ⬇️ * Show disabled GenPage Button for unsupported DS * Add Icon in Select Table and Column dropdown * Add Error message when datasource config has error * Fix the continous loading state issue * Add Not supported datasource in select Table * Add ignoreCache when fetching DS struct * Go to generate page if initiator=generate-page * Fix connect new datasource button disabled * Modify error message for invalid datasource struct * Add snowflake to supported plugin for template * Fix Show More option width * Fix incorrect error msg for valid dS config * Generate page UI improvements * Refactor navigation * Fix Datasource Card UX * Remove semi-colon from Icon loader * Refactor contants * Add executeDatasourceQuery & fetchPluginForm API - WIP google sheet form UI and functionality - Implemented fetch all spreadsheet with mock data * disable S3 and google sheet for generate page * Update yarn.lock * Resolve review comments - Add Messages to `constants/messages` - Add default value for `fetchActionsForPage` 2nd param - Add comment - Remove `onFinishCallback` from `handleFetchedPage` * move string literal to constants/messages * Remove hardcoded pluginId implementation * Refactor getGenerateCRUDEnabledPluginMap selector * Fix CreateAppInFirstListedOrg test command * Add getIsGeneratePageInitiator helper func * Fix Entity explorer Edit option test * Fix CreateAppForOrg test command - Add click on build from scratch in generatePage * Fix deleteDatasource command test - Click on Datasource Name to Edit, Datasource Card handles the click * Fix DynamicLayout spec test issue * Fix pageLoadSpec test * Disable google plugin & Refactor - Add useDatasourceOptions hook * Add datasourceCardMenu in DatasourceEditor.json * Fix issues - Add Icon hover clickable control - Auth API click handler * Fix Createpage test command * Add cypress test for generate page flow * Fix cypress test * Add Analytics * Add comments in CloseEditor * Rename initiator to isGeneratePageMode * Disable S3 for generate CRUD page * Fix generate page from existing datasource issue * Enhance test to verify if data is fetched properly * Wait for get Actions before execute actions * Change the cypress route for excute api Co-authored-by: Pranav Kanade <pranav@appsmith.com>
2021-07-29 08:13:10 +00:00
interface executeDatasourceQueryRequest {
[Feature] Generate template page from datasource (#5513) - Add Generate CRUD page feature - Modify the Datasource card UI in the `INTEGRATION.ACTIVE` tab to directly delete and edit. - Add `renderOption` , `errorMsg`, `isLoading` props in Dropdown component. If `renderOption` prop is not defined, it will show default option UI. - Add getDatasourcesStructure [new entity Selector] ( This will provide all fetched structure of datasources) > Commit Messages ⬇️ * Show disabled GenPage Button for unsupported DS * Add Icon in Select Table and Column dropdown * Add Error message when datasource config has error * Fix the continous loading state issue * Add Not supported datasource in select Table * Add ignoreCache when fetching DS struct * Go to generate page if initiator=generate-page * Fix connect new datasource button disabled * Modify error message for invalid datasource struct * Add snowflake to supported plugin for template * Fix Show More option width * Fix incorrect error msg for valid dS config * Generate page UI improvements * Refactor navigation * Fix Datasource Card UX * Remove semi-colon from Icon loader * Refactor contants * Add executeDatasourceQuery & fetchPluginForm API - WIP google sheet form UI and functionality - Implemented fetch all spreadsheet with mock data * disable S3 and google sheet for generate page * Update yarn.lock * Resolve review comments - Add Messages to `constants/messages` - Add default value for `fetchActionsForPage` 2nd param - Add comment - Remove `onFinishCallback` from `handleFetchedPage` * move string literal to constants/messages * Remove hardcoded pluginId implementation * Refactor getGenerateCRUDEnabledPluginMap selector * Fix CreateAppInFirstListedOrg test command * Add getIsGeneratePageInitiator helper func * Fix Entity explorer Edit option test * Fix CreateAppForOrg test command - Add click on build from scratch in generatePage * Fix deleteDatasource command test - Click on Datasource Name to Edit, Datasource Card handles the click * Fix DynamicLayout spec test issue * Fix pageLoadSpec test * Disable google plugin & Refactor - Add useDatasourceOptions hook * Add datasourceCardMenu in DatasourceEditor.json * Fix issues - Add Icon hover clickable control - Auth API click handler * Fix Createpage test command * Add cypress test for generate page flow * Fix cypress test * Add Analytics * Add comments in CloseEditor * Rename initiator to isGeneratePageMode * Disable S3 for generate CRUD page * Fix generate page from existing datasource issue * Enhance test to verify if data is fetched properly * Wait for get Actions before execute actions * Change the cypress route for excute api Co-authored-by: Pranav Kanade <pranav@appsmith.com>
2021-07-29 08:13:10 +00:00
datasourceId: string;
data?: executeQueryData;
[Feature] Generate template page from datasource (#5513) - Add Generate CRUD page feature - Modify the Datasource card UI in the `INTEGRATION.ACTIVE` tab to directly delete and edit. - Add `renderOption` , `errorMsg`, `isLoading` props in Dropdown component. If `renderOption` prop is not defined, it will show default option UI. - Add getDatasourcesStructure [new entity Selector] ( This will provide all fetched structure of datasources) > Commit Messages ⬇️ * Show disabled GenPage Button for unsupported DS * Add Icon in Select Table and Column dropdown * Add Error message when datasource config has error * Fix the continous loading state issue * Add Not supported datasource in select Table * Add ignoreCache when fetching DS struct * Go to generate page if initiator=generate-page * Fix connect new datasource button disabled * Modify error message for invalid datasource struct * Add snowflake to supported plugin for template * Fix Show More option width * Fix incorrect error msg for valid dS config * Generate page UI improvements * Refactor navigation * Fix Datasource Card UX * Remove semi-colon from Icon loader * Refactor contants * Add executeDatasourceQuery & fetchPluginForm API - WIP google sheet form UI and functionality - Implemented fetch all spreadsheet with mock data * disable S3 and google sheet for generate page * Update yarn.lock * Resolve review comments - Add Messages to `constants/messages` - Add default value for `fetchActionsForPage` 2nd param - Add comment - Remove `onFinishCallback` from `handleFetchedPage` * move string literal to constants/messages * Remove hardcoded pluginId implementation * Refactor getGenerateCRUDEnabledPluginMap selector * Fix CreateAppInFirstListedOrg test command * Add getIsGeneratePageInitiator helper func * Fix Entity explorer Edit option test * Fix CreateAppForOrg test command - Add click on build from scratch in generatePage * Fix deleteDatasource command test - Click on Datasource Name to Edit, Datasource Card handles the click * Fix DynamicLayout spec test issue * Fix pageLoadSpec test * Disable google plugin & Refactor - Add useDatasourceOptions hook * Add datasourceCardMenu in DatasourceEditor.json * Fix issues - Add Icon hover clickable control - Auth API click handler * Fix Createpage test command * Add cypress test for generate page flow * Fix cypress test * Add Analytics * Add comments in CloseEditor * Rename initiator to isGeneratePageMode * Disable S3 for generate CRUD page * Fix generate page from existing datasource issue * Enhance test to verify if data is fetched properly * Wait for get Actions before execute actions * Change the cypress route for excute api Co-authored-by: Pranav Kanade <pranav@appsmith.com>
2021-07-29 08:13:10 +00:00
}
2019-11-07 09:32:38 +00:00
class DatasourcesApi extends API {
static url = "v1/datasources";
static async fetchDatasources(
workspaceId: string,
): Promise<AxiosPromise<ApiResponse<Datasource[]>>> {
return API.get(DatasourcesApi.url + `?workspaceId=${workspaceId}`);
2019-11-07 09:32:38 +00:00
}
static async createDatasource(
datasourceConfig: Partial<Datasource>,
): Promise<any> {
chore: Strict schema for datasource and action APIs (#34366) Part of https://github.com/appsmithorg/appsmith/pull/33724. This is an effort to harden the server in terms of what request payloads are acceptable. **/test all** <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced API request payload handling for creating actions to include additional properties, improving data integrity and server-side validation. - **Improvements** - Refined data manipulation and payload structures in datasource-related API requests for better compatibility with server requirements. <!-- end of auto-generated comment: release notes by coderabbit.ai --><!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > 🔴 🔴 🔴 Some tests have failed. > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9626214547> > Commit: fe5db45aeb916b176aec3ded06f1a9da1bf08898 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9626214547&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank">Cypress dashboard</a>. > Tags: `` > The following are new failures, please fix them before merging the PR: <ol> > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor3_spec.ts > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_1_spec.js > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_2_spec.js </ol> > <a href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master" target="_blank">List of identified flaky tests</a>. <!-- end of auto-generated comment: Cypress test results -->
2024-06-24 11:47:23 +00:00
// This here abomination is to remove several fields that are not accepted by the server.
for (const [name, storage] of Object.entries(
datasourceConfig.datasourceStorages || {},
)) {
datasourceConfig = {
...datasourceConfig,
isValid: undefined,
datasourceStorages: {
...datasourceConfig.datasourceStorages,
[name]: {
...storage,
isValid: undefined,
toastMessage: undefined,
datasourceConfiguration: {
...storage.datasourceConfiguration,
isValid: undefined,
authentication: DatasourcesApi.cleanAuthenticationObject(
storage.datasourceConfiguration.authentication,
),
chore: Strict schema for datasource and action APIs (#34366) Part of https://github.com/appsmithorg/appsmith/pull/33724. This is an effort to harden the server in terms of what request payloads are acceptable. **/test all** <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced API request payload handling for creating actions to include additional properties, improving data integrity and server-side validation. - **Improvements** - Refined data manipulation and payload structures in datasource-related API requests for better compatibility with server requirements. <!-- end of auto-generated comment: release notes by coderabbit.ai --><!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > 🔴 🔴 🔴 Some tests have failed. > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9626214547> > Commit: fe5db45aeb916b176aec3ded06f1a9da1bf08898 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9626214547&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank">Cypress dashboard</a>. > Tags: `` > The following are new failures, please fix them before merging the PR: <ol> > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor3_spec.ts > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_1_spec.js > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_2_spec.js </ol> > <a href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master" target="_blank">List of identified flaky tests</a>. <!-- end of auto-generated comment: Cypress test results -->
2024-06-24 11:47:23 +00:00
connection: storage.datasourceConfiguration.connection && {
...storage.datasourceConfiguration.connection,
ssl: {
...storage.datasourceConfiguration.connection.ssl,
authTypeControl: undefined,
certificateType: undefined,
},
},
},
},
},
} as any;
}
2019-11-07 09:32:38 +00:00
return API.post(DatasourcesApi.url, datasourceConfig);
}
static cleanAuthenticationObject(authentication: any): any {
if (!authentication) {
return undefined;
}
const clean: any = {
authenticationType: authentication.authenticationType ?? "dbAuth",
};
switch (clean.authenticationType) {
case "dbAuth":
clean.authType = authentication.authType;
clean.username = authentication.username;
clean.password = authentication.password;
clean.databaseName = authentication.databaseName;
break;
case "oAuth2":
clean.grantType = authentication.grantType;
clean.isTokenHeader = authentication.isTokenHeader;
clean.isAuthorizationHeader = authentication.isAuthorizationHeader;
clean.clientId = authentication.clientId;
clean.clientSecret = authentication.clientSecret;
clean.authorizationUrl = authentication.authorizationUrl;
clean.expiresIn = authentication.expiresIn;
clean.accessTokenUrl = authentication.accessTokenUrl;
clean.scopeString = authentication.scopeString;
clean.scope = authentication.scope;
clean.sendScopeWithRefreshToken =
authentication.sendScopeWithRefreshToken;
clean.refreshTokenClientCredentialsLocation =
authentication.refreshTokenClientCredentialsLocation;
clean.headerPrefix = authentication.headerPrefix;
clean.customTokenParameters = authentication.customTokenParameters;
clean.audience = authentication.audience;
clean.resource = authentication.resource;
clean.useSelfSignedCert = authentication.useSelfSignedCert;
clean.authenticationStatus = authentication.authenticationStatus;
break;
case "basic":
clean.username = authentication.username;
clean.password = authentication.password;
break;
case "apiKey":
clean.addTo = authentication.addTo;
clean.label = authentication.label;
clean.headerPrefix = authentication.headerPrefix;
clean.value = authentication.value;
break;
case "bearerToken":
clean.bearerToken = authentication.bearerToken;
break;
case "snowflakeKeyPairAuth":
clean.username = authentication.username;
clean.privateKey = authentication.privateKey;
clean.passphrase = authentication.passphrase;
}
return clean;
}
// Api to test current environment datasource
static async testDatasource(
datasourceConfig: Partial<DatasourceStorage>,
pluginId: string,
workspaceId: string,
): Promise<any> {
chore: Strict schema for datasource and action APIs (#34366) Part of https://github.com/appsmithorg/appsmith/pull/33724. This is an effort to harden the server in terms of what request payloads are acceptable. **/test all** <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced API request payload handling for creating actions to include additional properties, improving data integrity and server-side validation. - **Improvements** - Refined data manipulation and payload structures in datasource-related API requests for better compatibility with server requirements. <!-- end of auto-generated comment: release notes by coderabbit.ai --><!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > 🔴 🔴 🔴 Some tests have failed. > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9626214547> > Commit: fe5db45aeb916b176aec3ded06f1a9da1bf08898 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9626214547&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank">Cypress dashboard</a>. > Tags: `` > The following are new failures, please fix them before merging the PR: <ol> > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor3_spec.ts > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_1_spec.js > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_2_spec.js </ol> > <a href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master" target="_blank">List of identified flaky tests</a>. <!-- end of auto-generated comment: Cypress test results -->
2024-06-24 11:47:23 +00:00
const payload = {
...datasourceConfig,
pluginId,
workspaceId,
isValid: undefined,
toastMessage: undefined,
datasourceConfiguration: datasourceConfig.datasourceConfiguration && {
...datasourceConfig.datasourceConfiguration,
feat: snowflake key auth server (#34548) ## Description This PR adds new authentication method for snowflake: Use of public and private keys to authorise a snowflake database. Snowflake provides a couple of authentication mechanisms in order to authenticate the DB. Currently appsmith only provides a way to authorise using username and password. This PR adds support for private key authentication, where by user can set a public key on their DB and they can use corresponding private key in appsmith to authorise the datasource. In snowflake DB form, we have added a new field for authentication type which has two options: Basic and Key pair. Basic will allows us to authenticate using username and password. Key pair will provide us a way to upload the private key along with input field for adding passphrase (In case of encrypted private key). More info: https://docs.snowflake.com/en/user-guide/key-pair-auth https://github.com/appsmithorg/appsmith/assets/30018882/99774925-12a3-4cc0-af0a-614c3574cdc3 Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.Datasource" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9743830603> > Commit: cb64fffc9e181558525e020a4597b616eeacea7a > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9743830603&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Datasource` <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced Snowflake integration with improved connection creation and authentication handling (key pair and basic auth types). - **Bug Fixes** - Fixed issues related to handling authentication objects within datasource configuration to ensure more reliable connections. - **Documentation** - Added new error messages for passphrase requirements and incorrect passphrase or private key for encrypted private keys. - **Tests** - Updated tests to verify the correct setting of authentication types in the Snowflake plugin. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com> Co-authored-by: Aman Agarwal <aman@appsmith.com> Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-07-01 14:09:14 +00:00
authentication: DatasourcesApi.cleanAuthenticationObject(
datasourceConfig.datasourceConfiguration.authentication,
),
chore: Strict schema for datasource and action APIs (#34366) Part of https://github.com/appsmithorg/appsmith/pull/33724. This is an effort to harden the server in terms of what request payloads are acceptable. **/test all** <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced API request payload handling for creating actions to include additional properties, improving data integrity and server-side validation. - **Improvements** - Refined data manipulation and payload structures in datasource-related API requests for better compatibility with server requirements. <!-- end of auto-generated comment: release notes by coderabbit.ai --><!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > 🔴 🔴 🔴 Some tests have failed. > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9626214547> > Commit: fe5db45aeb916b176aec3ded06f1a9da1bf08898 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9626214547&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank">Cypress dashboard</a>. > Tags: `` > The following are new failures, please fix them before merging the PR: <ol> > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor3_spec.ts > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_1_spec.js > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_2_spec.js </ol> > <a href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master" target="_blank">List of identified flaky tests</a>. <!-- end of auto-generated comment: Cypress test results -->
2024-06-24 11:47:23 +00:00
connection: datasourceConfig.datasourceConfiguration.connection && {
...datasourceConfig.datasourceConfiguration.connection,
ssl: {
...datasourceConfig.datasourceConfiguration.connection.ssl,
certificateType: undefined,
},
},
},
chore: Strict schema for datasource and action APIs (#34366) Part of https://github.com/appsmithorg/appsmith/pull/33724. This is an effort to harden the server in terms of what request payloads are acceptable. **/test all** <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced API request payload handling for creating actions to include additional properties, improving data integrity and server-side validation. - **Improvements** - Refined data manipulation and payload structures in datasource-related API requests for better compatibility with server requirements. <!-- end of auto-generated comment: release notes by coderabbit.ai --><!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > 🔴 🔴 🔴 Some tests have failed. > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9626214547> > Commit: fe5db45aeb916b176aec3ded06f1a9da1bf08898 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9626214547&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank">Cypress dashboard</a>. > Tags: `` > The following are new failures, please fix them before merging the PR: <ol> > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor3_spec.ts > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_1_spec.js > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_2_spec.js </ol> > <a href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master" target="_blank">List of identified flaky tests</a>. <!-- end of auto-generated comment: Cypress test results -->
2024-06-24 11:47:23 +00:00
};
return API.post(`${DatasourcesApi.url}/test`, payload, undefined, {
timeout: DEFAULT_TEST_DATA_SOURCE_TIMEOUT_MS,
});
}
// Api to update datasource name.
static async updateDatasource(
datasourceConfig: Partial<Datasource>,
id: string,
): Promise<any> {
return API.put(DatasourcesApi.url + `/${id}`, datasourceConfig);
}
// Api to update specific datasource storage/environment configuration
static async updateDatasourceStorage(
chore: Strict schema for datasource and action APIs (#34366) Part of https://github.com/appsmithorg/appsmith/pull/33724. This is an effort to harden the server in terms of what request payloads are acceptable. **/test all** <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced API request payload handling for creating actions to include additional properties, improving data integrity and server-side validation. - **Improvements** - Refined data manipulation and payload structures in datasource-related API requests for better compatibility with server requirements. <!-- end of auto-generated comment: release notes by coderabbit.ai --><!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > 🔴 🔴 🔴 Some tests have failed. > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9626214547> > Commit: fe5db45aeb916b176aec3ded06f1a9da1bf08898 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9626214547&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank">Cypress dashboard</a>. > Tags: `` > The following are new failures, please fix them before merging the PR: <ol> > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor3_spec.ts > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_1_spec.js > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_2_spec.js </ol> > <a href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master" target="_blank">List of identified flaky tests</a>. <!-- end of auto-generated comment: Cypress test results -->
2024-06-24 11:47:23 +00:00
datasourceStorage: Partial<DatasourceStorage>,
): Promise<any> {
chore: Strict schema for datasource and action APIs (#34366) Part of https://github.com/appsmithorg/appsmith/pull/33724. This is an effort to harden the server in terms of what request payloads are acceptable. **/test all** <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced API request payload handling for creating actions to include additional properties, improving data integrity and server-side validation. - **Improvements** - Refined data manipulation and payload structures in datasource-related API requests for better compatibility with server requirements. <!-- end of auto-generated comment: release notes by coderabbit.ai --><!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > 🔴 🔴 🔴 Some tests have failed. > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9626214547> > Commit: fe5db45aeb916b176aec3ded06f1a9da1bf08898 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9626214547&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank">Cypress dashboard</a>. > Tags: `` > The following are new failures, please fix them before merging the PR: <ol> > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor3_spec.ts > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_1_spec.js > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_2_spec.js </ol> > <a href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master" target="_blank">List of identified flaky tests</a>. <!-- end of auto-generated comment: Cypress test results -->
2024-06-24 11:47:23 +00:00
const payload = {
...datasourceStorage,
isValid: undefined,
toastMessage: undefined,
datasourceConfiguration: datasourceStorage.datasourceConfiguration && {
...datasourceStorage.datasourceConfiguration,
fix: added backwards compatibility for older snowflake datasources (#34628) ## Description This PR adds backwards compatibility for older snowflake datasources so that we wont need migration. With new updates on snowflake plugin for key pair authentication, we have introduced a new field in authentication object called authenticationType, this field is responsible for telling us whether it's a basic authentication or key pair authentication. For older datasources, this field wont be there, so in order to ensure that those datasource continue to work smoothly, we have added a fallback mechanism, where if any datasource does not have authentication field, it will be considered as basic auth and we will set its properties accordingly. This PR adds that support ### Steps to test: 1. Create a snowflake datasource along with queries on app.appsmith.com 2. Attach these queries to table widget so they run on page load 3. Export this app and get json 4. Import this json on the DP of this PR, the queries should work Fixes #34627 _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.Datasource" ### :mag: Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9759249212> > Commit: f68972710918b450d989c1d28a9286a397fc08bd > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9759249212&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Datasource` <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Enhanced backward compatibility for Snowflake plugins by handling cases where `authenticationType` is not present in older datasources. - **New Features** - Improved datasource configuration by cleaning the authentication object in the `DatasourcesApi`. - **Refactor** - Simplified authentication type handling by removing unused `USERNAME_PASSWORD` and `KEY_PAIR` enums in `DBAuth`. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-07-02 11:57:46 +00:00
authentication: DatasourcesApi.cleanAuthenticationObject(
datasourceStorage.datasourceConfiguration.authentication,
),
chore: Strict schema for datasource and action APIs (#34366) Part of https://github.com/appsmithorg/appsmith/pull/33724. This is an effort to harden the server in terms of what request payloads are acceptable. **/test all** <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced API request payload handling for creating actions to include additional properties, improving data integrity and server-side validation. - **Improvements** - Refined data manipulation and payload structures in datasource-related API requests for better compatibility with server requirements. <!-- end of auto-generated comment: release notes by coderabbit.ai --><!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > 🔴 🔴 🔴 Some tests have failed. > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9626214547> > Commit: fe5db45aeb916b176aec3ded06f1a9da1bf08898 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9626214547&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank">Cypress dashboard</a>. > Tags: `` > The following are new failures, please fix them before merging the PR: <ol> > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor3_spec.ts > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_1_spec.js > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_2_spec.js </ol> > <a href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master" target="_blank">List of identified flaky tests</a>. <!-- end of auto-generated comment: Cypress test results -->
2024-06-24 11:47:23 +00:00
connection: datasourceStorage.datasourceConfiguration.connection && {
...datasourceStorage.datasourceConfiguration.connection,
ssl: {
...datasourceStorage.datasourceConfiguration.connection.ssl,
authTypeControl: undefined,
chore: Fail on unknown fields in request body (#33724) Currently, if the incoming request body contains fields that aren't recognized by the backend, we just ignore them, and deserialize what we _can_. This has lead to subtle bugs and wasted a lot of developer time in the past, and added little value in return. Most recently, with application creation, now fixed in https://github.com/appsmithorg/appsmith/pull/33722. Another one, for action creation, client sends this in `eventData` field of the request body: ![shot-2024-05-26-04-50-46](https://github.com/appsmithorg/appsmith/assets/120119/b876b27f-47ec-4a00-8598-33cb92120c49) But the class defined for `eventData` is this: ![shot-2024-05-26-04-51-03](https://github.com/appsmithorg/appsmith/assets/120119/18bf46b7-597a-4b2f-8355-1b8fad30e4ce) Clearly isn't working. This PR enabled the `FAIL_ON_UNKNOWN_PROPERTIES` setting only for the deserialization of HTTP request payloads. It shouldn't have impact on other deserializations like those for Git, and those that load resource files. Primarily to limit the scope. This should also bring in some much-needed type strictness to the client as well. So far, server has been lax in accepting just any fields in the incoming request body, so client was able to afford being lax about the object that was sent up. We're enabling this restriction only for CE currently. Will be opening a similar PR on EE and once all tests pass there, we enable for EE as well. Depends on #33728 #33730 #33731 #34366 #34405 #34446 #34473 #34506 Run No. 1 > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9685619413> > Commit: 04e225f91a5549bd41f952ea85fa57483b1b0588 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9685619413&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` **/test all** <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9690185000> > Commit: 29da8b48a36772bebc188f6173ea07d6acfd9a3c > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9690185000&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `` <!-- end of auto-generated comment: Cypress test results --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added `certificateType` property to datasources for enhanced SSL configuration options. - **Enhancements** - Improved JSON deserialization behavior for better data handling and flexibility. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 06:16:31 +00:00
certificateType: undefined,
chore: Strict schema for datasource and action APIs (#34366) Part of https://github.com/appsmithorg/appsmith/pull/33724. This is an effort to harden the server in terms of what request payloads are acceptable. **/test all** <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced API request payload handling for creating actions to include additional properties, improving data integrity and server-side validation. - **Improvements** - Refined data manipulation and payload structures in datasource-related API requests for better compatibility with server requirements. <!-- end of auto-generated comment: release notes by coderabbit.ai --><!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > 🔴 🔴 🔴 Some tests have failed. > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9626214547> > Commit: fe5db45aeb916b176aec3ded06f1a9da1bf08898 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9626214547&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank">Cypress dashboard</a>. > Tags: `` > The following are new failures, please fix them before merging the PR: <ol> > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor3_spec.ts > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_1_spec.js > <li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_2_spec.js </ol> > <a href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master" target="_blank">List of identified flaky tests</a>. <!-- end of auto-generated comment: Cypress test results -->
2024-06-24 11:47:23 +00:00
},
},
},
};
return API.put(DatasourcesApi.url + `/datasource-storages`, payload);
}
static async deleteDatasource(id: string): Promise<any> {
return API.delete(DatasourcesApi.url + `/${id}`);
}
static async fetchDatasourceStructure(
id: string,
ignoreCache = false,
): Promise<any> {
return API.get(
DatasourcesApi.url + `/${id}/structure?ignoreCache=${ignoreCache}`,
);
}
[Feature] Unified New Nav (#5558) * temp commit * using onsubmit to continue using action on form * added recaptcha site key to env example file * moved the recaptcha lib loading logic to signup page * removed unnecessary edit * handle the case where the recaptcha token is not provided as env var * added proper env var config for client * recaptcha config for ansible * recaptcha config for heroku * recaptcha config for k8s * updated app.json * fixed the typos * added more description for env vars * removed api key * minor typo fix * added new integration button * updated the add int default link * added active and create new tabs * added the empty components to tabs. will control the section manually. * added proper grid for integrations page * added vertical tabs * Added secondary tabs to integrations page * added separate page for new apis * classname changes * added new components for active queries, new queries etc. * added a separate component for data source list * adding screen component conditionally, to be showing upon user's choice * 1. Added grid styling to datasource home 2. Added connect buttons to em * fixed data source security banner * updated the styling for new api page * added tertiary menu for active integrations * updated styling for active connections * updated collapse component to work properly * added show more option to active data sources * Slash commands feature init commit * Added more commands * Introduced JSX to render custom commands * Merge conflict fix * Spacing changes * removed apis/db tabs and replaced em with integrations tab * removed the unnecessary + integrations btn * Added slash commands button * Adjust styles for better ui * Ordered the action entries under integrations * Added new datasource command * updated the getURL with proper params * updated the link of create datasource btn * updated the back btn link from data source editor * Show connect data cta in property pane * Styling fixes * Fix margin * added scrollable content to create new * added on click scroll to create new page * fixed a bug, creating new datasource twice * added new action creator for integrations. * Minor changes to add new bindings command. Changed ui behaviour of / button * UI style change * updated the query editor to match the over all theme * updated the query editor tabs * Added the run btn to empty response screens * minor fix * updated the bg color of api type drop down * updated the url being visited after delete api/query * removed log * Insert binding command UI change * More UI changes * removed unnecessary junk from integrations editor index * clean up, removed unnecessary files * removed useless routes * for debugger only checking if integrations editor * Removed all the links for api/query home pages * Move command actions to a saga Added support to binding the data back to the widget when are new API is created from widget * Added reverse binding for DB queries * Show / button only on hover * not routing to integrations on create query/api * Hide actions from suggestions in action pages * removed the query/datasource/api home pages * Changes widget.data to widget in slash commands * Show dependencies in property pane * Fix warning * fixed scrolling issue * will show a list of queries and apis for action picker * showing icons for each action under integrations * Fix dropdown not showing up * Minor refactoring. Changed commands * added a way to list data sources in action creators * Update query page url * cam show icons for datasources * Removed unused code * Feature/slash commands (#5002) * Slash commands feature init commit * Added more commands * Introduced JSX to render custom commands * Merge conflict fix * Spacing changes * Added slash commands button * Adjust styles for better ui * Added new datasource command * Minor changes to add new bindings command. Changed ui behaviour of / button * UI style change * Insert binding command UI change * More UI changes * Move command actions to a saga Added support to binding the data back to the widget when are new API is created from widget * Added reverse binding for DB queries * Show / button only on hover * Hide actions from suggestions in action pages * Changes widget.data to widget in slash commands * Minor refactoring. Changed commands * Removed unused code * remove more unusued code * Added support to generate new api from a datasource in quick commands * Code correction to use types * Refactored commands code * Minor bug fixes * Remove new integrations command for actions. Fixed autocomplete not showing up * Changes to prevent autocomplete trigger for navigation commands * Prevent hinter execution when show hint is open already. * Show hinter on focus * Update text to be called in the omnibar * updated the copy for empty active datasources * Update url * Fix text decoration * updated the redirection for back btns * Use themes * Add cypress test * fixed back btn nav * fetching form configs for datasources * a callback fixed * Fix slash command not executed on click (#5540) * Replace the value if not a string else append * Log commands menu events * updated mock data base navigation * updated mock data base navigation * updated the close editors and back buttons * All back btns from editors will go back to data sources and back from data source will go back to canvas * fixed bg colors * minor styled updates * removed margin from header of generic datasource * warnings fixes * If user is already on the location not redirecting em * when editing, will check if the coming from data source and redirect accordingly * updated redirection for newly created api/queries * updated back btn for newly created datasources * back for new curl goes to data sources * Revert "[Fix] revert new nav (#5533)" This reverts commit 1647815d * remaining original reverted chagnes * fixed the width of incoming/outgoing entity bar in property pane * removing residue from resolved merge conflicts * Fix widget icons not visible in dropdown menu * minor fix to use proper integration URL * updated the URLs for unified datasources * converted back and close to btns from banners * on accessing data source from sidebar, it'll always go to view mode * updated the edit path for saas editors * Added saved state for google sheet * on google sheet delete redirecting to create new * minor fix * fixed the redirection call on saving a datasource * removed save and test cmd as it wasn't needed * Removing test cases to be fixed by Arun * commenting more tests to be fixed by Arun * updated call api cy command * Fix extra margin issue * fixed the update datasource saga * fixed video spec * Revert "commenting more tests to be fixed by Arun" This reverts commit 42087a95ad77107401a1619e4c2d4c541a81d6c3. * Revert "Removing test cases to be fixed by Arun" This reverts commit f6fad67e558d22045114a90409428ef9b737478f. * fixed the entity explorer query datasource spec * cautious fix * update widget locators * fixed leave org test * fixes for FormWidgets * updated the image spec * Use memo * Fix debugger url checks * for copy and delete widget pointing directly to svgs * Fix entity text * Fix styling and show tooltip for property pane dependencies * removed the unnecessary callback * added a separate saga to to redirect to new integrations using onSuccess * Bug Fixes - New nav (#5629) * will show scrollbar only on hover * made mock data cards clickable * fixed the grid view * fixed the cursor position when clicking on / btn * updated the hint for `/` command * binding prompt will close on focus change * hiding / command for api body * hiding / command for query pane * Added 2 new icons * Fix cursor position on selecting a binding and clicking on the slash menu button * trying out fix to copyWidget cy command * removing zero width space characters from the property pane text Co-authored-by: arunvjn <arun@appsmith.com> Co-authored-by: Akash N <akash@codemonk.in> Co-authored-by: arunvjn <32433245+arunvjn@users.noreply.github.com> Co-authored-by: Rishabh Saxena <rishabh.robben@gmail.com>
2021-07-07 03:46:16 +00:00
static async fetchMockDatasources(): Promise<
AxiosPromise<ApiResponse<Datasource[]>>
> {
[Feature] Unified New Nav (#5558) * temp commit * using onsubmit to continue using action on form * added recaptcha site key to env example file * moved the recaptcha lib loading logic to signup page * removed unnecessary edit * handle the case where the recaptcha token is not provided as env var * added proper env var config for client * recaptcha config for ansible * recaptcha config for heroku * recaptcha config for k8s * updated app.json * fixed the typos * added more description for env vars * removed api key * minor typo fix * added new integration button * updated the add int default link * added active and create new tabs * added the empty components to tabs. will control the section manually. * added proper grid for integrations page * added vertical tabs * Added secondary tabs to integrations page * added separate page for new apis * classname changes * added new components for active queries, new queries etc. * added a separate component for data source list * adding screen component conditionally, to be showing upon user's choice * 1. Added grid styling to datasource home 2. Added connect buttons to em * fixed data source security banner * updated the styling for new api page * added tertiary menu for active integrations * updated styling for active connections * updated collapse component to work properly * added show more option to active data sources * Slash commands feature init commit * Added more commands * Introduced JSX to render custom commands * Merge conflict fix * Spacing changes * removed apis/db tabs and replaced em with integrations tab * removed the unnecessary + integrations btn * Added slash commands button * Adjust styles for better ui * Ordered the action entries under integrations * Added new datasource command * updated the getURL with proper params * updated the link of create datasource btn * updated the back btn link from data source editor * Show connect data cta in property pane * Styling fixes * Fix margin * added scrollable content to create new * added on click scroll to create new page * fixed a bug, creating new datasource twice * added new action creator for integrations. * Minor changes to add new bindings command. Changed ui behaviour of / button * UI style change * updated the query editor to match the over all theme * updated the query editor tabs * Added the run btn to empty response screens * minor fix * updated the bg color of api type drop down * updated the url being visited after delete api/query * removed log * Insert binding command UI change * More UI changes * removed unnecessary junk from integrations editor index * clean up, removed unnecessary files * removed useless routes * for debugger only checking if integrations editor * Removed all the links for api/query home pages * Move command actions to a saga Added support to binding the data back to the widget when are new API is created from widget * Added reverse binding for DB queries * Show / button only on hover * not routing to integrations on create query/api * Hide actions from suggestions in action pages * removed the query/datasource/api home pages * Changes widget.data to widget in slash commands * Show dependencies in property pane * Fix warning * fixed scrolling issue * will show a list of queries and apis for action picker * showing icons for each action under integrations * Fix dropdown not showing up * Minor refactoring. Changed commands * added a way to list data sources in action creators * Update query page url * cam show icons for datasources * Removed unused code * Feature/slash commands (#5002) * Slash commands feature init commit * Added more commands * Introduced JSX to render custom commands * Merge conflict fix * Spacing changes * Added slash commands button * Adjust styles for better ui * Added new datasource command * Minor changes to add new bindings command. Changed ui behaviour of / button * UI style change * Insert binding command UI change * More UI changes * Move command actions to a saga Added support to binding the data back to the widget when are new API is created from widget * Added reverse binding for DB queries * Show / button only on hover * Hide actions from suggestions in action pages * Changes widget.data to widget in slash commands * Minor refactoring. Changed commands * Removed unused code * remove more unusued code * Added support to generate new api from a datasource in quick commands * Code correction to use types * Refactored commands code * Minor bug fixes * Remove new integrations command for actions. Fixed autocomplete not showing up * Changes to prevent autocomplete trigger for navigation commands * Prevent hinter execution when show hint is open already. * Show hinter on focus * Update text to be called in the omnibar * updated the copy for empty active datasources * Update url * Fix text decoration * updated the redirection for back btns * Use themes * Add cypress test * fixed back btn nav * fetching form configs for datasources * a callback fixed * Fix slash command not executed on click (#5540) * Replace the value if not a string else append * Log commands menu events * updated mock data base navigation * updated mock data base navigation * updated the close editors and back buttons * All back btns from editors will go back to data sources and back from data source will go back to canvas * fixed bg colors * minor styled updates * removed margin from header of generic datasource * warnings fixes * If user is already on the location not redirecting em * when editing, will check if the coming from data source and redirect accordingly * updated redirection for newly created api/queries * updated back btn for newly created datasources * back for new curl goes to data sources * Revert "[Fix] revert new nav (#5533)" This reverts commit 1647815d * remaining original reverted chagnes * fixed the width of incoming/outgoing entity bar in property pane * removing residue from resolved merge conflicts * Fix widget icons not visible in dropdown menu * minor fix to use proper integration URL * updated the URLs for unified datasources * converted back and close to btns from banners * on accessing data source from sidebar, it'll always go to view mode * updated the edit path for saas editors * Added saved state for google sheet * on google sheet delete redirecting to create new * minor fix * fixed the redirection call on saving a datasource * removed save and test cmd as it wasn't needed * Removing test cases to be fixed by Arun * commenting more tests to be fixed by Arun * updated call api cy command * Fix extra margin issue * fixed the update datasource saga * fixed video spec * Revert "commenting more tests to be fixed by Arun" This reverts commit 42087a95ad77107401a1619e4c2d4c541a81d6c3. * Revert "Removing test cases to be fixed by Arun" This reverts commit f6fad67e558d22045114a90409428ef9b737478f. * fixed the entity explorer query datasource spec * cautious fix * update widget locators * fixed leave org test * fixes for FormWidgets * updated the image spec * Use memo * Fix debugger url checks * for copy and delete widget pointing directly to svgs * Fix entity text * Fix styling and show tooltip for property pane dependencies * removed the unnecessary callback * added a separate saga to to redirect to new integrations using onSuccess * Bug Fixes - New nav (#5629) * will show scrollbar only on hover * made mock data cards clickable * fixed the grid view * fixed the cursor position when clicking on / btn * updated the hint for `/` command * binding prompt will close on focus change * hiding / command for api body * hiding / command for query pane * Added 2 new icons * Fix cursor position on selecting a binding and clicking on the slash menu button * trying out fix to copyWidget cy command * removing zero width space characters from the property pane text Co-authored-by: arunvjn <arun@appsmith.com> Co-authored-by: Akash N <akash@codemonk.in> Co-authored-by: arunvjn <32433245+arunvjn@users.noreply.github.com> Co-authored-by: Rishabh Saxena <rishabh.robben@gmail.com>
2021-07-07 03:46:16 +00:00
return API.get(DatasourcesApi.url + "/mocks");
}
static async addMockDbToDatasources(
name: string,
workspaceId: string,
pluginId: string,
packageName: string,
): Promise<any> {
return API.post(DatasourcesApi.url + `/mocks`, {
name,
workspaceId,
pluginId,
packageName,
});
[Feature] Unified New Nav (#5558) * temp commit * using onsubmit to continue using action on form * added recaptcha site key to env example file * moved the recaptcha lib loading logic to signup page * removed unnecessary edit * handle the case where the recaptcha token is not provided as env var * added proper env var config for client * recaptcha config for ansible * recaptcha config for heroku * recaptcha config for k8s * updated app.json * fixed the typos * added more description for env vars * removed api key * minor typo fix * added new integration button * updated the add int default link * added active and create new tabs * added the empty components to tabs. will control the section manually. * added proper grid for integrations page * added vertical tabs * Added secondary tabs to integrations page * added separate page for new apis * classname changes * added new components for active queries, new queries etc. * added a separate component for data source list * adding screen component conditionally, to be showing upon user's choice * 1. Added grid styling to datasource home 2. Added connect buttons to em * fixed data source security banner * updated the styling for new api page * added tertiary menu for active integrations * updated styling for active connections * updated collapse component to work properly * added show more option to active data sources * Slash commands feature init commit * Added more commands * Introduced JSX to render custom commands * Merge conflict fix * Spacing changes * removed apis/db tabs and replaced em with integrations tab * removed the unnecessary + integrations btn * Added slash commands button * Adjust styles for better ui * Ordered the action entries under integrations * Added new datasource command * updated the getURL with proper params * updated the link of create datasource btn * updated the back btn link from data source editor * Show connect data cta in property pane * Styling fixes * Fix margin * added scrollable content to create new * added on click scroll to create new page * fixed a bug, creating new datasource twice * added new action creator for integrations. * Minor changes to add new bindings command. Changed ui behaviour of / button * UI style change * updated the query editor to match the over all theme * updated the query editor tabs * Added the run btn to empty response screens * minor fix * updated the bg color of api type drop down * updated the url being visited after delete api/query * removed log * Insert binding command UI change * More UI changes * removed unnecessary junk from integrations editor index * clean up, removed unnecessary files * removed useless routes * for debugger only checking if integrations editor * Removed all the links for api/query home pages * Move command actions to a saga Added support to binding the data back to the widget when are new API is created from widget * Added reverse binding for DB queries * Show / button only on hover * not routing to integrations on create query/api * Hide actions from suggestions in action pages * removed the query/datasource/api home pages * Changes widget.data to widget in slash commands * Show dependencies in property pane * Fix warning * fixed scrolling issue * will show a list of queries and apis for action picker * showing icons for each action under integrations * Fix dropdown not showing up * Minor refactoring. Changed commands * added a way to list data sources in action creators * Update query page url * cam show icons for datasources * Removed unused code * Feature/slash commands (#5002) * Slash commands feature init commit * Added more commands * Introduced JSX to render custom commands * Merge conflict fix * Spacing changes * Added slash commands button * Adjust styles for better ui * Added new datasource command * Minor changes to add new bindings command. Changed ui behaviour of / button * UI style change * Insert binding command UI change * More UI changes * Move command actions to a saga Added support to binding the data back to the widget when are new API is created from widget * Added reverse binding for DB queries * Show / button only on hover * Hide actions from suggestions in action pages * Changes widget.data to widget in slash commands * Minor refactoring. Changed commands * Removed unused code * remove more unusued code * Added support to generate new api from a datasource in quick commands * Code correction to use types * Refactored commands code * Minor bug fixes * Remove new integrations command for actions. Fixed autocomplete not showing up * Changes to prevent autocomplete trigger for navigation commands * Prevent hinter execution when show hint is open already. * Show hinter on focus * Update text to be called in the omnibar * updated the copy for empty active datasources * Update url * Fix text decoration * updated the redirection for back btns * Use themes * Add cypress test * fixed back btn nav * fetching form configs for datasources * a callback fixed * Fix slash command not executed on click (#5540) * Replace the value if not a string else append * Log commands menu events * updated mock data base navigation * updated mock data base navigation * updated the close editors and back buttons * All back btns from editors will go back to data sources and back from data source will go back to canvas * fixed bg colors * minor styled updates * removed margin from header of generic datasource * warnings fixes * If user is already on the location not redirecting em * when editing, will check if the coming from data source and redirect accordingly * updated redirection for newly created api/queries * updated back btn for newly created datasources * back for new curl goes to data sources * Revert "[Fix] revert new nav (#5533)" This reverts commit 1647815d * remaining original reverted chagnes * fixed the width of incoming/outgoing entity bar in property pane * removing residue from resolved merge conflicts * Fix widget icons not visible in dropdown menu * minor fix to use proper integration URL * updated the URLs for unified datasources * converted back and close to btns from banners * on accessing data source from sidebar, it'll always go to view mode * updated the edit path for saas editors * Added saved state for google sheet * on google sheet delete redirecting to create new * minor fix * fixed the redirection call on saving a datasource * removed save and test cmd as it wasn't needed * Removing test cases to be fixed by Arun * commenting more tests to be fixed by Arun * updated call api cy command * Fix extra margin issue * fixed the update datasource saga * fixed video spec * Revert "commenting more tests to be fixed by Arun" This reverts commit 42087a95ad77107401a1619e4c2d4c541a81d6c3. * Revert "Removing test cases to be fixed by Arun" This reverts commit f6fad67e558d22045114a90409428ef9b737478f. * fixed the entity explorer query datasource spec * cautious fix * update widget locators * fixed leave org test * fixes for FormWidgets * updated the image spec * Use memo * Fix debugger url checks * for copy and delete widget pointing directly to svgs * Fix entity text * Fix styling and show tooltip for property pane dependencies * removed the unnecessary callback * added a separate saga to to redirect to new integrations using onSuccess * Bug Fixes - New nav (#5629) * will show scrollbar only on hover * made mock data cards clickable * fixed the grid view * fixed the cursor position when clicking on / btn * updated the hint for `/` command * binding prompt will close on focus change * hiding / command for api body * hiding / command for query pane * Added 2 new icons * Fix cursor position on selecting a binding and clicking on the slash menu button * trying out fix to copyWidget cy command * removing zero width space characters from the property pane text Co-authored-by: arunvjn <arun@appsmith.com> Co-authored-by: Akash N <akash@codemonk.in> Co-authored-by: arunvjn <32433245+arunvjn@users.noreply.github.com> Co-authored-by: Rishabh Saxena <rishabh.robben@gmail.com>
2021-07-07 03:46:16 +00:00
}
[Feature] Generate template page from datasource (#5513) - Add Generate CRUD page feature - Modify the Datasource card UI in the `INTEGRATION.ACTIVE` tab to directly delete and edit. - Add `renderOption` , `errorMsg`, `isLoading` props in Dropdown component. If `renderOption` prop is not defined, it will show default option UI. - Add getDatasourcesStructure [new entity Selector] ( This will provide all fetched structure of datasources) > Commit Messages ⬇️ * Show disabled GenPage Button for unsupported DS * Add Icon in Select Table and Column dropdown * Add Error message when datasource config has error * Fix the continous loading state issue * Add Not supported datasource in select Table * Add ignoreCache when fetching DS struct * Go to generate page if initiator=generate-page * Fix connect new datasource button disabled * Modify error message for invalid datasource struct * Add snowflake to supported plugin for template * Fix Show More option width * Fix incorrect error msg for valid dS config * Generate page UI improvements * Refactor navigation * Fix Datasource Card UX * Remove semi-colon from Icon loader * Refactor contants * Add executeDatasourceQuery & fetchPluginForm API - WIP google sheet form UI and functionality - Implemented fetch all spreadsheet with mock data * disable S3 and google sheet for generate page * Update yarn.lock * Resolve review comments - Add Messages to `constants/messages` - Add default value for `fetchActionsForPage` 2nd param - Add comment - Remove `onFinishCallback` from `handleFetchedPage` * move string literal to constants/messages * Remove hardcoded pluginId implementation * Refactor getGenerateCRUDEnabledPluginMap selector * Fix CreateAppInFirstListedOrg test command * Add getIsGeneratePageInitiator helper func * Fix Entity explorer Edit option test * Fix CreateAppForOrg test command - Add click on build from scratch in generatePage * Fix deleteDatasource command test - Click on Datasource Name to Edit, Datasource Card handles the click * Fix DynamicLayout spec test issue * Fix pageLoadSpec test * Disable google plugin & Refactor - Add useDatasourceOptions hook * Add datasourceCardMenu in DatasourceEditor.json * Fix issues - Add Icon hover clickable control - Auth API click handler * Fix Createpage test command * Add cypress test for generate page flow * Fix cypress test * Add Analytics * Add comments in CloseEditor * Rename initiator to isGeneratePageMode * Disable S3 for generate CRUD page * Fix generate page from existing datasource issue * Enhance test to verify if data is fetched properly * Wait for get Actions before execute actions * Change the cypress route for excute api Co-authored-by: Pranav Kanade <pranav@appsmith.com>
2021-07-29 08:13:10 +00:00
static async executeDatasourceQuery({
[Feature] Generate template page from datasource (#5513) - Add Generate CRUD page feature - Modify the Datasource card UI in the `INTEGRATION.ACTIVE` tab to directly delete and edit. - Add `renderOption` , `errorMsg`, `isLoading` props in Dropdown component. If `renderOption` prop is not defined, it will show default option UI. - Add getDatasourcesStructure [new entity Selector] ( This will provide all fetched structure of datasources) > Commit Messages ⬇️ * Show disabled GenPage Button for unsupported DS * Add Icon in Select Table and Column dropdown * Add Error message when datasource config has error * Fix the continous loading state issue * Add Not supported datasource in select Table * Add ignoreCache when fetching DS struct * Go to generate page if initiator=generate-page * Fix connect new datasource button disabled * Modify error message for invalid datasource struct * Add snowflake to supported plugin for template * Fix Show More option width * Fix incorrect error msg for valid dS config * Generate page UI improvements * Refactor navigation * Fix Datasource Card UX * Remove semi-colon from Icon loader * Refactor contants * Add executeDatasourceQuery & fetchPluginForm API - WIP google sheet form UI and functionality - Implemented fetch all spreadsheet with mock data * disable S3 and google sheet for generate page * Update yarn.lock * Resolve review comments - Add Messages to `constants/messages` - Add default value for `fetchActionsForPage` 2nd param - Add comment - Remove `onFinishCallback` from `handleFetchedPage` * move string literal to constants/messages * Remove hardcoded pluginId implementation * Refactor getGenerateCRUDEnabledPluginMap selector * Fix CreateAppInFirstListedOrg test command * Add getIsGeneratePageInitiator helper func * Fix Entity explorer Edit option test * Fix CreateAppForOrg test command - Add click on build from scratch in generatePage * Fix deleteDatasource command test - Click on Datasource Name to Edit, Datasource Card handles the click * Fix DynamicLayout spec test issue * Fix pageLoadSpec test * Disable google plugin & Refactor - Add useDatasourceOptions hook * Add datasourceCardMenu in DatasourceEditor.json * Fix issues - Add Icon hover clickable control - Auth API click handler * Fix Createpage test command * Add cypress test for generate page flow * Fix cypress test * Add Analytics * Add comments in CloseEditor * Rename initiator to isGeneratePageMode * Disable S3 for generate CRUD page * Fix generate page from existing datasource issue * Enhance test to verify if data is fetched properly * Wait for get Actions before execute actions * Change the cypress route for excute api Co-authored-by: Pranav Kanade <pranav@appsmith.com>
2021-07-29 08:13:10 +00:00
data,
datasourceId,
}: executeDatasourceQueryRequest) {
return API.post(
DatasourcesApi.url + `/${datasourceId}` + `/schema-preview`,
[Feature] Generate template page from datasource (#5513) - Add Generate CRUD page feature - Modify the Datasource card UI in the `INTEGRATION.ACTIVE` tab to directly delete and edit. - Add `renderOption` , `errorMsg`, `isLoading` props in Dropdown component. If `renderOption` prop is not defined, it will show default option UI. - Add getDatasourcesStructure [new entity Selector] ( This will provide all fetched structure of datasources) > Commit Messages ⬇️ * Show disabled GenPage Button for unsupported DS * Add Icon in Select Table and Column dropdown * Add Error message when datasource config has error * Fix the continous loading state issue * Add Not supported datasource in select Table * Add ignoreCache when fetching DS struct * Go to generate page if initiator=generate-page * Fix connect new datasource button disabled * Modify error message for invalid datasource struct * Add snowflake to supported plugin for template * Fix Show More option width * Fix incorrect error msg for valid dS config * Generate page UI improvements * Refactor navigation * Fix Datasource Card UX * Remove semi-colon from Icon loader * Refactor contants * Add executeDatasourceQuery & fetchPluginForm API - WIP google sheet form UI and functionality - Implemented fetch all spreadsheet with mock data * disable S3 and google sheet for generate page * Update yarn.lock * Resolve review comments - Add Messages to `constants/messages` - Add default value for `fetchActionsForPage` 2nd param - Add comment - Remove `onFinishCallback` from `handleFetchedPage` * move string literal to constants/messages * Remove hardcoded pluginId implementation * Refactor getGenerateCRUDEnabledPluginMap selector * Fix CreateAppInFirstListedOrg test command * Add getIsGeneratePageInitiator helper func * Fix Entity explorer Edit option test * Fix CreateAppForOrg test command - Add click on build from scratch in generatePage * Fix deleteDatasource command test - Click on Datasource Name to Edit, Datasource Card handles the click * Fix DynamicLayout spec test issue * Fix pageLoadSpec test * Disable google plugin & Refactor - Add useDatasourceOptions hook * Add datasourceCardMenu in DatasourceEditor.json * Fix issues - Add Icon hover clickable control - Auth API click handler * Fix Createpage test command * Add cypress test for generate page flow * Fix cypress test * Add Analytics * Add comments in CloseEditor * Rename initiator to isGeneratePageMode * Disable S3 for generate CRUD page * Fix generate page from existing datasource issue * Enhance test to verify if data is fetched properly * Wait for get Actions before execute actions * Change the cypress route for excute api Co-authored-by: Pranav Kanade <pranav@appsmith.com>
2021-07-29 08:13:10 +00:00
data,
);
}
feat: Simplified Google Sheets queries (#14869) * Client changes 1 * add DSL functionality * Temp commit for refactoring changes * Do I even know what I'm doing here? * chore: Second GS layout * Update: Visibility conditional outputs for schemas - Added the output from conditional outputs for schema children too * Update: Entity selector visibility control - Added logic for controlling visibility of sub components via the JS expressions system * Update: Passing disabled prop to toggle button * Update: Passing disabled prop to toggle btn * Update: Styled component for toggle button - Added disabled styles based on the disabled prop sent to the toggle form view JSON button * Update: configProperty role in Entity Selector - Removed dependance of the configProperty of the entity selector children to it's parent component * Update: type of placeholder key - Made placeholder key from form config JSON to accept either string or an object - Earlier only string was accepted - This is for pagination component * Update: Added placeholder control for pagination * Client changes 1 * add DSL functionality * Do I even know what I'm doing here? * fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design * fix: updated tooltip component for wrong ui on entity explore * temp triggers * fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design (#12395) * fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design * fix: updated tooltip component for wrong ui on entity explore * fix: updated tooltip ui, where condition placement, sort by ui * temp form data access logic * fix: updated sorting type width ui * fix: updated ui for spacing, width and text issues * Update: Type for tooltip of UQI forms - Added option to send an object to the tooltipText object. - This allows for composite components like pagination to have tooltips for each sub component * Update: tooltip for pagination component - Added handling to parse the tooltip for multiple components. - This allows for composite components like pagination to have tooltips for each sub component * Update: Type cast for tooltip component - Made the content passed to tooltip component as a string only * Update: Fixed tooltip component CSS * Update: Dropdown option component - Added a tooltip wrapper to each option - This is to show on hover text like disabled state * fix: updated ẇhere clause broken ui for condition * Add: functions to check and extract expressions - Loop through the formConfig and find any keys that have a value that is bindable - Used pre defined regex to check if value is a moustache binding * Add: Types for evaluated form configs - Added types for the form configs to be evaluated and their output post eval * Add: Flow to run the form config - Run the form config and update the result to the redux state * Update: Name of the type for formconfigs - Updated since it was clashing with a component of the same name * Add: Function to enforce config type checks - This is done so that the improper configs can be weeded out and the rest of the form can be shown * Add: Function to update evaluated config - Added option to update the config if it's values needed evaluation * Add: Type check for schema sections * Update: Error handling for invalid control type - We were throwing an exception till now, changed it to a warning text * Add: Exposed tooltip for dropdown option disabled state * Update: switch to json mode functionality - Added logic to convert data to a string rather than an object when the first switch to JSON mode happens * Update: Added key to tooltip for dropdown options * Trigger API modification * Add: function to fetch default trigger URL * Update: Made URL optional in dynamic trigger config * Update: Dynamic trigger API call - Made the API call for dynamic triggers have URL as optional field - Added type check to the response of the API call * Update: resp type for trigger APIs * Update: Moved code to utils folder - Moved functions for UQI form eval processing to utils file * Update: passing original controltype to JS switch * Update: config for JSON editor mode - Updated the config to have different options for JSON mode depending on the original control type * Update: Connected line numbers flag to config * Revert: CSS changes for tooltip * Refactor: Removed consle * Add: type for the config of dynamic values * Add: Feature to evaluate config for triggers * Refactor: fix type check errors * fix: dropdown ui width with text alignment * Update: fixed selector for dynamic values * Update: selector call for fetchDynamicValues * Add table header index prop for columns selector * migration partial commit * migration partial commit * Refactor: removed unused import * Update: reused function for checking dynamic value * Update: removed unused import * Fix format JSON issues * Retrieve binding paths from entity selector components * Fixes 6 remaining issues with UQI implementation * Fix dropdown issues * Fix dropdown height issues and fixes triggering of APIs when option is deselected * Migration changes * Fix QA generated UQI issues * Fix projection component height and route change logic * Fix multi select dropdown placeholder text issue and json stringify issue with switching view types * Reset entity type value when command value changes * Test changes * Review comments * Moved migrations around * Corrected import statement * Added JSON schema migration * Updated schema version * perf improvements and filter dropdown options feature * Fix Code mirror component config for toggleComponentToJson input fields. * Fix prettier issues * fix prettier issues * Fix style issues as a result of the merged conflicts * Fix failing test case * Fixed a few other flows (#14225) * Fixed a few other flows * Review comments * Fix generate CRUD, fix evaluation of dynamic bindings and fix various styling issues. * More fixes (#14367) * Factor in the root formconfig parent key. * Fix flickering issues, and evaluatedFormConfig issues * fix: Teeny bugs (#14455) * Teeny bugs * Added previous functionality as is * Improvements in the way we fetch dynamic values * Fix stringiification issue and cyclic dependency issues * Resolve projection component values deletion * Resolve merge conflicts and fix prettier issues * fix: Tsc issues * Fix property pane connection navigation * updating ee locator * updating inputfield locator * dropdown locator update * Merge conflict not properly resolved. * Fix s3 spec * Fix Mongo Spec * Fix some more tests * fix: prevent cyclic dependency when switching to js mode (#14668) * add delete events for change from array to string in diff * add test to assert absence of cyclic dependency error when switching to js in switchgroup widget * Assert that evaluation is not disabled when no cyclic dependency happens * Cypress test preparations for google sheets and form controls * Fixed a few test errors (#14874) * Add: unit tests for uqi UI updates - view type tests - conditional output extraction - processing conditional output to handle view/enabled state of the component * Add: completed isValidFormConfig test * Update: improved tests for update config - These tests cover the functionality to update a section config after it's components are done evaluating * Fix failing cypress tests and cyclic dependency issue * Fixes some more tests * Fixed migration of row objects (#14896) * Bumped the version of design system package * Update: reverted change to EE selector * Fix deletion pointer * Update: selector for js on load spec - Synced with changes related to ADS dropdown * Fix mongoDBShoppingCart spec * Remove comments * Fix: mongo shopping cart test failures * fix: mongo shopping cart spec * Dummy push to retrigger vercel * fix: mongo shopping cart spec * Update MongoDBShoppingCart_spec.js * fix: removed unused click away * dummy commit * Update: moved helper functions to separate file * Add: added tests for saga functions - Worked on testing for - extractFetchDynamicValueFormConfigs - extractQueueOfValuesToBeFetched * Add if check for queueOfValuesToBeFetched * Resolve review comments * Empty-Commit Co-authored-by: Irongade <adeoluayangade@yahoo.com> Co-authored-by: Ayush Pahwa <ayush@appsmith.com> Co-authored-by: Aman Agarwal <aman@appsmith.com> Co-authored-by: Ayangade Adeoluwa <37867493+Irongade@users.noreply.github.com> Co-authored-by: Aishwarya UR <aishwarya@appsmith.com> Co-authored-by: Favour Ohanekwu <fohanekwu@gmail.com> Co-authored-by: Albin <albin@appsmith.com>
2022-07-04 05:43:27 +00:00
static async executeGoogleSheetsDatasourceQuery({
feat: Simplified Google Sheets queries (#14869) * Client changes 1 * add DSL functionality * Temp commit for refactoring changes * Do I even know what I'm doing here? * chore: Second GS layout * Update: Visibility conditional outputs for schemas - Added the output from conditional outputs for schema children too * Update: Entity selector visibility control - Added logic for controlling visibility of sub components via the JS expressions system * Update: Passing disabled prop to toggle button * Update: Passing disabled prop to toggle btn * Update: Styled component for toggle button - Added disabled styles based on the disabled prop sent to the toggle form view JSON button * Update: configProperty role in Entity Selector - Removed dependance of the configProperty of the entity selector children to it's parent component * Update: type of placeholder key - Made placeholder key from form config JSON to accept either string or an object - Earlier only string was accepted - This is for pagination component * Update: Added placeholder control for pagination * Client changes 1 * add DSL functionality * Do I even know what I'm doing here? * fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design * fix: updated tooltip component for wrong ui on entity explore * temp triggers * fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design (#12395) * fix: updated uqi forms ui, clubbed JS switch button to ads, updated tooltip design * fix: updated tooltip component for wrong ui on entity explore * fix: updated tooltip ui, where condition placement, sort by ui * temp form data access logic * fix: updated sorting type width ui * fix: updated ui for spacing, width and text issues * Update: Type for tooltip of UQI forms - Added option to send an object to the tooltipText object. - This allows for composite components like pagination to have tooltips for each sub component * Update: tooltip for pagination component - Added handling to parse the tooltip for multiple components. - This allows for composite components like pagination to have tooltips for each sub component * Update: Type cast for tooltip component - Made the content passed to tooltip component as a string only * Update: Fixed tooltip component CSS * Update: Dropdown option component - Added a tooltip wrapper to each option - This is to show on hover text like disabled state * fix: updated ẇhere clause broken ui for condition * Add: functions to check and extract expressions - Loop through the formConfig and find any keys that have a value that is bindable - Used pre defined regex to check if value is a moustache binding * Add: Types for evaluated form configs - Added types for the form configs to be evaluated and their output post eval * Add: Flow to run the form config - Run the form config and update the result to the redux state * Update: Name of the type for formconfigs - Updated since it was clashing with a component of the same name * Add: Function to enforce config type checks - This is done so that the improper configs can be weeded out and the rest of the form can be shown * Add: Function to update evaluated config - Added option to update the config if it's values needed evaluation * Add: Type check for schema sections * Update: Error handling for invalid control type - We were throwing an exception till now, changed it to a warning text * Add: Exposed tooltip for dropdown option disabled state * Update: switch to json mode functionality - Added logic to convert data to a string rather than an object when the first switch to JSON mode happens * Update: Added key to tooltip for dropdown options * Trigger API modification * Add: function to fetch default trigger URL * Update: Made URL optional in dynamic trigger config * Update: Dynamic trigger API call - Made the API call for dynamic triggers have URL as optional field - Added type check to the response of the API call * Update: resp type for trigger APIs * Update: Moved code to utils folder - Moved functions for UQI form eval processing to utils file * Update: passing original controltype to JS switch * Update: config for JSON editor mode - Updated the config to have different options for JSON mode depending on the original control type * Update: Connected line numbers flag to config * Revert: CSS changes for tooltip * Refactor: Removed consle * Add: type for the config of dynamic values * Add: Feature to evaluate config for triggers * Refactor: fix type check errors * fix: dropdown ui width with text alignment * Update: fixed selector for dynamic values * Update: selector call for fetchDynamicValues * Add table header index prop for columns selector * migration partial commit * migration partial commit * Refactor: removed unused import * Update: reused function for checking dynamic value * Update: removed unused import * Fix format JSON issues * Retrieve binding paths from entity selector components * Fixes 6 remaining issues with UQI implementation * Fix dropdown issues * Fix dropdown height issues and fixes triggering of APIs when option is deselected * Migration changes * Fix QA generated UQI issues * Fix projection component height and route change logic * Fix multi select dropdown placeholder text issue and json stringify issue with switching view types * Reset entity type value when command value changes * Test changes * Review comments * Moved migrations around * Corrected import statement * Added JSON schema migration * Updated schema version * perf improvements and filter dropdown options feature * Fix Code mirror component config for toggleComponentToJson input fields. * Fix prettier issues * fix prettier issues * Fix style issues as a result of the merged conflicts * Fix failing test case * Fixed a few other flows (#14225) * Fixed a few other flows * Review comments * Fix generate CRUD, fix evaluation of dynamic bindings and fix various styling issues. * More fixes (#14367) * Factor in the root formconfig parent key. * Fix flickering issues, and evaluatedFormConfig issues * fix: Teeny bugs (#14455) * Teeny bugs * Added previous functionality as is * Improvements in the way we fetch dynamic values * Fix stringiification issue and cyclic dependency issues * Resolve projection component values deletion * Resolve merge conflicts and fix prettier issues * fix: Tsc issues * Fix property pane connection navigation * updating ee locator * updating inputfield locator * dropdown locator update * Merge conflict not properly resolved. * Fix s3 spec * Fix Mongo Spec * Fix some more tests * fix: prevent cyclic dependency when switching to js mode (#14668) * add delete events for change from array to string in diff * add test to assert absence of cyclic dependency error when switching to js in switchgroup widget * Assert that evaluation is not disabled when no cyclic dependency happens * Cypress test preparations for google sheets and form controls * Fixed a few test errors (#14874) * Add: unit tests for uqi UI updates - view type tests - conditional output extraction - processing conditional output to handle view/enabled state of the component * Add: completed isValidFormConfig test * Update: improved tests for update config - These tests cover the functionality to update a section config after it's components are done evaluating * Fix failing cypress tests and cyclic dependency issue * Fixes some more tests * Fixed migration of row objects (#14896) * Bumped the version of design system package * Update: reverted change to EE selector * Fix deletion pointer * Update: selector for js on load spec - Synced with changes related to ADS dropdown * Fix mongoDBShoppingCart spec * Remove comments * Fix: mongo shopping cart test failures * fix: mongo shopping cart spec * Dummy push to retrigger vercel * fix: mongo shopping cart spec * Update MongoDBShoppingCart_spec.js * fix: removed unused click away * dummy commit * Update: moved helper functions to separate file * Add: added tests for saga functions - Worked on testing for - extractFetchDynamicValueFormConfigs - extractQueueOfValuesToBeFetched * Add if check for queueOfValuesToBeFetched * Resolve review comments * Empty-Commit Co-authored-by: Irongade <adeoluayangade@yahoo.com> Co-authored-by: Ayush Pahwa <ayush@appsmith.com> Co-authored-by: Aman Agarwal <aman@appsmith.com> Co-authored-by: Ayangade Adeoluwa <37867493+Irongade@users.noreply.github.com> Co-authored-by: Aishwarya UR <aishwarya@appsmith.com> Co-authored-by: Favour Ohanekwu <fohanekwu@gmail.com> Co-authored-by: Albin <albin@appsmith.com>
2022-07-04 05:43:27 +00:00
data,
datasourceId,
}: executeDatasourceQueryRequest) {
return API.post(DatasourcesApi.url + `/${datasourceId}` + `/trigger`, data);
}
2019-11-07 09:32:38 +00:00
}
export default DatasourcesApi;