PromucFlow_constructor/app/server
sneha122 c8cd459f39
feat: Added file id mapping in datasource config (#21699)
## Description

This PR adds:
- File Id mapping of the google sheets selected by user, in datasource
configuration, so that when creating queries on top of such gsheet
datasource, only the selected spreadsheets can be seen in the
spreadsheet dropdown.

Changes done on client side:
- As soon as user selects file in file picker popup, the callback will
get the file ids and update the datasource to contain file ids as a part
of datasource configuration properties.
- If user cancels the file selection, file ids is sent as empty array
and datasource is updated.

Changes done on server side:
- In `GoogleSheetPlugin.java` where we have defined execute and trigger
methods for gsheet query, here I have added a new variable
allowedFileIds, which gets the list of authorised file ids from
datasource configuration object and the same list is passed to functions
like `transformTriggerResponse` and `transformExecutionResponse`, which
returns file list data based on the allowedFileIds. In FileListMethod
class, these methods contain the logic to send only authorised file
data.
- Since these two methods are a part of triggerMethod and
executionMethod interfaces, all gsheet query operation classes that
extend this method, their function definition needed to be updated with
this third allowedFileIds parameter.
- Similarly all gsheet query operations test classes were using these
two methods, and hence this third parameter needed to be added there as
well.

How to test:
- With this improvement, when we select `file1` and `file2` for one
datasource and `file3` and `file4` for another datasource, In the query
dropdown for first ds, we should only see `file1` and `file2`, for
second datasource, we should only see `file3` and `file4`.
- Please check following gsheet operations:
    - Fetch Many
    - Fetch Details
    - Update One
    - Update Many
    - Insert Many

> Add a TL;DR when description is extra long (helps content team)

Fixes #21074


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.

- New feature (non-breaking change which adds functionality)


## How Has This Been Tested?

- Manual
- JUnit

### 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
- [x] 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
- [x] 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
- [x] 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: “sneha122” <“sneha@appsmith.com”>
2023-04-04 13:43:49 +05:30
..
.run chore: Upgrade to Spring Boot 3.0.1 (#19044) 2023-01-02 19:40:59 +07:00
appsmith-git fix: Git connected apps are showing a status error (#22046) 2023-04-04 06:09:43 +05:30
appsmith-interfaces chore: Add default view for JsonView (#21766) 2023-04-03 15:37:14 +06:00
appsmith-plugins feat: Added file id mapping in datasource config (#21699) 2023-04-04 13:43:49 +05:30
appsmith-server fix: send additional data to analytics for cloud hosted instance (#21855) 2023-04-03 19:57:33 +05:30
envs feat: Support mongodb transactions for import application flow (#14939) 2023-02-09 14:50:04 +05:30
mongo-seed
reactive-caching fix for caching library autoconfiguration (#19849) 2023-01-17 22:18:42 +05:30
scripts feat: migrate from org to workspace under phase 3 (#14158) 2022-07-20 17:24:16 +05:30
.gitignore Improve server setup experience documentation (#4441) 2021-05-19 19:29:08 +05:30
build.sh chore: Check Java version in build script (#19531) 2023-01-06 22:20:58 +05:30
buildpack-run.sh
docker-compose.yml feat: Git version control functionality with connect to remote, commit, push flows (#8403) 2021-10-20 09:47:34 +00:00
Dockerfile chore: Upgrade to Spring Boot 3.0.1 (#19044) 2023-01-02 19:40:59 +07:00
entrypoint.sh fix: Added JVM arg to opens java.time module to project (#20326) 2023-02-02 17:19:53 +05:30
pom.xml chore: Upgrade to Spring Boot 3.0.1 (#19044) 2023-01-02 19:40:59 +07:00
Procfile
README.md ci: Modularizing the Github actions workflow for maintainability (#16505) 2022-09-09 01:08:55 +05:30
system.properties chore: Upgrade to Spring Boot 3.0.1 (#19044) 2023-01-02 19:40:59 +07:00

Appsmith Server

This is the server-side repository for the Appsmith framework.

For details on setting up your development machine, please refer to this Setup Guide.