* feat: initial commit for collaboration feature
* add dnd to comments
* add positions endpoint
* feat: encapsulate all http common logic in http-client
* segregate sections and transfer responsibility of state
* feat: use-spring to add fade effect ⚡
* fix: open in right
* fix: left-right position css
* add footer for message
* integrate getcomment endpoint
* use fromnow for date ago
* add dnd
* - Add data trasfer object for comment
- Add class-validator package to check the response type from client
- Add comment repository class for persistance layer
- Add comment service with std. http methods
- Update controller with all http methods
- Update comment module
- Fix http-client bug when error is thrown
* fix http client bug when error is thrown
* feat: add entity thread
* feat: add migrations for thread and comment
* update entitites
* add tid to migration
* filter comments by tid(thread_id)
* fix: comment migration, add missing column comment
* feat: integrate in ui
* feat: split comments based on app_id
* fix: dnd to correct position
* package json engines
* engines update
* update npm
* npm 6 to 7
* fix: add user initials to thread
* fix: add firtname lastname to the comments
* - Return user object when save thread called
- Hide password field from user response
- Fix created_at date typo
- Instead of fetch all threads on new thread added, add the response to array of existing threads
* feat: update ui components
* change icon on comments view
* ui fixes
* fix: close icon close the popover
* temp: comment select: false
* use currentUser from localStorage
* fix: on click outside if comment is open, dont hit addThread
* fix: auth token issue in http-client
* on drag hide the comment if open
* add jwt auth
* spec: add test for comment & thread
* cleanup: remove console.log
* feat: add comment actions
* feat: add edit, delete, resolve options
* feat: add mentions component
* feat: add nestjs websockets
* temp
* websocket: establish client-server communication
* ws: add message listner to comments module in ui
* feat: add broadcast method to broadcast new events to all clients 💣
* ws: cleanup 🤙
* fix: remove max height from comment actions
* feat: add user mentions, emoji support
* fix: add static list of users - temp
* update and delete iterations
* - Rename comment, thread to comments, threads
- Add conditional actions
- Show edit, delete only if he is comment owner
- Show resolve only if he is thread owner
* reset engines
* move svgr webpack to deps
* fix: ui issues
* remove log stmt
* refactor: move resolved icon to comment-header
* feat: allow comments to be added on top of widgets
* feat: add keyboard shortcut
* scroll to bottom on comment add
* ui fixes
* feat: add react toast for notification display
* feat: add comment badge
* fix: ws connection
* fix: ws
* remove rvrse
* feat: add comment sidebar
* feat: add comment right sidebar
* fix: add missing foreign key elements
* - upgrade typeorm to 0.2.38
- comment sidebar ui
- added filter ui
* feat: on click of right sidebar notificaiton open the comment box
* reset engines
* fix: add organization id to the comment and thread module
* fix: add current version id
* add currentversion id
* disable comments if no id present
* temp:checking for heroku deploy
* fetch app on edit and deploy version
* rename current_version_id to app_versions_id
* ui fixes
* show mentioned user in blue color
* add ui changes
* add authorization for create thread
* change color to blue on click of comment, add auth for other endpoints of thread
* update threads, notifications using socket
* add auth for comments
* remove events spec file
* fix duplicate key error
* fix notificaitons updation on edit, delete, resolve buttons clicked
* update notifications for edit
* feature toggle changes for frontend
* add check for comments server
* add emoji mart package for emoji
* add reply count in comment sidebar
* subtract 1 from count in comment sidebar
* change empty text when no comments available
* add column app_create to group_permissions table
* add app create column to group permission entity
* backfill app_create permission as true for admin group
* add app delete permissions to group permissions
* update group permissions entity for app delete
* add ability to set group level permission for app creation
* refactor and fix app clone and imports
* fix created by user on homepage
* fix spinner on import
* update seeds service to set group level permission
* fix rollback query
* fix imported/cloned app timestamps
* honor logged in user permissions at UI
* remove console log
* fix data query id being replaced on import
* replace data query id within app versions on import
* Add custom spacing for table cells
* Add migration to set every tables cell spacing compact
* Rename cellSpacing to cellSize
* Add documentation for table cellSize
* add ability to import and export apps
* copy credentials on imports if it already exists
* authorize exports for public apps with only authenticated users
* remove app auth guard for export
* make import as a separate button
* update import button styling
* handle prexisting slug while import
* set file input as null when file has been read
* add fix for slug updation on import
* create migrations for group permissions setup
* define new entities and relationships
* revise migrations
* rename columns
* add migration to populate permission groups for existing users
* Feature: User access permission group usage (#883)
* create migrations for group permissions setup
* define new entities and relationships
* revise migrations
* rename columns
* add migration to populate permission groups for existing users
* revise migrations
* hide roles usage
* setup group permissions for apps and users
* fix defaultChecked
* fix update permission checkbox
* fix casl ability check to have params passed
* fix casl apps abilities to check with app specific permission
* add ability to delete groups
* conditionally render edit and delete options for all and admin users
* fix user role to group migration
* revise group management pages to disallow updating default group
* move manage users and groups to navbar dropdown
* show only addable apps and users on dropdowns
* rename header as profile settings
* scope addable apps and users by organization
* scope viewable apps on homepage
* hide manage groups link from non admins
* make permissions to be used with radio input
* add loading state for add apps/users buttons
* revise unit tests
* revise migrations
* fix e2e tests
* comment out dead code
* fix seeds script
* handle folder count
* captalize error toast
* hide manage users dropdown for non admins
* show fobidden error on blank homepage
* fix folder app count
* fix invalid state set
* make group name clickable for edit instead
* users with edit permission can deploy apps
* not show edit link on homepage if user dont have update permission
* remove unused entity from merge
* remove roles usage from manage org users page
* fix folder count and blank slate on homepage
* disable add buttons if there is no selections
* humanize default groups on view
* make app added onto groups have read permission by default
* not show app menu if user is not admin
* remove admin users from group user addition dropdown
* create default permissions for app cloned
* fix querying index page without page params
* fix admin scoped out from group add
* remove apps from header
* fix invitation url not shown
* scope admin deletion check by org
* scope public apps by organization
* add specs for group permissions e2e
* removed unused entity and add group permissions spec
* remove console logs
* remove unused permission
* scope public app count by org
* remove console log
* refactor manage group permission resources component
* update group permssion in org scope
* Add functionality to highlight selected row
* Add migration to set highlightSelectRow to false for existing tables
* Add documentation for highlighting selected row
* Support highlighting selected row for striped table
* Functional implementation of checkbox selector for table
* Add inspector toggle to display bulk selector checkboxes
* Expose selectedRows variable of Table
* Refactor select-all checkbox into a separate function
* Remove unnecessary import of v4 package
* Add TODO comment for adding checkbox color
* Revert typo that accidentally got committed
* Add explanatory comment in selectedRows data generation code
* Combine original row data and displayed row data for selectedRows
* Show only original data in selectedRows
* Use useRowSelect hook to for implementing table selector
* Show selector column only when it is enable from inspector
* Add migration to set showBulkSelector to false for all tables
* Add documentation for bulk selection
* Set label of toggle that (en/dis)ables bulk selection: 'Bulk selection'
* get queryOptions from param and fill the params tab
* update params tab when url is updated
* gets the params from url and merges with params entered manually
* rolling back restapi/index.jsx
* Add multiple fields for order and orderType in firestore query
* Add support for querying firestore with where, order and limit
* Minor refactoring updates for firestore query operations file
* Minor refactoring for firestore query operations
* Update package-lock.json with npm 7.20.0
* add feature for data query deletion
* fix after query deletion default query selection is not being done
* move delete option and hide option unless mouse is hovered on query
* show dialog box confirmation before query deletion
* setup sentry for server
* setup sentry for client
* update docs for sentry dns
* explicitly specify apm vendor
* add module for sentry
* revise directory struct and make sentry debuggable
* setup csp and trace headers for sentry
* whitelist csp for all sentry urls
* change senrty error sample rate to 50%
* make sentry send all errors from backend
* add ability to preview and edit versions
* add specs for get app versions
* create new app versions from prev definition
* fixes
* move default slug creation outside typeorm transaction
* set slug as app id when null
* fix app creation response
* fix entities not loading on test env
* add e2e test for version creation scenarios
Co-authored-by: navaneeth <navaneethpk@outlook.com>
* Add option to enable and disable SSL in Postgres configuration UI
* Connect to postgres with/without SSL based on user's choice
* Add migration to set SSL enabled for every postgres data source
* Fix data source kind name in migration
* Fetch only postgres datasources in migration for turning on SSL
* Add query params option to Go-to-app action
This commit adds support for setting query params for the
go-to-app action. When the new app is launched, the passed in
object will be sent as search query params.
* Allow user to enter URL params in multiple input boxes
* Abstract goto-app action logic to a separate container
* Supply necessary newline
* Set 'type' of 'app' property of go-to-app action to 'text'
* List only those apps that has proper slugs for goto-app action
* Modify goto-app action config panel to support Event Manager
* Use EventManager instead of EventSelector for table action config
* Add data migration to make old apps support multiple event handlers
* Fix UpdateDefinitionsForTableActionEvent migration
This commit ensures that the migration recreates onClick event properly
* Fix bug that caused an 'onBulkUpdate' event to be created during migration
* Remove EventSelector
* Add margin above `remove handler` button on Table actions inspector panel
* Multiple handlers for each events
* Fixes
* Migration
* ormconfig to use entities in migrations
* use connection object to build queries
* fixes for bulk update
* Fix for table action button
* use query runner to wrap migration in same transaction
Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
* Add functionality to decide whether front-end should be served from server
This commit makes the server allow flag `--serve-frontend`, providing
which, will make the server serve the front-end at route '/'. Otherwise
it won't serve the front-end.
* Use env variable to enable serving client from a server end-point
* Add documentation for SERVE_CLIENT env var
* Add QR code scanner widget
This commit adds QR code scanner widget which
* Displays a viewfinder that can be activated or deactivated
* Exposes a variable named lastDetectedValue which holds the
data contained in the last QR code it was able to scan
* Defines an event onDetect which is fired whenever a QR code
is successfully scanned
* Add documentation for QR scanner widget
* Supply missing newline
* Supply missing newline for qrscanner.svg
* Supply missing newlines and semicolons
* Update error modal content
* Remove `active` property from QrScanner
* Add blob: to content security policy
* Disable content security policy
* Add content security policy that allows self, unsafe-eval and blob
* update docker-compose and docs for docker dev setup
* specify test environment explicitly on npm scripts
* fix migrations to be picked up from either root or dist folder
* fix default slug update
* Add endpoint to update user first and last name, password
* Add settings page that allows editing user details
* Respond with first and last name when user is updated
* Add 'Settings' item in the drop-down down for user
* Add newline for index.js of settings page
* Supply missing newlines
* Ask for current password inorder to change password
* Add end-point to change password
This commit also adds a Guard to ensure that the user reenters
existing valid password.
* Add e2e test for change_password endpoint
* Copy change for the toast presenting misentered current password while changing password
* Change password when enter key is pressed from 'new password' box
* Add newline and the end of password-revalidate.guard.ts
* Delete 'AppUser's before App is deleted
This commit ensures that all the corresponding entries of AppUser
are deleted before an App is deleted. This is done so to prevent
pre-existing foreign keys from halting the deletion.
* Delete all One-To-Many associated entities when app is deleted
This commit makes the App service's delete action delete all the
related entities of types: FolderApps, DataSources, DataQueries,
AppUsers and AppVersions, before deleting the app itself.
* Set currentVersionId to null before deleting app
* Add end-point that deletes an application
Deleting an application will also delete its corresponding
data sources, data queries and app versions.
* Add unit test for app deletion end-point
* Additional e2e test for delete app end-point
This test ensures that non-admin user cannot delete apps.
* Send invitation tokens with the response to GET:organizations/users
* Add column in users table displaying 'copy invitation' button
This commit also makes the app generate corresponding invitation
URL and copies it to the clipboard.
* Add 'Copy invitation' button next to user's 'invited' status
This commit adds an icon button next to the 'invited' label
of users who are invited. Clicking on the button will copy the
corresponding invitation URL to clipboard, and will also
display a notification that says 'Invitation URL copied to clipboard'
* Remoce unnecessary import of Button
* Remove unnecessary empty line
* Remove unnecessary skeletal line
* Supply a newline at the end of theme.scss
* Show 'Copy invitation' button only for admins
* Send invitation token to front-end only if an admin is logged in
* Show 'copy invitation' button only if invitation token is available
* make nginx config generic
* fixes env substituted
* remove npm script dependencies from dev
* match all nginx location to server
* revert git clone dev branch