Commit graph

1076 commits

Author SHA1 Message Date
Naveen Pandurangi
1cfffb902c
FIX #2375 - Incorrect error message when user email already exists (#2418)
* FIX #2375

Incorrect error message when user email already exists

* Remove console log

* Add existing user check before creating new user
2022-03-04 07:58:02 +05:30
Akshay
e81c7cdf93
fixes failing spec (#2425) 2022-03-03 22:05:19 +05:30
Akshay
0ea41d9a9b
Fix: Make use of db queries instead of in memory operations (#2421)
* make use of db queries instead of in memory operations

* handle case where version is not present

* fix app load on slug
2022-03-03 21:37:00 +05:30
Akshay
62044cbb41
Make editing version as last updated version (#2371) 2022-03-01 09:44:05 +05:30
Akshay
4d259ebd34
Fix: App version export order (#2367)
* fix app version export order

* add comment for querybuilder usage
2022-03-01 09:23:04 +05:30
Akshay Sasidharan
18c4d91016 Merge branch 'main' into develop 2022-02-28 14:42:09 +05:30
Akshay
fe93d2af7d
hotfix: update telemetry vars as documented (#2376) 2022-02-28 14:41:35 +05:30
Maurits Lourens
93af7cedcb
Feature: Add remove from folder option to apps dashboard (#2333)
* Add remove from folder option to apps dashboard

* Add confirmation modal
2022-02-28 08:45:03 +05:30
Sherfin Shamsudeen
bff40ea37a Merge branch 'main' into develop 2022-02-25 20:04:47 +05:30
Arpit
a6b72d387a
[Bugfix] multi-line SQL queries generated with Javascript (#2310)
* fixes multi-line js in sql queries

* add test case for multi-line string passes as optins to getQueryVariables
2022-02-25 20:04:05 +05:30
Akshay Sasidharan
1ee420ad52 bump version 2022-02-25 12:27:20 +05:30
Akshay Sasidharan
3b30205ac2 bump tooljet version 2022-02-23 19:07:19 +05:30
Akshay
c152be5d55
ping with tooljet version on telemetry endpoint (#2318) 2022-02-22 16:15:59 +05:30
Navaneeth Pk
e8fbe8a4e8 Bump ToolJet version 2022-02-17 22:10:26 +05:30
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
Gandharv
87f385d727
Chore: update sentry sdk to 6.17.6 (#2220) 2022-02-10 14:30:43 +05:30
Shubhendra Singh Chauhan
85121ff29c
Updated template: create record query in store catalogue (#2212) 2022-02-10 14:26:08 +05:30
Navaneeth Pk
39b3317aed Bump ToolJet version 2022-02-08 12:43:10 +05:30
Akshay
28b72ef773
update package lock for bigquery (#2198) 2022-02-08 10:53:42 +05:30
Sherfin Shamsudeen
cba49a8813
Fix failing specs on oauth and templates (#2197) 2022-02-08 09:49:27 +05:30
Sherfin Shamsudeen
c64b68187a
Convert multiple fields to fx (#2170)
* Set visibility, loadingState and disabledState of all components to be displayed as UI

* Set fxActive of visibility, loadingState and disabledState of all existing components to true

* Remove unnecessary console.log from migration
2022-02-07 19:58:34 +05:30
Shubhendra Singh Chauhan
14c29ee92c
Added more templates (#2123)
* Added templates

* added new categories

* removed multiple versions in a template
2022-02-07 18:51:15 +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
e3317aa5b7
Chore: Docker compose plugins dev (#1953)
* add plugins to docker compose

* build common

* change cmd

* build:pkgs

* fix'

* temp: add named vol

* update docker-compose for plugins dev

* update seed script to transpile only

* fix ci

* fix ci

Co-authored-by: gandharv <gandharvkumargarg@gmail.com>
2022-01-27 15:08:32 +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
Muhsin Shah C P
3c99dd6fed
Added different border shapes for image widget (#1735)
* added different border types

* added migration file

* rounded-0 replaced with none
2022-01-15 10:38:13 +05:30
Sherfin Shamsudeen
9b1b19e831
Feature/templated library apps (#1820)
* add launch icon

* Set categories for app templates

* Display button with dropdown for create new app

* Show modal when "create from template" is chosen

* Implement template selection modal category list

* Filter and list app templates based on selected category

* Display template screenshot on templates modal

* Align template screenshot vertically and horizontally centered

* Deploy template app when deploy button of template modal is clicked

* Display data sources in template preview

* Add search functionality to template modal

* Show "no results" if templates are not found

* Display category counts on template list

* Add styles for darkmode

* Dark mode style updates for template modal

* Add dark mode template screenshots

* Correct template screenshot proportion

* Change text on deploy button of template modal

* Remove links to apps and library from dashboard

* Remove library apps

* Remove unnecessary import of deleted component Library

* Show loading icon when template is being created

Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
2022-01-15 08:07:05 +05:30
Midhun G S
21d63d2c99
Feature: Mongodb more operations support (#1717)
* feature-842 mongo support

* feature-842 fix

* json parse improvement

* Feature-842 date data type support

* feature-842 fix

* convert ejson to bson on mongo queries

* fix type on parse

* json parsing

* Typo error fix

* Insert Many Fix

Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
2022-01-14 13:53:57 +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 Sasidharan
c6031d6a30 bump to v0.13.0 2022-01-07 14:54:34 +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
adb04304da
Feature: Add minio datasource integration (#1662)
* add minio datasource integration

* fix import
2022-01-04 15:02:57 +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
Bhavin Ag
10ee3639f1
chore(deps): update type deps to dev deps (#1715)
* chore(deps): update type deps to dev deps

* fix: update dependency as per latest npm
2022-01-04 09:42:15 +05:30
Akshay
682ed0d5aa
Ability to configure for custom CA certificates (#1711) 2022-01-03 09:42:22 +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
Akshay
ad4baabf79
Feature: Customizable calendar date (#1656)
* 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>
2021-12-29 15:36:45 +05:30
Arpit
210366ee3e
[improvement] Rest API query response-request (#1630)
* rest api query response-request

* remove console.logs

* add req/res obj to sidebar inspector: queries

* remove console.logs

* add collapseStringsAfterLength to restapi json comp

* fix typo convention

Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
2021-12-28 16:09:38 +05:30
Akshay
577e7b82b9
introduce db migrations access lock to handle concurrent backfill (#1628) 2021-12-27 17:11:35 +05:30
navaneeth
62f930987a Bump ToolJet version 2021-12-22 17:27:30 +05:30
Arpit
8a89bc8b71
[Feature] : SendGrid integration (Datasource API) (#1608)
* SendGrid integration

* unused logs

* unused logs

* update help text

* fixestypos for schema description

* fixestypos for schema description

* adding sendgrid docs

* updates logo from  Sendgrid's media kit

* sendgrid query schema updated

* fixes typos

* updates docs

* typos fix

* fix jest module transform

Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
2021-12-22 17:23:45 +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
a68a7b67d1
Feature/typesense integration (#1613)
* 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
2021-12-22 07:19:17 +05:30
Midhun G S
4f73a34365
Twilio SMS Integration (#1598)
* Twilio SMS Integration

* package lock fix

* package-lock fix

* Review comments
2021-12-20 11:49:00 +05:30
Akshay
fa9de160cc
add capability to add prefix on s3 listing (#1601) 2021-12-18 09:57:39 +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
Akshay
b26a23176c
Chore: Update user e2e tests (#1556)
* Update tests

* remove console log

* remove explicit db connection close

* remove reload usage
2021-12-14 16:32:03 +05:30
Arpit
f1457a1905
[improvement] Widget components #1475 - multi-select widget (#1535)
* 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>
2021-12-13 21:43:09 +05:30
Midhun G S
d9c541ec83
BugFix-1555 Apps listing order fix (#1566) 2021-12-13 14:30:19 +05:30
Gandharv
6c90a1667b
Feature: undo/redo for canvas 🔥 (#1446)
* 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
2021-12-11 04:41:24 +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
5b558588d9 Bump ToolJet version 2021-12-09 15:52:06 +05:30
Gandharv
9db30829fd
Add migration for global settings for old apps (#1545)
* 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>
2021-12-09 15:47:56 +05:30
navaneeth
b4a5a3a16a Update helmet policy 2021-12-09 11:50:51 +05:30
navaneeth
50b98f0178 Bump ToolJet version 2021-12-07 21:21:18 +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
navaneeth
4af865b8cd Bump ToolJet version 2021-11-25 14:22:39 +05:30
Sherfin Shamsudeen
3e3955844a
Consider parent container width only if parent container exists while migrating to responsive (#1455) 2021-11-24 23:04:11 +05:30
Sherfin Shamsudeen
598a46f76b
Fix failing oauth specs due to change in permissions (#1422) 2021-11-21 09:44:54 +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
Navaneeth Pk
20cccd1df7
Responsive canvas (#1363)
* 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>
2021-11-16 17:14:09 +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
navaneeth
393b7a8a64 Bump ToolJet version 2021-11-08 13:08:29 +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
Akshay
acdef10b05
change orm migration transaction mode to each (#1379) 2021-11-05 18:04:39 +05:30
Navaneeth Pk
147274f14f
CSP for WS (#1375) 2021-11-05 16:59:59 +05:30
Navaneeth Pk
5055aed8e6
Adds ws to package.json (#1373) 2021-11-05 14:18:03 +05:30
Akshay
c58e0765bf
Feature: Google cloud storage integration (#1364)
* add ability to list buckets/objects and create signed url fot GET and PUT

* ask to specify region when adding s3 buckets

* add ability to read file contents from s3

* add ability to upload to s3 bucket

* rename s3 dropdown options

* add abilty to read, write, list and generate signed url for gcs

* fix gcs query service

* remove paginated response

* make gcs private key as textarea

* revise gcs upload response
2021-11-04 14:30:09 +05:30
Akshay
5650f9f5bc
Fixes failing docker build (#1366) 2021-11-03 19:31:53 +05:30
Akshay
44f3b9d8d0
Feature: AWS S3 Integration 🚀 (#1333)
* add ability to list buckets/objects and create signed url fot GET and PUT

* ask to specify region when adding s3 buckets

* add ability to read file contents from s3

* add ability to upload to s3 bucket

* rename s3 dropdown options

* update region dropdown for s3
2021-11-02 11:42:46 +05:30
navaneeth
3633ccf9bf Merge remote-tracking branch 'origin/main' into develop 2021-11-01 17:31:55 +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
Akshay
69c7f0f1ba
fixes data population from user roles to groups (#1330) 2021-10-29 16:01:32 +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
Daniel Shuy
1efd73d8e2
Include ToolJet version in exported JSON (#1297) 2021-10-26 12:55:40 +05:30
navaneeth
74533f98de Bump ToolJet version 2021-10-25 22:29:49 +05:30
Akshay
a958b37cef
Feature: Group level permissions and related fixes (#1204)
* add column app_create to group_permissions table

* add app create column to group permission entity

* backfill app_create permission as true for admin group

* add app delete permissions to group permissions

* update group permissions entity for app delete

* add ability to set group level permission for app creation

* refactor and fix app clone and imports

* fix created by user on homepage

* fix spinner on import

* update seeds service to set group level permission

* fix rollback query

* fix imported/cloned app timestamps

* honor logged in user permissions at UI

* remove console log

* fix data query id being replaced on import

* replace data query id within app versions on import
2021-10-25 14:05:32 +05:30
Sherfin Shamsudeen
a7502e5f03
Feature/cell types (#1194)
* Add custom spacing for table cells

* Add migration to set every tables cell spacing compact

* Rename cellSpacing to cellSize

* Add documentation for table cellSize
2021-10-22 07:49:51 +05:30
Dainius Lukša
7fb6a70b25
Invite user with existing email show error (#990)
* Invite user with existing email show error

* fixed react key warning

* fix var to const
2021-10-20 07:51:13 +05:30
navaneeth
073cda3184 Bump ToolJet version 2021-10-19 17:00:46 +05:30
Akshay
b0208c553a
Feature: Add ability to import and export apps (#1138)
* add ability to import and export apps

* copy credentials on imports if it already exists

* authorize exports for public apps with only authenticated users

* remove app auth guard for export

* make import as a separate button

* update import button styling

* handle prexisting slug while import

* set file input as null when file has been read

* add fix for slug updation on import
2021-10-19 16:52:00 +05:30
Santosh Bhandari
417a46e7da
fix: Add line padding to invitation email (#1146) 2021-10-19 16:06:32 +05:30
Akshay
047ad1bfe7
fix equality checks and data query run guard (#1086) 2021-10-16 08:40:56 +05:30
Akshay
799bef0138
fix public app view and data query run (#1082) 2021-10-15 14:35:11 +05:30
Trevor Bayless
500b5831d2
Remove unnecessary constructor (#1071) 2021-10-15 10:39:36 +05:30
Akshay
ceca48b100
Revert "Feature: Snowflake integration (#996)" (#1046)
This reverts commit d4c4501d63.
2021-10-14 22:10:18 +05:30
alammoiz
b23746084b
Refactoring: added missing return type (#1014) 2021-10-14 16:47:05 +05:30
Dainius Lukša
367617d678
Fixes smtp secure port settings (#1039) 2021-10-14 13:55:09 +05:30
Tulsi Prasad
e055de3ad1
Avoid using promises in places not designed to handle them (#1015)
Fix #1001
2021-10-13 22:04:37 +05:30
Akshay
d4c4501d63
Feature: Snowflake integration 🔥 (#996)
* add snowflake datasource and query manager for frontend

* add snowflake integration
2021-10-13 09:35:35 +05:30
Akshay
e3ac378959
fix restapi query run with empty url (#991) 2021-10-12 19:34:37 +05:30
Akshay
7023f72d1d
Feature: User access management 🔥 (#918)
* create migrations for group permissions setup

* define new entities and relationships

* revise migrations

* rename columns

* add migration to populate permission groups for existing users

* Feature: User access permission group usage (#883)

* create migrations for group permissions setup

* define new entities and relationships

* revise migrations

* rename columns

* add migration to populate permission groups for existing users

* revise migrations

* hide roles usage

* setup group permissions for apps and users

* fix defaultChecked

* fix update permission checkbox

* fix casl ability check to have params passed

* fix casl apps abilities to check with app specific permission

* add ability to delete groups

* conditionally render edit and delete options for all and admin users

* fix user role to group migration

* revise group management pages to disallow updating default group

* move manage users and groups to navbar dropdown

* show only addable apps and users on dropdowns

* rename header as profile settings

* scope addable apps and users by organization

* scope viewable apps on homepage

* hide manage groups link from non admins

* make permissions to be used with radio input

* add loading state for add apps/users buttons

* revise unit tests

* revise migrations

* fix e2e tests

* comment out dead code

* fix seeds script

* handle folder count

* captalize error toast

* hide manage users dropdown for non admins

* show fobidden error on blank homepage

* fix folder app count

* fix invalid state set

* make group name clickable for edit instead

* users with edit permission can deploy apps

* not show edit link on homepage if user dont have update permission

* remove unused entity from merge

* remove roles usage from manage org users page

* fix folder count and blank slate on homepage

* disable add buttons if there is no selections

* humanize default groups on view

* make app added onto groups have read permission by default

* not show app menu if user is not admin

* remove admin users from group user addition dropdown

* create default permissions for app cloned

* fix querying index page without page params

* fix admin scoped out from group add

* remove apps from header

* fix invitation url not shown

* scope admin deletion check by org

* scope public apps by organization

* add specs for group permissions e2e

* removed unused entity and add group permissions spec

* remove console logs

* remove unused permission

* scope public app count by org

* remove console log

* refactor manage group permission resources component

* update group permssion in org scope
2021-10-11 20:45:58 +05:30
navaneeth
0c74c7d4db Bump ToolJet version 2021-10-07 13:17:29 +05:30
Sherfin Shamsudeen
c2e97af003
Selected row should be highlighted for table widget (#902)
* Add functionality to highlight selected row

* Add migration to set highlightSelectRow to false for existing tables

* Add documentation for highlighting selected row

* Support highlighting selected row for striped table
2021-10-05 19:36:30 +05:30
Sherfin Shamsudeen
eaaccc247e
Bulk selection for table widget 🔥
* Functional implementation of checkbox selector for table

* Add inspector toggle to display bulk selector checkboxes

* Expose selectedRows variable of Table

* Refactor select-all checkbox into a separate function

* Remove unnecessary import of v4 package

* Add TODO comment for adding checkbox color

* Revert typo that accidentally got committed

* Add explanatory comment in selectedRows data generation code

* Combine original row data and displayed row data for selectedRows

* Show only original data in selectedRows

* Use useRowSelect hook to for implementing table selector

* Show selector column only when it is enable from inspector

* Add migration to set showBulkSelector to false for all tables

* Add documentation for bulk selection

* Set label of toggle that (en/dis)ables bulk selection: 'Bulk selection'
2021-10-05 12:37:17 +05:30
navaneeth
ee1e59dee5 Merge branch 'hotfix/fix-csp' into develop 2021-10-04 21:54:18 +05:30
navaneeth
f359c06d25 Disable insecure requests upgrade (CSP) 2021-10-04 21:52:44 +05:30
Arpit
a189bf90a0
get queryOptions from url provided and populate the params tab (#860)
* get queryOptions from param and fill the params tab

* update params tab when url is updated

* gets the params from url and merges with  params entered manually

* rolling back restapi/index.jsx
2021-09-30 00:11:32 +05:30
Akshay
ac92845e60
increase postgres ds timeout (#819) 2021-09-22 18:51:00 +05:30
Sherfin Shamsudeen
3ca60c5b2d
Bugfix/firestore query conditions (#813)
* Add multiple fields for order and orderType in firestore query

* Add support for querying firestore with where, order and limit

* Minor refactoring updates for firestore query operations file

* Minor refactoring for firestore query operations

* Update package-lock.json with npm 7.20.0
2021-09-22 00:19:29 +05:30
Arpit
26c9cc655c
Fix linting errors across the app (#785)
* eslint-setup: rules for frontend and server

* setup pre-commit:hook

* frontend:eslint fixes

* frontend eslint errors and warning fixed

* eslint:fix for ./server

* fix server/test: expectatin string lint/error

* pre-commit:updated

* removed unwanted install cmd from docker file

* recommended settings and extension for vscode

* husky prepare script added

* updated extension recommendations

* added prettier as recommended extension

* added pre-commit to package.json

* remove .prettierrc file

* resolve changes

* resolve changes
2021-09-21 19:18:28 +05:30
Akshay
40005146c4
Fix role change when only one admin is present (#766) 2021-09-21 17:36:21 +05:30
Arpit
4dc356cb36
Parameter to accept a specific range within a Googlesheet (#798)
* Parameter to accept a specific range within a googlesheet

* default range: A1:Z500
2021-09-21 17:20:29 +05:30
Akshay
bc193c081f
Fix: Only update credentials when data source is updated (#763)
* only update credentials when data source is updated

* fix spec
2021-09-21 10:20:02 +05:30
Akhil G Krishnan
88e08e50f9
BugFix: User Invitation URL in email is not clickable (#799) 2021-09-21 10:05:36 +05:30
navaneeth
f2d4361ed8 Bump ToolJet version 2021-09-20 15:53:18 +05:30
Navaneeth Pk
35e1ee29dc
Eager load app versions (#786)
* Testing relations

* better fix

* Testing relations
2021-09-20 12:08:49 +05:30
navaneeth
1086c2036e Use max in ormconfig 2021-09-19 10:18:57 +05:30
navaneeth
92d6291fdb Upgrade pg 2021-09-19 09:57:08 +05:30
navaneeth
b464ec5f03 Increase connection limit for orm 2021-09-19 08:58:06 +05:30
navaneeth
6dd30b616e Timeout for TypeORM 2021-09-19 08:51:57 +05:30
navaneeth
13d1f600a8 Add timeout for queries (pg) 2021-09-18 21:01:50 +05:30
navaneeth
77b92dd7ad Adds statement timeout for pg queries 2021-09-18 20:52:02 +05:30
Navaneeth Pk
f86f83c766
add pg datasource connection timeout (#781)
Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
2021-09-18 12:26:39 +05:30
Akshay
d166747276
add post health check endpoint (#768) 2021-09-16 21:45:33 +05:30
Akshay
52cbec3d4c
Add ability to clone from existing apps (#743)
* add ability to clone from existing apps

* make use of clone ability to authorize clone requests

* refactor to use seperate service for cloning apps
2021-09-15 21:17:44 +05:30
Akshay
762773770c
Fixes app creation authorization (#757) 2021-09-15 21:12:04 +05:30
navaneeth
fe1c00f2b7 Bump ToolJet version 2021-09-14 19:28:42 +05:30
Sherfin Shamsudeen
d27e500875
Add option for enabling/disabling SSL for MySQL (#754) 2021-09-14 18:37:41 +05:30
Akshay
f637a80fd6
Feature: data query deletion (#734)
* 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
2021-09-13 22:54:47 +05:30
navaneeth
1e3d77004a Order queries on editor in alphabetical order 2021-09-13 09:37:18 +05:30
Arpit
04e7f8eaad
Fixes the path in query auth to run queries for public apps (#729) 2021-09-12 09:51:30 +05:30
Akshay
9d7b987e72
Fix csp headers to allow for google maps (#725) 2021-09-10 16:09:28 +05:30
Arpit
b0f0918571
Feature: Apps should only be edited by the admin or developer of the organisation. (#724)
* hide edit button for role:"user"

* probably one solution

* role=viewer cannot edit apps

* unused imports removed
2021-09-10 15:10:23 +05:30
Akshay
f4af291b6f
Chore: Application monitoring support with sentry (#702)
* 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
2021-09-09 22:14:34 +05:30
Akshay
6bd08608ad
Feature: Client fetches public config from server (#713)
* add /api/config endpoint to serve public config

* client requests public config before app render

* update default public config for whitelist
2021-09-09 21:38:07 +05:30
navaneeth
d53c8fc53a Bump ToolJet version 2021-09-07 15:35:05 +05:30
Sherfin Shamsudeen
4306e47e36
Set request entity max limit to 50 megabytes (#697) 2021-09-06 21:28:02 +05:30
Akshay
7967e517be
Chore: Revise log setup (#687)
* ignore /health endpoints to be logged

* buffer logs till logs are flushed and throw exception on server exit
2021-09-06 20:08:09 +05:30
Akshay
24685a127f
fixes server error when inviting new user (#679) 2021-09-03 09:52:07 +05:30
navaneeth
eb1acd85a6 Bump ToolJet version 2021-08-31 18:37:16 +05:30
navaneeth
12d8c4af28 Fix for REST API query previews returning 403 2021-08-30 23:36:05 +05:30
navaneeth
d4127736d6 Move the logic for option serializing to server 2021-08-30 23:15:31 +05:30
Akshay
82f76e2799
Feature: app version preview & edit (#639)
* add ability to preview and edit versions

* add specs for get app versions

* create new app versions from prev definition

* fixes

* move default slug creation outside typeorm transaction

* set slug as app id when null

* fix app creation response

* fix entities not loading on test env

* add e2e test for version creation scenarios

Co-authored-by: navaneeth <navaneethpk@outlook.com>
2021-08-30 17:13:27 +05:30
Sherfin Shamsudeen
48750bb8a9
Support Enabling/Disabling SSL for postgres connection (#619)
* Add option to enable and disable SSL in Postgres configuration UI

* Connect to postgres with/without SSL based on user's choice

* Add migration to set SSL enabled for every postgres data source

* Fix data source kind name in migration

* Fetch only postgres datasources in migration for turning on SSL
2021-08-28 09:12:12 +05:30
Sherfin Shamsudeen
91b32adaed
Multi-events for action buttons, query params option for Go-to-app action (#560)
* Add query params option to Go-to-app action

This commit adds support for setting query params for the
go-to-app action. When the new app is launched, the passed in
object will be sent as search query params.

* Allow user to enter URL params in multiple input boxes

* Abstract goto-app action logic to a separate container

* Supply necessary newline

* Set 'type' of 'app' property of go-to-app action to 'text'

* List only those apps that has proper slugs for goto-app action

* Modify goto-app action config panel to support Event Manager

* Use EventManager instead of EventSelector for table action config

* Add data migration to make old apps support multiple event handlers

* Fix UpdateDefinitionsForTableActionEvent migration

This commit ensures that the migration recreates onClick event properly

* Fix bug that caused an 'onBulkUpdate' event to be created during migration

* Remove EventSelector

* Add margin above `remove handler` button on Table actions inspector panel
2021-08-26 20:33:59 +05:30
Akshay
e4bcf80af2
Application logger using pino (#600)
* setup application logger with pino

* remove console.log
2021-08-25 22:13:18 +05:30
navaneeth
607f474e67 Merge branch 'hotfix/fix-pg-queries' into develop 2021-08-25 21:12:17 +05:30
navaneeth
98da31df3f Fix for bulk pg queries 2021-08-25 21:10:44 +05:30
Navaneeth Pk
eec59e597c
Feature: Multiple handlers for events (#571)
* Multiple handlers for each events

* Fixes

* Migration

* ormconfig to use entities in migrations

* use connection object to build queries

* fixes for bulk update

* Fix for table action button

* use query runner to wrap migration in same transaction

Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
2021-08-24 12:21:09 +05:30
navaneeth
a343719e13 Bump ToolJet version 2021-08-24 11:29:06 +05:30
Akshay
960bacd0c6
fixes pagination on home page (#589) 2021-08-24 11:14:16 +05:30
Akshay
45841259b3
handle multiple columns on bulk query (#562) 2021-08-20 19:56:43 +05:30
Akshay
5909aaacff
Feature: bulk update capability for mysql plugin (#561) 2021-08-20 19:26:47 +05:30
Sherfin Shamsudeen
1f0ff9ecf8
Add functionality to decide whether front-end should be served from server (#547)
* Add functionality to decide whether front-end should be served from server

This commit makes the server allow flag `--serve-frontend`, providing
which, will make the server serve the front-end at route '/'. Otherwise
it won't serve the front-end.

* Use env variable to enable serving client from a server end-point

* Add documentation for SERVE_CLIENT env var
2021-08-20 09:25:34 +05:30
Sherfin Shamsudeen
a53cac24b2
Feature: QR scanner widget (#519)
* Add QR code scanner widget

This commit adds QR code scanner widget which
  * Displays a viewfinder that can be activated or deactivated
  * Exposes a variable named lastDetectedValue which holds the
    data contained in the last QR code it was able to scan
  * Defines an event onDetect which is fired whenever a QR code
    is successfully scanned

* Add documentation for QR scanner widget

* Supply missing newline

* Supply missing newline for qrscanner.svg

* Supply missing newlines and semicolons

* Update error modal content

* Remove `active` property from QrScanner

* Add blob: to content security policy

* Disable content security policy

* Add content security policy that allows self, unsafe-eval and blob
2021-08-18 22:15:43 +05:30
Sherfin Shamsudeen
a9d7b6ed7b
Make postgres connection SSL encrypted (#539) 2021-08-18 13:15:19 +05:30
Vimox Shah
0284fbd45c
Enable pgcrypto extension (#516)
* [ADD] enable pgcrypto extension

* [ADD] pg_crypto migration

* [REM] additional line breaks

* [REM] additional line breaks

Co-authored-by: vimox-shah-genea <vshah@getgenea.com>
2021-08-17 11:32:53 +05:30
Akshay
3ce36bd728
show readable error info for db create/drop instead of error stack trace (#517) 2021-08-13 20:55:43 +05:30
Akshay
c92437b820
Fixes docker dev setup (#507)
* update docker-compose and docs for docker dev setup

* specify test environment explicitly on npm scripts

* fix migrations to be picked up from either root or dist folder

* fix default slug update
2021-08-13 10:13:22 +05:30
Arpit Nath
7d37cf25f4
Feature: update record operation Airtable (#468)
* update record(s) operation : airtable

* fix: update record  operation - Airtable

* nolints

* indentation fix

* duplicate props removed
2021-08-12 21:06:31 +05:30
Sherfin Shamsudeen
f4cb29ff69
Feature: Profile page for users (#501)
* 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
2021-08-12 21:03:52 +05:30
Sai Deepesh
595bd9b0b7
Fix for welcome email indentation (#505) 2021-08-12 21:02:14 +05:30
navaneeth
1f93db7d4a Bump ToolJet version 2021-08-11 19:31:17 +05:30
Akshay
283e8560ec
enable csp directives to allow script load when nest serves frontend (#495) 2021-08-11 19:26:20 +05:30
Sherfin Shamsudeen
5e266f9606
Delete 'AppUser's before App is deleted (#490)
* Delete 'AppUser's before App is deleted

This commit ensures that all the corresponding entries of AppUser
are deleted before an App is deleted. This is done so to prevent
pre-existing foreign keys from halting the deletion.

* Delete all One-To-Many associated entities when app is deleted

This commit makes the App service's delete action delete all the
related entities of types: FolderApps, DataSources, DataQueries,
AppUsers and AppVersions, before deleting the app itself.

* Set currentVersionId to null before deleting app
2021-08-11 15:36:28 +05:30
navaneeth
414bd03f1e Fix for firestore query collection operation 2021-08-11 07:43:52 +05:30
Sherfin Shamsudeen
54a40176ea
Feature: Ability to delete apps (#486)
* Add end-point that deletes an application

Deleting an application will also delete its corresponding
data sources, data queries and app versions.

* Add unit test for app deletion end-point

* Additional e2e test for delete app end-point

This test ensures that non-admin user cannot delete apps.
2021-08-10 19:36:37 +05:30
navaneeth
05073f45b8 Fix for 401 issue of public apps 2021-08-10 17:27:17 +05:30
navaneeth
7ab53cd456 Fix for versions not getting saved 2021-08-10 17:26:16 +05:30
navaneeth
9d09be4eae Fix for api query crashes 2021-08-10 15:48:37 +05:30
navaneeth
ae60c5897b Serialize app entities 2021-08-10 14:34:27 +05:30
navaneeth
2f39470ab0 Fix for queries not being serialized properly 2021-08-10 14:18:20 +05:30
navaneeth
ac77059ae8 Use semver to match installed and latest versions 2021-08-10 12:11:51 +05:30
Sherfin Shamsudeen
df225eeb4b
Send first name, last name and email as part of response to login (#481) 2021-08-09 17:40:44 +05:30
Sherfin Shamsudeen
f88411f01b
Feature: copy invitation link (#465)
* Send invitation tokens with the response to GET:organizations/users

* Add column in users table displaying 'copy invitation' button

This commit also makes the app generate corresponding invitation
URL and copies it to the clipboard.

* Add 'Copy invitation' button next to user's 'invited' status

This commit adds an icon button next to the 'invited' label
of users who are invited. Clicking on the button will copy the
corresponding invitation URL to clipboard, and will also
display a notification that says 'Invitation URL copied to clipboard'

* Remoce unnecessary import of Button

* Remove unnecessary empty line

* Remove unnecessary skeletal line

* Supply a newline at the end of theme.scss

* Show 'Copy invitation' button only for admins

* Send invitation token to front-end only if an admin is logged in

* Show 'copy invitation' button only if invitation token is available
2021-08-09 16:01:08 +05:30
Akshay
11df74b3a4
Docker deploy setup for Nestjs (#474)
* make nginx config generic

* fixes env substituted

* remove npm script dependencies from dev

* match all nginx location to server

* revert git clone dev branch
2021-08-09 10:02:25 +05:30
Arpit Nath
1eb2e787a4
Feature: Delete record operation for Airtable (#459) 2021-08-05 16:48:09 +05:30
Akshay
6c9e2b61b5
refactor google sheets operations for cell range and header check (#452) 2021-08-04 16:25:29 +05:30
Akshay
1987cd657b
add missing seed npm script (#451) 2021-08-04 14:47:34 +05:30
Akshay
8ded79318a
Add support for appending and deleting row on google sheets (#447)
* add ability to append data to google sheets

* add ability to delete data from google sheets
2021-08-03 19:02:11 +05:30
navaneeth
6b4db15e5b Connection caching for mssql 2021-08-03 10:37:35 +05:30
navaneeth
aaeee9d2e0 Merge branch 'feature/nest-server' of github.com:ToolJet/ToolJet into feature/nest-server 2021-08-03 10:37:24 +05:30
navaneeth
1db065a50c Connection caching for pg, mysql & mssql 2021-08-03 10:36:56 +05:30
Akshay Sasidharan
70acaeed07 skip seeding if default user is already present 2021-08-03 10:30:22 +05:30
Akshay Sasidharan
2779ea24e8 setup database seed 2021-08-03 09:41:39 +05:30
Akshay
07f0cfab84
Run migrations on heroku deployments (#431) 2021-08-02 13:51:48 +05:30
navaneeth
08eab4be65 Set up helmet 2021-08-01 15:01:29 +05:30
navaneeth
3eeed8d86a Fix for broken email invite link 2021-07-31 18:05:17 +05:30
navaneeth
b1fc2f6df0 Capture emails sent from dev env 2021-07-31 18:03:50 +05:30
navaneeth
7843a3c303 Health check endpoint 2021-07-31 14:15:03 +05:30
navaneeth
62d8b3e646 Dockerfile for production server 2021-07-31 10:10:19 +05:30
Akshay Sasidharan
bee3a0f224 validate and pick db config from env if .env is not found 2021-07-30 20:57:57 +05:30
navaneeth
4d9596d751 switch between connection url and connection params 2021-07-30 09:44:20 +05:30
navaneeth
8b778cc1aa Heroku stuffs 2021-07-30 09:21:18 +05:30
navaneeth
86060557c0 Fix for app versions being saved with incorrect app id 2021-07-27 23:50:54 +05:30
navaneeth
6d643616a9 Change location of main module for prod builds 2021-07-27 23:07:15 +05:30
navaneeth
0226c398f0 Trap emails if development environment 2021-07-27 21:23:02 +05:30
navaneeth
ac1865280e Feature: Check for updates 2021-07-26 22:44:14 +05:30
navaneeth
8ed041e991 Feature: Reset password 2021-07-26 21:32:47 +05:30
navaneeth
ce1555ee7f Feature: Invitation email for new organization users 2021-07-26 20:10:32 +05:30
navaneeth
42acf760e5 Feature: Nodemailer integration, welcome emails 2021-07-26 20:00:12 +05:30
navaneeth
8afdb4917a Feature: Switch folders on dashboard 2021-07-26 18:15:10 +05:30
navaneeth
41dfad3651 Policies and tests for OAuth endpoint 2021-07-25 23:16:44 +05:30
navaneeth
116fc1f9f3 Feature: OAuth support for REST API sources 2021-07-25 22:50:19 +05:30
navaneeth
d7daad026e Tests for graphql query service 2021-07-25 18:51:57 +05:30
navaneeth
c84f1756f4 Backend for GraphQL queries 2021-07-25 18:04:36 +05:30
navaneeth
067d924e6b Queries for REST API using saved data sources 2021-07-25 15:51:24 +05:30
navaneeth
14b2114424 Fix bug that prevented datasources from being updated 2021-07-25 14:25:31 +05:30
navaneeth
e7967cbdf3 Stripe backend integration 2021-07-25 13:08:59 +05:30
navaneeth
50ef839c8b Auto-load plugins from plugins directory 2021-07-25 11:39:34 +05:30
navaneeth
a73b039114 Policies and tests for datasource endpoints 2021-07-25 00:14:44 +05:30
navaneeth
35388d8930 Policies and tests for query endpoints 2021-07-24 23:39:25 +05:30
navaneeth
ec2662c124 Airtable integration 2021-07-24 18:35:08 +05:30
navaneeth
dd19f31b37 Google sheets integration 2021-07-24 17:36:56 +05:30
navaneeth
9a1712fb7f Slack OAuth integration 2021-07-24 14:47:38 +05:30
navaneeth
fae1fa7272 Policies and tests for running queries 2021-07-24 11:43:21 +05:30
navaneeth
3c24d8a6c5 Endpoints for app viewer 2021-07-24 09:43:45 +05:30
navaneeth
aa4a92075b Fix for incorrect config of test env 2021-07-23 22:35:36 +05:30
navaneeth
59e0cd62c2 Endpoint for saving app versions 2021-07-23 22:27:59 +05:30
navaneeth
d5dda41c79 Endpoint to create app versions 2021-07-23 21:29:01 +05:30
navaneeth
70546845be Endpoint for fetching app versions 2021-07-23 20:21:24 +05:30
navaneeth
b302029bba Dockerize nest server 2021-07-23 19:46:01 +05:30
navaneeth
12c098e29f Fix for unwanted null values being saved to db 2021-07-23 12:28:51 +05:30
navaneeth
a003d24e97 Endpoint to create app users 2021-07-23 12:13:50 +05:30
navaneeth
41cca1e60c App users endpoint & e2e tests 2021-07-23 11:02:49 +05:30
navaneeth
540523c5ad Porting rails migrations to typeORM 2021-07-22 23:42:06 +05:30
navaneeth
63a3cf28c1 Tests for archiving users & changing roles 2021-07-22 20:08:34 +05:30
navaneeth
ad3e627b9c Endpoint for updating app params 2021-07-22 19:54:18 +05:30
navaneeth
cb56082f75 Test helpers for creating Nest instance & apps 2021-07-22 19:52:14 +05:30
navaneeth
c37289f1cd Policies and tests for org user invitation 2021-07-22 15:11:50 +05:30
navaneeth
ed1c026440 Test helper for creating orgs and users 2021-07-22 15:10:16 +05:30
navaneeth
6634bcfc3b Policies and tests for organization user actions 2021-07-22 12:55:29 +05:30
navaneeth
3aac8f03fb Helper for clearing DB before each test 2021-07-22 12:36:12 +05:30
navaneeth
7745e4e460 Set up CASL abilities 2021-07-21 22:27:04 +05:30
Navaneeth Pk
b5527305cb
Merge pull request #411 from ToolJet/env-based-config-setup
Environment based configuration setup
2021-07-21 20:57:49 +05:30
Akshay Sasidharan
4c868259d0 setup connection options using ormconfig.ts 2021-07-21 18:49:32 +05:30
Akshay Sasidharan
61a9eb6b1b reuse env files from root directory instead 2021-07-21 18:49:32 +05:30
Akshay Sasidharan
53fdb3b0d6 add ability for db create, migrate, drop and reset 2021-07-21 18:49:32 +05:30
Akshay Sasidharan
c0ef4a738a make configService to load values based on app env 2021-07-21 18:49:32 +05:30
Akshay Sasidharan
e888c94839 add package nesjs/config 2021-07-20 18:19:28 +05:30
navaneeth
b218dce44b E2e tests for archiving org users & changing roles 2021-07-20 16:55:51 +05:30
navaneeth
70ab290ffe Helper for e2e tests to generate auth header 2021-07-20 15:53:47 +05:30
navaneeth
e9b868cdc1 Tests for organization users page 2021-07-20 14:40:11 +05:30
navaneeth
f6745a178b Setup aliases for modules 2021-07-19 17:00:40 +05:30
navaneeth
20274d24c1 Endpoint for updatign user roles 2021-07-19 15:11:33 +05:30
navaneeth
70ad958d98 Endpoint for creating new organization users 2021-07-19 15:06:34 +05:30
navaneeth
1d9d1a833c Endpoint to archive org users 2021-07-19 14:27:57 +05:30
navaneeth
8ac4508ed8 Endpoint to fetch organization users 2021-07-19 13:30:42 +05:30
navaneeth
3e420a3ba9 Use futoin-hkdf package to support nodejs v14 2021-07-19 12:41:50 +05:30
Akshay
f54b83bd00
Revise node and npm version (#408) 2021-07-19 12:38:44 +05:30
navaneeth
81cc0dad9c Merge branch 'feature/nest-server' of github.com:ToolJet/ToolJet into feature/nest-server 2021-07-19 12:38:05 +05:30
navaneeth
95ebbcb8f5 Endpoint to set password from invitation token 2021-07-19 12:21:21 +05:30
navaneeth
65ce0b0555 Endpoint: user signup 2021-07-19 11:12:16 +05:30
Akshay
0ce0f5b276
specify node and npm version for server (#405) 2021-07-19 08:48:59 +05:30
Akshay
d7de3fbf23
Add package for elastic search (#404) 2021-07-18 21:31:06 +05:30
navaneeth
8ee2d0ce2a Redis auth 2021-07-18 20:20:39 +05:30
navaneeth
85cd96dfbc Redis datasource 2021-07-18 19:56:05 +05:30
navaneeth
58f8f1a0d6 Connection tests for ES, mongo & dynamodb 2021-07-18 13:13:19 +05:30
navaneeth
fb5f51e000 Connection test for firestore 2021-07-18 12:50:46 +05:30
navaneeth
3b7db1501d Connection test for postgres 2021-07-18 12:45:19 +05:30
navaneeth
e4921a965a Connection test for mysql 2021-07-18 12:41:44 +05:30
navaneeth
85f97e5e63 Testing datasource connections 2021-07-18 12:28:05 +05:30
navaneeth
13e99fe24c Setup dotnev for node server 2021-07-17 23:28:55 +05:30
navaneeth
1ae00756a8 Endpoint to fetch oauth auth url 2021-07-17 23:24:14 +05:30
navaneeth
18346654c9 REST api as datasource 2021-07-17 19:54:48 +05:30
navaneeth
cc25042420 Login should expire only after 30 days 2021-07-17 19:48:08 +05:30
navaneeth
49398d0cf2 Target ES2019 2021-07-17 19:47:28 +05:30
navaneeth
8af54b1a15 Implement getConnection for query services 2021-07-17 13:29:28 +05:30
navaneeth
1d4ced43a3 Error handling for queries 2021-07-17 13:08:02 +05:30
navaneeth
89f59919fa MS SQL server as datasource 2021-07-17 12:41:03 +05:30
navaneeth
13c49135be Error handling for queries 2021-07-17 10:11:02 +05:30
navaneeth
52253f26ad Feature: update data source connection options 2021-07-16 20:33:20 +05:30
navaneeth
2fb63ed7e4 DynamoDB as datasource 2021-07-16 18:36:19 +05:30
navaneeth
fe9f2624b6 should not camelize query results 2021-07-16 18:07:30 +05:30
navaneeth
2dfb3f78c8 Feature: update datasources 2021-07-16 17:40:10 +05:30
navaneeth
a255f6e5c2 MongoDB as datasource 2021-07-16 17:04:06 +05:30
navaneeth
c5868b9e99 Datasource: Elasticsearch 2021-07-15 20:29:11 +05:30
navaneeth
42be2f69cd Mysql query service without pooling 2021-07-15 14:56:12 +05:30
navaneeth
bb67ed569a PostgreSQL integration without connection pooling 2021-07-14 23:23:00 +05:30
navaneeth
b2adb9144e Running queries + firestore query service 🚀 2021-07-14 19:44:35 +05:30
navaneeth
33445b5547 Endpoints: create & update queries 2021-07-12 19:42:34 +05:30
navaneeth
f0ead25571 Endpoint: create datasource with encrypted credentials 2021-07-12 16:06:53 +05:30
navaneeth
8e7095f9fe Encryption service 2021-07-12 16:06:12 +05:30
navaneeth
49a7a7451b endpoint for app data sources 2021-07-11 14:09:25 +05:30
navaneeth
facf757371 Endpoint to fetch data queries for a specific app 2021-07-11 14:02:06 +05:30
navaneeth
aa74cd9b65 Data queries entity 2021-07-11 13:52:05 +05:30
navaneeth
df6f704072 Add app versions to apps 2021-07-11 12:49:31 +05:30
navaneeth
c20c5dd1d9 Fix for current_page metadata of apps endpoint 2021-07-11 11:23:05 +05:30
navaneeth
e537b6073f Move app module to modules folder 2021-07-11 11:11:45 +05:30
navaneeth
e6361ce49e Organise modules, controllers & services 2021-07-11 11:09:55 +05:30
navaneeth
0aec2f705d Endpoint: add apps to folder 2021-07-11 10:43:51 +05:30
navaneeth
57b97e6d15 Organise entities under entities directory 2021-07-11 09:06:38 +05:30
navaneeth
44e40c1366 Endpoint: folder creation 2021-07-10 20:32:10 +05:30
navaneeth
34a7d31818 Endpoint: list all folders 2021-07-10 20:26:24 +05:30
navaneeth
3a4164bf69 set app id as the default slug 2021-07-10 20:06:32 +05:30
navaneeth
5b9916f84f App creation endpoint 2021-07-10 19:37:47 +05:30
navaneeth
ef58c918aa Apps endpoint with pagination 2021-07-10 19:24:32 +05:30
navaneeth
c008dfc30e Hashing passwords using beforeInsert & beforeUpdate 2021-07-10 12:31:13 +05:30
navaneeth
5d1ee49940 Chore: autoload typeorm entities 2021-07-10 12:22:41 +05:30
navaneeth
0041201f8a Improvements for migrations 2021-07-09 16:22:03 +05:30
navaneeth
1a6e53fcf1 Migration for users table 2021-07-09 14:35:56 +05:30
navaneeth
0e8c027131 E2E tests for login endpoint 2021-07-08 22:13:23 +05:30
navaneeth
8121fa5faa Set up typeORM & JWT authentication 2021-07-08 13:09:07 +05:30
navaneeth
b68c56a16e Initial commit for nestjs 2021-07-08 11:10:27 +05:30