Commit graph

199 commits

Author SHA1 Message Date
Akshay
98d6fb928e
Feature: Adds toojet hub telemetry endpoint (#2283)
* adds endpoint for telemetry on tooljet hub

* remove optional params

* enable telemetry only for prod env

* remove org scope
2022-02-17 21:49:53 +05:30
Akshay
3c0aeb3253
Fix: Remove trailing slashes on tooljet host on invite email (#2230)
* remove trailing slashes on tooljet host on invite email

* strip trailing slash only when host name is present
2022-02-17 14:41:43 +05:30
Navaneeth Pk
8a15765c38
Add organization to metadata modal (#2273)
* Add organization to metadata popup

* Fixes
2022-02-17 11:40:25 +05:30
Akshay
59cf3b1931
Fix: Googlesheets OAuth refresh token flow (#2118)
* 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
2022-02-05 07:09:40 +05:30
Navaneeth Pk
966e7b6d77 Merge branch 'main' into develop 2022-02-02 14:48:55 +05:30
Sherfin Shamsudeen
eb483d088a
Run only queries belonging to current version (#2016) 2022-01-31 14:11:58 +05:30
Akshay Sasidharan
7c0ca61012 Merge branch 'main' into develop 2022-01-31 12:16:12 +05:30
Akshay
fa78963ec2
Fix: Folder and app scopes on homepage (#2004)
* fix folder scope on homepage

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

* e2e test case failure
2022-01-28 11:44:44 +05:30
Muhsin Shah C P
25aaf6c1f1
Added an organization 'role' field to the page that redirects after the email confirmation (#1944)
* Role field is added

* Resolving test failure
2022-01-27 20:56:35 +05:30
Midhun G S
5000f745b1
Github OAuth integration (#1837)
* Initial commit

* git auth

* git sso

* Git sso

* Git Oauth rebase

* review comments

* added email validation

* improvement

* Package lock revert

* E2E test case fix

* fix data population in migration

* Supress initial error thrown by google

* Fix

* e2e test cases

* added e2e test cases

* isValidDomain improvement

* e2e test cases fix

Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
2022-01-27 15:21:17 +05:30
Akshay
4f70e0b3f8
Fix: version find getting latest rec when not found (#1927)
* fixes version find getting latest rec when not found

* remove old spec

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

* add init version and ability to auto save

* auto save only when editing version is set

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

* add modal to create init version

* add init version and ability to auto save

* auto save only when editing version is set

* revamp version switching on editor

* skip save on app definition load

* handle click outside dropdown

* fix remove component and update styling

* fix auto save detail

* change wording of deployed to released

* remove console.log

* add spec for version creation from another version

* update version create model and hide save detail after shown
2022-01-24 11:21:54 +05:30
Sherfin Shamsudeen
89e00af6f4 Merge branch 'main' into develop 2022-01-21 18:24:39 +05:30
Akshay
6418fc2d18
fix associated events on dataqueries on version creation (#1893) 2022-01-21 18:24:00 +05:30
Midhun G S
2f6608bf6f
[Home Page Design Changes] App listing style (#1808)
* feature-1802

* Changes

* feature-1802

* review comments

* Fix for firefox issue

* Styles Reveiw

* review comments

* fix

* fix

* Increased app title height condition

* Test

* Remove logging

* Review comments

* debounce changes
2022-01-20 18:35:37 +05:30
Akshay Sasidharan
21a20bfd78 Merge branch 'main' into develop 2022-01-19 18:21:08 +05:30
Akshay
888a5d6bf1
Hotfix: oauth provider parse (#1867)
* fix oauth provider parse

* bump version

* fix failing spec
2022-01-19 18:19:21 +05:30
Sherfin Shamsudeen
0a5cb30013 Do not return any data on signup 2022-01-19 15:02:36 +05:30
Gandharv
2f3b441c0a
Move plugins to root (#1728)
* feat: move plugins to root

* modify tsconfig

* add .gitignore

* delete old plugins file

* add parcel

* docker compose volume mount

* add gcs

* add typescript to plugins folder

* gcs to ts

* add dynamodb

* add elastic search

* add firestore

* add gsheets

* add graphql

* add mongodb

* mssql

* add mysql

* add postgresql

* add redis

* add s3

* add slack

* add stripe

* remove plugin related packages from pkgjson

* add lib folder

* add gitignore

* remove typescript generated files

* remove generated file

* remove generated files

* add twilio

* add dist to docker compose cache binding

* add dist prefix

* cleanup - 1

* delete dist

* rename to index.ts + add jest config

* add it.todo in tests

* test fixes

* test file changes

* fix type checks

* add @tooljet/plugins to server package json

* esm vs commonjs bug, reduce got to 11.8.2 from 12.0.0

* docker file npm package version fix

* add typesense

* cleaup - 2

* add sendgrid

* add lerna build and clean script for all packages + tsconfig

* cleanup -3

* add plugins build step

* add missing plugins build step in npm run build

* add mssql, mysql & postgres as singleton classes

* add db connection to cache only if datasourceId is available

* client: add data source schema/manifest files

* add query operations files

* logic for wrapping form with schema

* add script to create index file

* add @tooljet/plugins to frontend folder

* cleanup 1 -frontend

* cleanup - 2 // frontend // data queries

* add client and index to gitignore

* update gitignore

* fix lint & test

* update ci

* fix unit, e2e

* cleanup -3

* fix test

* fix tests

* fix indent

* try npm ci

* fix tests

* fix typo

* fix

* rename file for server entry

* heroku fix

* add main and types entry points in pkg json

* move common to root

* cleanup - 4: remove redundant $ sign prefix

* cleanup - 4: remove redundant $ sign prefix

* update options in-sync before DOM is painted

* change type cloud to cloud storage

* update readme

* update ci.yml

* update ci yml

* add pkg-lock.json

* rename index.ts to server.ts

* update lock files

* add server package.lock

* remove unused import

* revert commit: add minio

* add root dep

* import server.ts

* remove plugins build step

* add npm shrinkwrap

* update version - plugins

* add new version - 0.0.8

* upgrade version

* move to symlinked package

* add lock file

* feat: add icon inside package

* add plugin creation docs

* Remove seed

* move icons to plugins folder

* install pg dep

* add react to packages

* add seed cmd

* revert change

* add plugins build in lint, e2e, unit

* e2e, lint use npm ci

* update dockerfile for plugins

* try combining release with web

* limit memory on release

* try executing seed script post transpile

* try executing seed from server directory

* update seed execution

* add minio

* add correct type

* add minio to pkg json

* remove old file

* fix provider key

* add python installable + npm ^7.2.0 (#1752)

* add python installable + npm ^7.2.0

* add py to prod file

* pin npm version to 7.20.0

* pin npm version to 7.20.0

* split into multi stage build and remove python for buildx

* copy plugins from buider stage

* update dependencies

* add freetds dependency

* update server dockerfile

* update client dockerfile

* update dev dockerfile and compose file

* fix entrypoint

* fix server dev dockerfile

* update docker-compose

* remove npm install on root dir on docker build

* fix heroku script

* make lerna prod dependency to enable prod builds

* remove redundant env setup

Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
Co-authored-by: navaneeth <navaneethpk@outlook.com>
2022-01-17 12:38:17 +05:30
Midhun G S
1e103ad4b7
[Home Page Design Changes] Update icon API (#1787)
* Feature-1786 Update Icon API

* Update Folders.jsx
2022-01-12 18:04:39 +05:30
Sherfin Shamsudeen
4b8fbc5c74
Bugfix: resolve missing query associations on importing app (#1800) 2022-01-11 23:03:00 +05:30
Sherfin Shamsudeen
73d2bfc851
Revert "Bugfix: resolve missing query associations on importing app (#1798)" (#1799)
This reverts commit 45d6c6e3fb.
2022-01-11 22:58:22 +05:30
Sherfin Shamsudeen
45d6c6e3fb
Bugfix: resolve missing query associations on importing app (#1798) 2022-01-11 20:01:32 +05:30
Akshay
783ed2133c
Fix: Archived user cannot login or perform authenticated actions (#1749)
* archived user cannot login or perform authenticated actions

* fix spec

* invalidate invite token on archive
2022-01-07 14:46:23 +05:30
Akshay
51f3c2f9ab
Fix: check on removing last active admin (#1714)
* fix check on removing last active admin

* fix typo
2022-01-06 16:08:18 +05:30
Akshay
823833b12e
Feature: Versioning data sources & queries (#1620)
* add migrations for versioning datasources and dataqueries

* eslint migrations folder

* update ormconfig to use app context in migrations

* make app to make use versioned data sources and queries in editor

* app import should honor data source and query versioning

* register ts-node path on running migrations

* load data queries when finding versions

* update e2e tests

* handle for invalid oauth2 datasources

* update e2e tests

* introduce db migrations access lock to handle concurrent backfill

* scope migrations by missing version id

* fix import export without data source/query versions

* fix import

* fix spec

* handle invalid data on migration

* fix import

* remove console logs

* handle new app imports

* fix version check

* fix async creation

* explicitly add timestamps on version import
2022-01-04 13:34:12 +05:30
Akshay
e2dfbf038a
Feature: Unarchive users (#1694)
* add ability to unarchive users

* add e2e specs

* reset password on unarchive

* fix spec
2021-12-31 02:11:10 +05:30
Midhun G S
5bdd0fd6bf
Home Page Application search box (#1603)
* feature-1567 initial commit

* feature-1567

* freture-1567 App search box

* added default value for search key

* Loading fix

* Review comments

* Separated like query

* feature-1567 e2e testcases

* feature-1567 Fix

* feature-1567 fix

* feature-1567 fix
2021-12-22 14:37:37 +05:30
Sherfin Shamsudeen
7a79695af7
Feature/disable password login (#1585)
* Add option to disable login/signup via username/password

* Add documentation for disabling login via username/password
2021-12-15 22:53:07 +05:30
Midhun G S
d9c541ec83
BugFix-1555 Apps listing order fix (#1566) 2021-12-13 14:30:19 +05:30
Akshay
5b30aa2007
Chore: Setup pipeline (#1539)
* 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>
2021-12-10 08:43:05 +05:30
navaneeth
b4a5a3a16a Update helmet policy 2021-12-09 11:50:51 +05:30
Akshay
bf13cf5e1c
Feature: library apps with templates (#1529) 2021-12-07 18:55:41 +05:30
Arpit
2b15fe6bdd
explicitly set frame-src & frame-ancestors directive (#1524) 2021-12-07 15:04:43 +05:30
Akshay
260cde50ce
Fix: folder create permission (#1518)
* fix folder create permission

* scope migration
2021-12-07 00:37:19 +05:30
Arpit
2b303c026b
[Feature] : Gsheet update operation (#1453)
* gsheet update op: schema and UI

* gsheet update op: server

* update operation for google sheet datsource api

* remove unsued comments

* backward compatiable: removed custom rule for sheet

* unsused consolelogs

* .

* Show gsheets update query body as a single-line codehinter

Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
2021-12-02 12:25:40 +05:30
Akshay
67f297db9a
fix specs (#1460) 2021-11-25 18:16:39 +05:30
Sherfin Shamsudeen
d88139d5b7
Feature/merge google sso to community edition (#1420)
* 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>
2021-11-17 16:51:50 +05:30
Akshay
b1c623e03c
Fixes seed user permission (#1411) 2021-11-15 21:15:42 +05:30
Gandharv
27bb0ef2a3
Add jwt auth to websocket connections (#1392) 2021-11-15 21:15:16 +05:30
Akshay
a7f36f77f6
Chore: Revise and add specs for folders (#1391)
* revise and add specs for folders

* Feature: Folder create permission (#1394)

* add migration for folder create permission

* add backfill migration for folder create permission on admin group

* adds permission for folder creation

* refactor function

* select distinct folders
2021-11-15 11:43:48 +05:30
Arpit
df88790dab
Feature: IFrame widget (#1402)
* feature: iframe widget

* iframe docs - added

* explicitly set frame-src directive

* explicitly set frame-src directive

* typos fixes
2021-11-15 10:09:56 +05:30
Akshay
a7fb25a293
Fixes stack trace not being logged (#1387) 2021-11-09 08:40:16 +05:30
Gandharv
957241bdb8
Broadcast only to clients connected to a particular app id (#1384)
* websocket: broadcast only to clients connected to a particular app id

* fix: type error

* fix: broken test for comment
2021-11-08 12:45:18 +05:30
Akshay
ad63ff0ae2
filter folder apps only with permissions (#1383) 2021-11-07 13:29:46 +05:30
Navaneeth Pk
147274f14f
CSP for WS (#1375) 2021-11-05 16:59:59 +05:30
Gandharv
22bce1f4fb
Feature: Collaboration ( realtime comments for canvas ) 🔥 (#810)
* 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
2021-11-01 12:58:03 +05:30
navaneeth
669bc896fc Merge remote-tracking branch 'origin/main' into develop 2021-10-26 18:34:40 +05:30
Akshay
f4ef6fd357
set default group permission on sign up (#1305) 2021-10-26 18:33:51 +05:30