Commit Graph

294 Commits

Author SHA1 Message Date
Abhijeet
6ec6f9578c
API for generating a page with UI based on the structure of a given database table (#5269)
* Keymapping, Clone actions from template application, Used exported application JSON file as template app

* Delete references of widgets from action config if extra widgets not required

* Separate API added when pageId is not present with the client

* Added TCs

* Update in regex, enable reqArgsConstructor, separate DTO for CRUD page
2021-06-24 14:58:57 +05:30
Nayan
9a247f3e78
Fix bug where some fields are missing for notifications from the API (#5336)
* -set createdAt and type fields in notification
-add threadId in response for comment

* -fixed bug with unread notification count
2021-06-24 14:35:30 +06:00
Nayan
e52680fb1f
Feature/implement comment thread subscriber (#5261)
* -send email to users who are subscribed to a thread only

* -fixed null pointer exception while set subscriber in create thread

* -updated as per PR comments and review
2021-06-23 17:24:57 +06:00
Abhijeet
7fc04f043f
Error message when updating duplicate application name modified to give more contextual information (#5341) 2021-06-23 13:08:12 +05:30
Anagh Hegde
32ecffbf8f Merge remote-tracking branch 'origin/feature/page-order-api' into feature/page-order-api 2021-06-18 22:40:43 +05:30
Anagh Hegde
9ad742e97e Change the test method name to more meaningful,.equals for boolean comparision, fix indentation 2021-06-18 22:40:16 +05:30
Anagh Hegde
82a1289f45
Merge branch 'release' into feature/page-order-api 2021-06-18 15:15:48 +05:30
Anagh Hegde
e02e572df7 Change the logic to have check for the order of all the pages 2021-06-18 14:53:33 +05:30
Anagh Hegde
bd3369dd03 Remove * import statements 2021-06-18 10:25:36 +05:30
Nayan
a1a4f0ef3f
Fature/add pagination in notifications (#5096)
* -added pagination to notifications API

* -add unit tests for notification pagination

* -added unread count in get notifications API

* -moved notification creations to notification service from comment service

* -add repository method to mark a notification as read

* -added repository to update isRead by for username

* -add API to mark notification as read

* -addd application id and application name in notification

* -save application id and name in notification when creating notification for comment and comment threads

* -added page id, from user information in notifications

* -fixed failing unit test due to dependency error

* -removed unused imports

* -extended base controller in notification controller

* - introduced pagination based on before created data instead of offset based pagination

* -moved application id, name and page id inside comment from notification

* -moved author information from notification to comment thread

* -return data from notification service instead of the response object in the mark read or unread API
2021-06-16 23:24:03 +06:00
Anagh Hegde
e119bd716c Ignore the order of the page while checking the published and edited pages test 2021-06-16 21:12:18 +05:30
Anagh Hegde
8296f416cc Merge remote-tracking branch 'origin/feature/page-order-api' into feature/page-order-api 2021-06-16 14:29:37 +05:30
Anagh Hegde
2ccc1ef1f2 Change the test scenario 2021-06-16 14:29:03 +05:30
Anagh Hegde
e748623e57
Merge branch 'release' into feature/page-order-api 2021-06-16 13:56:52 +05:30
Anagh Hegde
5a8ac3fd33 1. Fix failing unit tests for the page reorder 2021-06-16 11:21:19 +05:30
Anagh Hegde
3e1702b4f9 1. Add migration logic
2. Add order while creating pages
2021-06-16 09:12:53 +05:30
Abhijeet
7c430303aa
Allow only organization admins to export application (#5085)
* Added permission export:applications for admin role

* Only admins are allowed to export applications

Co-authored-by: Pranav Kanade <pranav@appsmith.com>
2021-06-15 18:18:21 +05:30
Anagh Hegde
9932f918f9 Use assertThat type of assertions and move the order initialization logic to migration 2021-06-15 10:03:39 +05:30
Anagh Hegde
1ca7a0cb20 Add test for page reorder and add order to the response 2021-06-14 15:34:07 +05:30
Shrikant Sharat Kandula
8db64e6355
Merge pull request #4980 from appsmithorg/feature/send-email-on-comment
Feature/send email on comment
2021-06-10 15:20:34 +05:30
Abhijeet
0246563bd2
Bugfix for applications with MongoDB datasources authenticated with SRV string (#4944)
* Avoid updating authenticationDTO for mongo-plugin with SRV if the authentication object is already present
2021-06-10 10:52:23 +05:30
Nayan
b3bde4eb95 -organized imports 2021-06-08 15:52:25 +06:00
Nayan
ba4ea3a61b -fixed issue in unit test 2021-06-08 15:34:10 +06:00
Nayan
280155ac89 -added test for the email event handler 2021-06-08 14:43:21 +06:00
Nayan
5550c9310f -moved email sender to background task 2021-06-08 14:43:20 +06:00
Nayan
f9493a4bd2 -add unit test for utils 2021-06-08 14:43:19 +06:00
Nayan
db7363fac6 -Issue #4706 - send email when new comment added or comment thread resolved 2021-06-08 14:43:18 +06:00
Nayan
77940c0cfa
[Issue #3785][Bug] User names in organization management page are stale (#4702)
* [Issue #3785][Bug] User names in organization management page are stale

* -update name in userroles in background when there is a change in user
2021-06-02 15:56:52 +06:00
Nayan
78915301e3
[Issue #4572]-Allow users to leave an organization (#4634)
* [Issue #4572]-Added API to leave organisation by any user

[Issue #4572]-Add option for organization admins to leave an organization

* -add option to leave organization in frontend for non-admin users

* -updated the leave org endpoint path and HTTP method as per PR review

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/services/UserOrganizationServiceImpl.java

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* Update app/server/appsmith-server/src/main/java/com/appsmith/server/services/UserOrganizationServiceImpl.java

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

* -add cypress test and some minor changes as per PR comment

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2021-06-02 15:56:22 +06:00
Abhijeet
51addbc963
Feature/import-export-application (#4553)
* Decryption for dbauth, basic and OAuth datasources added in exported file

* All authentications for datasources included while exporting as deserialization is done through json file otherwise cast is throwing error

* Content-Disposition header implemented 

* MongoEscapedWidget names segregated for published and unpublished layout, to prevent overwrite while exporting

* Published pages and actions explicitly handled in cases where unpublished resources are deleted
2021-06-01 17:38:26 +05:30
Nidhi
5ddd58cdfd
Added optional audience and resource fields for oauth2 datasources (#4678)
* Added optional audience and resource fields for oauth2

* Review changes

* Don't show audience and resource fields by default
2021-05-27 21:53:59 +05:30
Nayan
caf7f3678c
[Issue #2689][Bug] Duplicate Accounts with Same Email - Field is Case… (#4529)
* [Issue #2689][Bug] Duplicate Accounts with Same Email - Field is Case Sensitive

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>

Co-authored-by: Nayan <83352306+nayan-appsmith@users.noreply.github.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2021-05-26 15:25:48 +06:00
Nidhi
2bf1fbff04
Removed check for encryption since this is not handled manually anymore (#4673)
* Removed check for encryption since this is not handled manually anymore

* Removed migration for isEncrypted
2021-05-25 20:29:57 +05:30
Sumit Kumar
c156560313
[Bug] fix NPE (#4613)
* fix NPE
* add ip check for localhost
2021-05-21 13:47:51 +05:30
Arpit Mohan
b1d7258dcb
Adding support for multipart form data (#4547)
* Handling multipart form data in the CURL import flow

* Adding Cypress test for curl import with multipart/form-data

* Also fixing minor bug where the form values need not always be double-quoted
2021-05-19 10:48:51 +05:30
Shrikant Sharat Kandula
b1c523eef4 Fix flaky UserData test 2021-05-18 17:48:40 +05:30
Nayan
51dd6587cf
[Issue #2093]-show last used organizations first in home page (#4461)
* [Issue #2093]-show last used organizations first in home page

* -updated as per the comments in PR
2021-05-16 09:42:10 +06:00
Shrikant Sharat Kandula
27af947852
APIs for adding and removing reactions on comments (#4457)
* Add APIs for reacting and unreacting on comments

* Add tests for Reactions APIs

* Fix s/create/delete typo

Co-authored-by: Nidhi <nidhi@appsmith.com>

* Deletion is successful if more than one are deleted

Co-authored-by: Nidhi <nidhi@appsmith.com>
2021-05-13 12:52:43 +05:30
Trisha Anand
aa51040c99
Small housekeeping server side changes (#4245)
* Minor refactor datasource policy generation for easy re-use.

* Added simple widget name refactor test
2021-05-06 16:27:08 +05:30
Nidhi
6c0668e74d Tests for encryption 2021-05-06 13:36:37 +05:30
Nidhi
b2aaa7787c Merge branch 'release' of github.com:appsmithorg/appsmith into task/apply-encryption 2021-05-06 12:55:25 +05:30
Sumit Kumar
52bfd25824
Feature: return request parameters with type for debug tab (#4078)
- return request parameters with type for debug tab.
- request params are stored in a RequestParamDTO object.
- a configProperty -> label map is cached in pluginService, which returns the param label as per the configProperty it is mapped to via editor.json file.
- This feature currently only works with prepared statements disabled.
2021-04-30 16:26:51 +05:30
Rishabh Saxena
a0d2e8533d
Initialise comments (#3328)
* Initial scaffolding for comments CRUD APIs

* add actions

* add assets

* state management for existing comments and creating new

* add ui components

* add overlay comments wrapper to baseWidget

* add toggle comment mode button at editor header

* trigger tests

* Disallow commenting as someone else

* Add applicationId for comments

* lint

* Add overlay blacklist to prevent component interaction while adding comments

* Comment thread style updates

* Placeholder comment context menu

* Controlled comment thread visibility for making new comments visible by default

* Update comment type description

* Reset input on save

* Resolve comment thread button ui

* fix close on esc key, dont create new comment on outside click

* Submit on enter

* add emoji picker

* Attempt at adding a websocket server in Java

* CRUD APIs for comment threads

* Add API for getting all threads in application

* Move types to a separate file

* Initial commit for real time server (RTS)

* Add script to start RTS

* Fix position property

* Use create comment thread API

* Use add comment to thread API

* Add custom cursor

* Dispatch logout init on 401 errors

* Allow CORS for real time connection

* Add more logs to RTS

* Fix construction of MongoClient

* WIP: Real time comments

* Enable comments

* Minor updates

* Read backend API base URL from environment

* Escape to reset comments mode

* Set popover position as auto and boundary as scroll parent

* Disable warning

* Added permissions for comment threads

* Add resolved API for comment threads

* Migration to set commenting permission on existing apps

* Fix updates bringing the RTS down

* Show view latest button, scroll to bottom on creating a new comment

* Cleanup comment reducer

* Move to typescript for RTS

* Add missing server.ts and tsconfig files

* Resolve / unresolve comment

* Scaffold app comments

* Minor fixes: comment on top of all widgets, add toggle button at viewer header

* Reconnect socket on creating a new app, set connected status in store

* Retry socket connection flow

* Integration tests for comments with api mocks using msw

* Fix circular depependency

* rm file

* Minor cleanup and comments

* Minor refactors: move isScrolledToBottom to common hooks, decouple prevent interactions overlay from comments wrapper

* Use policies when pushing updates in RTS

* ENV var to set if comments are enabled

* Fix: check if editor/viewer is initialised before waiting for init action

* Add tests for comments reducer

* Revert "ENV var to set if comments are enabled"

This reverts commit 988efeaa69d378d943a387e1e73510334958adc5.

* Enable comments for users with appsmith email

* lint

* fix

* Try running a socket.io server inside backend

* Update comment reducer tests

* Init mentions within comments

* Fix comment thread updates with email rooms

* Minor fixes

* Refactors / review suggestions

* lint

* increase cache limit for builds

* Comment out tests for feature that's under development

* Add Dockerfile for RTS

* Fix policies missing for first comment in threads

* Use draftJS for comments input with mentions support

* fix fixtures

* Use thread's policies when querying for threads

* Update socket.io to v4

* Add support for richer body with mentions

* Update comment body type to RawDraftContentState

* fix stale method

* Fix mentions search

* Minor cleanups

* Comment context menu and thread UI updates

* revert: Scaffold app comments

* Yarn dependencies

* Delete comment using id api added

* Init app comments

* Add test for creating thread

* Api for delete comment with id

* Test comment creation response and policies

* Copy comment links

* Fix reset editor state

* Delete valid comment testcase added

* Delete comment TC : code refactor

* Don't allow creating comments with an empty body

* Pin comments WIP[]

* Ignore dependency-reduced-pom.xml files from VCS

* Cleanup of some dev-only files, for review

* Delete comment

* Update socket.io to v4 in RTS

* Pin and resolve comment thread object added in commentThread

* Pin and resolve comment thread object added in commentThread

* Update comment thread API

* Added creationTime and updationTime in comment thread response

* Added creationTime and updationTime in comment thread response

* Added human readable id to comment threads, fallback to username for null name in user document

* Refactor

* lint

* fix test, rm duplicate selector

* comment out saga used for dev

* CommentThread viewed status, username fallback for getName=null, username field added in pin & resolve status

* lint

* trigger tests

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
2021-04-29 16:03:51 +05:30
Trisha Anand
73c2b09dc4
[Bug Fix] : In case the table being renamed has mongo escaped fields, rename the table name in set keeping a track of these widgets as well (#4195) 2021-04-28 17:36:30 +05:30
Nidhi
8afac888c7 Merge branch 'release' of github.com:appsmithorg/appsmith into task/apply-encryption 2021-04-26 13:30:49 +05:30
Abhijeet
c11dab9673 Auto-generated-organization field added in organization DB to differentiate between user created and auto generated organization 2021-04-23 19:29:20 +05:30
Abhijeet
bb0516a495
Default counter for new datasource in organization should initiate at 1 (#4005)
* OrgId is added as a suffix to link datasource entry with orgId when creating document in sequenceDB.

* Each document entry in sequenceDB is linked to organization ID which is then used by the datasourceDB to generate default name. Testcase for testing default names to new datasources (#2212)

* Migration ChangeSet added to setup sequenceDB with organization ID in name field

* Optimization in string operation
2021-04-22 12:46:43 +05:30
Nidhi
6b31aa333b
Introducing Google Sheets Plugin (#3517)
* cherry pick -make new

* revert to enable fix from release

* attempt to hook into existing datasource editor

* gSheets plugin skeleton from Rest API

* Changes for database migration

* fix for auth code

* separate it out

* action page loads!

* add to explorer

* create action from datasource

* Editor JSON WIP

* working query form

* Editor JSON WIP

* import to

* fix toast message

* redirect from datasource and editor pages

* fix onboarding

* fix imports and constants

* refactor form out

* refactor queryForm

* Merge branch 'release' into feature/google-sheets

* Merge branch 'release' into feature/google-sheets

* initial values from settings, editor and form

* Check

* remove dangling code around lightTheme

* Safety net

* remove class

* try mouseover solve

* force click

* changes from review

* fix action form name on import

* Merge branch 'release' into feature/google-sheets

* minor cleanup

* Merge branch 'release' into feature/google-sheets

* WIP

* Google sheets changes

* Merge conflicts

* Merging and fixes, needs refactoring

* Check

* Merge branch 'release' into feature/google-sheets

* Fixed tests

* Add cloud services env variable

* Clean up saga

* Clean up

* Refactoring

* Deleted svg file

* Minor fixes

* Modified design to allow behaviour in google sheets methods (#3486)

* Modified design to allow behaviour in google sheets methods

* Review changes

* Removed sysout

* Added handling of edge cases with table data

* Merge branch 'release' into feature/google-sheets

* Fixes

* Fixes

* Added validations

* Improved tests

* Removed extraneous injected bean

* Review changes

* Fixed bug with method

* Changes to Google sheets plugin's request and response structures (#3692)

* Method changes

* Removed logging

* Renaming options

* Reverting pom version

* Modified type of collection variables, fixed errors

* Converted row offset field to one that supports dynamic bindings

* Review changes

* List SAAS plugin type actions under lightning menu apis (#3820)

* list saas plugin type actions under lightning menu apis

* combine saas plugin type actions in the other sub menu of lightning menu

Co-authored-by: Hetu Nandu <hetunandu@gmail.com>

* Fix merge issues

* Prettified query editor and a few fixes w/ ux

* Test fixes

* Reformatting request

* code for REST added (#3876)


Co-authored-by: hetunandu <hetu@appsmith.com>

* Renamed body to row object

* Renamed placeholder for range

* Renamed range heading

* Modifications to handle range semantics

* Use spreadsheet Url instead of id

* Ordering of methods

* Removed logging

* Add tests for Dynamic text controls

* Add tests for url helpers

* Fix coverage config

* Nevermind

* Interface changes

* There is no body here

* Yay to hints

* Delete row field is separately handled as row index

* placeholder support (#4001)

* Fixed tests, typos and creating new sheets with random rows

* Switched to using 'rowIndex' throughout

* binding path added for query input field (#4016)

* - Fixed QA bugs (#4032)

- Split delete sheet into two
- Removed dynamic query input types from hidden keys

* Proper exceptions

* Removed extra logging

* Throw exception if update method does not match any of the columns

* Same for bulk update

* Zero-indexed delete row

* I'm a space bound rocket ship

* Logic to register installations with cs (#4062)

* Logic to register installations with cs

* Clean up

* Casting to string

* Checking to see if this makes the test pass

* Added an extra null check

Co-authored-by: Piyush <piyush@codeitout.com>
Co-authored-by: hetunandu <hetu@appsmith.com>
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Apeksha Bhosale <7846888+ApekshaBhosale@users.noreply.github.com>
2021-04-22 09:00:09 +05:30
Trisha Anand
eaa24ca894
[Bug Fix] : Fetch actions by id during refactor action name to solve IncorrectResultSizeDataAccessException for pages where duplicate action names exist (#4030)
* New dto for refactoring action name which includes actionId as well

* Refactor action name now also takes actionId as payload and fetches the action from db by id instead of name to solve for the scenario where the action names could be duplicated.

* Adding actionId to QP of action refactor API.

* WIP : test for asserting the bug fix

* WIP test

* Fixed the test case asserting refactoring works for an action when there are duplicate action names in the page.

Co-authored-by: Ashok Kumar M <35134347+marks0351@users.noreply.github.com>
2021-04-19 12:35:10 +05:30
Trisha Anand
4f8cf79041
[Bug fix] : Disallowing action creation with existing names from the page (#4015) 2021-04-16 16:13:03 +05:30