Commit graph

171 commits

Author SHA1 Message Date
Rupaak Srinivas
09c4759e19
feat: add fe support for python wf (#15119)
* feat: add fe support for python wf

* feat(workflows): merge Python workflow frontend support

- Update submodule references for frontend/ee and server/ee
- Fix E2E test for REST API query (use jsonplaceholder instead of reqres.in)
- Rename test files to use kebab-case (workflow-executions.e2e-spec.ts)
- Update Python executor service interface and implementation
- Fix Python bundle generation tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 19:57:55 +05:30
Akshay Sasidharan
b08fb8e12f fix(workflows): fix Python execution test failures
- Remove Jasmine's pending() calls (not available in Jest)
- Fix test expectations to match implementation (_state vs state)
- Add skipIfNoNsjail() checks to security tests using service.execute()
- Fix migration: allow multiple bundles per app version (one per language)
- Update ee submodule with json.dump preservation fix

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 12:26:24 +05:30
Akshay Sasidharan
55614bb5ad refactor(tests): rename bundle-generation spec to match service name
Rename to javascript-bundle-generation.service.spec.ts to accurately
reflect that it tests JavaScriptBundleGenerationService.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 18:54:19 +05:30
Akshay Sasidharan
e5b9e332cb chore: remove comment 2026-01-06 17:19:06 +05:30
Akshay Sasidharan
22df8c8ef1 refactor(tests): remove redundant JSDoc comments from test files
Remove verbose test suite descriptions that duplicate what describe()
blocks already convey. Keep @group workflows for test organization.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 13:46:04 +05:30
Akshay Sasidharan
c0a4fe7f57 refactor(tests): clean up Python Bundle Generation tests and improve jest config 2026-01-06 13:37:12 +05:30
Akshay Sasidharan
d0f4ec7271 refactor(workflows): rename BundleGenerationService to JavaScriptBundleGenerationService
Improve naming consistency and reduce controller duplication:

- Rename BundleGenerationService to JavaScriptBundleGenerationService
  to match PythonBundleGenerationService naming convention
- Create BundleServiceFactory to handle language-based service selection
- Simplify controller by using factory instead of if/else patterns
- Update module registration with new service names
- Update tests and helpers for new class names

Benefits:
- Symmetric naming for JS/Python services
- Cleaner controller code (no repeated if/else)
- Easy to add new languages via factory

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 13:14:12 +05:30
Akshay Sasidharan
ff7ef3e7b7 refactor(test): consolidate createWorkflowBundle and createPythonBundle
Replace two separate helper functions with a single createBundle function
that takes an explicit language parameter ('javascript' | 'python').

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 12:44:30 +05:30
Akshay Sasidharan
6364f4408c fix(workflows): update unit test mocks for TEXT dependencies column
Update entity creation mocks to use string format for dependencies:
- JavaScript: JSON string format (e.g., '{"lodash": "4.17.21"}')
- Python: requirements.txt format (e.g., 'pandas==2.2.0')

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 02:01:45 +05:30
Akshay Sasidharan
aec8836e39 fix(workflows): update e2e test expectations for TEXT dependencies column
Update entity verification tests to expect JSON.stringify'd dependencies
since the column was changed from JSONB to TEXT.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 01:59:42 +05:30
Akshay Sasidharan
a96ab6235d fix(workflows): update unit test expectations for JSON.stringify
Update remaining test assertions to expect JSON string format
for dependencies in the bundle generation service.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 01:42:22 +05:30
Akshay Sasidharan
b0a8930cc4 fix(workflows): update tests for TEXT dependencies column
- Update unit test mocks to use JSON.stringify for dependencies
- Update e2e tests for Python string format (requirements.txt)
- Update EE submodule with bundle service fixes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 01:36:00 +05:30
Akshay Sasidharan
e6d607ec07 test(workflows): reorganize Python execution tests to executions spec
Move Python execution tests from workflow-bundles.e2e-spec.ts to
workflow_executions.e2e-spec.ts for better separation of concerns.
Bundle spec now focuses only on bundle management (search, update,
status, rebuild), while execution spec tests actual workflow execution.

- Add createPythonBundle helper to workflows.helper.ts
- Add Python (runpy) execution tests with 3 test cases
- Add mixed JS+Python workflow test with both bundles
- Remove Python execution tests from bundle management spec

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 01:26:14 +05:30
Akshay Sasidharan
c9265f950f test(workflows): update E2E tests for Python bundle support
- Add Python package management E2E tests
- Update workflow-bundles.e2e-spec.ts for language parameter
- Update related E2E tests with test helper changes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:52:02 +05:30
Akshay Sasidharan
2f4a0686be test(workflows): add Python sandbox security tests
- Add comprehensive nsjail sandbox security tests
- Test network, filesystem, process, and resource isolation
- Platform-agnostic capability detection

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:51:31 +05:30
Akshay Sasidharan
94a1212234 test(workflows): add Python execution unit tests
- Add PyPI registry service tests with HAR fixtures
- Add Python bundle generation tests
- Add Python executor service tests

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:51:16 +05:30
Akshay Sasidharan
5130d1737d test: update test helpers for Python workflow support
- Update test.helper.ts with workflow bundle utilities
- Update workflows.helper.ts for Python support
- Update bundle-generation.service.spec.ts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:50:48 +05:30
Akshay Sasidharan
f3523e8670 feat: Add workflow python execution without sandbox 2025-12-19 11:47:32 +07:00
Akshay Sasidharan
1b0a81a556 chore: update fixtures 2025-09-25 14:52:01 +05:30
Akshay Sasidharan
3632f1686a Update HAR recordings for npm registry service tests
- Modified searchPackages test cases to include a new "popularity" query parameter.
- Updated request and response details in the HAR files to reflect changes in the API responses.
- Adjusted headers, body sizes, and content for accuracy in test scenarios.
- Ensured consistency in timestamps and cookie values across all affected recordings.
2025-09-25 14:51:41 +05:30
Akshay Sasidharan
7d64917288 feat: workflow to support setup script from app definition
- Introduced waitForBundleReady function for improved polling during bundle readiness.
- Updated setupScript type to support object structure.
- Refactored bundle generation logic to ensure successful creation and retrieval of bundles.
2025-09-17 18:30:00 +05:30
Akshay Sasidharan
160ebb1015 refactor: use setup script in top level context 2025-09-11 00:15:36 +05:30
Akshay Sasidharan
b6854197e3 chore: udpate spec suite
- Added workflow permissions setup in `setupOrganizationAndUser` function.
- Created `createUserWorkflowPermissions` to manage user-specific workflow permissions.
- Introduced `createWorkflowDataSource` and `createWorkflowDataQuery` for managing data sources and queries in workflows.
- Implemented `buildWorkflowDefinition` and `createCompleteWorkflow` for streamlined workflow creation.
- Updated existing functions to accommodate new workflow-related features and data management.
2025-09-10 20:57:17 +05:30
Akshay Sasidharan
2403856f1f refactor: Improve bundle generation and npm registry service functionality 2025-09-08 12:08:46 +05:30
Rudhra Deep Biswas
ae946f2713
Prevent Stringify Query Resolved Value (#12788)
* lts to pre prelease query

* Add test cases for query options resolution

* string and undefined

* comments

* fixes brackets

---------

Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
Co-authored-by: Midhun G S <gsmithun4@gmail.com>
2025-06-25 18:40:13 +05:30
gsmithun4
269ec56455 Initial commit 2025-02-25 12:22:50 +05:30
Akshay
17f67e7e31
Chore: Setup Polly.js for recordable stubs on TJDB specs (#10275)
* setup recordable tests for TJDB with Polly

* remove unrequired normalization

* remove duplicate test hook

* revert naming

* make minimal test module setup
2024-07-16 20:46:49 +05:30
Muhsin Shah C P
53d119680f
[chore] Node-module vulnerabilities (#8226)
* started working on node upgrade to 18.18.2

* testing ci

* updated ci node version

* updated action code

* deleted all package-lock.json files

* deleted and ovverrided some packages

* deleted and fixed server & frontend vulnerabilities

* updated firestore version

* fix: ws type issue

* fix: upgraded lerna version

* regenerated package-lock.json files again

* regenerated marketplace lock file

* updated node version in other ci and docker files

* update: lock file plugin side

* updated the npm version in docker & ci files

* removed unused imports from events file

* removed dependency-review action

* updated some packages

* tried to go with current node-module of jest. had to upgrade

* fix: deprecated function usage - ts-jest

* fix: server directory lint issues

* fixed login page issue after router-dom upgrade

* updated import/no-unresolved rule to ignore import errors of  react-loading-skeleton, react-spring packages

* fix: cypress node version & package-lock issue

* regenerated cli package-lock.json

* fix: new webpack version might cause runtime issues (had issues with enterprise). lets use old version only

* fix: form-data docker issue

* removed comment
2023-12-21 11:55:35 +05:30
Akshay Sasidharan
92df78bd1a fix type errors on mocked got on package update 2023-12-08 19:41:12 +05:30
Akshay Sasidharan
827a9e333e update jest and mock for failing specs 2023-12-08 18:21:08 +05:30
Akshay Sasidharan
4d627de0c3 fix import error on test suite 2023-12-08 13:11:07 +05:30
Arpit
f0a403e619
Release : Appbuilder - appdefinition architecture revamp (#7448)
* importing service: updated

* import service, categorize and update events with associations

* fix: deleting events associated with pages on page delete

* handle app version: creation, updates, switching versions from app builder

* on version switch: no updates should be triggeted to server

* versioning for query events

* fixes: new components db transaction fails for newly created pages

* fixes: query chaining with events

* map older query ids to new for event action: run query

* fixes: multi-editor support

* fixes/multi-editor: users should be able to edit different version of the app at real time without sync

* minor fixes

* fixes: undo/redo savings with latest app def updates

* fixes: execution of page switch action

* fixes: csa events

* fixes: csa selection dropdown

* fixes: on csa action changed, the action params should also be updated correctly

* fixes: event rendering actions

* fixes: table event - row hovered

* fixes: table event - on search

* fixes: table event - onNewRowsAdded

* fixes: table event - onBulkUpdate

* fixes: table column updates

* fixes: table column updates to component definition

* re-order events

* handle adding widgets to sub containers

* fixes: csa for modals

* fixes: deletes children components on deleting parent

* fixes: components with default children

* fixed events for imported app

* gs- crash fix

* fixes: global settings UI

* fixes: header and user

* fixes: page switch event

* fixes: adapts to new event manager ui

* import app

* add event index for creating app versions

* fixes: table rendering on viewer

* fixes: event execution for viewer

* fixes: loading app with slug

* fixes: Page side bar is not rendered in viewer

* fixes: version manager ui for released versions

* fixes: tabs default children saving

* fixes: app resource mapping for parent-child components

* fixes: duplicate pages

* fixes: page load events for viewer

* fixes: enable and disable pages

* fixes: hide and show pages

* fixes: on maintaince toggle button

* fixes: new version child components are not tied to its parent

* fixes: redo breaks- on deleting a component and undo then redo (editor)

* new export schema and handling apps impport with new and older schemas

* table events: column and actions events

* fixes: query confirmations popup

* fixes: copy/paste

* fixes: cut/paste

* fixes: event mapping for newer versions for new components, pages and queries id

* fixes: app resource mapping for imported apps

* fixes: cascade events for table actions and colulmns

* Migrates the existing JSON-based app definition schema to a structured table-based architecture. This enhancement introduces component and page-specific permissions, improves data organization, and enables fine-grained access control. Additionally, it adds the 'globalSettings' column to the 'appVersion' table.

* cleanup

* fixes: enable and disable pages

* fixes: hide/show page and set saving state for cloning pages

* cleanup

* fixes: page disable menu

* fixes: migrations for data query events

* fixes: switching app version from version creation modal results in editor loading state

* fixes: setting up the page title

* fixes: Page duplication has same page handler name.

* fixes: updating general styles of a component

* fixes: delete component should trigger confirmations box for one widget and for multiple should process deletion

* fixes: CSA for button(component) does not work for page event handler.

* fixes: component name update [calendar]

* fixes: Duplicating pages do not create child components

* improves copy-paste mechanism of widgets

* fix: calendar subcontainer components comes out of the parent container on copy/paste

* fix:Form properties, no option for selecting submit button.

* fixes: Dark mode issue with event handler.

* fixes: display preferences for components

* fixes:have to select the selected version again to create a new

* fixes: Pages menu is not getting disabled when enabled and vice-versa

* fixes: correct naming of duplicating pages

* fixes: 2 action button even with no event attached to one, it gets attached to both.

* fixes: event deletion for action btn removal

* fixes: Keyboard action to move component is not saving

* reduce outbound calls when widget re-positioned with keyboard

* fixes: Not able to delete component from Inspector

* fixes: cloning of widgets

* fixes: Request confirmation before query run toggle is not visible on viewer mode. (can't run query if confirmation toggle is on)

* fixes: event sorting

* fixes: events mapping for versioning: queries and components

* fixes: importing app bug - query running issue when importing apps

* [appdef-2.0] fixes: event action linking for imported apps (#7627)

* fixes: event action linking for imported apps

* cleanup

* fixes: Toggling display preferences is not saving for components. (#7629)

* fixes: dnd issue for mobile view (#7632)

* default page menu settings should be true

* [appdef-2] event manager selector bug (#7631)

* fixes: on selecting query - 3 outbound calls are done to the server, and event manager re-renders 3times resulting in flikering ui

* reduces outbound calls for updating csa actions to 1

* [appdef] - copy associated events for cloned components (#7634)

* fixes: Copying  component is not coping the events associated with the component.

* cleanup

* [appdef-2] : Fixes frontend issues (#7636)

* Fix UI issues

* Fix Scrollbar is not available after we pin the inspector.

* Fix button  jumping places if switched from extended monitor to laptop.

* Fix white background around canvas

* fixes: Component inspector go blank after switching to different pages after dropping components (#7637)

* fixes: general properties of widgets are not getting saved (#7638)

* fixes: selecting the components via selecto (#7653)

* fixes: multiple undo-redo simlut. (#7656)

* fixes: copy associated events for cloned queries (#7657)

* Fixes not able toggle of Listview pagination toggle (#7701)

* Fix UI issues

* Fix Scrollbar is not available after we pin the inspector.

* Fix button  jumping places if switched from extended monitor to laptop.

* fix enable pagination not getting toggled in listview

* Fix form children not being displayed

* fixes: dnd fix for widgets dropped inside subcontainer (#7691)

* [Appdef-2] copy-paste, cut and  clone fix for widgets (#7687)

* fixes: copy/cut/paste and cloning of widgets

* cleanup

* can copy/paste-clone in listview

* fixes: on mulit-widget selected via mouse area selection: widget manager should be rendered (#7688)

* fixes: on deleting tabs widgets should delete its children (#7692)

* fixes: column data generated from restapi does not render correct columns in viewer (#7695)

* [appdef-2] fixes: multiple query confirmations trigger (#7704)

* fixes: multiple query confirmations trigger

* fixes: multiple outbound calls in the inital load, run queries on app load with confirmations:editor&viewer

* fixes: correct confirmations list to the stote

* [appdef-2] fixes:Event handler are running twice for page load (#7705)

* fixes:Event handler are running twice for page load(eg- add 2 show alert and change the page).

* fixes: for viewer page events

* fixes: container widget is not getting saved on drop (#7718)

* fixes: Create app version from is empty if we delete another version. (#7720)

* [appdef-2] fixes: on versioned app (switching or creating) version, the componet layout is wrongly updated to the container dnd (#7721)

* fixes: on versioned app (switching or creating) version, the component layout is wrongly updated to the container dnd

* fixes: container widget is not saving

* fixes: triggering confirmation box for every query with on load trigger (#7728)

* Fixes canvas background and go to app crashing (#7725)

* Fix UI issues

* Fix Scrollbar is not available after we pin the inspector.

* Fix button  jumping places if switched from extended monitor to laptop.

* fix enable pagination not getting toggled in listview

* Fix form children not being displayed

* Fix Go to app is crashing the application.

* Fix fx for canvas background color is not working.

* fixes: cloned/copied table with actions (#7758)

* fixes: calendar and form widgets (#7735)

* fixes: rendering of components in viewer for mobile (#7759)

* fixes: toggling, resizing, dropping widgets in both display preferences (#7760)

* fixes: page switch action via runjs actions (#7762)

* fixes: component validations do not get saved (#7766)

* [appdef-2] subcontainer dnd height outbound fix (#7767)

* fixes: listview children can be dragged outside its outbound limit

* cleanup

* fixes: widget inspector going to empty component (#7768)

* fixes: goToApp not running from runjs in viewer mode (#7770)

* fixes: multi-components cloning or copy/paste have same name (#7761)

* Fix disabled page is being displayed on switch page event dropdown (#7769)

* Fix kanban rendering leading to infinite look

* Fix disabled page is being displayed on switch page event dropdown

* Fix Kanban widget getting into infinite loop (#7808)

* Fix kanban rendering leading to infinite look

* Fix disabled page is being displayed on switch page event dropdown

* Fix kanban getting into infinite loop

* adds support of constants to current state of the ediotr (#7821)

* removes loader added for testing (#7822)

* [appdef] fixes - dnd container cloning edge cases (#7820)

* fixes: copy/pasting components updating wrong display preferences

* fixes: copy/pasting tabs and cloning components inside tabs

* fixes: duplication of calendar component bug

* if components in subcontainer(children) are selected via selecto along with its parent, children should not be going through duplication

* if components in subcontainer(children) are selected via selecto along with its parent, children should not be going through duplication

* fixes: Resolving App Version and Timestamp Update Challenges (#7863)

* Fixes query confirmation issue on viewer (#7862)

* [appdef ]fixes: components copied from template app to a new page or app do not render in canvas (#7867)

* fixes: components copied from template app to a new page or app does not render in canvas

* fixes: table crash on coping from other pages with columns

* adds the column exists check

* fixes: tables crash for imported apps with auto generated cols

* appdefinition refactor/cleanup (#7872)

* cleanup controllers and request calls from frontend

* removing unwanted console logs and unused variables

* revering v1 apis og

* adding length validation for page dto

* adding dtos for components

* updated dtos for components and pages

* added dto for event handlers

* fixes event handler dto

* fixes: page dto

* adds/fixes event handlers creating dtp

* fixes: event handler service and dtos

* [appdef] fixes: Creating page not changing the slug (#7873)

* fixes: Creating page not changing the slug

* removes extra whitespace

* [appdef] fixes: on importing a exported app child components are not present in the parent component (#7864)

* fixes: on importing a exported app child components are not present in the parent component

* handles parent component mapping for tabs and calendar component

* handles parent component mapping for tabs and calendar component for new versions

* [appdef] api endpoint fixes (#7888)

* fixes: moved fetching app version to v2 api

* fixes: app slug api

* Fixes CurrentUser & Mode not present in globals in inspector (#7812)

* Fix current user not being present in inspector

* Add Mode in globas in inspector

* Fix creating page not changing the slug.

* Revert "Fix creating page not changing the slug."

This reverts commit 0ff9c18ab8.

* Fixes  on adding query params in event handler, breaking the app (#7889)

* Fix on version change if left sidebar is open canvas not scrolling right

* Fix on adding query params in event handler, breaking the app

* Fix

* Fix on version change if left sidebar is open canvas not scrolling right (#7884)

* fixes: fixes on on app load switch page action via run queires (#7858)

* fixes: fixes on on app load switch page action via run queires

* Fix

* refactor

* Fix on load event not appearing on viewer

---------

Co-authored-by: Nakul Nagargade <nakul@tooljet.com>

* [appdef] fixes: event actions mapping for import-export (#7895)

* fixes: event actions mapping for import-export

* fixes: updates organisation id

* fixes: templates event mapping

* do not app again for not normalized apps

* [appdef]migrations fix (#7910)

* fixes: page attributes

* fixes: table action and column events for imported apps (prev) and app migrations

* adds processDataInBatches

* fixes: app data migrations

* create a new queryBuilder instance for each batch to ensure that there's no interference between batches

* fix: app migration

* cleanup

* cleanup

* fixes: table column data not updated on boxes changes in container (#7919)

* fixes: creating all pages from all versions (#7905)

* Fix state not changing in chart (#7900)

* Fix in chart, toggles are not working

* Update Chart.jsx

---------

Co-authored-by: Arpit <arpitnath42@gmail.com>

* fix event param not updating (#7902)

* [appdef] Pages attributes are missing on versioning or imported app (#7904)

* fixes: on creating new version pages attributes are not copied

* fixes: on importing apps with  pages attributes are not copied

* fixes: component double duplication issues

* fixes: deleting children components via selecto (#7915)

* fixes: component deletion fixes

* fixes: cloning components to a new version should also create associated events

* fixes: creating components on cloning with general styles or properties

* fixes: creatinng general properties on version

* fixes: imported app

* fixes added to app migrations

* fixes: mobile view

* fixes: Created a new version with multiple pages from second page, the new version shows the homepage with second page URL

* fixes: table crash due to columnDeletionHistory saved as an object instead of an array

* fixes: on creating new version, data_queries should be created (#7975)

* [appdef] fixes: migrations  (#7951)

* refactor migrations with batching

* event actions: switch page should be mapped to correct new page id

* fixes: importing json-schema app with multiple version: same components do not get render in the canvas

* fixes: import/export of legecy apps

* event actions mapping to correct page ids: migrations

* fixes: migrations  children not rendered in subcontainer components

* adapts to main/viewer changes

* fixes: viewer with #6698

* fixes: viewer route

* fixes: page switch via validateRoutes

* fixes: on delete version fetchApp fails

* handle error on saving changes

* skip name opts

* typo fix

* Instead of relying on the schema, we choose to use the Tooljet version as the determining factor for decoupling import flows

* fixes: slug updates from global settings

* fixes: slug app link (#8008)

* fixes: on version changed the preview link should also update (#8009)

* fixes: on cut and paste events should not cascade (#8010)

* fixes: query options to new mapped ids

* [appdef] fixes: cloning apps (#8012)

* fixes: cloning apps

* fixes: slug status from share modal

* fixes: query confirmations list on viewer (#8017)

* undo-fix

* fixes: updates current state with page data on creating new page

* Fix failing specs (#8031)

* [appdef] fixes : ghost child components are being created on imported/cloned apps and while migrating (#8026)

* fixes: ignore ghost components while importing

* added the fix in migrations

* fixes: adding other components

* fixes: table column resizes

* updates layout dto

* update component dto

* fixes: tabs children are not rendered as the are not in their repsective parent container (#8036)

* moving editorFunc to Editor.jsx

* cleanup

* fixes: e2e test for clone

* cleanup

* fixes: toggle maintaince

* bumping version

* multi-edit: ymap-fix-1

* Revert "multi-edit: ymap-fix-1"

This reverts commit 8b799c3c51.

* [appdef] fixes: viewer route: keeps on reloading for private apps (#8051)

* fixes: viewer route: keeps on reloading for pribate apps

* should return the response

* test: ymap updates-1

* fixes: v1 apps with dq queries resuts in app crash

* Updated import spec

* Revert "Updated import spec"

This reverts commit 802136cdc3.

* Fixed failed platform test cases for app desinition re-design (#8053)

* Fix failed platform test cases

* Modify user permission test cases

* fixes: trial-5: fixing vanishing of components

* Revert "fixes: trial-5: fixing vanishing of components"

This reverts commit a22aec12c7.

* fixes: trail-6: fix

* fixes: trail-7: fix

* Revert "fixes: trail-7: fix"

This reverts commit 08f373c415.

* Revert "fixes: trail-6: fix"

This reverts commit c4e19b5d05.

* multi-edit: ymap-fix

* Revert "multi-edit: ymap-fix"

This reverts commit 92f49c0cde.

* fixes: multi-user updates: adding or removing

* event handlers sycned for multi-user

* should take slug instead of appid if slug is present

* updating adding ymap logic

* versioning with multi-user

* fixes: saving issue

* dont skip ymap

* adds delay to ymap

* ymap-update-order-fixed

* ymap-update-order-fixed-1.1

* ymap-update-order-fixed-1.2

* test=fix

* Updated import spec (#8061)

* cleanup

* lint fixed

* fixes: cloning apps with tabs

* veiwer on event should return

* fixes: event should map with show/hide modal component id

* Fix failing appbuilder specs (#8117)

* cherrypicked ee/00195c064

* bumping version to v2.24.0

* fixed modal actionid typo

* fixes: slugs issues for released an public apps (#8119)

* Fix failed test cases (#8121)

* reverting global slug input

* fixes: versioning with cloned page and ghost components (#8122)

---------

Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com>
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
Co-authored-by: Nakul Nagargade <nakul@tooljet.com>
Co-authored-by: Midhun Kumar E <midhun752@gmail.com>
Co-authored-by: nandinisaha13 <nandinisaha13@gmail.com>
Co-authored-by: Mekhla Asopa <dadhichmekhla@gmail.com>
Co-authored-by: Ajith KV <ajith.jaban@gmail.com>
Co-authored-by: Mekhla Asopa <59684099+Mekhla-Asopa@users.noreply.github.com>
2023-11-08 11:09:47 +05:30
Muhsin Shah C P
3ea8d6e3ca
[feature] Make workspace urls more readable (#6698)
* working on replacing workspace id with workspace name

* experimenting with zustand

* added slug column to workspace table

* working on workspace url

* working on backward compatibility

* fixing bugs

* added not found error

* fixed workspace switching issue

* fix: switching b/w workspaces

* fix: workspace login

* changed workspace login url link

* resolved conflicts

* added create organization design

* added backend validation

* fixed constraint errors issue

* fixed: creating new workspace

* fixed: update workspace

* fixed: update workspace bugs

* fixed: auto created slug bugs

* fixed: login slug

* design changes

* added folder slug

* fixed: lint error

* fixed: invite and first user issues

* fixed: login page redirection

* fixed: redirect path

* added reserved word check

* fix: edit workspace design

* fix: folder query issue

* fix: create and edit workspace modal validation issues

* fixing failed test cases

* fixing failed test cases - app.e2e

* fixed organizations specs

* fixed public app issue

* working on app slug

* Added app slug design to the general settings

* Working on appId -> slug changes
- Handling appId cases
- Fixing issues

* Worked on share modal design change
- replaced slug functionality
- Fixed backend slug issues
- Fixed page handle issues

* changed switch label

* replace version param with query param

* fix: possible uuid bug

* fix: login app slug redirection issue

* Worked on unique app slug

* moved all apps related api calls to apps.service.js file

* refactoring the code and fixing minor issues

* Refactored and fixed some bugs

* Fixed bugs: redirect cookie issue

* Fixed dark-mode issues

* removed duplicate code

* Worked on develop branch conflicts

* Moved handle app access check to private route

* Added fix for navigate

* Refactored the code. Added slug to failed sso login redirection path

* again some redirect url fixes

* onbaord navbar tj-icon onclick

* Fix: viewer version id undefined issue

* fix: multi-pages, invalid workspace slug

* fix: removing the version search param while switching the pages

* fix-sso: redirecting to prev tab's login organization slug

* fix-sso: google signup

* fix: preivew permission issue

* Fixing merge issues

* Fixed tjdb issues

* dark mode fix of manage users button

* fix: extra slash in url, tj-logo on click wrong org id

* subpath workspace login url

* resolved lint issue

* fix: cannot clone apps

* fixed switch workspace issue

* fix: login page flashing issue

* fix: back button issue

* fix: private endless redirection

* Update the modal with new UX

* fixed all ui issues

* fixed placeholder translation issues

* fix: sso multi-request issues

* fix: multi-pages crash while promoting a version

* fix: error text msg delay

* added default slug to the first workspace in the instance

* subpath-fix: slug preview url

* fix: same value check

* fixed switch page query params issue

* fix: folder query

* fix: manage app users ui responsive issue

* Backend PR changes

---------

Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
2023-10-18 13:00:17 +05:30
Anantshree Chandola
d4b436dd31 fix failing test 2023-10-17 14:58:57 +05:30
Anantshree Chandola
03e3fd950b
New Improved App creation flow (#7209)
* App creation flow

* Add separate footer and divider

* added create app dto, updated tests

* update test

* Update server/src/dto/app-create.dto.ts

Co-authored-by: Midhun G S <gsmithun4@gmail.com>

* Update server/src/dto/app-create.dto.ts

Co-authored-by: Midhun G S <gsmithun4@gmail.com>

* updates

* Removed comments

* small updates

* rename app flow

* Import App, Create App From Template, Clone App (BE+FE)

* Edit app updates

* remove comments

* updates

* updates

* styling updates

* handle spaces in app name

* update

* styling updates

* Update permissions

* updates

* don't show toast failure message

* Update frontend/src/Editor/Header/EditAppName.jsx

Co-authored-by: Muhsin Shah C P  <muhsinshah21@gmail.com>

* styling updates

* Update server/src/controllers/app_import_export.controller.ts

Co-authored-by: Muhsin Shah C P  <muhsinshah21@gmail.com>

* remove comments

* remove comments and small corrections

* removed logs and deleted unwanted files

* correct lint error

* resolve failing tests + handled trimmed app names

* resolve failing tests + handle trimmed app names

* updates

* duplicate imports removed

* updates

* Rebase corrections and updates

* update

* resolve failing e2e test

* fix error

* fix

* length fix

* fix

---------

Co-authored-by: Midhun G S <gsmithun4@gmail.com>
Co-authored-by: Muhsin Shah C P <muhsinshah21@gmail.com>
2023-10-17 13:18:18 +05:30
Muhsin Shah C P
2611db8521
fix: failed library e2e test cases (#7891) 2023-10-16 16:37:07 +05:30
Akshay
f86c6f53d0
Release v2.20.0: New Templates (#7805)
* [docs] SAML (#7577)

* added saml doc

* added saml in 2.19

* minor changes

* minor updates

* update new quickstart guide link on canvas (#7733)

* Template: Supply chain management (#7453)

* add setup to create template from new exports

Co-authored-by: abhinabaadhikari <abhinabaadhikari2014@gmail.com>

* Add new templates and update an existing template (#7765)

* Add new templates and update an existing template

* Add two more templates

* fix lead management system template definition

* fix lead management system template definition - handle null values

* Template: Supply chain management (#7453)

* add setup to create template from new exports

Co-authored-by: abhinabaadhikari <abhinabaadhikari2014@gmail.com>

* Add new templates and update an existing template (#7765)

* Add new templates and update an existing template

* Add two more templates

* fix lead management system template definition

* fix lead management system template definition - handle null values

* bump to v2.20.0

* fix e2e test

* fix app name

* handle template import based on the tooljet version

---------

Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
Co-authored-by: Karan Rathod <karan.altcampus@gmail.com>
Co-authored-by: abhinabaadhikari <abhinabaadhikari2014@gmail.com>
Co-authored-by: Abhinaba Adhikari <79746925+abhinabaadhikari@users.noreply.github.com>
2023-10-12 11:56:29 +05:30
Midhun G S
50b5129058
Added unique key constrain to organization users table (#7207)
* added unique key constrain to organization users

* fix

* fix

* added logs and comments

* test case fixes

* resolve fail test

* resolve tests google auth

* comment out organization id checks

* remove all e2e tests changes

* comment tests

* test case fixes

* resolve fail test

* resolve tests google auth

* revert all changes

* fix for test cases

* test case fixes

* revert all test case changes

* refractor

---------

Co-authored-by: Anantshree Chandola <anantshreechandola23@gmail.com>
2023-09-26 11:28:59 +05:30
Akshay
cb0aca6a8c
fix unit tests for import (#7477) 2023-09-21 16:44:27 +05:30
Akshay
c6fe0aa45e
Feature: Import export tjdb schema (#5752)
* add ability to import export app and tjdb schema

* init

* feat ::global settings popover new ui

* feat :: ui for version export modal

* fix :: import export modal

* cleanup

* ui updates

* header footer style fixes

* closing settings modal while showing export modal

* style fix header

* feat :: added button to download table schema

* fix :: styling for fx

* add ability to import and export apps with tjdb schema

* handle duplicate table in workspace

* fix table rename

* fix selected table on edit and delete

* fix invalid toast on table delete

* fix column default value

* handle exports to strip '::' and quotes

* make import/export backward compatible

* handle page redirects based on resource import

* handle import without tjdb schema

* fix column delete and addition

* make data migrations to be run per organizations

* wip

* update migration

* fix credentials to be included

* fix specific version export

* make use of apps ability for import export resource

* fix import navigation

* fix lint

* fix failing tests

* fix lint

* enable tjdb for public apps

* update export error message on tjdb table blank

* fix table not selected after creation

* fix :: styling for imp exp modal , and functionality bug fixes after dev merge

* fixes blank slate and columns selection

* fix table delete

* fix invalid toast on table edit

* fix column information missing tjdb query manager

* make ds imports to either reuse global or create

* export only unique table ids

* create default datasources if not present in export data

* reuse existing table on imports

* add timestamp to table name if name already exists

* add ability to clone with tjdb

* make imports work with marketplace plugin

* skip dataqueries for which plugins are not installed

* fix filter input width

* fix failing spec

* fix marketplace plugin installation in diff workspaces

* fix check for plugin installed in workspace

* fix export when table name is empty

---------

Co-authored-by: stepinfwd <stepinfwd@gmail.com>
2023-08-28 21:23:15 +05:30
Arpit
ee79b2015a
Feature - Workspace environment constants (#6810)
* init--

* org constants: controllers, services, module and api for creating new constants

* read operation: all constants from all envs and all constants from a env

* update and delete operation

* updated delete msg

* encrypt constant value before saving and decrypt before sending back to controller

* adds group permission for org constants and required migrations

* adds ability to create constant

* adds group permissions and fixes migrations

* adds workspace constant permission to workspace settings UI

* ToolJetUI - componenst, ref: ee/5c92dc9c03b73d7006562d71d639fe4eb1971dee

* Org constants UI

* UI updates: display constant value as per enviroment

* Added client side pagination

* groups without create/edit/delete permission can only view the the constants

* group permission: Create and Edit - UI updates

* create/update/date flow - UI

* extending api support to create constant in multiple environments

* UI - add constant for multiple envs

* disable name input for update operation

* UI fixes and updates

* adds deprecating banner to variables dashboard

* removes update/create from UI --variables

* adding depricating soon alert in codehinter when workspace vars are used

* extra check to display the banner in preview of cdehinter

* resolves constants for admin in client-side

* resolves constants client-side and server side for queries

* include grp permission for create/delete for org constants

* resolves org constants in runJS and runPY

* cleanup

* updated the tab UI

* fixed: constant pagination footer

* fixes client side pagination bug

* adds docs link

* ui updates and fixes ui flickering on closing the drawer

* refactor updating table data

* adds error state to constant forms

* remove the alert from runJS and runPY after 5s

* added max length constraint for constant value

* refactor: component form

* delete only constant as per environment

* remove unwanted logs

* resolves constants in gds connection forms

* resolve gds source options for testConnections, preview and runQuery

* UI style fixes: banner

* remove alert banner for runJS and runPY

* input text color fixed

* style fixes for disabled inputs

* Edit constant- Until value is changed- CTA should be disabled

* adds tooltip for table name and value

* adds tooltip for disbaled input in edit drawer

* updated the tooltip position

* handle input height on type for large strings

* added empty state

* adds new badge for workspace constants

* substring should be different for viewers

* resolve constants in viewer

* add support to resolve constants for widgets and queires in public apps

* changed the api endpoint for org constant for env

* bugfix: handle org constants for encrypted value from source options

* add support to resolve app variables and constants in a single single

* fixes: multiple multiline and same line variables

* refactor

* cleanup

* remove encryption for ce

* remove group permission from permission dashboard

* text transform for badge

* added padding for each table row

* updated alert banner padding

* updated alert banner padding

* updates width for empty banner

* refactor

* adds tests for constant api

* added validations for constant name

* updates textare dynamic form

* updates the resolvers for constants

* removes decryptiong for source options in services

* refactor - frontend

* resolved conflicts

* fixes: typo-1 ~ workspace variables alert

* fixes: inconsistency in alert info icon

* fixes: naming convention consistency

* fixes: dark theme for confirm box

* disable create button for  add constant with same name,

* adds error state for updating constant with same value

* fixes: error message typo

* fixes: error message typo

* fixes position of tooltip

* fixes frontend lint issues

* update lock file

* UI updates and typos

* cleanup-refactor

* checking error state before creating

* should check all error states

* resolving multiple constants and app variables in a single line

* reafactore

* fixed: depricating icon : codehinter preview box

* remove log

* remove repeated logic for deleteOrgEnvironmentConstant

* only return status code for delete request for org constants

* Add data-cy for workspace constants elements (#7251)

* updates contants doc link

---------

Co-authored-by: Ajith KV <ajith.jaban@gmail.com>
2023-08-14 14:28:51 +05:30
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
a455a50e98
Sanitising workspace folder name while creating or editing a folder (#6396)
* added: frontend validation

* added attributes and constraints to folder name

* fixed migration

* replaced isAlphanumeric decorator with regex matches

* change: handle unwanted spaces

* handle error messages

* reverted css change

* folder name: adding error messages, refactoring code

* adding: PR changes

* fix: test cases

* fix: test cases

* changed max-length

* added PR changes and fixes

* added common error css change

* changed error message

* adding folder name to the prompt

* updated folder constraints

* updated maximum length

* fix: empty check

* added : folder dto name empty message

* fixed failing test cases

* added folder tooltip
2023-06-07 15:03:54 +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
dc810061a4
Fixed auto generated workspace name issue (#6642)
* fixed auto generated name issue

* fixed lint error

* fixed test case
2023-06-05 17:30:17 +05:30
Muhsin Shah C P
9257f6feea
Workspace name sanitisation (#6299)
* added unique organization name constraint

* sanitization task: workspace-name

* refactoring the code

* resolved PR changes

* fixed migration & added some checks

* change: trimming workspace name

* handle error messages

* added missing css

* working on the error messages

* change: first workspace's name of the new user

* change: removed underscore from the list

* Tested and fixed first workspace name changes

* Fixing error handler issues

* working on session storage implementation

* revert: session storage

* change: close modal if the edited name is same as prev name

* fixing bugs

* workspace name: refactoring the code

* workspace name: refactoring again

* workspace name: fixing and refactoring code

* fixed e2e test cases

* added catchDbException to catch db lever errors

* added: PR changes

* workspance name: css fix

* updated workspace name constraints and default name

* fix: test cases

* fix: app.e2e tests case

* fix: wrong error message

* fix: last state issue

* reverted some changes

* added workspace name tooltip

* added more tooltip for workspace name

---------

Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
2023-06-01 19:21:38 +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
Midhun G S
044d1083eb
remove token data from app export (#6035) 2023-04-14 15:37:42 +05:30
Muhsin Shah C P
6c1c692b12
fix: conflict b/w yjs auth_token and session token (#5962) 2023-04-07 13:10:43 +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