* add migrations for versioning datasources and dataqueries
* eslint migrations folder
* update ormconfig to use app context in migrations
* make app to make use versioned data sources and queries in editor
* app import should honor data source and query versioning
* register ts-node path on running migrations
* load data queries when finding versions
* update e2e tests
* handle for invalid oauth2 datasources
* update e2e tests
* introduce db migrations access lock to handle concurrent backfill
* scope migrations by missing version id
* fix import export without data source/query versions
* fix import
* fix spec
* handle invalid data on migration
* fix import
* remove console logs
* handle new app imports
* fix version check
* fix async creation
* explicitly add timestamps on version import
* 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 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 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>
* 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.