Commit graph

43 commits

Author SHA1 Message Date
Muhsin Shah C P
4331b40869
[Improvements] Environment changes (#6762)
* Added priority, enabled, current_environment_id columns
- added data-migrations to backfill the priority and current environment id for each version

* working on multi environments improvement
- added checks for promoted env
- promote env feature
- released app & production env check
- promoted version definition check

* added import support

* working on migration issues

* fixed failing migration

* fixed failing migration once again

* Fixed possible bugs
- seed
- test case helpers
- app version release

* fixed migration bug

* working on migration progress

* working on migration progress class

* added migration progress

* fixed unit tests

* fixed e2e cases

* added default priority

* added PR changes

* changed import logic

* added global datasource design and api changes

* changed default env if the id is null

* added unique constraint and a bug fix

* changed app versions api
- added current environment id to the where conditions

* fixed failing test cases

* added new test cases

* added new api changes

* added back the enabled check

* fixed test case

* change: added environment to create versions dto

* typo: environmentId

* added new api for fetching versions

* added appVersions count changes to CE

* Changed app versions by environmentid logic

* added PR changes for EE

* fixed wrong promoted env id issue

* fix: can't switch to staging

* added import export changes
- update delete modal text

* added EE import export code, modal updated text

* added common migration code for CE and EE

* fixes
- enable run button for released version
- disable change datasource for queries

* changed released version popup design to new EE design

* add: hide delete icons for released version
2023-07-11 10:10:03 +05:30
Muhsin Shah C P
e7bb22e649
[enhancement] Sanitising app name while creating or editing an app (#6423)
* working on app name unique migrationworking on app name unique migration

* Added checks and conditions

* change: remove staring and ending spaces

* fix: error management

* fix: regex

* working on app name generation

* app name:fixing bugs

* app name: fixing and refactoring code

* app name: fixed test cases

* updated app name constraints and default name

* fix: apps.e2e tests case

* fix: added app name to the prompt

* added app input tooltip

* removed unwanted code

* added tooltip close code

* fixed auto generated name issue

* merging develop

* code refactoring

---------

Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
2023-06-06 14:12:36 +05:30
Muhsin Shah C P
f215d1df96
App version creation flow enhancement - New released version warning popup - Current version issues (#5947)
* current version issue

* working on modal design

* Added released version popup and shake animation

* refactoring the code

* improved the experience

* extra changes

* css revert

* fix: disable components & properties

* fix: switched released version saving & create version modal input value retain issues

* fix: retained values issues

* fix: edit version modal current name issue
- disabled comment's icon

* override grayed out effect for preview

* fix: text overflow issue

* css fix: overflow

* added check for sub-containers

* fixed and added specs

* UI and UX fixes

* lint fix

* added clearInternal fn

* change:added clearInternal fn

* refactoring the code

* removed the comments

* added some code that were missing after the merge

* fixed merge issues

* fixed undo redo

* reverted the store changes
2023-05-11 12:32:21 +05:30
Muhsin Shah C P
32740743e1
[Improvement] URLs scoped with workspace id (#5487)
* add: new URL prefix

* fix: working on home page

* add: profile path

* playing with rxjs

* removed context part

* working on path changes

* changing routes
- TODO: replace the workspaceId with actual id

* redo: public apps path

* initial commit

* added authorize API

* remove privileges from auth response

* fixed some api issue
- added subscriptions

* fix: redirect url workspace-id null issue

* fix: switch workspace

* fix: organization list mapping
- menu item paths

* fix: preview url
- editor, viewer permission mapping

* jwt fix

* fix: some url issue
- permission mappings
- workspace login

* fixed some issues
- user invite workspace-id
- org settings menu item default selected item issue

* app viewer fixes

* fixing workspace login issues

* fix

* fixing issues
- tooljet db
- path issues
- refatoring the code

* fix: workspace vars permissions

* fix: multi-page handle

* fix: create app from template

* fix: bulk user upload

* fix: import app
- clone app
- upload profile image

* fix: onboarding

* fix: log out

* fixed multi-workspace logout issue

* fix: launch btn

* fix: oauth2

* fixes

* fix: sso login

* fix: workspace sso login

* fixing sso issues

* fix: moved list of orgs to rxjs
- fixed switching issues

* reverting some changes

* fixed some minor bugs

* fixing sso redirect url issues

* fix: switching network timing issues

* fix: back to workspace-id

* fix: tj-database
- refactored the code - removed org id from some pages
- will get the org id from the service file only

* fix: multi-pages

* fix: infinite loop issue

* fixing workspace switching issue

* fixes
- comment link
- logout & private route redirect url

* fix: wrong uuid error

* fixing subpath
- fixed most of the places
- need to test & fix workspace login, sso, new account

* fix: subpath workspace login

* fix: rxjs handle bug

* Revert "fix: tj-database"

This reverts commit 9632ec2ff0.

* fix: reverted tj-db changes

* fix: subpath sso

* typo fix

* fix: existing session issues

* new: switch workspace page

* fix: modal dark-mode

* added default sso support

* fixes
- subpath workspace switching
- handle wrong routes

* fix: manager user button
- refactored the code

* removed SINGLE Workspace feature

* rebase

* add: change modal text

* fix: added validation

* fixed private app 401 issue

* initial commit

* fix: logged out session multi-tab issue

* refactoring the code

* fix: redirect url issue

* added auth-token in cookies

* Fix: failing e2e specs

* added session API

* fix: backend session guard

* fix: removing user details from local storage

* fix: null wid

* undo and redo

* fix: login page

* fix: viewer login redirection

* fix: login page redirection

* fix: public apps logout issue

* added session storage and scheduler

* added profile api

* fix: sso login
- switch workspace
- login page
- setup admin

* working on fixes

* fix: socket issue

* fix: setup admin api

* connected profile & logout apis

* fix: malfunctioned auth token case

* fix: realtime avatar

* fix: profile avatar

* fix: Realtime cursors avatar

* setting max age for auth token cookie

* add: Go to login page if logout api returns 401

* fix: subpath login

* fix

* fix: app logout [viewer]

* fix: authorize page

* remove expiry from jwt

* fix: integrations route
- session api

* small fix

* fix: updated profile

* fix: workspace login [logged user]

* fix: oauth and another workspace page issue

* fixed app preview logout issue

* subpath fix

* fix: subpath app id

* fix: selected state didnt change for apps page [subpath]

* fix

* add cookie parser to test app

* specs added

* increased user session expiry time

* test: session & new apis

* working on test cases

* fix: onboarding issue

* fixing specs

* fix: test cases

* fix: removing profile api calls

* some fixes

* fixing rebase issues

* fix: global ds issues

* fix: app is crashing

* fix: back to text

* fix: oauth test cases

* fix: test-helper

* fix: onboarding test cases

* fix: tests again

* refactoring the code

* latest develop merging precautions
- fixed a minor null issue

* fix: typo

* fix :menu issues due to the merging

* fix: - clicking on tooljet logo didnt redirect to login page for public apps
- private app preview doesnt load after login

* subpath fixes

* fixed back to issue

* PR changes

* fix: spec fixes for EE

* doc: URL scoped for workspace

---------

Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
Co-authored-by: Shubhendra <withshubh@gmail.com>
2023-04-06 16:42:58 +05:30
vjaris42
bb9a211e55
[Feature] :: Global datasources (#5504)
* add: columns and migrations for data queries and sources

* add: migrations for app environments

* fix: datasources and queries api

* fix: import apis

* add: radixui colors

* create: global datasource page

* fix: version creation not including global datasources queries

* fix: version deletion failure

* fix: ui and other bugs

* add: check for abilities on global ds

* fix: bugs

* fix: existing test cases

* fix: migration and bugs

* fix: rest api oauthorize bugs

* hide: add button for local ds

* fix: query bugs

* fix: new organization environment creation

* fix: local ds label showing for new apps

* fix: on page load queries for preview app and published app

* fix: import bugs from v1

* fix: merge conflicts

* fix: import apis

* fix: apss with mulit envs

* fix: ui bugs

* fix: environments not being created on db:seed

* fix: ui bugs

* fix: route settings for global datasources

* fix: customer dashboard template

* fix: local ds queries not being saved

* fix: runpy issues

* changes: ui

* fix: migration issues

* fix: ui

* hide datasources when no local datasources

* fix: test cases

* fix: unit test cases and global queries on app import/export

* cleanup

* add: package-lock file

* undo: migration rename

* cleanup

* fix: ui bugs

* migration fixes

* fix: dark mode issues

* fix: change datasource failing on query create mode

* fix: workspace selector issues

* fix: clickoutside for change scope option

* migration changes

* fix: open api issue

* reverting configs changes

* [Fix] Global datasources & Environment Id issue (#5830)

* fix: oauth env id issue

* code changes

---------

Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
Co-authored-by: Muhsin Shah <muhsinshah21@gmail.com>
2023-03-24 21:41:21 +05:30
gsmithun4
0fe7dda015 e2e test case fixes 2023-03-02 19:48:20 +05:30
Suraj Rane
fda6de4a0c
Fixed version name sanitization on editing versions (#4570)
* Fixed Version name sanitization on editing versions

* Fixed linting errors

* Fixed definition type for version edit DTO

* Fixed e2e tests for version edit

---------

Co-authored-by: Midhun G S <gsmithun4@gmail.com>
2023-02-13 15:35:22 +05:30
Midhun G S
699f28f318
fixes for e2e test cases (#5451) 2023-01-31 17:13:04 +05:30
Muhsin Shah C P
ff4822c397
Fix: v2-beta test cases (#5221)
* stashed from multi-env-cases

* fixed new issues

* skip: tooljet_db specs

* added comment

* typo

* fix: fixing errors after merging with v2-beta
2023-01-09 17:30:32 +05:30
Akshay
cc516b9ddc
Feature: Versioned exports (#4140)
* add ability to export app versions

* remove console.log

* add spec

* [ Enhancement ]: Ability to export versioned apps ( frontend ) (#4271)

* added basic UI and functionality

* added functionality to export all versions or selected versions of app

* added UI

* refactored the code

* refactored code

* use custom hook for checking if component is mounted or not and accessing  darkMode from props

* showing current version first

* added spacing between container and input tag and input tag and text

* added cursor pointer on the version container

* removed use mount to avoid extra re-rendering component

* fixed typo request

* update permissions

* fix permissions

Co-authored-by: Manish Kushare <kushare.manish9@gmail.com>
2022-12-02 14:13:28 +05:30
Midhun G S
b0e6a34f18
[Fix] Delete app not working if any user mentioned in comments (#4161)
* Fix for app delete issue

* fix

* fix

* added dbTransactionWrap for more functions

* reuse dbTransactionWrap

* onboarding changes

* SSO fix

* fix

* added test cases

* changed threads comments relation

* added test cases
2022-10-17 23:04:06 +05:30
Muhsin Shah C P
cf5a37c56a
[bugfix] Now users can't create multiple versions with the same name for an app (#3342)
* Created a new migration file

* Added the migration

* added the failing error

* Fixed failing specs

* Working on PR changes
- error messages

* edited the migration

* added existed check

* Changed some variable names and error messages

* Resolved PR changes
- Typo
- Removed useless code
2022-06-28 12:36:28 +05:30
Midhun G S
0545528504
Support for multiple workspaces 🚀 (#2778)
* multi org changes

* Initial changes

* changes

* manage sso page

* Multi-organization changes

* Multi organization changes

* multi-org changes

* multi-org changes

* multi-org changes

* multi-org fixes

* env variables app.json changes

* multi-org-fix

* user invitation token fix

* multi-org group permission fix

* multi-org app privilege

* google oauth fix

* Remove enable signup for form login

* Multi organization fixes

* multi-org user invite flow changes

* multi-org sign up fix

* rebase and multi-org fixes

* revert testing logs

* test logs revert

* migration changes

* migration file fix

* error message changes

* git login for private email fix

* dropdown fix

* test cases

* e2e test cases added

* test cases fix

* documentation changes

* testcases fix

* testcases added

* replace findOne with findOneOrFail

* accept invite testcases

* login page fixes

* added encrypted tag

* review comments

* migration fixes

* improvements

* manage sso loading fix

* review comments

* migration file changes

* new organization creation bug fix

* added e2e testcases

* added testcases

* Update data_sources.controller.ts
2022-05-05 12:38:42 +05:30
Akshay
971db32540
add backend validation to prevent editing released version (#2926) 2022-04-28 17:00:58 +05:30
Akshay
841710aa9b
Fix: Version creation on empty/invalid version from id (#2510)
* fix version creation on empty/invalid version from id

* fix spec

* hotfix: Edited changes not shown when switching versions (#2386)

* fix edited changes not shown when switching versions

* fix version create from not picking editing version

* fix version switch not updated on editing version save
2022-03-15 15:12:43 +05:30
Akshay
8bfd814b3a
Feature: Version deletion (#2492)
* add ability to delete versions

* add specs for version delete

* add check for preventing released version deletion
2022-03-11 01:44:37 +05:30
Akshay
e81c7cdf93
fixes failing spec (#2425) 2022-03-03 22:05:19 +05:30
Akshay Sasidharan
7c0ca61012 Merge branch 'main' into develop 2022-01-31 12:16:12 +05:30
Akshay
fa78963ec2
Fix: Folder and app scopes on homepage (#2004)
* fix folder scope on homepage

* bump up version
2022-01-31 11:15:44 +05:30
Midhun G S
486b8625c3
[BUG-1941] typeorm findone fix (#1973)
* BUG-1941 typeorm fineOne fix

* e2e test case failure
2022-01-28 11:44:44 +05:30
Akshay
4f70e0b3f8
Fix: version find getting latest rec when not found (#1927)
* fixes version find getting latest rec when not found

* remove old spec

* fix e2e test
2022-01-25 13:09:50 +05:30
Akshay
56826c3183
Feature: Auto save editor and version management revamp (#1784)
* add modal to create init version

* add init version and ability to auto save

* auto save only when editing version is set

* Feature: App version management ui revamp (#1873)

* add modal to create init version

* add init version and ability to auto save

* auto save only when editing version is set

* revamp version switching on editor

* skip save on app definition load

* handle click outside dropdown

* fix remove component and update styling

* fix auto save detail

* change wording of deployed to released

* remove console.log

* add spec for version creation from another version

* update version create model and hide save detail after shown
2022-01-24 11:21:54 +05:30
Midhun G S
1e103ad4b7
[Home Page Design Changes] Update icon API (#1787)
* Feature-1786 Update Icon API

* Update Folders.jsx
2022-01-12 18:04:39 +05:30
Akshay
823833b12e
Feature: Versioning data sources & queries (#1620)
* 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
2022-01-04 13:34:12 +05:30
Midhun G S
5bdd0fd6bf
Home Page Application search box (#1603)
* feature-1567 initial commit

* feature-1567

* freture-1567 App search box

* added default value for search key

* Loading fix

* Review comments

* Separated like query

* feature-1567 e2e testcases

* feature-1567 Fix

* feature-1567 fix

* feature-1567 fix
2021-12-22 14:37:37 +05:30
Akshay
a7f36f77f6
Chore: Revise and add specs for folders (#1391)
* revise and add specs for folders

* Feature: Folder create permission (#1394)

* add migration for folder create permission

* add backfill migration for folder create permission on admin group

* adds permission for folder creation

* refactor function

* select distinct folders
2021-11-15 11:43:48 +05:30
Akshay
a958b37cef
Feature: Group level permissions and related fixes (#1204)
* 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
2021-10-25 14:05:32 +05:30
Akshay
b0208c553a
Feature: Add ability to import and export apps (#1138)
* 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
2021-10-19 16:52:00 +05:30
Akshay
799bef0138
fix public app view and data query run (#1082) 2021-10-15 14:35:11 +05:30
Akshay
7023f72d1d
Feature: User access management 🔥 (#918)
* 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
2021-10-11 20:45:58 +05:30
Arpit
26c9cc655c
Fix linting errors across the app (#785)
* eslint-setup: rules for frontend and server

* setup pre-commit:hook

* frontend:eslint fixes

* frontend eslint errors and warning fixed

* eslint:fix for ./server

* fix server/test: expectatin string lint/error

* pre-commit:updated

* removed unwanted install cmd from docker file

* recommended settings and extension for vscode

* husky prepare script added

* updated extension recommendations

* added prettier as recommended extension

* added pre-commit to package.json

* remove .prettierrc file

* resolve changes

* resolve changes
2021-09-21 19:18:28 +05:30
Akshay
52cbec3d4c
Add ability to clone from existing apps (#743)
* add ability to clone from existing apps

* make use of clone ability to authorize clone requests

* refactor to use seperate service for cloning apps
2021-09-15 21:17:44 +05:30
Akshay
762773770c
Fixes app creation authorization (#757) 2021-09-15 21:12:04 +05:30
Akshay
82f76e2799
Feature: app version preview & edit (#639)
* 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>
2021-08-30 17:13:27 +05:30
Sherfin Shamsudeen
5e266f9606
Delete 'AppUser's before App is deleted (#490)
* 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
2021-08-11 15:36:28 +05:30
Sherfin Shamsudeen
54a40176ea
Feature: Ability to delete apps (#486)
* 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.
2021-08-10 19:36:37 +05:30
navaneeth
3c24d8a6c5 Endpoints for app viewer 2021-07-24 09:43:45 +05:30
navaneeth
59e0cd62c2 Endpoint for saving app versions 2021-07-23 22:27:59 +05:30
navaneeth
d5dda41c79 Endpoint to create app versions 2021-07-23 21:29:01 +05:30
navaneeth
70546845be Endpoint for fetching app versions 2021-07-23 20:21:24 +05:30
navaneeth
a003d24e97 Endpoint to create app users 2021-07-23 12:13:50 +05:30
navaneeth
41cca1e60c App users endpoint & e2e tests 2021-07-23 11:02:49 +05:30
navaneeth
ad3e627b9c Endpoint for updating app params 2021-07-22 19:54:18 +05:30