Commit graph

55 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
ceca48b100
Revert "Feature: Snowflake integration (#996)" (#1046)
This reverts commit d4c4501d63.
2021-10-14 22:10:18 +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
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
navaneeth
92d6291fdb Upgrade pg 2021-09-19 09:57:08 +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
e4bcf80af2
Application logger using pino (#600)
* setup application logger with pino

* remove console.log
2021-08-25 22:13:18 +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
navaneeth
ac77059ae8 Use semver to match installed and latest versions 2021-08-10 12:11:51 +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
Akshay
1987cd657b
add missing seed npm script (#451) 2021-08-04 14:47:34 +05:30
navaneeth
08eab4be65 Set up helmet 2021-08-01 15:01:29 +05:30
navaneeth
b1fc2f6df0 Capture emails sent from dev env 2021-07-31 18:03:50 +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
8b778cc1aa Heroku stuffs 2021-07-30 09:21:18 +05:30
navaneeth
6d643616a9 Change location of main module for prod builds 2021-07-27 23:07:15 +05:30
navaneeth
42acf760e5 Feature: Nodemailer integration, welcome emails 2021-07-26 20:00:12 +05:30
navaneeth
540523c5ad Porting rails migrations to typeORM 2021-07-22 23:42:06 +05:30
navaneeth
6634bcfc3b Policies and tests for organization user actions 2021-07-22 12:55:29 +05:30
navaneeth
7745e4e460 Set up CASL abilities 2021-07-21 22:27:04 +05:30
Akshay Sasidharan
4c868259d0 setup connection options using ormconfig.ts 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
f6745a178b Setup aliases for modules 2021-07-19 17:00:40 +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
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
85cd96dfbc Redis datasource 2021-07-18 19:56:05 +05:30
navaneeth
13e99fe24c Setup dotnev for node server 2021-07-17 23:28:55 +05:30
navaneeth
18346654c9 REST api as datasource 2021-07-17 19:54:48 +05:30
navaneeth
89f59919fa MS SQL server as datasource 2021-07-17 12:41:03 +05:30
navaneeth
2fb63ed7e4 DynamoDB as datasource 2021-07-16 18:36:19 +05:30
navaneeth
a255f6e5c2 MongoDB as datasource 2021-07-16 17:04:06 +05:30
navaneeth
42be2f69cd Mysql query service without pooling 2021-07-15 14:56:12 +05:30
navaneeth
b2adb9144e Running queries + firestore query service 🚀 2021-07-14 19:44:35 +05:30