* feat: added support for creating primarykey and unique constraint while creating new table
* feat : primary key with unique constraint
* feat : able to create primary key on table creation
* minor changes for backend
* checked and added constraints for primary key
* Added tooltips for primary key columns and added a fix for autofocus for last focussable element in focustrap
* Added a new component named TableSchema so that we can use this same component in both create table and edit table
* fix: fetching tjdb table metadata query has been updated to support unique constraint
* feat : primary key in edit table
* mariadb library update
* atleast one primarky should be mandatory for each field
* fix: list tjdb table data api due to id column sort by default
* fix: tjdb dashboard table column datatype icon and name was missing when primary key feature was added and table header content component refactored
* fix: tjdb create row operation made compatible with Primary key
* fix: add column operation will now suport serail and unique constraint
* fix: Edit column operation support unique constraints
* fix: added primary key icon is tjdb dashboard table
* feat : foreign key drawer ui
* fix: dynamic tooltip text in table for serial datatype and primarykey
* fix: cell edit menu should not open for primary key column and serial datatype column
* fix: cell edit menu save flow and boolean toggle update flow will now execute based on primary key
* minor ui change in nested drawer for foreign key relation
* fix: edit row operation now supports and works based on primary key for updates
* fix: add row operation refetch query works based on primary key
* Added foreign key active state icon
* feat: API to edit table schema
* Added fixes for primary constraints
* fix: edit table allows to add new columns and delete old columns as well
* fixes related to primary key
* fix: primary key mandatory check on edit table API
* fix: moved table rename inside db transaction
* fix: on editing a primary key column it will not remove primary key constraint
* changes and fixes in primary key integration
* edit table api integration
* fix: primary key mandatory validation was wrongly placed in edit table api in tooljetdb
* fix: edit tooljetdb table dto validation modified
* edit table api integration
* edit table success toast update message
* Added tooltip for serial datatype defaultvalue and design change of Add more columns button
* added scrollbar to tableschema and added a hover effect to column which has foreign key relation
* feat: Foreign key creation support in create table Inprogress
* fix: code review comments for backend fix inprogress
* fix: in edit table operation in tooljetdb for serial datatype default values can't be edited
* fix: edit table payload naming convention changed
* fix : review comments and ui fixes
* fix : undefined check error in renameTable function
* fix: unique constraint will be false by default on version less than 2.30.0
* added primary key icon in edit column header
* fix: unable to change single primary key to composite primary key when a column has duplicate values
* added regex check for serial datatype's default value
* feat : in edit table the primary columns should be group together and in top of the schema
* fix: custom exception filter for tooljetdb and optimized cell edit save flow by reducing a refetch api call
* fix: primarykey column default value of character varying datatype is in wrong format
* fix: tjdb exception filter is added at controller level and it can group multiple exceptions altogther
* fix: on a exception postgrest error message has been sent as response
* fix: edit-table api payload details were mis-matching
* fix: on editing serial datatype column default value is not necessary
* fix: in create and edit table drawer datatype dropdown selection was wrong in serial datatype scenario
* fix: multiple exceptions can be handled together
* removed the code comments
* fix : primary key columns should in top of the order in edit table and edit row
* revert back the changes of primary key column group together in edit table
* Add null value for default value when we change the datatype in edit table flow
* fix: feature to create foreign key while creating a new table
* integrated source table details and source column details
* fix : serial data type cause error in default value when there is more than one serial data type
* feat: tooljet database table metadata api now includes foreign key details
* feat : foreign key designs for create and edit table
* fix : view table api error issue
* feat : foreign key designs for create and edit column
* feat: added support for creating foreign key in add column api
* feat: api to create edit and delete foreign key has been added to tooljet database
* feat : foreign key designs in create and edit row as well as cell edit and in dashboard
* fix : cell click issue in cell edit for boolean type
* feat: added support to select specific columns in the postgrest query
* feat: added foreign key referenced table id in metadata details
* fix: naming convention changed for foriegn key apis
* fix: updated DTO to check on-delete and on-update operation of foreign key details
* completed api integration and remaining ui popups for delete and change in foreign key and customized tooltip
* added routing logic for navigate to reference table from source table
* implemented infinite scroll logic for cell edit foreign key column values
* moved scroll logic to selectBox component
* fix: removed the scroll for column schema section in create and edit table drawer
* fix : major bugs
* fix: added support to delete FK in Edit Column API
* feat: Join FK columns auto populate on query manager
* feat : allowing to create multiple foreign keys in single table
* feat: auto suggestion on joins
* fix: foreign key column must be rearranged to top of the list
* fix : major bugs
* fix : bugs list
* fix: foreignkey details on tjdb context were not updated properly
* fix : bugs in calling selectQuery api
* completed missed routing logic in cell edit dropdown
* fix: cell edit menu on clicking search closes
* fix : bugs list
* fix: cellEdit drop down menu provides wrong values for FK
* fix: fk values is made to default onClosing CellEditMenu
* fix: on table cell click foreign key details are made to default state
* fix : bugs in edit row and in all dropdown which is showing reference table's column values
* fix: infinite scroll for listing foreign key drop down
* fix: infinite scroll in FK data dropdown goes unresponsive
* fix : width of tooltip in showing foreign key relation and throwing error when opening a default value dropdown in create table and create column
* fix : the search api needs to hit only for the referenced column names values in dropdown
* fix: basic lint fixes
* fix : default value preselect value is passing as empty in create row and in create table for the
edit part added delete functionality and fixed editing foreign keys in create table and fix in edit table api fixed bugs related to forein key edit
* fix : create row sort logic and fix for edit foreign key relation
* fix : merge conflict stylings collapsed
* feat: implemented infinite scrolling for listing down FK data in cell edit menu drop in tooljetdatabase
* fix: in edit column while we create a new foreign key it was not reflected on edit ccolumn view
* fix: join query when auto populated with columns table name was missing
* fix: Not able to edit a table when a column has been referenced for foreign key-the issue has been fixed
* fix: serial data-type column will have placeholder as auto-generated
* fix : bugs from design review
* fix : icon mismatch in source and target column
* Feature: Import Export revison for TJDB relations (#9597)
* make create table infer serial data type
* make import/export backward compatible
* fix column type check
* fix: cell edit drop down search issue and drop down misses the values on second load and fixed the edit primary key column issue
* fix : disabling serial type in source column and removing strict rule of unique constraint for serial type and fix of bugs which is related to foreign keys
* fix : validation issue for save changes button in foreign key drawer
* disabled creation of foreign key from create and edit column and enabled support for bigint with integer in foreign key relation
* fix : edit column foreign key relation is becomes false when we close the foreign key drawer
* fix: composite primary key columns cannot be mapped to foreign key
* fix : create column and edit column : previous column values are populated in foreign key drawer and fixes of bugs which is related to foreign key relation in create and edit column
* fix : Unable to see the column menu icon when column name has 32 characters
* fix : edit column delete is not working when we chnage the foreign key toggle to false
* fix bulk upload for case sensitive columns
* fix : while selecting different table in target table, the target column should be empty
* Fix : Bugs from Foreign key feature (#9552)
* Added tooltip when add relation button is disabled
* Set the values to no actions by default for action dropdowns
* Added tootip for add relation button when disabled
* Updated the UI of dropdowns in the actions section of foreign key drawer
* Disable the add relation button when less than 2 table are present in edit mode and less than 1 in create mode
* Updated the logic to render option description in actions dropdown and highlight table names
* Adding conditional chaining to avoid app getting crashed
* Avoding showing toast message for crating foreign key in create column and table mode
* Updated tooltip description for add relation button
Added full stops to descriptions of options in actions dropdown
* Show tooltip on read docs regarding fk for column and table operations
* Updated description of foreign key relation text in create/edit table drawer
* Updated description of foreign key relation text in create/edit column drawer
* Type error fixed
* Show unuqie constaint info UI update
* Added copyrights for foreign keys
* fix: When we create a FK relation, and then if we change a source column name, when we open default drop down throws error in create column
* Feature: Add setup to standardise TJDB error handling (#9629)
* add wip error handling setup
* make errors thrown as TooljetDatabaseError
* fix types
* handle query manager errors
* make error logging better
* add comment
* remove redundant logger
* fix: add column api dto validation updated
* return records to throw errors from postgrest
* fix type
* Chore: Primary key backward compatibility migration (#9636)
* recreate pk constraints for existing tables for backward compatibility
* fix comment
* handle unique name error on table create
* Fix : Bug fixes from foreign key feature (#9637)
* Removed create table and column info to add foreign key message
* Added tooltip when at least one column is not filled
Enable the add relation buttton when at least one column is present and filled otherwise disabled
* fix : placeholder text in foreign key drawer and error handleing text as well
---------
Co-authored-by: Ganesh Kumar <ganesh8056234@gmail.com>
Co-authored-by: Akshay <akshaysasidharan93@gmail.com>
Co-authored-by: Manish Kushare <37823141+manishkushare@users.noreply.github.com>
* bump version
* Sample data source (#9501)
* Added sample data populating script
* added expand-collapse in add data soure menu
* Sample database
* Design changes
* Added CTA to buttons and added design changes
* Added code sanity fix for some services
* changed configration for create sampke db and code sanity fix
* Removed logs
* Added xlsx in dependency
* added migration for sample db
* Added loggin for testing
* Added await in migration
* Replace excel sheet with JSON files
* reverted package-lock file
* Fixed issues
* dependecy deletion
* Added schedular
* Added changes for bug fixes and typeorm query for creating sample db
* Removed color.scss file import
* Add logo in sample application
* add documentation link for sample db
* fixed migration issue for data queries creation
* removed sample db intergration
* bump version
* Remove .env file and code sanity
* deleted migration file
---------
Co-authored-by: Kritagya <kriks.iitk@.com>
Co-authored-by: Kritagya Kumar <kritagyakumar@192.168.1.6>
Co-authored-by: kriks7raptor <kritagya@raptorx.ai>
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* Add data-cy for drag drop empty canvas card (#9513)
* Add sample db condition on all components (#9516)
* Add sample db condition on all components
* Changed empty state for container
* Condiiton on sample data source
---------
Co-authored-by: kriks7raptor <kritagya@raptorx.ai>
* Release fix: subpath (#9535)
* Add sample db condition on all components
* Changed empty state for container
* Condiiton on sample data source
* fixed subpath issue for workspace setting and folders
* Folder change handler in subpath
---------
Co-authored-by: kriks7raptor <kritagya@raptorx.ai>
* fixed version
* fixed version
* fixed version
* update server version
* Bump version to v2.39.0
---------
Co-authored-by: kriks7iitk <34170719+kriks7iitk@users.noreply.github.com>
Co-authored-by: Kritagya <kriks.iitk@.com>
Co-authored-by: Kritagya Kumar <kritagyakumar@192.168.1.6>
Co-authored-by: kriks7raptor <kritagya@raptorx.ai>
Co-authored-by: Ajith KV <ajith.jaban@gmail.com>
Co-authored-by: kriks7iitk <kriks.iitk@gmail.com>
Co-authored-by: Adish M <44204658+adishM98@users.noreply.github.com>
Co-authored-by: Muhsin Shah <muhsinshah21@gmail.com>
* add ability to run TJDB queries from public apps
* make TJDB query run similar to other datasources
* add result key for backward compatibility
* throw query error on postgrest request failures
* Added Edit column functionality in ToolJet Database Table
* feat: null constraint support for create_table add_column edit_column
* fix: default data-type validation has been added
* completed column header revamp
* feat: added not null toggle in create new table drawer
* feat: on toggle not null constraint value will be persisted
* fix: loads label for not null toggle dynamically
* feat: add new column to tjdb null constraint support
* new datatype dropdown design implemented
* added new icon for delete column
* added delete icon for column
* added delete icon for column
* fix: when table name is empty create button will be disabled
* fix: datatype dropdown height fix
* fix: datatype drop down issue fix
* fix: datatype dropdown alignment fix
* fix: delete icon changed to new theme
* fix: delete icon changed to new one
* fix: create new column column name and datatype mandatory validation added
* fixed styling issues
* Added 2 space indentation for css
* inline css moved to css files as well as added 2 space indentation
* fix: createTable addColumn editColumn api payload structure change to incorporate constraint changes
* fix: error handling added for editColumn api
* added 2 space indentation
* fix: create table API payload structure changes
* added 2 space indentation and applied styles for dark mode as well
* disabled the existing column's dataType
* fix: create new column payload updated
* renamed columnIndex to columnSelection and fixed the plus column creator button position issue
* renamed columnIndex to columnSelection and added text visiblity for dropdown in dark and light mode
* moved the react-select's new styles to constants.js file as function
* react select's css moved to constants.js file
* fix: review comments has been fixed
* added edit column warning UI
* completed edit column new flow
* remove Please wait for ToolJet to update..this line from edit column warning message
* increased height for add column + button
* fix: create table will not accept empty values for mandatory fields like tablename column_name datatype
* fix: custom error message for tjdb add row operation
* new design implemented for creating a new row in ToolJet database
* added darkmode design as well for the create row disabled fields
* added hover effects for disabled fields
* added text color for disabled state
* added toast message for handling errors
* added some changes in edit row file
* added some changes in create row file
* added styles for the edit row fields according to new design
* added stylings for react select in edit row
* disabled create button
* disabled save button
* added null tag inside the input field
* add versioned transformations for tjdb import dto
* update view table query
* update tjdb forms for constraints changes
* added all operators list in constants file
* fix primary key check
* added sticky style for column and row creator
* added null tag inside the cell if the value is null
* resolved bugs in nullable fields
* added functionality for allowing empty string for datatype character only for edit row and create row
* added functionality for allowing empty string for datatype character only for edit row and create row
* removed console logs
* fixed bugs
* fixed bugs in editrow
* fix: create table datatype dropdown tick icon for respective datatype selected
* fix: default value is not updating while edit a column after change it to null constraint
* fix: create-row and edit-row boolean field toggle on default value selection color was missing
* fixed bugs
* wip sticky button
* added styles for sticky column creator and row creator
---------
Co-authored-by: Abd-Rahman-1999 <s.rahmanabd1999@gmail.com>
Co-authored-by: Ganesh Kumar <ganesh8056234@gmail.com>
* setup user tables and edit user drawer
* fix states on user edit and ui fixes
* fixes
* fix: user update
* remove: disable editing of full name while editing user
* bug fixes
* bug fixes
* 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>
* [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>
* basic and static join query executed
* tooljetDB Join operation flow - work inprogress
* complete flow for tooljetdb join pending testing and minor changes
* updated constructHavingStatement method logic to support aggregation function and added comments
* worki in progress tooljetDB Join
* feat: added basic layout for tjdb join fields
* feat: dropdown support for icons
* feat: working on where condition ui in join
* feat: added base layout for filter and sort in tooljetdb join
* feat: added multi select support and minor style changes
* feat: support default value for selectbox
* feat: dd select styling added
* style: override vanilla dd select styles with tj styles
* fix: fixed minor UI issues in select box
* feat: added select section layout
* feat: added hooks state for join options
* feat: load all added tables columns
* feat: working on where section logic
* feat: join constraints UI
* feat: filter condition dropdowns added
* feat: join widget for join query op in tjdb
* feat: sort section base UI
* feat: select widget for join query in tjdb
* feat: filter section add option and delete option done
* feat: update filter condition logic added
* feat: added onchange event for operator and rhs values update
* feat: added sort dropdown for tjdb join
* feat: base logic for Filters in join query
* fix: removed comments and added validation for fetching table details
* feat: add limit option logic
* feat: backend api has been integrated for tooljetdb joins
* added icons to solid icons
* fix: jsconfig auto save lint fix
* fix: update from table when selected table changes
* feat: added from to join table options in tjdb dq
* fix: added fetching tables list for JSON in backend
* fix: fixed json data for join query
* fix: temp fix for fields with empty object
* feat: added icon support for dd select
* fix: added default state to avoid error in conditionlist
* fix: limit tables selection to already joined tables in tjdb join
* fix: empty values to orderBy, filters and limit will remove the option from json
* fix: in json first level empty value scenario has been handled
* fix: select in tooljetdb join query can have multiple columns with same name handled by adding prefix tablename_ to the column name
* fix: restrict selectable tables in join contraints
* feat: reset join constraints when invlaid joins added
* fix: empty values will not be allowed UI validation
* fix: codehinter border has been removed
* fix: recalculate join data when join tables change
* fix: corrected options length calc for showing search box
* fix: filter table dropdown must contain only selected tables from join section
* fix: empty values validation has been removed
* fix: add from attribute to join options
* fix: alias is added to all the table column
* feat: selected option in Select section will be at the top
* fix: reset joins when selected table changed
* fix: drop down focus ui
* feat: autoselect all columns by defualt for join select
* feat: restrict column selection to same datatype
* fix: removed blank table names from select
* feat: added tooltip for info
* fix: removed duplicate tooltip
* fix: add button in table dropdown
* fix: added from table object back
* feat: tjdb join select dropdown select all cols by default
* fix: add new table button name corrected
* feat: no table selected error message
* feat: add select style for select dropdown
* style: updated dropdown select style to match new theme
* feat: added alert modal for deleting joins
* feat: hardcode operator since once one option available at the moment
* style: fix icon styles for dropdown
* feat: created reusable confirm dialogue
* fix: fixed bug for nested dropdowns
* fix; cache select components to prevent unnecessory rerenders
* feat: reused the common popup on updating the tables
* fix: info popup will trigger only if table is already exists
* fix: fixed bug that caused edit to break for tjdb join
* style: fixed spacing for tjdb join components
* fix: select section all options cant be deselected issue fixed
* fix: add info icon for empty filter and sort component
* feat: offset fature for joins has been added
* fix: layout fixed to incorporate filter dropdown with text
* fix: basic validation in UI for mandatory and non-mandatory fields
* feat: more options added for filter in joins
* fix: added filter option for regular expression
* fix: fixed wrong autoupdate of join fields
* style: updated badge color w.r.t theme
* fix: removed the commented code
* style fixes
* refactor: changed tooljetdb join logic based on tableId instead of name
* fix: joins table value is not been shown after save
* fix: CSS design fix and removed not required commented codes
* feat: tableid to table name mapping in error
* fix: errors will be shown in the debugger for tooljetdb join
* stylefix: container for join sort and select made full width
* stylefix: changed CTA test in popup spacing issue adjusted
* fix: few PR review comments to refactor has been done
* fix:random id generator has been removed and uuid has been used
* feat: Select all functionality in Select Drop down has been added
* fix: first time AND operator has been removed
* fix:Sort Section - Removed table were listed in the drop down
* fix: add more in join section deleting newly created joins
* fix: select section total selected count was wrong
* stylefix: dropdown menu height has been reduced
* fix: sort section on join query will have prefix table name along with column name
* feat: changed the select drop down with add new table option
* fix: center align text only for join operator drop down
* fix join icons to be centred
* reduce chevron icon size
* fix:error handling by status code
* feat: added placeholder for empty select box
* fix: fixed the PR comments
---------
Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com>
Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
* 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>
* 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>
* add support for Copilot assistance
* clean up
* fixes workspace settings crash
* refactor and resolved review comments
* api endpoint should be inferred from env
* copilot style fixes
* copilot style fixed
* beta tag fro copilot settings: workspace
* fire toast for unauthorised recommendation request
* include the previous code with the newly generated response
* scoping apikeys to orgs
* controller updates for copilot
* copilot org key updated
* disable toggle for new workspaces
* disable toggle for new workspaces
* fixes: multi-workspace toggle updates
* uninstall unsued packages
* fixes button state for copilot in transformations
* updated the urls
* feature: multi env support for datasources
* revert: datasources by env id api
* revert: datasources by env id api:frontend
* lint fixes
---------
Co-authored-by: Midhun G S <gsmithun4@gmail.com>
* 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>
* feat :: onboarded data forwarded to telemetry
* fix :: called temeltry api on setup sucees
* revert merge
* update endpoints for new onboarding data
* adding try catch
* added try catch for APIs
Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* adds dto for create and rename tables, renametable service
* adds constraints for psql reserved keyword for column name
* validations for column default value
* initial commit
* multi env changes
* multi-env changes
* entity fixes
* data query changes
* fix
* trying to avoid conflict with EE
* moved version creation to app creation function
* fixing some issues
* execution of data query
* revert options changes
* changed migration
* fixed some migration issues: testing migration
* multi env support
* app import export fix
* fixes
* migration fixes
* removed plugins from data query
* fixing some migration issues
* fixes
* remove console log
* fix
* front end api changes
* backward compatibility for app import
* Fixed a bug
* correcting some mistakes
* Added constraints and fixed some issues
* changes
* fix for data source listing
* fixing version operation issues
* remove kind from data query
* removed kind from data query
* fixes
* fixes
* fix for version creation
* migration fixes
* Fixed preview and run query issues
* Fix: new version and event query id issue
* fixed rest api oauth issue
- next test refresh token
* import export changes
* fixes for app import
* import fix
* added await for for loops
* fix
* fix for migration
* Fixed backend oauth-envId issue
* import export changes
* migration fixes
* fix
* fix
* fix for app import from 0.9.0
* test case fixes
* test case fixes
* making app name mandatory for import
* adding type for options
* fix: imported apps query linking issues
* review changes
* lint issue fixes
* added on delete cascade
Co-authored-by: Muhsin Shah <muhsinshah21@gmail.com>
* 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>
* fix login redirect for subpath
* hardcode login for subpath path as basename is not picked
* fix broken links
* fix google sso link
* remove invalid condition
* Implemented multiple access token feature
- working on refresh token case
* worked on refresh token flow
* added multiple token ability to openapi plugin too
- fixed some bugs
* changed tokenData to token_data
- fixed some issues
* added user type with user id
* changed user type
* Rewrote some function
- added switch for enabling and disable multi auth
- fixed some bugs
- refactored the code
* fixed view app issue
* Fixed public app issue
* cleaning some code
* (public_app) add a check to avoid oauth login redirect when there is no access token
* reverted all changes of openapi (temporary)
- will add multi token functionality once done with restapi
* fixed a bug
* fixed a bug
* refactored some code
* changed the switch text
* pr changes
* changed token_data back to tokenData
* cleaning code
* removed token data from datasources query
* removed some lines
* added a comment
* added pagination and filtering in backend
* added pagination
- created a seperate component for users table
- added pagination
* Added filter UI
* temporary css fix for pagination footer
* fixed pagination width issue
* now result will also clear when user clicks on clear icon
* Added seperate api for comment mentions
* Now we can search mentions by email, first and last names
* Fixed a bug
- email didn't send for comment mentions
* refactoring the code
* resolved PR changes
* Added isAdmin guard
* adding some checks
* fixed lint errors
* added wild card search
* Added no result found text
* fixed failing test case
* Working on PR changes
* Now users table avatars will load image too
* replaced skeleton classes with skeleton library component
* Completed PR changes
* added orderby
* Fixed some issues
* fixed failed test case
* have fixed some css issues
* replaced query with quersrting package
* fixed minor width issue
* Fixed some css issues
* fixed darkMode issue
* implemented on enter press search
* Refactored the code
* fixed white space issue
* refactored the code
* fixed overlapping issue
* refactored the code
* fixing some issues
* fixes
* removed guard
* code cleanup
* comments notification fix
* fixed conflict issues
* fixed css height issue
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* Fixed env vars 404 error while opening public apps
* Resolved the PR changes
- Replaced currentUser with isPublic
- Added a new guard to check if the current app is not public or not
* Refactored some code
* Removed orga variable dependency from org module
* Resolved all PR changes
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* feat: trigger mail when user is mentioned in comment
* reset email service
* fix backspace issue
* open comment on view comment clicked from email
* add helper to highlight user in mail
* reset mentioned input value when value turns empty in parent
* fix test
* use where condition + throw error
* add userId
* feat: add notification center (#3484)
* remove commented code
* Added new page for env vars
* Changed a field name
* Added some backend files
- Entity, Dto, services
* Started working with api endpoints
- implmented create
- added ability
* Added fields validation
- Added env variables into module
* Added update, delete, get apis
- Also implemented delete feature in frontend
* Implemented update operation on frontend
- Solved an api problem
* Added encryption
* Added encryption to update operation
- Exposed env vars to editor
- working on viewer
* Exposed env vars in viewer also
- Resolved a bug
* Updated edit & delete icon sizes
* Added specs
- Resolved issues that occurred while testing
* removed logout code
* Changed api endpoint
* splitted page into 3 different parts, Form & table
* Now, non-admin users can see all org env vars
* Resolved divider missing issue
* Added variable_type field
* Now secret server values will be shown as 'SecureValue'
* Now you can't update variable_type
* Now server will resolve the secret env values
* Resolved variable name issue
* Added unique constraints
* Resolved some frontend bugs
* Changed error text
* Fixed failing specs
* Added group permissions for org env vars
* Added permission checking in the backend
* Implemented permission checking in the frontend
* Edited spec for new changes
* Changed some specs and fixed failing specs
* Resolved failing case that showed up after merging with the latest develop
* Added default admin seed permissions
* Refactored some code
* Changed value to organization_id
* Fixed a bug
* Resolved a failing case
* Resolved PR changes
- Changed permission name
- Changed column type to enum
- Fixed some errors
- Refactored the code
* minor code change
* added scope
* Fixed: hide table when 0 no of vars available
* Fixed table dark theme issues
* Fixed encryption switch style
* Fixed failing cases and updated a spec
* Added %% for environment variables
* Added code to resolve single variable
* Fixed multi-variable usage
* resolved an issue
* removed extra divider
* Suggestions will also show up for %% too
* now, suggestions dropdown will only show env variables results
* env vars suggestions will not be included in js search results
* You can't resolve env variables from js code
- Also, we can't resolve js code from env variable enclosures
* added an info text
* Resolved variables issue
* fixed Viewer issue
* Resolved a bug
- client variable was not working on query preview and run actions
* Update error message while using server variable on canvas
* Revert "Update error message while using server variable on canvas"
This reverts commit 081e1c9e29.
* Resolved all PR changes
- removed prefix 'environmentVariable'
- redefined variable evaluation
- removed environmentVariable object from inspector
- fixed a small bug
* Fixed a server side issue
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* Added migration to add forder_delete column
* Added new group permission
* Added deleteFolder ability
* Added delete folder api
* Added menu icon
* Added new defualt permissions of admin
* Implemented folder menu and delete action
* Implemented update folder name in frontend
* Added folder name update feature
* Refactoring code
* Added specs for update and delete apis
- Updated test-helper function with new permissions
* Resolved failing specs
* corrected method name & add count checking to delete spec
* added organizationId scope
* Changed toast and modal texts
* Resolved a mistake
* Added a check box for update permission
* Now, an user can only delete folders, if he has the permission to view all apps
* Edited update and delete spec cases
* Added error toasts
* Refactored code
* Resolved PR changes
- Changed permission name in the frontend
- Refactored the code
* capitalized all toasts
- Changed error message
* Fixed new user permission issue
* Update a spec
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* Implemented frontend
- icon and confirmation modal
- delete fn in services
* Implemented backend Endpoint
- Changed confirmation modal msg
* Added unit test for delete operation
* Changed the modal msg again
* Fixed delete btn alignment issue
* Resolved a bug
* changed popover width
* Now delete endpoint will only return the status
* Added a new spec to test delete a data-source from a specific version
* Added deleteDataSource ability
* Removed commented code
* Added BadRequestException in else case
* Resolved an error
* Changed confirmation modal
* implement google sheet oauh token refresh flow
* format lint
* make use of constructor name as instanceof fails
* remove unused import
* force consent to get refresh token on googlesheets ds
* SSO 🔥 (#2)
* Add rough implementation of google SSO
* Use env variables for storing Google Oauth client id
* Set organization user to active when a new user is created via sso
This commit also fetches first name and last name from the payload
received from google.
Also adds some refactoring.
* Apply proper styles to google login button
* Refactor oauth controller
* Move google specific logic to a separate service
* Fail sign-in if google could not verify idToken
* Refactoring update for GoogleOAuthService
* Change env variable name for google sso client id
* Show Google sign-in button only if client id env variable is given
* Add SSO_GOOGLE_OAUTH2_CLIENT_ID to app.json
* Whitelist apis.google.com in CSP
* Add accounts.google.com to CSP
* Add documentation for Google SSO
* Add e2e tests for Google SSO
* Resolve minor linting issues
* Avoid use of raw query in migration for SSO ID
This commit also adds an index for SSO ID
* Verify domain of user's email id for single sign on
* Add documentation for RESTRICTED_DOMAIN env variable in SSO
* Move SSO controllers and services to ee folder
* Move GoogleLoginButton to ee folder
* Test the restricted domain verification for Google SSO
* Remove unnecessary console.log
* Apply better styles to Sign in with google button
* Remove documentation for Google SSO
This will be added to the community edition repo
* Remove unnecessary static images
* Fetch Google OAuth2 client id from server instead of client env (#3)
* Check for existing email when signing in via SSO (#4)
* hotfix oauth service return type
* hotfix sso user creation
* Allow disabling sign-up via SSO (#5)
* hotfix file input change on import/export
* Align SSO button on login box center (#6)
* Fix: group permission not being set on sso (#7)
* fixes group permission not being set on sso
* update specs for sso
* lint fix
* add user id on login response
* decamelize keys on login response
* fix specs
Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
Co-authored-by: navaneeth <navaneethpk@outlook.com>
* 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 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 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 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.