* add migrations for versioning datasources and dataqueries
* eslint migrations folder
* update ormconfig to use app context in migrations
* make app to make use versioned data sources and queries in editor
* app import should honor data source and query versioning
* register ts-node path on running migrations
* load data queries when finding versions
* update e2e tests
* handle for invalid oauth2 datasources
* update e2e tests
* introduce db migrations access lock to handle concurrent backfill
* scope migrations by missing version id
* fix import export without data source/query versions
* fix import
* fix spec
* handle invalid data on migration
* fix import
* remove console logs
* handle new app imports
* fix version check
* fix async creation
* explicitly add timestamps on version import
* make calendar week date formattable
* update version only if calendar is present
* Fix erroneous date format determination while migrating to custom week view date format
* Add documentation for calendar week view header date format style
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* Install typesense npm package
* Implement CRUD operations using TypeSense
* Add documentation for typesense integration
* Rename apiKey to api_key and make it encrypted for typesense
* Add logo for typesense data source
* Add delete operation to typesense
* Add documentation for delete document
* Make protocol field a dropdown for TypeSense
* Additional documentation for TypeSense data source
* upddated to new api & multiselect labels fixed
* backfill properties
* Expose default value of multiselect once the component is loaded
* Make multiselect reset to empty whenever option set is changed
* Whenever option set of multiselect changes, set it to default value if default value fits inside the new set of options
* Avoid crash in multiselect using ? operator.
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* feat: add restore shortcut when component is deleted
* change toast messages to hot toast from toastify
* change toast messages to hot toast from toastify
* change toast messages to hot toast from toastify
* on key press match clear the pressed keys
* add react hotkeys hook and delete use-shortcuts custom hook
* change toast messages to hot toast from toastify
* add immer lib
* applyPatches from immer + add undo redo on appdefination changes
* remove notification on undo
* add can-undo + can-redo checks
* add missing can-redo to handlePatchAdd
* add component versioning on componentDefinitionChanged
* set default value of loading state to interpolated boolean false for table
* set canUndo on initial load to false
* fix last element not getting removed on undo
* Remove console log
* add migration to change loadingState for existing tables
* set loadingstate value based on the previous value
* fix: app crash on inspector opening
* add check for selectedComponentId inside components def
* update template definitions for loadingState
* fix alert for success, error, info for button notifications
* github actions for PR and push to develop branch
* test workflow
* move to workflows folder
* add setup node action
* modify build
* specify npm version
* config unit test
* specify host postgres
* specify container to run on
* add postgresql dependency
* add specify ws adapter for test
* add e2e test
* fix linting
* only log errors on tests
* update eslint config
* fix linting
* run e2e test in silent mode
* fix library app spec
* dont send email on test env
* fix org scope
* mock env vars
* remove reset modules
* force colors
* explicitly close db connection
* add eslint rule for floating promises
* update workflow
* fix floating promise
* fix lint
* update workflow
* run on all push and pulls
* update lint check files
* simplify workflow
* increase js heap size on env
* separate lint and build
Co-authored-by: arpitnath <arpitnath42@gmail.com>
* migration: add migration for global settings
* add empty check for definition
* update template definitions
* set slug as null on definitions
Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
* 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>
* Better canvas
* Better canvas
* Better canvas
* Fix for resize
* Fix for drag
* Fix for drag
* Fix for drag
* Adjust width of components by # of grid lines
* Adjust components to comply with gridline based width
* Fix the width of rigth sidebar
* Fix for subcontainer resize issue
* Fix for dropped widget width (sc)
* Fix subcontainer drag width
* Fix grid for sub container
* Fix viewer
* Fix
* Fix
* Use RnD for dragging within canvas
* bounds for subcontainers
* fix for subcontainers
* Fix for mouseover issue
* Fix
* Fix widget widths
* Fixes chart
* Fixes qr scanner and divider
* Remove scaleValue
* Mmerge fix
* Mmerge fix
* Fix for ormconfig
* Fixes for comments
* Add comment where the user clicked
* Disable dragging on viewer
* Max width for canvas
* Fix for widget click events
* Fix for radio button
* Rebase widget width and left offset for responsive canvas
* Fix
* Fix the width of file picker
* Fix for calendar widget
* Disable zoom selector
* Fixes comment positions
* css fixes
* Fix
* Recompute width and offset of subcontainer widgets based on its parent's width
* Calculate container width separately for modal children while migrating to responsive
* Refactor migration to responsive canvas whereinwhich all mutations are done only after all required changes are computed
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>