2021-09-21 13:48:28 +00:00
|
|
|
/* eslint-disable prefer-const */
|
2021-07-20 10:23:47 +00:00
|
|
|
import { JwtService } from '@nestjs/jwt';
|
2021-07-22 07:06:12 +00:00
|
|
|
import { ConfigService } from '@nestjs/config';
|
2022-01-31 05:45:44 +00:00
|
|
|
import { getConnection, getManager, Repository } from 'typeorm';
|
2021-07-22 09:40:16 +00:00
|
|
|
import { OrganizationUser } from 'src/entities/organization_user.entity';
|
|
|
|
|
import { Organization } from 'src/entities/organization.entity';
|
|
|
|
|
import { User } from 'src/entities/user.entity';
|
2021-07-22 14:22:14 +00:00
|
|
|
import { App } from 'src/entities/app.entity';
|
2022-06-02 06:49:49 +00:00
|
|
|
import { File } from 'src/entities/file.entity';
|
2022-10-27 11:29:43 +00:00
|
|
|
import { Plugin } from 'src/entities/plugin.entity';
|
2022-04-20 09:16:57 +00:00
|
|
|
import { INestApplication, ValidationPipe } from '@nestjs/common';
|
2021-07-22 14:22:14 +00:00
|
|
|
import { Test } from '@nestjs/testing';
|
|
|
|
|
import { AppModule } from 'src/app.module';
|
2021-07-23 14:51:24 +00:00
|
|
|
import { AppVersion } from 'src/entities/app_version.entity';
|
2021-07-24 06:13:21 +00:00
|
|
|
import { DataQuery } from 'src/entities/data_query.entity';
|
2021-07-24 18:09:25 +00:00
|
|
|
import { DataSource } from 'src/entities/data_source.entity';
|
2022-10-27 11:29:43 +00:00
|
|
|
import { PluginsService } from 'src/services/plugins.service';
|
2021-09-21 04:50:02 +00:00
|
|
|
import { DataSourcesService } from 'src/services/data_sources.service';
|
2022-10-27 11:29:43 +00:00
|
|
|
import { PluginsModule } from 'src/modules/plugins/plugins.module';
|
2021-09-21 04:50:02 +00:00
|
|
|
import { DataSourcesModule } from 'src/modules/data_sources/data_sources.module';
|
2021-11-25 12:46:39 +00:00
|
|
|
import { ThreadRepository } from 'src/repositories/thread.repository';
|
2021-10-11 15:15:58 +00:00
|
|
|
import { GroupPermission } from 'src/entities/group_permission.entity';
|
|
|
|
|
import { UserGroupPermission } from 'src/entities/user_group_permission.entity';
|
|
|
|
|
import { AppGroupPermission } from 'src/entities/app_group_permission.entity';
|
2021-11-15 06:13:48 +00:00
|
|
|
import { AllExceptionsFilter } from 'src/all-exceptions-filter';
|
|
|
|
|
import { Logger } from 'nestjs-pino';
|
2021-12-10 03:13:05 +00:00
|
|
|
import { WsAdapter } from '@nestjs/platform-ws';
|
2022-01-04 08:04:12 +00:00
|
|
|
import { AppsModule } from 'src/modules/apps/apps.module';
|
|
|
|
|
import { LibraryAppCreationService } from '@services/library_app_creation.service';
|
2022-01-27 09:51:17 +00:00
|
|
|
import { createMock, DeepMocked } from '@golevelup/ts-jest';
|
2022-05-05 07:08:42 +00:00
|
|
|
import { v4 as uuidv4 } from 'uuid';
|
2022-06-02 06:49:49 +00:00
|
|
|
import { CreateFileDto } from '@dto/create-file.dto';
|
2022-10-27 11:29:43 +00:00
|
|
|
import { CreatePluginDto } from '@dto/create-plugin.dto';
|
Feature :: Onboarding revamp (#4044)
* typo
* password length check , ui fixes
* fixing typos
* fixing navbar ui
* updated icon , changed history to Link
* fix :: repopulating data
* fix :: key added for non sso logins
* ui improvements , added loading states , bugfixes
* changing folder names
* fix :: removing scroll and fixing to 100%
* fix :: all spell mistakes corrected
* fix :: bug on password show/hide
* fix :: bug in button animation state
* fix :: added loader states for all onboarding buttons
* fix :: imports
* feat :: centering ui for signup and login pages
* bugfixes :: minor
* feat :: added mediaquery for mobile screens
* fix :: typo spell check
* PR changes
- instance configs
- reused jwt payload
* fix :: loading bugfix
* feat :: added loader for verification sucess screen
* styles :: loader
* fix :: typo corrections
* fix :: image path
* fix :: darmode & enter press in onboard
* Fixed organization name issue
* fix :: keystroke not taken initially
* fix :: trim company name
* fix :: setting autocomplete to off
* removing redirectsso and confirmation page as its unused now
* few ui corrections , laoding states
* Fixed organization login sso issue
* Add db transaction wrap
* refactoring the code
* flow changes
* Added db tranxn wrap to auth services
* adding accept invite screen
* added verify organization token route
* fixes
* adding disable_multiworkspace to default config
* cleanup
* intermediate commit :: revamping organization page , api integration
* fixes
* feat :: organization token send in invite from org account setup
* fix :: making orgtoken conditional and ui changes / functional updates organization invte
* removed unwanted code
* fix :: login/account setup for sso user in single workspace flow
* fixes
* fix :: CTA loader misaligned
* fix :: sso login single workspace
* fix
* fix :: role check db
* fix :: role check DB
* fix :: setting fallback screen for organizational invite
* feat :: org signup
* fix :: loading states bug
* fix :: loading bug
* fixes
* added password length validation
* fixes
* fix: sub path for static asset serve (#4665)
* fix: sub path for static asset serve
* fix: sub path for static asset serve
* fix: sub path for static asset serve (#4668)
* Bugfix :: Sort event fired on sort removal (#4542)
* onsort applied on sort removal
* bugcheck
* removing unused toast
* Feature :: Table image column type addition (#4547)
* feat :: adding column type image
* feat :: adding image fit property
* Fix :: Closing of textarea ontype Table widget (#4549)
* fix :: closing of textarea ontype
* fix :: bug not able to clear value
* bug fixed : generate file in text is not supported (#4346)
* add eslintignore for frontend (#4669)
* [cypress] Fix failing manage SSO spec in single workspace #4390 (#4509)
* added [data-cy=login-page-logo] also removed one dropdown of same name
* Revert command.js
* call loginpagelogo
* Fixed toast test case
* updated text
* remove timer
* revert linting
* Github text fixed
* Replaced the woocommerce connection screenshot from dark to light one (#4654)
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
* gifs for Keyboard Shortcuts Added (#4643)
* Fix. Image to button group docs (#4630) (#4631)
* Add. Image to button group docs (#4630)
* Update docs/docs/widgets/button-group.md
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
* [added] Translated global strings in french #4169 (#4232)
* [added] Translated global strings in french
Added global strings translated to French language , Issue: #4169
* [localization ] Fixed the Proposed Changes in French Translation
* [localization ] Fixed the Remaining Proposed Changes in French Translation v2
* Update selectHost
Co-authored-by: roiLeo <medina.leo42@gmail.com>
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
Co-authored-by: roiLeo <medina.leo42@gmail.com>
* [localization] issue-4188 added spanish keys for card app (#4229)
* issue-4188 added spanish keys for card app
* IT-4188 fixed PR
* Improve toast message shortcut on component deletion (#4513)
* Improve toast message shortcut
* Improved user agent check
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
* Improved user agent check
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
* feat: Add DTO for organization create (#4651)
* feat: Add DTO for organization create
* chore: fix eslint error
* chore: eslint ...
* Fixed failing manage SSO spec in multi workspace (#4658)
* Fixed failing manage SSO spec in multi workspace
* github to gitHib
* persist data without saving the query (#4649)
* Fixed failing dashboard specs (#4667)
* Add and modify data-cy
* Fix failing manage users spec in multiworkspace
* Fix failing user permission spec in multi workspace
* Fix failing dashboard spec
* Fix failing manage group spec
* Fix failing manage users spec in single workspace
* Fix failing user permission spec in single workspace
* indentation changes
* Remove wait
* [Marketplace] AWS S3 (#4670)
* fix: sub path for static asset serve (#4665)
* fix: sub path for static asset serve
* fix: sub path for static asset serve
* marketplace: s3
* rename operations file to query_operations
* fix: crash on click of existing plugin
* remove unused console
* adds missing async await
* add isoptional for repo
* plugin card ui style fixes
* update plugin name
Co-authored-by: Gandharv <gandharvkumargarg@gmail.com>
* fix: Added a modal with warning message on disabling password (#4552)
* Copy to clipboard (#4588)
* Update EventManager.jsx
* Update EventManager.jsx
* Update EventManager.jsx
* fix :: adding sso configs based on org id
* loader and password check
* multiworkspace invite flow updated
* restrict only active users
* fix
* added error message for password length check
* fix :: password trim
* fix :: all happy flows tested , single and multi exept sso
* fix: message on invalid password
* revert: package-lock.json file
* feat :: changing ui for user present for org invite in multi workspace
* fix :: remove password check for existing user multiworkspace
* fix :: added fallback
* fix :: typo
* fix :: adding checks
* fix
* feat :: for single workspace user logged in directly
* fix :: code meaning fix
* fix
* fixes
* fix
* fix
* fix
* fix :: sso fix and bug updates
* fix :: json resolution for only single workspace
* token :: app level
* fix
* fix
* fixes
* fix
* ui fixes , removed loading and added checks
* showing sso options
* fix :: back to
* fix single workspace
* adding sso check ui
* sso single workspace fix
* code refactoring
* fix :: bugfix on click enter submit in signup and signin
* qa fix :: typo
* fix for sending welcome email on invite
* bug fixes
* fix
* qa bug fixes and translations
* switch workspace fixes
* fix :: company name taking empty spaces
* adding some more translations
* making all screens center aligned
* fix :: login page not loading
* fix :: singup conditional
* fixes
* typo fix
* fix :: for diabled cases of sso , password login , disabled signup
* fix
* fix :: added max input length for workspace name
* fix
* fix :: missing validation on edit email
* fix :: all screens vertically aligned
* fix :: alignment link expiry screen
* fix
* fix :: styling terms and condition
* fix :: for redirect url loginto workspace fixed according to new design
* typo
* feat :: removed onboarding modal , redundant
* typo fix
* fix
* name is now mandatory for sign up
* fix for password retry count not updating
* showing onboarding questions for sign up users
* fix :: spaces in password in diff screens
* fix :: darkmode initial
* fix for accept organization invite success message
* fix :: dark mode
* fix :: dark mode
* feat :: updating all dark mode images
* bugfix img
* bugfix ::img
* dark mode :: improvements
* single workspace signup fix
* updating images
* stylefix
* self review :: bugfixes
* sign up page fix
* fix for asking password for single ws activation
* or separator fix for signup page
* fix
* feat :: updating cta images
* fix :: loader bugs
* hiding sso options in org invite, sign in via sso
* fix :: dark mode img
* bugfixes :: cta changed
* Fix :: onboarding styles fixes (#4773)
* fix: styling in authWrappers
* cleanup
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
* fix :: conflicting styles
* fix :: loaders , and added header to link expired screen , style fixes
* fix :: mobile onboarding btn
* fix :: loading onboarding completion
* fix :: subpath not taking img path
* fix :: path
* fix :: removing trailing img / for subpath
* fix :: cta img
* fix :: remove scrollbar
* last name as undefined in comments
* fixed loading bug and cursor of company input onboard form
* comments fixes
* fix :: removing verify email screen on org invite
* comments fix
* fix :: no login methods
* fix :: bug in expired org invite verification link
* fix :: edge case name being empty when user types multiple spaces
* fix :: comments breaking
* fix :: notification breaking
* fix :: user groups table lastname
* fix for sso redirection
* fix :: empty first and last name during org invite
* bug fixed :On updating any permissions under permission tab, currentTab switches to app tab (#4734)
* fix: popout editor closing for tables (#4674)
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added default value for backgroundColor In NumberInput (#4378)
* fix: added background styles for number input
* fix: removed additional f from the background color property
* fix: added backgroundColor property from styles
* fixes: default bg color for dark mode
Co-authored-by: arpitnath <arpitnath42@gmail.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added the hover effects on datasources (#4303)
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added Background Color to Text Input (#4194)
* Added Background Color to Text Input
* Added Default Value for Background Color
* added default value and make background of text input consistent with the dark theme
Co-authored-by: manishkushare <kushare.manish9@gmail.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* feat: Add update version button on installable plugin (#4766)
* feat: Add update version button on installable plugin
* use id from update method
* removes redundant check
* use plugin id for fetching files from s3
* fetch latest plugins once updated
* disable update and remove buttons while update in progress
* replace href with link-span cx + send body in patch request
* fix: Dark mode on table's `Striped` and `Striped & Bordered` table type mode (#4611)
* [ Hotfix ] :: Hard to resize table columns (#4438)
* fix :: hard to resize , scrollbar should not be visible
* fix :: resizer not working in pewview
* Enhancement : [RangeSlider widget] Bind onChange event (#4192)
* add onChange event and its handler
* add handler for slider change as well
* fix lint
* added onChange fire event when slider value is changed
Co-authored-by: manishkushare <kushare.manish9@gmail.com>
* Added data-cy for table widget elements (#4792)
* Add data-cy to tooltip label
* Add data-cy to table filter pop-over
* Add data-cy to table elements
* Add review changes
* [docs] Widget updates (#4793)
* widget updates
* minor update
* Update README.md (#4784)
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Fixed grammatical errors in localization doc (#4800)
* [docs] widget property updates (#4806)
* fixes
* added resend invite API
* Onboarding revamp test cases (#4770)
* fix: test cases for oauth
* fix: app controller test cases
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: single workspace test cases
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* add: test cases for sso
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* fix: test cases for oauth
* fix: app controller test cases
* chore: PR fixes and cleanup
* add: test cases for sso
* fix: app test cases
* fix: linting in files
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* fix: test cases for oauth
* fix: app controller test cases
* chore: PR fixes and cleanup
* add: test cases for sso
* fix: app test cases
* fix: test cases for oauth
* fix: linting in files
* rebase: from feature/onboarding-revamp
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
* feat :: api update resend invite
* loading state resend mail
* adding loading state
* checkpoints shown only till tablet
* fix: failing test cases for sso
* pr:: changes changed all imports and removed unwanted fragments
* pr changes
* fix :: naming images
* fix :: style organized for onboarding
* fix for user seed issue
* removing unwanted styles
* Setting darkmode from props :: onboarding (#4885)
* passing darkmode as props to components
* error toast
* Review comment :: rename env variable
* Pr :: changes , code cleanup onborading form
* develop merge
* pr changes ::form splitted to components
* password warning added
* chore :: lint folder renaming
* review comments
* fixes
* fix for test cases failure
* changes :: removed empty divs
* cleanup
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Co-authored-by: Muhsin Shah <muhsinshah21@gmail.com>
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
Co-authored-by: Gandharv <gandharvkumargarg@gmail.com>
Co-authored-by: Manish Kushare <kushare.manish9@gmail.com>
Co-authored-by: Akshay <akshaysasidharan93@gmail.com>
Co-authored-by: alammoiz <moixalam@gmail.com>
Co-authored-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Co-authored-by: Akhilesh Kumar Mishra <79476272+iamakhileshmishra@users.noreply.github.com>
Co-authored-by: Hemanth Kumar <49117799+Hemanthhari2000@users.noreply.github.com>
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
Co-authored-by: akk312000 <akk312000@gmail.com>
Co-authored-by: roiLeo <medina.leo42@gmail.com>
Co-authored-by: Jose Morales <jmoralesmnz@gmail.com>
Co-authored-by: 3t8 <62209650+3t8@users.noreply.github.com>
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
Co-authored-by: Santosh Bhandari <bsantosh909@gmail.com>
Co-authored-by: Arpit <arpitnath42@gmail.com>
Co-authored-by: Ajith KV <ajith.jaban@gmail.com>
Co-authored-by: Akarsh Jain <72064462+akarsh-jain-790@users.noreply.github.com>
Co-authored-by: Utsav Paul <91927689+Smartmind12@users.noreply.github.com>
Co-authored-by: Vijaykant Yadav <vjaris42@Vijaykants-MacBook-Pro.local>
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
Co-authored-by: geisterfurz007 <geisterfurz007@users.noreply.github.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
Co-authored-by: Abhushan Gautam <carefreeav09@gmail.com>
Co-authored-by: Syed Ansar <82027712+Syed-Ansar@users.noreply.github.com>
Co-authored-by: Rahul Sunil <rahulsunil2@gmail.com>
Co-authored-by: Srisuma Atluri <40341173+Srisuma13@users.noreply.github.com>
Co-authored-by: Midhun Kumar E <midhun752@gmail.com>
Co-authored-by: Navaneeth Pk <navaneeth@tooljet.io>
Co-authored-by: Akasshhg <91525166+gogoiakash2311@users.noreply.github.com>
2022-12-08 07:54:31 +00:00
|
|
|
import * as request from 'supertest';
|
2023-01-09 12:00:32 +00:00
|
|
|
import { AppEnvironment } from 'src/entities/app_environments.entity';
|
|
|
|
|
import { defaultAppEnvironments } from 'src/helpers/utils.helper';
|
|
|
|
|
import { DataSourceOptions } from 'src/entities/data_source_options.entity';
|
2023-04-06 11:12:58 +00:00
|
|
|
import * as cookieParser from 'cookie-parser';
|
2021-07-22 14:22:14 +00:00
|
|
|
|
2022-01-27 09:51:17 +00:00
|
|
|
export async function createNestAppInstance(): Promise<INestApplication> {
|
2021-07-22 14:22:14 +00:00
|
|
|
let app: INestApplication;
|
|
|
|
|
|
|
|
|
|
const moduleRef = await Test.createTestingModule({
|
|
|
|
|
imports: [AppModule],
|
2021-09-21 04:50:02 +00:00
|
|
|
providers: [],
|
|
|
|
|
}).compile();
|
2021-07-22 14:22:14 +00:00
|
|
|
|
|
|
|
|
app = moduleRef.createNestApplication();
|
2021-10-15 09:05:11 +00:00
|
|
|
app.setGlobalPrefix('api');
|
2023-04-06 11:12:58 +00:00
|
|
|
app.use(cookieParser());
|
2021-11-15 06:13:48 +00:00
|
|
|
app.useGlobalFilters(new AllExceptionsFilter(moduleRef.get(Logger)));
|
2021-12-10 03:13:05 +00:00
|
|
|
app.useWebSocketAdapter(new WsAdapter(app));
|
2022-04-20 09:16:57 +00:00
|
|
|
app.useGlobalPipes(new ValidationPipe({ whitelist: true, transform: true }));
|
2021-07-22 14:22:14 +00:00
|
|
|
await app.init();
|
|
|
|
|
|
|
|
|
|
return app;
|
|
|
|
|
}
|
2021-07-20 10:23:47 +00:00
|
|
|
|
2022-01-27 09:51:17 +00:00
|
|
|
export async function createNestAppInstanceWithEnvMock(): Promise<{
|
|
|
|
|
app: INestApplication;
|
|
|
|
|
mockConfig: DeepMocked<ConfigService>;
|
|
|
|
|
}> {
|
|
|
|
|
let app: INestApplication;
|
|
|
|
|
|
|
|
|
|
const moduleRef = await Test.createTestingModule({
|
|
|
|
|
imports: [AppModule],
|
|
|
|
|
providers: [
|
|
|
|
|
{
|
|
|
|
|
provide: ConfigService,
|
|
|
|
|
useValue: createMock<ConfigService>(),
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
}).compile();
|
|
|
|
|
|
|
|
|
|
app = moduleRef.createNestApplication();
|
|
|
|
|
app.setGlobalPrefix('api');
|
2023-04-06 11:12:58 +00:00
|
|
|
app.use(cookieParser());
|
2022-01-27 09:51:17 +00:00
|
|
|
app.useGlobalFilters(new AllExceptionsFilter(moduleRef.get(Logger)));
|
2022-04-20 09:16:57 +00:00
|
|
|
app.useGlobalPipes(new ValidationPipe({ whitelist: true, transform: true }));
|
2022-01-27 09:51:17 +00:00
|
|
|
app.useWebSocketAdapter(new WsAdapter(app));
|
|
|
|
|
await app.init();
|
|
|
|
|
|
|
|
|
|
return { app, mockConfig: moduleRef.get(ConfigService) };
|
|
|
|
|
}
|
|
|
|
|
|
2022-05-05 07:08:42 +00:00
|
|
|
export function authHeaderForUser(user: User, organizationId?: string, isPasswordLogin = true): string {
|
2021-07-22 07:06:12 +00:00
|
|
|
const configService = new ConfigService();
|
2021-09-21 04:50:02 +00:00
|
|
|
const jwtService = new JwtService({
|
|
|
|
|
secret: configService.get<string>('SECRET_KEY_BASE'),
|
|
|
|
|
});
|
2022-05-05 07:08:42 +00:00
|
|
|
const authPayload = {
|
|
|
|
|
username: user.id,
|
|
|
|
|
sub: user.email,
|
|
|
|
|
organizationId: organizationId || user.defaultOrganizationId,
|
|
|
|
|
isPasswordLogin,
|
|
|
|
|
};
|
2021-07-20 10:23:47 +00:00
|
|
|
const authToken = jwtService.sign(authPayload);
|
|
|
|
|
return `Bearer ${authToken}`;
|
|
|
|
|
}
|
2021-07-22 07:06:12 +00:00
|
|
|
|
|
|
|
|
export async function clearDB() {
|
|
|
|
|
const entities = getConnection().entityMetadatas;
|
|
|
|
|
for (const entity of entities) {
|
2021-12-10 03:13:05 +00:00
|
|
|
const repository = getConnection().getRepository(entity.name);
|
2021-09-21 13:48:28 +00:00
|
|
|
await repository.query(`TRUNCATE ${entity.tableName} RESTART IDENTITY CASCADE;`);
|
2021-07-22 07:06:12 +00:00
|
|
|
}
|
|
|
|
|
}
|
2021-07-22 09:40:16 +00:00
|
|
|
|
2021-10-11 15:15:58 +00:00
|
|
|
export async function createApplication(nestApp, { name, user, isPublic, slug }: any) {
|
2021-07-22 14:22:14 +00:00
|
|
|
let appRepository: Repository<App>;
|
2021-10-11 15:15:58 +00:00
|
|
|
appRepository = nestApp.get('AppRepository');
|
2021-07-22 14:22:14 +00:00
|
|
|
|
2021-10-11 15:15:58 +00:00
|
|
|
user = user || (await (await createUser(nestApp, {})).user);
|
2021-09-21 04:50:02 +00:00
|
|
|
|
|
|
|
|
const newApp = await appRepository.save(
|
|
|
|
|
appRepository.create({
|
|
|
|
|
name,
|
|
|
|
|
user,
|
2021-10-11 15:15:58 +00:00
|
|
|
slug,
|
2021-09-21 04:50:02 +00:00
|
|
|
isPublic: isPublic || false,
|
2022-05-05 07:08:42 +00:00
|
|
|
organizationId: user.organizationId,
|
2021-09-21 04:50:02 +00:00
|
|
|
createdAt: new Date(),
|
|
|
|
|
updatedAt: new Date(),
|
2021-09-21 13:48:28 +00:00
|
|
|
})
|
2021-09-21 04:50:02 +00:00
|
|
|
);
|
|
|
|
|
|
2021-10-11 15:15:58 +00:00
|
|
|
await maybeCreateAdminAppGroupPermissions(nestApp, newApp);
|
|
|
|
|
await maybeCreateAllUsersAppGroupPermissions(nestApp, newApp);
|
2021-07-23 05:32:49 +00:00
|
|
|
|
|
|
|
|
return newApp;
|
2021-07-22 14:22:14 +00:00
|
|
|
}
|
|
|
|
|
|
2022-01-04 08:04:12 +00:00
|
|
|
export async function importAppFromTemplates(nestApp, user, identifier) {
|
|
|
|
|
const service = nestApp.select(AppsModule).get(LibraryAppCreationService);
|
|
|
|
|
|
|
|
|
|
return service.perform(user, identifier);
|
|
|
|
|
}
|
|
|
|
|
|
2022-01-24 05:51:54 +00:00
|
|
|
export async function createApplicationVersion(nestApp, application, { name = 'v0', definition = null } = {}) {
|
2021-07-23 14:51:24 +00:00
|
|
|
let appVersionsRepository: Repository<AppVersion>;
|
2021-10-11 15:15:58 +00:00
|
|
|
appVersionsRepository = nestApp.get('AppVersionRepository');
|
2021-07-23 14:51:24 +00:00
|
|
|
|
2021-09-21 04:50:02 +00:00
|
|
|
return await appVersionsRepository.save(
|
|
|
|
|
appVersionsRepository.create({
|
|
|
|
|
app: application,
|
2022-01-24 05:51:54 +00:00
|
|
|
name,
|
|
|
|
|
definition,
|
2021-09-21 13:48:28 +00:00
|
|
|
})
|
2021-09-21 04:50:02 +00:00
|
|
|
);
|
2021-07-23 14:51:24 +00:00
|
|
|
}
|
|
|
|
|
|
2023-03-24 16:11:21 +00:00
|
|
|
export async function createAppEnvironments(nestApp, organizationId): Promise<AppEnvironment[]> {
|
2023-01-09 12:00:32 +00:00
|
|
|
let appEnvironmentRepository: Repository<AppEnvironment>;
|
|
|
|
|
appEnvironmentRepository = nestApp.get('AppEnvironmentRepository');
|
|
|
|
|
|
|
|
|
|
return await Promise.all(
|
|
|
|
|
defaultAppEnvironments.map(async (env) => {
|
|
|
|
|
return await appEnvironmentRepository.save(
|
|
|
|
|
appEnvironmentRepository.create({
|
2023-03-24 16:11:21 +00:00
|
|
|
organizationId,
|
2023-01-09 12:00:32 +00:00
|
|
|
name: env.name,
|
|
|
|
|
isDefault: env.isDefault,
|
|
|
|
|
})
|
|
|
|
|
);
|
|
|
|
|
})
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2021-12-30 20:41:10 +00:00
|
|
|
export async function createUser(
|
|
|
|
|
nestApp,
|
2022-05-05 07:08:42 +00:00
|
|
|
{
|
|
|
|
|
firstName,
|
|
|
|
|
lastName,
|
|
|
|
|
email,
|
|
|
|
|
groups,
|
|
|
|
|
organization,
|
|
|
|
|
status,
|
|
|
|
|
invitationToken,
|
|
|
|
|
formLoginStatus = true,
|
2023-06-01 13:51:38 +00:00
|
|
|
organizationName = `${email}'s workspace`,
|
2022-05-05 07:08:42 +00:00
|
|
|
ssoConfigs = [],
|
|
|
|
|
enableSignUp = false,
|
|
|
|
|
}: {
|
|
|
|
|
firstName?: string;
|
|
|
|
|
lastName?: string;
|
|
|
|
|
email?: string;
|
|
|
|
|
groups?: Array<string>;
|
|
|
|
|
organization?: Organization;
|
|
|
|
|
status?: string;
|
|
|
|
|
invitationToken?: string;
|
|
|
|
|
formLoginStatus?: boolean;
|
|
|
|
|
organizationName?: string;
|
|
|
|
|
ssoConfigs?: Array<any>;
|
|
|
|
|
enableSignUp?: boolean;
|
|
|
|
|
},
|
|
|
|
|
existingUser?: User
|
2021-12-30 20:41:10 +00:00
|
|
|
) {
|
2021-07-22 09:40:16 +00:00
|
|
|
let userRepository: Repository<User>;
|
|
|
|
|
let organizationRepository: Repository<Organization>;
|
|
|
|
|
let organizationUsersRepository: Repository<OrganizationUser>;
|
|
|
|
|
|
2021-10-11 15:15:58 +00:00
|
|
|
userRepository = nestApp.get('UserRepository');
|
|
|
|
|
organizationRepository = nestApp.get('OrganizationRepository');
|
|
|
|
|
organizationUsersRepository = nestApp.get('OrganizationUserRepository');
|
2021-07-22 09:40:16 +00:00
|
|
|
|
2021-09-21 04:50:02 +00:00
|
|
|
organization =
|
|
|
|
|
organization ||
|
|
|
|
|
(await organizationRepository.save(
|
|
|
|
|
organizationRepository.create({
|
2022-05-05 07:08:42 +00:00
|
|
|
name: organizationName,
|
|
|
|
|
enableSignUp,
|
2021-09-21 04:50:02 +00:00
|
|
|
createdAt: new Date(),
|
|
|
|
|
updatedAt: new Date(),
|
2022-05-05 07:08:42 +00:00
|
|
|
ssoConfigs: [
|
|
|
|
|
{
|
|
|
|
|
sso: 'form',
|
|
|
|
|
enabled: formLoginStatus,
|
|
|
|
|
},
|
|
|
|
|
...ssoConfigs,
|
|
|
|
|
],
|
2021-09-21 13:48:28 +00:00
|
|
|
})
|
2021-09-21 04:50:02 +00:00
|
|
|
));
|
|
|
|
|
|
2022-05-05 07:08:42 +00:00
|
|
|
let user: User;
|
|
|
|
|
|
|
|
|
|
if (!existingUser) {
|
|
|
|
|
user = await userRepository.save(
|
|
|
|
|
userRepository.create({
|
|
|
|
|
firstName: firstName || 'test',
|
|
|
|
|
lastName: lastName || 'test',
|
|
|
|
|
email: email || 'dev@tooljet.io',
|
|
|
|
|
password: 'password',
|
|
|
|
|
invitationToken,
|
|
|
|
|
defaultOrganizationId: organization.id,
|
|
|
|
|
createdAt: new Date(),
|
|
|
|
|
updatedAt: new Date(),
|
Feature :: Onboarding revamp (#4044)
* typo
* password length check , ui fixes
* fixing typos
* fixing navbar ui
* updated icon , changed history to Link
* fix :: repopulating data
* fix :: key added for non sso logins
* ui improvements , added loading states , bugfixes
* changing folder names
* fix :: removing scroll and fixing to 100%
* fix :: all spell mistakes corrected
* fix :: bug on password show/hide
* fix :: bug in button animation state
* fix :: added loader states for all onboarding buttons
* fix :: imports
* feat :: centering ui for signup and login pages
* bugfixes :: minor
* feat :: added mediaquery for mobile screens
* fix :: typo spell check
* PR changes
- instance configs
- reused jwt payload
* fix :: loading bugfix
* feat :: added loader for verification sucess screen
* styles :: loader
* fix :: typo corrections
* fix :: image path
* fix :: darmode & enter press in onboard
* Fixed organization name issue
* fix :: keystroke not taken initially
* fix :: trim company name
* fix :: setting autocomplete to off
* removing redirectsso and confirmation page as its unused now
* few ui corrections , laoding states
* Fixed organization login sso issue
* Add db transaction wrap
* refactoring the code
* flow changes
* Added db tranxn wrap to auth services
* adding accept invite screen
* added verify organization token route
* fixes
* adding disable_multiworkspace to default config
* cleanup
* intermediate commit :: revamping organization page , api integration
* fixes
* feat :: organization token send in invite from org account setup
* fix :: making orgtoken conditional and ui changes / functional updates organization invte
* removed unwanted code
* fix :: login/account setup for sso user in single workspace flow
* fixes
* fix :: CTA loader misaligned
* fix :: sso login single workspace
* fix
* fix :: role check db
* fix :: role check DB
* fix :: setting fallback screen for organizational invite
* feat :: org signup
* fix :: loading states bug
* fix :: loading bug
* fixes
* added password length validation
* fixes
* fix: sub path for static asset serve (#4665)
* fix: sub path for static asset serve
* fix: sub path for static asset serve
* fix: sub path for static asset serve (#4668)
* Bugfix :: Sort event fired on sort removal (#4542)
* onsort applied on sort removal
* bugcheck
* removing unused toast
* Feature :: Table image column type addition (#4547)
* feat :: adding column type image
* feat :: adding image fit property
* Fix :: Closing of textarea ontype Table widget (#4549)
* fix :: closing of textarea ontype
* fix :: bug not able to clear value
* bug fixed : generate file in text is not supported (#4346)
* add eslintignore for frontend (#4669)
* [cypress] Fix failing manage SSO spec in single workspace #4390 (#4509)
* added [data-cy=login-page-logo] also removed one dropdown of same name
* Revert command.js
* call loginpagelogo
* Fixed toast test case
* updated text
* remove timer
* revert linting
* Github text fixed
* Replaced the woocommerce connection screenshot from dark to light one (#4654)
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
* gifs for Keyboard Shortcuts Added (#4643)
* Fix. Image to button group docs (#4630) (#4631)
* Add. Image to button group docs (#4630)
* Update docs/docs/widgets/button-group.md
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
* [added] Translated global strings in french #4169 (#4232)
* [added] Translated global strings in french
Added global strings translated to French language , Issue: #4169
* [localization ] Fixed the Proposed Changes in French Translation
* [localization ] Fixed the Remaining Proposed Changes in French Translation v2
* Update selectHost
Co-authored-by: roiLeo <medina.leo42@gmail.com>
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
Co-authored-by: roiLeo <medina.leo42@gmail.com>
* [localization] issue-4188 added spanish keys for card app (#4229)
* issue-4188 added spanish keys for card app
* IT-4188 fixed PR
* Improve toast message shortcut on component deletion (#4513)
* Improve toast message shortcut
* Improved user agent check
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
* Improved user agent check
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
* feat: Add DTO for organization create (#4651)
* feat: Add DTO for organization create
* chore: fix eslint error
* chore: eslint ...
* Fixed failing manage SSO spec in multi workspace (#4658)
* Fixed failing manage SSO spec in multi workspace
* github to gitHib
* persist data without saving the query (#4649)
* Fixed failing dashboard specs (#4667)
* Add and modify data-cy
* Fix failing manage users spec in multiworkspace
* Fix failing user permission spec in multi workspace
* Fix failing dashboard spec
* Fix failing manage group spec
* Fix failing manage users spec in single workspace
* Fix failing user permission spec in single workspace
* indentation changes
* Remove wait
* [Marketplace] AWS S3 (#4670)
* fix: sub path for static asset serve (#4665)
* fix: sub path for static asset serve
* fix: sub path for static asset serve
* marketplace: s3
* rename operations file to query_operations
* fix: crash on click of existing plugin
* remove unused console
* adds missing async await
* add isoptional for repo
* plugin card ui style fixes
* update plugin name
Co-authored-by: Gandharv <gandharvkumargarg@gmail.com>
* fix: Added a modal with warning message on disabling password (#4552)
* Copy to clipboard (#4588)
* Update EventManager.jsx
* Update EventManager.jsx
* Update EventManager.jsx
* fix :: adding sso configs based on org id
* loader and password check
* multiworkspace invite flow updated
* restrict only active users
* fix
* added error message for password length check
* fix :: password trim
* fix :: all happy flows tested , single and multi exept sso
* fix: message on invalid password
* revert: package-lock.json file
* feat :: changing ui for user present for org invite in multi workspace
* fix :: remove password check for existing user multiworkspace
* fix :: added fallback
* fix :: typo
* fix :: adding checks
* fix
* feat :: for single workspace user logged in directly
* fix :: code meaning fix
* fix
* fixes
* fix
* fix
* fix
* fix :: sso fix and bug updates
* fix :: json resolution for only single workspace
* token :: app level
* fix
* fix
* fixes
* fix
* ui fixes , removed loading and added checks
* showing sso options
* fix :: back to
* fix single workspace
* adding sso check ui
* sso single workspace fix
* code refactoring
* fix :: bugfix on click enter submit in signup and signin
* qa fix :: typo
* fix for sending welcome email on invite
* bug fixes
* fix
* qa bug fixes and translations
* switch workspace fixes
* fix :: company name taking empty spaces
* adding some more translations
* making all screens center aligned
* fix :: login page not loading
* fix :: singup conditional
* fixes
* typo fix
* fix :: for diabled cases of sso , password login , disabled signup
* fix
* fix :: added max input length for workspace name
* fix
* fix :: missing validation on edit email
* fix :: all screens vertically aligned
* fix :: alignment link expiry screen
* fix
* fix :: styling terms and condition
* fix :: for redirect url loginto workspace fixed according to new design
* typo
* feat :: removed onboarding modal , redundant
* typo fix
* fix
* name is now mandatory for sign up
* fix for password retry count not updating
* showing onboarding questions for sign up users
* fix :: spaces in password in diff screens
* fix :: darkmode initial
* fix for accept organization invite success message
* fix :: dark mode
* fix :: dark mode
* feat :: updating all dark mode images
* bugfix img
* bugfix ::img
* dark mode :: improvements
* single workspace signup fix
* updating images
* stylefix
* self review :: bugfixes
* sign up page fix
* fix for asking password for single ws activation
* or separator fix for signup page
* fix
* feat :: updating cta images
* fix :: loader bugs
* hiding sso options in org invite, sign in via sso
* fix :: dark mode img
* bugfixes :: cta changed
* Fix :: onboarding styles fixes (#4773)
* fix: styling in authWrappers
* cleanup
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
* fix :: conflicting styles
* fix :: loaders , and added header to link expired screen , style fixes
* fix :: mobile onboarding btn
* fix :: loading onboarding completion
* fix :: subpath not taking img path
* fix :: path
* fix :: removing trailing img / for subpath
* fix :: cta img
* fix :: remove scrollbar
* last name as undefined in comments
* fixed loading bug and cursor of company input onboard form
* comments fixes
* fix :: removing verify email screen on org invite
* comments fix
* fix :: no login methods
* fix :: bug in expired org invite verification link
* fix :: edge case name being empty when user types multiple spaces
* fix :: comments breaking
* fix :: notification breaking
* fix :: user groups table lastname
* fix for sso redirection
* fix :: empty first and last name during org invite
* bug fixed :On updating any permissions under permission tab, currentTab switches to app tab (#4734)
* fix: popout editor closing for tables (#4674)
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added default value for backgroundColor In NumberInput (#4378)
* fix: added background styles for number input
* fix: removed additional f from the background color property
* fix: added backgroundColor property from styles
* fixes: default bg color for dark mode
Co-authored-by: arpitnath <arpitnath42@gmail.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added the hover effects on datasources (#4303)
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added Background Color to Text Input (#4194)
* Added Background Color to Text Input
* Added Default Value for Background Color
* added default value and make background of text input consistent with the dark theme
Co-authored-by: manishkushare <kushare.manish9@gmail.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* feat: Add update version button on installable plugin (#4766)
* feat: Add update version button on installable plugin
* use id from update method
* removes redundant check
* use plugin id for fetching files from s3
* fetch latest plugins once updated
* disable update and remove buttons while update in progress
* replace href with link-span cx + send body in patch request
* fix: Dark mode on table's `Striped` and `Striped & Bordered` table type mode (#4611)
* [ Hotfix ] :: Hard to resize table columns (#4438)
* fix :: hard to resize , scrollbar should not be visible
* fix :: resizer not working in pewview
* Enhancement : [RangeSlider widget] Bind onChange event (#4192)
* add onChange event and its handler
* add handler for slider change as well
* fix lint
* added onChange fire event when slider value is changed
Co-authored-by: manishkushare <kushare.manish9@gmail.com>
* Added data-cy for table widget elements (#4792)
* Add data-cy to tooltip label
* Add data-cy to table filter pop-over
* Add data-cy to table elements
* Add review changes
* [docs] Widget updates (#4793)
* widget updates
* minor update
* Update README.md (#4784)
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Fixed grammatical errors in localization doc (#4800)
* [docs] widget property updates (#4806)
* fixes
* added resend invite API
* Onboarding revamp test cases (#4770)
* fix: test cases for oauth
* fix: app controller test cases
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: single workspace test cases
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* add: test cases for sso
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* fix: test cases for oauth
* fix: app controller test cases
* chore: PR fixes and cleanup
* add: test cases for sso
* fix: app test cases
* fix: linting in files
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* fix: test cases for oauth
* fix: app controller test cases
* chore: PR fixes and cleanup
* add: test cases for sso
* fix: app test cases
* fix: test cases for oauth
* fix: linting in files
* rebase: from feature/onboarding-revamp
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
* feat :: api update resend invite
* loading state resend mail
* adding loading state
* checkpoints shown only till tablet
* fix: failing test cases for sso
* pr:: changes changed all imports and removed unwanted fragments
* pr changes
* fix :: naming images
* fix :: style organized for onboarding
* fix for user seed issue
* removing unwanted styles
* Setting darkmode from props :: onboarding (#4885)
* passing darkmode as props to components
* error toast
* Review comment :: rename env variable
* Pr :: changes , code cleanup onborading form
* develop merge
* pr changes ::form splitted to components
* password warning added
* chore :: lint folder renaming
* review comments
* fixes
* fix for test cases failure
* changes :: removed empty divs
* cleanup
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Co-authored-by: Muhsin Shah <muhsinshah21@gmail.com>
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
Co-authored-by: Gandharv <gandharvkumargarg@gmail.com>
Co-authored-by: Manish Kushare <kushare.manish9@gmail.com>
Co-authored-by: Akshay <akshaysasidharan93@gmail.com>
Co-authored-by: alammoiz <moixalam@gmail.com>
Co-authored-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Co-authored-by: Akhilesh Kumar Mishra <79476272+iamakhileshmishra@users.noreply.github.com>
Co-authored-by: Hemanth Kumar <49117799+Hemanthhari2000@users.noreply.github.com>
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
Co-authored-by: akk312000 <akk312000@gmail.com>
Co-authored-by: roiLeo <medina.leo42@gmail.com>
Co-authored-by: Jose Morales <jmoralesmnz@gmail.com>
Co-authored-by: 3t8 <62209650+3t8@users.noreply.github.com>
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
Co-authored-by: Santosh Bhandari <bsantosh909@gmail.com>
Co-authored-by: Arpit <arpitnath42@gmail.com>
Co-authored-by: Ajith KV <ajith.jaban@gmail.com>
Co-authored-by: Akarsh Jain <72064462+akarsh-jain-790@users.noreply.github.com>
Co-authored-by: Utsav Paul <91927689+Smartmind12@users.noreply.github.com>
Co-authored-by: Vijaykant Yadav <vjaris42@Vijaykants-MacBook-Pro.local>
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
Co-authored-by: geisterfurz007 <geisterfurz007@users.noreply.github.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
Co-authored-by: Abhushan Gautam <carefreeav09@gmail.com>
Co-authored-by: Syed Ansar <82027712+Syed-Ansar@users.noreply.github.com>
Co-authored-by: Rahul Sunil <rahulsunil2@gmail.com>
Co-authored-by: Srisuma Atluri <40341173+Srisuma13@users.noreply.github.com>
Co-authored-by: Midhun Kumar E <midhun752@gmail.com>
Co-authored-by: Navaneeth Pk <navaneeth@tooljet.io>
Co-authored-by: Akasshhg <91525166+gogoiakash2311@users.noreply.github.com>
2022-12-08 07:54:31 +00:00
|
|
|
status: invitationToken ? 'invited' : 'active',
|
2022-05-05 07:08:42 +00:00
|
|
|
})
|
|
|
|
|
);
|
|
|
|
|
} else {
|
|
|
|
|
user = existingUser;
|
|
|
|
|
}
|
|
|
|
|
user.organizationId = organization.id;
|
2021-09-21 04:50:02 +00:00
|
|
|
|
|
|
|
|
const orgUser = await organizationUsersRepository.save(
|
|
|
|
|
organizationUsersRepository.create({
|
|
|
|
|
user: user,
|
|
|
|
|
organization,
|
2022-05-05 07:08:42 +00:00
|
|
|
invitationToken: status === 'invited' ? uuidv4() : null,
|
|
|
|
|
status: status || 'active',
|
2021-10-11 15:15:58 +00:00
|
|
|
role: 'all_users',
|
2021-09-21 04:50:02 +00:00
|
|
|
createdAt: new Date(),
|
|
|
|
|
updatedAt: new Date(),
|
2021-09-21 13:48:28 +00:00
|
|
|
})
|
2021-09-21 04:50:02 +00:00
|
|
|
);
|
|
|
|
|
|
2021-10-11 15:15:58 +00:00
|
|
|
await maybeCreateDefaultGroupPermissions(nestApp, user.organizationId);
|
|
|
|
|
await createUserGroupPermissions(
|
|
|
|
|
nestApp,
|
|
|
|
|
user,
|
|
|
|
|
groups || ['all_users', 'admin'] // default groups
|
|
|
|
|
);
|
|
|
|
|
|
2021-09-21 04:50:02 +00:00
|
|
|
return { organization, user, orgUser };
|
2021-07-22 09:40:16 +00:00
|
|
|
}
|
2021-07-24 06:13:21 +00:00
|
|
|
|
2021-10-11 15:15:58 +00:00
|
|
|
export async function createUserGroupPermissions(nestApp, user, groups) {
|
|
|
|
|
const groupPermissionRepository: Repository<GroupPermission> = nestApp.get('GroupPermissionRepository');
|
|
|
|
|
|
|
|
|
|
const userGroupPermissionRepository: Repository<UserGroupPermission> = nestApp.get('UserGroupPermissionRepository');
|
|
|
|
|
|
|
|
|
|
let userGroupPermissions = [];
|
|
|
|
|
|
|
|
|
|
for (const group of groups) {
|
|
|
|
|
let groupPermission: GroupPermission;
|
|
|
|
|
|
|
|
|
|
if (group == 'admin' || group == 'all_users') {
|
|
|
|
|
groupPermission = await groupPermissionRepository.findOneOrFail({
|
|
|
|
|
where: {
|
|
|
|
|
organizationId: user.organizationId,
|
|
|
|
|
group: group,
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
} else {
|
2022-01-31 05:45:44 +00:00
|
|
|
groupPermission =
|
|
|
|
|
(await groupPermissionRepository.findOne({
|
|
|
|
|
where: {
|
|
|
|
|
organizationId: user.organizationId,
|
|
|
|
|
group: group,
|
|
|
|
|
},
|
|
|
|
|
})) ||
|
|
|
|
|
groupPermissionRepository.create({
|
|
|
|
|
organizationId: user.organizationId,
|
|
|
|
|
group: group,
|
|
|
|
|
});
|
2021-10-11 15:15:58 +00:00
|
|
|
await groupPermissionRepository.save(groupPermission);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const userGroupPermission = userGroupPermissionRepository.create({
|
|
|
|
|
groupPermissionId: groupPermission.id,
|
|
|
|
|
userId: user.id,
|
|
|
|
|
});
|
|
|
|
|
await userGroupPermissionRepository.save(userGroupPermission);
|
|
|
|
|
userGroupPermissions.push(userGroupPermission);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return userGroupPermissions;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export async function createAppGroupPermission(nestApp, app, groupId, permissions) {
|
|
|
|
|
const appGroupPermissionRepository: Repository<AppGroupPermission> = nestApp.get('AppGroupPermissionRepository');
|
|
|
|
|
|
|
|
|
|
const appGroupPermission = appGroupPermissionRepository.create({
|
|
|
|
|
groupPermissionId: groupId,
|
|
|
|
|
appId: app.id,
|
|
|
|
|
...permissions,
|
|
|
|
|
});
|
|
|
|
|
await appGroupPermissionRepository.save(appGroupPermission);
|
|
|
|
|
|
|
|
|
|
return appGroupPermission;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export async function createGroupPermission(nestApp, params) {
|
|
|
|
|
const groupPermissionRepository: Repository<GroupPermission> = nestApp.get('GroupPermissionRepository');
|
|
|
|
|
let groupPermission = groupPermissionRepository.create({
|
|
|
|
|
...params,
|
|
|
|
|
});
|
|
|
|
|
await groupPermissionRepository.save(groupPermission);
|
|
|
|
|
|
|
|
|
|
return groupPermission;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export async function maybeCreateDefaultGroupPermissions(nestApp, organizationId) {
|
|
|
|
|
const groupPermissionRepository: Repository<GroupPermission> = nestApp.get('GroupPermissionRepository');
|
|
|
|
|
|
|
|
|
|
const defaultGroups = ['all_users', 'admin'];
|
|
|
|
|
|
|
|
|
|
for (let group of defaultGroups) {
|
|
|
|
|
const orgDefaultGroupPermissions = await groupPermissionRepository.find({
|
|
|
|
|
where: {
|
|
|
|
|
organizationId: organizationId,
|
|
|
|
|
group: group,
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (orgDefaultGroupPermissions.length == 0) {
|
|
|
|
|
const groupPermission = groupPermissionRepository.create({
|
|
|
|
|
organizationId: organizationId,
|
|
|
|
|
group: group,
|
2021-10-25 08:35:32 +00:00
|
|
|
appCreate: group == 'admin',
|
|
|
|
|
appDelete: group == 'admin',
|
2021-11-15 06:13:48 +00:00
|
|
|
folderCreate: group == 'admin',
|
2022-07-01 10:50:37 +00:00
|
|
|
orgEnvironmentVariableCreate: group == 'admin',
|
|
|
|
|
orgEnvironmentVariableUpdate: group == 'admin',
|
|
|
|
|
orgEnvironmentVariableDelete: group == 'admin',
|
2022-06-16 14:11:38 +00:00
|
|
|
folderUpdate: group == 'admin',
|
|
|
|
|
folderDelete: group == 'admin',
|
2021-10-11 15:15:58 +00:00
|
|
|
});
|
|
|
|
|
await groupPermissionRepository.save(groupPermission);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export async function maybeCreateAdminAppGroupPermissions(nestApp, app) {
|
|
|
|
|
const groupPermissionRepository: Repository<GroupPermission> = nestApp.get('GroupPermissionRepository');
|
|
|
|
|
const appGroupPermissionRepository: Repository<AppGroupPermission> = nestApp.get('AppGroupPermissionRepository');
|
|
|
|
|
|
|
|
|
|
const orgAdminGroupPermissions = await groupPermissionRepository.findOne({
|
2022-01-28 06:14:44 +00:00
|
|
|
where: {
|
|
|
|
|
organizationId: app.organizationId,
|
|
|
|
|
group: 'admin',
|
|
|
|
|
},
|
2021-10-11 15:15:58 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (orgAdminGroupPermissions) {
|
|
|
|
|
const adminGroupPermissions = {
|
|
|
|
|
read: true,
|
|
|
|
|
update: true,
|
|
|
|
|
delete: true,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const appGroupPermission = appGroupPermissionRepository.create({
|
|
|
|
|
groupPermissionId: orgAdminGroupPermissions.id,
|
|
|
|
|
appId: app.id,
|
|
|
|
|
...adminGroupPermissions,
|
|
|
|
|
});
|
|
|
|
|
await appGroupPermissionRepository.save(appGroupPermission);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export async function maybeCreateAllUsersAppGroupPermissions(nestApp, app) {
|
|
|
|
|
const groupPermissionRepository: Repository<GroupPermission> = nestApp.get('GroupPermissionRepository');
|
|
|
|
|
const appGroupPermissionRepository: Repository<AppGroupPermission> = nestApp.get('AppGroupPermissionRepository');
|
|
|
|
|
|
2022-01-31 05:45:44 +00:00
|
|
|
const allUsersGroup = await groupPermissionRepository.findOne({
|
2022-01-28 06:14:44 +00:00
|
|
|
where: {
|
|
|
|
|
organizationId: app.organizationId,
|
|
|
|
|
group: 'all_users',
|
|
|
|
|
},
|
2021-10-11 15:15:58 +00:00
|
|
|
});
|
|
|
|
|
|
2022-01-31 05:45:44 +00:00
|
|
|
if (allUsersGroup) {
|
2021-10-11 15:15:58 +00:00
|
|
|
const permissions = {
|
2022-01-31 05:45:44 +00:00
|
|
|
read: false,
|
2021-10-11 15:15:58 +00:00
|
|
|
update: false,
|
|
|
|
|
delete: false,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const appGroupPermission = appGroupPermissionRepository.create({
|
2022-01-31 05:45:44 +00:00
|
|
|
groupPermissionId: allUsersGroup.id,
|
2021-10-11 15:15:58 +00:00
|
|
|
appId: app.id,
|
|
|
|
|
...permissions,
|
|
|
|
|
});
|
|
|
|
|
await appGroupPermissionRepository.save(appGroupPermission);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2022-01-31 05:45:44 +00:00
|
|
|
export async function addAppToGroupPermission(app: App, groupPermission: GroupPermission, permissions = {}) {
|
|
|
|
|
getManager().create(AppGroupPermission, {
|
|
|
|
|
groupPermissionId: groupPermission.id,
|
|
|
|
|
appId: app.id,
|
|
|
|
|
...permissions,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-11 15:15:58 +00:00
|
|
|
export async function addAllUsersGroupToUser(nestApp, user) {
|
|
|
|
|
const groupPermissionRepository: Repository<GroupPermission> = nestApp.get('GroupPermissionRepository');
|
|
|
|
|
const userGroupPermissionRepository: Repository<UserGroupPermission> = nestApp.get('UserGroupPermissionRepository');
|
|
|
|
|
|
2022-05-05 07:08:42 +00:00
|
|
|
const orgDefaultGroupPermissions = await groupPermissionRepository.findOneOrFail({
|
2021-10-11 15:15:58 +00:00
|
|
|
where: {
|
|
|
|
|
organizationId: user.organizationId,
|
|
|
|
|
group: 'all_users',
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const userGroupPermission = userGroupPermissionRepository.create({
|
|
|
|
|
groupPermissionId: orgDefaultGroupPermissions.id,
|
|
|
|
|
userId: user.id,
|
|
|
|
|
});
|
|
|
|
|
await userGroupPermissionRepository.save(userGroupPermission);
|
|
|
|
|
|
|
|
|
|
return user;
|
|
|
|
|
}
|
|
|
|
|
|
2023-01-09 12:00:32 +00:00
|
|
|
export async function createDataSource(
|
|
|
|
|
nestApp,
|
|
|
|
|
{ appVersion, name, kind, type = 'default', options, environmentId = null }: any
|
|
|
|
|
) {
|
2021-07-24 18:09:25 +00:00
|
|
|
let dataSourceRepository: Repository<DataSource>;
|
2021-10-11 15:15:58 +00:00
|
|
|
dataSourceRepository = nestApp.get('DataSourceRepository');
|
2021-07-24 18:09:25 +00:00
|
|
|
|
2023-01-09 12:00:32 +00:00
|
|
|
const dataSource = await dataSourceRepository.save(
|
2021-09-21 04:50:02 +00:00
|
|
|
dataSourceRepository.create({
|
|
|
|
|
name,
|
|
|
|
|
kind,
|
2022-01-04 08:04:12 +00:00
|
|
|
appVersion,
|
2023-01-09 12:00:32 +00:00
|
|
|
type,
|
2021-09-21 04:50:02 +00:00
|
|
|
createdAt: new Date(),
|
|
|
|
|
updatedAt: new Date(),
|
2021-09-21 13:48:28 +00:00
|
|
|
})
|
2021-09-21 04:50:02 +00:00
|
|
|
);
|
2023-01-09 12:00:32 +00:00
|
|
|
|
|
|
|
|
environmentId && (await createDataSourceOption(nestApp, { dataSource, environmentId, options }));
|
|
|
|
|
|
|
|
|
|
return dataSource;
|
2021-07-24 18:09:25 +00:00
|
|
|
}
|
|
|
|
|
|
2023-03-24 16:11:21 +00:00
|
|
|
export async function createDataQuery(nestApp, { name = 'defaultquery', dataSource, appVersion, options }: any) {
|
2021-07-24 06:13:21 +00:00
|
|
|
let dataQueryRepository: Repository<DataQuery>;
|
2021-10-11 15:15:58 +00:00
|
|
|
dataQueryRepository = nestApp.get('DataQueryRepository');
|
2021-07-24 06:13:21 +00:00
|
|
|
|
2021-09-21 04:50:02 +00:00
|
|
|
return await dataQueryRepository.save(
|
|
|
|
|
dataQueryRepository.create({
|
|
|
|
|
options,
|
2022-12-02 08:43:28 +00:00
|
|
|
name,
|
2021-09-21 04:50:02 +00:00
|
|
|
dataSource,
|
2023-03-24 16:11:21 +00:00
|
|
|
appVersion,
|
2021-09-21 04:50:02 +00:00
|
|
|
createdAt: new Date(),
|
|
|
|
|
updatedAt: new Date(),
|
2021-09-21 13:48:28 +00:00
|
|
|
})
|
2021-09-21 04:50:02 +00:00
|
|
|
);
|
2021-07-24 06:13:21 +00:00
|
|
|
}
|
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 :zap:
* 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 :bomb:
* ws: cleanup :call_me_hand:
* 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 07:28:03 +00:00
|
|
|
|
2023-01-09 12:00:32 +00:00
|
|
|
export async function createDataSourceOption(nestApp, { dataSource, environmentId, options }: any) {
|
|
|
|
|
let dataSourceOptionsRepository: Repository<DataSourceOptions>;
|
|
|
|
|
dataSourceOptionsRepository = nestApp.get('DataSourceOptionsRepository');
|
|
|
|
|
|
|
|
|
|
const dataSourcesService = nestApp.select(DataSourcesModule).get(DataSourcesService);
|
|
|
|
|
|
|
|
|
|
return await dataSourceOptionsRepository.save(
|
|
|
|
|
dataSourceOptionsRepository.create({
|
|
|
|
|
options: await dataSourcesService.parseOptionsForCreate(options),
|
|
|
|
|
dataSourceId: dataSource.id,
|
|
|
|
|
environmentId,
|
|
|
|
|
})
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
2022-06-02 06:49:49 +00:00
|
|
|
export async function createFile(nestApp: any) {
|
|
|
|
|
let fileRepository: Repository<File>;
|
|
|
|
|
fileRepository = nestApp.get('FileRepository');
|
|
|
|
|
const createFileDto = new CreateFileDto();
|
|
|
|
|
createFileDto.filename = 'testfile';
|
|
|
|
|
createFileDto.data = Buffer.from([1, 2, 3, 4]);
|
|
|
|
|
return await fileRepository.save(fileRepository.create(createFileDto));
|
|
|
|
|
}
|
|
|
|
|
|
2022-10-27 11:29:43 +00:00
|
|
|
export async function installPlugin(nestApp: any, { name, description, id, version }: any) {
|
|
|
|
|
let pluginRepository: Repository<Plugin>;
|
|
|
|
|
pluginRepository = nestApp.get('PluginRepository');
|
|
|
|
|
const createPluginDto = new CreatePluginDto();
|
|
|
|
|
createPluginDto.id = id;
|
|
|
|
|
createPluginDto.name = name;
|
|
|
|
|
createPluginDto.version = version;
|
|
|
|
|
createPluginDto.description = description;
|
|
|
|
|
|
|
|
|
|
const pluginsService = nestApp.select(PluginsModule).get(PluginsService);
|
|
|
|
|
|
|
|
|
|
return await pluginRepository.save(pluginsService.install(createPluginDto));
|
|
|
|
|
}
|
|
|
|
|
|
2021-11-25 12:46:39 +00:00
|
|
|
export async function createThread(_nestApp, { appId, x, y, userId, organizationId, appVersionsId }: any) {
|
|
|
|
|
const threadRepository = new ThreadRepository();
|
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 :zap:
* 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 :bomb:
* ws: cleanup :call_me_hand:
* 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 07:28:03 +00:00
|
|
|
|
|
|
|
|
return await threadRepository.createThread(
|
|
|
|
|
{
|
|
|
|
|
appId,
|
|
|
|
|
x,
|
|
|
|
|
y,
|
|
|
|
|
isResolved: false,
|
2021-11-08 07:15:18 +00:00
|
|
|
organizationId,
|
|
|
|
|
appVersionsId,
|
2022-12-08 12:21:09 +00:00
|
|
|
pageId: 'placeholder',
|
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 :zap:
* 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 :bomb:
* ws: cleanup :call_me_hand:
* 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 07:28:03 +00:00
|
|
|
},
|
2021-11-08 07:15:18 +00:00
|
|
|
userId,
|
|
|
|
|
organizationId
|
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 :zap:
* 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 :bomb:
* ws: cleanup :call_me_hand:
* 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 07:28:03 +00:00
|
|
|
);
|
|
|
|
|
}
|
2022-02-28 03:15:03 +00:00
|
|
|
|
|
|
|
|
export async function setupOrganization(nestApp) {
|
|
|
|
|
const adminUserData = await createUser(nestApp, {
|
|
|
|
|
email: 'admin@tooljet.io',
|
|
|
|
|
groups: ['all_users', 'admin'],
|
|
|
|
|
});
|
|
|
|
|
const adminUser = adminUserData.user;
|
|
|
|
|
const organization = adminUserData.organization;
|
|
|
|
|
const defaultUserData = await createUser(nestApp, {
|
|
|
|
|
email: 'developer@tooljet.io',
|
|
|
|
|
groups: ['all_users'],
|
|
|
|
|
organization,
|
|
|
|
|
});
|
|
|
|
|
const defaultUser = defaultUserData.user;
|
|
|
|
|
|
|
|
|
|
const app = await createApplication(nestApp, {
|
|
|
|
|
user: adminUser,
|
|
|
|
|
name: 'sample app',
|
|
|
|
|
isPublic: false,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return { adminUser, defaultUser, app };
|
|
|
|
|
}
|
Feature :: Onboarding revamp (#4044)
* typo
* password length check , ui fixes
* fixing typos
* fixing navbar ui
* updated icon , changed history to Link
* fix :: repopulating data
* fix :: key added for non sso logins
* ui improvements , added loading states , bugfixes
* changing folder names
* fix :: removing scroll and fixing to 100%
* fix :: all spell mistakes corrected
* fix :: bug on password show/hide
* fix :: bug in button animation state
* fix :: added loader states for all onboarding buttons
* fix :: imports
* feat :: centering ui for signup and login pages
* bugfixes :: minor
* feat :: added mediaquery for mobile screens
* fix :: typo spell check
* PR changes
- instance configs
- reused jwt payload
* fix :: loading bugfix
* feat :: added loader for verification sucess screen
* styles :: loader
* fix :: typo corrections
* fix :: image path
* fix :: darmode & enter press in onboard
* Fixed organization name issue
* fix :: keystroke not taken initially
* fix :: trim company name
* fix :: setting autocomplete to off
* removing redirectsso and confirmation page as its unused now
* few ui corrections , laoding states
* Fixed organization login sso issue
* Add db transaction wrap
* refactoring the code
* flow changes
* Added db tranxn wrap to auth services
* adding accept invite screen
* added verify organization token route
* fixes
* adding disable_multiworkspace to default config
* cleanup
* intermediate commit :: revamping organization page , api integration
* fixes
* feat :: organization token send in invite from org account setup
* fix :: making orgtoken conditional and ui changes / functional updates organization invte
* removed unwanted code
* fix :: login/account setup for sso user in single workspace flow
* fixes
* fix :: CTA loader misaligned
* fix :: sso login single workspace
* fix
* fix :: role check db
* fix :: role check DB
* fix :: setting fallback screen for organizational invite
* feat :: org signup
* fix :: loading states bug
* fix :: loading bug
* fixes
* added password length validation
* fixes
* fix: sub path for static asset serve (#4665)
* fix: sub path for static asset serve
* fix: sub path for static asset serve
* fix: sub path for static asset serve (#4668)
* Bugfix :: Sort event fired on sort removal (#4542)
* onsort applied on sort removal
* bugcheck
* removing unused toast
* Feature :: Table image column type addition (#4547)
* feat :: adding column type image
* feat :: adding image fit property
* Fix :: Closing of textarea ontype Table widget (#4549)
* fix :: closing of textarea ontype
* fix :: bug not able to clear value
* bug fixed : generate file in text is not supported (#4346)
* add eslintignore for frontend (#4669)
* [cypress] Fix failing manage SSO spec in single workspace #4390 (#4509)
* added [data-cy=login-page-logo] also removed one dropdown of same name
* Revert command.js
* call loginpagelogo
* Fixed toast test case
* updated text
* remove timer
* revert linting
* Github text fixed
* Replaced the woocommerce connection screenshot from dark to light one (#4654)
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
* gifs for Keyboard Shortcuts Added (#4643)
* Fix. Image to button group docs (#4630) (#4631)
* Add. Image to button group docs (#4630)
* Update docs/docs/widgets/button-group.md
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
* [added] Translated global strings in french #4169 (#4232)
* [added] Translated global strings in french
Added global strings translated to French language , Issue: #4169
* [localization ] Fixed the Proposed Changes in French Translation
* [localization ] Fixed the Remaining Proposed Changes in French Translation v2
* Update selectHost
Co-authored-by: roiLeo <medina.leo42@gmail.com>
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
Co-authored-by: roiLeo <medina.leo42@gmail.com>
* [localization] issue-4188 added spanish keys for card app (#4229)
* issue-4188 added spanish keys for card app
* IT-4188 fixed PR
* Improve toast message shortcut on component deletion (#4513)
* Improve toast message shortcut
* Improved user agent check
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
* Improved user agent check
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
* feat: Add DTO for organization create (#4651)
* feat: Add DTO for organization create
* chore: fix eslint error
* chore: eslint ...
* Fixed failing manage SSO spec in multi workspace (#4658)
* Fixed failing manage SSO spec in multi workspace
* github to gitHib
* persist data without saving the query (#4649)
* Fixed failing dashboard specs (#4667)
* Add and modify data-cy
* Fix failing manage users spec in multiworkspace
* Fix failing user permission spec in multi workspace
* Fix failing dashboard spec
* Fix failing manage group spec
* Fix failing manage users spec in single workspace
* Fix failing user permission spec in single workspace
* indentation changes
* Remove wait
* [Marketplace] AWS S3 (#4670)
* fix: sub path for static asset serve (#4665)
* fix: sub path for static asset serve
* fix: sub path for static asset serve
* marketplace: s3
* rename operations file to query_operations
* fix: crash on click of existing plugin
* remove unused console
* adds missing async await
* add isoptional for repo
* plugin card ui style fixes
* update plugin name
Co-authored-by: Gandharv <gandharvkumargarg@gmail.com>
* fix: Added a modal with warning message on disabling password (#4552)
* Copy to clipboard (#4588)
* Update EventManager.jsx
* Update EventManager.jsx
* Update EventManager.jsx
* fix :: adding sso configs based on org id
* loader and password check
* multiworkspace invite flow updated
* restrict only active users
* fix
* added error message for password length check
* fix :: password trim
* fix :: all happy flows tested , single and multi exept sso
* fix: message on invalid password
* revert: package-lock.json file
* feat :: changing ui for user present for org invite in multi workspace
* fix :: remove password check for existing user multiworkspace
* fix :: added fallback
* fix :: typo
* fix :: adding checks
* fix
* feat :: for single workspace user logged in directly
* fix :: code meaning fix
* fix
* fixes
* fix
* fix
* fix
* fix :: sso fix and bug updates
* fix :: json resolution for only single workspace
* token :: app level
* fix
* fix
* fixes
* fix
* ui fixes , removed loading and added checks
* showing sso options
* fix :: back to
* fix single workspace
* adding sso check ui
* sso single workspace fix
* code refactoring
* fix :: bugfix on click enter submit in signup and signin
* qa fix :: typo
* fix for sending welcome email on invite
* bug fixes
* fix
* qa bug fixes and translations
* switch workspace fixes
* fix :: company name taking empty spaces
* adding some more translations
* making all screens center aligned
* fix :: login page not loading
* fix :: singup conditional
* fixes
* typo fix
* fix :: for diabled cases of sso , password login , disabled signup
* fix
* fix :: added max input length for workspace name
* fix
* fix :: missing validation on edit email
* fix :: all screens vertically aligned
* fix :: alignment link expiry screen
* fix
* fix :: styling terms and condition
* fix :: for redirect url loginto workspace fixed according to new design
* typo
* feat :: removed onboarding modal , redundant
* typo fix
* fix
* name is now mandatory for sign up
* fix for password retry count not updating
* showing onboarding questions for sign up users
* fix :: spaces in password in diff screens
* fix :: darkmode initial
* fix for accept organization invite success message
* fix :: dark mode
* fix :: dark mode
* feat :: updating all dark mode images
* bugfix img
* bugfix ::img
* dark mode :: improvements
* single workspace signup fix
* updating images
* stylefix
* self review :: bugfixes
* sign up page fix
* fix for asking password for single ws activation
* or separator fix for signup page
* fix
* feat :: updating cta images
* fix :: loader bugs
* hiding sso options in org invite, sign in via sso
* fix :: dark mode img
* bugfixes :: cta changed
* Fix :: onboarding styles fixes (#4773)
* fix: styling in authWrappers
* cleanup
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
* fix :: conflicting styles
* fix :: loaders , and added header to link expired screen , style fixes
* fix :: mobile onboarding btn
* fix :: loading onboarding completion
* fix :: subpath not taking img path
* fix :: path
* fix :: removing trailing img / for subpath
* fix :: cta img
* fix :: remove scrollbar
* last name as undefined in comments
* fixed loading bug and cursor of company input onboard form
* comments fixes
* fix :: removing verify email screen on org invite
* comments fix
* fix :: no login methods
* fix :: bug in expired org invite verification link
* fix :: edge case name being empty when user types multiple spaces
* fix :: comments breaking
* fix :: notification breaking
* fix :: user groups table lastname
* fix for sso redirection
* fix :: empty first and last name during org invite
* bug fixed :On updating any permissions under permission tab, currentTab switches to app tab (#4734)
* fix: popout editor closing for tables (#4674)
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added default value for backgroundColor In NumberInput (#4378)
* fix: added background styles for number input
* fix: removed additional f from the background color property
* fix: added backgroundColor property from styles
* fixes: default bg color for dark mode
Co-authored-by: arpitnath <arpitnath42@gmail.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added the hover effects on datasources (#4303)
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added Background Color to Text Input (#4194)
* Added Background Color to Text Input
* Added Default Value for Background Color
* added default value and make background of text input consistent with the dark theme
Co-authored-by: manishkushare <kushare.manish9@gmail.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* feat: Add update version button on installable plugin (#4766)
* feat: Add update version button on installable plugin
* use id from update method
* removes redundant check
* use plugin id for fetching files from s3
* fetch latest plugins once updated
* disable update and remove buttons while update in progress
* replace href with link-span cx + send body in patch request
* fix: Dark mode on table's `Striped` and `Striped & Bordered` table type mode (#4611)
* [ Hotfix ] :: Hard to resize table columns (#4438)
* fix :: hard to resize , scrollbar should not be visible
* fix :: resizer not working in pewview
* Enhancement : [RangeSlider widget] Bind onChange event (#4192)
* add onChange event and its handler
* add handler for slider change as well
* fix lint
* added onChange fire event when slider value is changed
Co-authored-by: manishkushare <kushare.manish9@gmail.com>
* Added data-cy for table widget elements (#4792)
* Add data-cy to tooltip label
* Add data-cy to table filter pop-over
* Add data-cy to table elements
* Add review changes
* [docs] Widget updates (#4793)
* widget updates
* minor update
* Update README.md (#4784)
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Fixed grammatical errors in localization doc (#4800)
* [docs] widget property updates (#4806)
* fixes
* added resend invite API
* Onboarding revamp test cases (#4770)
* fix: test cases for oauth
* fix: app controller test cases
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: single workspace test cases
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* add: test cases for sso
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* fix: test cases for oauth
* fix: app controller test cases
* chore: PR fixes and cleanup
* add: test cases for sso
* fix: app test cases
* fix: linting in files
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* fix: test cases for oauth
* fix: app controller test cases
* chore: PR fixes and cleanup
* add: test cases for sso
* fix: app test cases
* fix: test cases for oauth
* fix: linting in files
* rebase: from feature/onboarding-revamp
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
* feat :: api update resend invite
* loading state resend mail
* adding loading state
* checkpoints shown only till tablet
* fix: failing test cases for sso
* pr:: changes changed all imports and removed unwanted fragments
* pr changes
* fix :: naming images
* fix :: style organized for onboarding
* fix for user seed issue
* removing unwanted styles
* Setting darkmode from props :: onboarding (#4885)
* passing darkmode as props to components
* error toast
* Review comment :: rename env variable
* Pr :: changes , code cleanup onborading form
* develop merge
* pr changes ::form splitted to components
* password warning added
* chore :: lint folder renaming
* review comments
* fixes
* fix for test cases failure
* changes :: removed empty divs
* cleanup
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Co-authored-by: Muhsin Shah <muhsinshah21@gmail.com>
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
Co-authored-by: Gandharv <gandharvkumargarg@gmail.com>
Co-authored-by: Manish Kushare <kushare.manish9@gmail.com>
Co-authored-by: Akshay <akshaysasidharan93@gmail.com>
Co-authored-by: alammoiz <moixalam@gmail.com>
Co-authored-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Co-authored-by: Akhilesh Kumar Mishra <79476272+iamakhileshmishra@users.noreply.github.com>
Co-authored-by: Hemanth Kumar <49117799+Hemanthhari2000@users.noreply.github.com>
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
Co-authored-by: akk312000 <akk312000@gmail.com>
Co-authored-by: roiLeo <medina.leo42@gmail.com>
Co-authored-by: Jose Morales <jmoralesmnz@gmail.com>
Co-authored-by: 3t8 <62209650+3t8@users.noreply.github.com>
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
Co-authored-by: Santosh Bhandari <bsantosh909@gmail.com>
Co-authored-by: Arpit <arpitnath42@gmail.com>
Co-authored-by: Ajith KV <ajith.jaban@gmail.com>
Co-authored-by: Akarsh Jain <72064462+akarsh-jain-790@users.noreply.github.com>
Co-authored-by: Utsav Paul <91927689+Smartmind12@users.noreply.github.com>
Co-authored-by: Vijaykant Yadav <vjaris42@Vijaykants-MacBook-Pro.local>
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
Co-authored-by: geisterfurz007 <geisterfurz007@users.noreply.github.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
Co-authored-by: Abhushan Gautam <carefreeav09@gmail.com>
Co-authored-by: Syed Ansar <82027712+Syed-Ansar@users.noreply.github.com>
Co-authored-by: Rahul Sunil <rahulsunil2@gmail.com>
Co-authored-by: Srisuma Atluri <40341173+Srisuma13@users.noreply.github.com>
Co-authored-by: Midhun Kumar E <midhun752@gmail.com>
Co-authored-by: Navaneeth Pk <navaneeth@tooljet.io>
Co-authored-by: Akasshhg <91525166+gogoiakash2311@users.noreply.github.com>
2022-12-08 07:54:31 +00:00
|
|
|
|
|
|
|
|
export const generateRedirectUrl = async (
|
|
|
|
|
email: string,
|
|
|
|
|
current_organization?: Organization,
|
|
|
|
|
isOrgInvitation?: boolean,
|
|
|
|
|
isSSO = true
|
|
|
|
|
) => {
|
|
|
|
|
const manager = getManager();
|
|
|
|
|
const user = await manager.findOneOrFail(User, { where: { email: email } });
|
|
|
|
|
|
|
|
|
|
const organizationToken = user.organizationUsers?.find(
|
|
|
|
|
(ou) => ou.organizationId === current_organization?.id
|
|
|
|
|
)?.invitationToken;
|
|
|
|
|
|
|
|
|
|
return `${process.env['TOOLJET_HOST']}${
|
|
|
|
|
isOrgInvitation ? `/organization-invitations/${organizationToken}` : `/invitations/${user.invitationToken}`
|
|
|
|
|
}${
|
|
|
|
|
organizationToken
|
|
|
|
|
? `${!isOrgInvitation ? `/workspaces/${organizationToken}` : ''}?oid=${current_organization?.id}&`
|
|
|
|
|
: isSSO
|
|
|
|
|
? '?'
|
|
|
|
|
: ''
|
|
|
|
|
}${isSSO ? 'source=sso' : ''}`;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const createSSOMockConfig = (mockConfig) => {
|
|
|
|
|
jest.spyOn(mockConfig, 'get').mockImplementation((key: string) => {
|
|
|
|
|
switch (key) {
|
|
|
|
|
case 'SSO_GOOGLE_OAUTH2_CLIENT_ID':
|
|
|
|
|
return 'google-client-id';
|
|
|
|
|
case 'SSO_GIT_OAUTH2_CLIENT_ID':
|
|
|
|
|
return 'git-client-id';
|
|
|
|
|
case 'SSO_GIT_OAUTH2_CLIENT_SECRET':
|
|
|
|
|
return 'git-secret';
|
|
|
|
|
case 'SSO_ACCEPTED_DOMAINS':
|
|
|
|
|
return 'tooljet.io,tooljet.com';
|
|
|
|
|
default:
|
|
|
|
|
return process.env[key];
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const verifyInviteToken = async (app: INestApplication, user: User, verifyForSignup = false) => {
|
|
|
|
|
let organizationUsersRepository: Repository<OrganizationUser>;
|
|
|
|
|
organizationUsersRepository = app.get('OrganizationUserRepository');
|
|
|
|
|
|
|
|
|
|
const { invitationToken } = user;
|
|
|
|
|
const { invitationToken: orgInviteToken } = await organizationUsersRepository.findOneOrFail({
|
|
|
|
|
where: { userId: user.id },
|
|
|
|
|
});
|
|
|
|
|
const response = await request(app.getHttpServer()).get(
|
|
|
|
|
`/api/verify-invite-token?token=${invitationToken}${
|
|
|
|
|
!verifyForSignup && orgInviteToken ? `&organizationToken=${orgInviteToken}` : ''
|
|
|
|
|
}`
|
|
|
|
|
);
|
|
|
|
|
const {
|
|
|
|
|
body: { onboarding_details },
|
|
|
|
|
status,
|
|
|
|
|
} = response;
|
|
|
|
|
|
|
|
|
|
expect(status).toBe(200);
|
|
|
|
|
expect(Object.keys(onboarding_details)).toEqual(['password', 'questions']);
|
|
|
|
|
await user.reload();
|
|
|
|
|
expect(user.status).toBe('verified');
|
|
|
|
|
return response;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const setUpAccountFromToken = async (app: INestApplication, user: User, org: Organization, payload) => {
|
|
|
|
|
const response = await request(app.getHttpServer()).post('/api/setup-account-from-token').send(payload);
|
|
|
|
|
const { status } = response;
|
|
|
|
|
expect(status).toBe(201);
|
|
|
|
|
|
2023-04-06 11:12:58 +00:00
|
|
|
const { email, first_name, last_name, current_organization_id } = response.body;
|
Feature :: Onboarding revamp (#4044)
* typo
* password length check , ui fixes
* fixing typos
* fixing navbar ui
* updated icon , changed history to Link
* fix :: repopulating data
* fix :: key added for non sso logins
* ui improvements , added loading states , bugfixes
* changing folder names
* fix :: removing scroll and fixing to 100%
* fix :: all spell mistakes corrected
* fix :: bug on password show/hide
* fix :: bug in button animation state
* fix :: added loader states for all onboarding buttons
* fix :: imports
* feat :: centering ui for signup and login pages
* bugfixes :: minor
* feat :: added mediaquery for mobile screens
* fix :: typo spell check
* PR changes
- instance configs
- reused jwt payload
* fix :: loading bugfix
* feat :: added loader for verification sucess screen
* styles :: loader
* fix :: typo corrections
* fix :: image path
* fix :: darmode & enter press in onboard
* Fixed organization name issue
* fix :: keystroke not taken initially
* fix :: trim company name
* fix :: setting autocomplete to off
* removing redirectsso and confirmation page as its unused now
* few ui corrections , laoding states
* Fixed organization login sso issue
* Add db transaction wrap
* refactoring the code
* flow changes
* Added db tranxn wrap to auth services
* adding accept invite screen
* added verify organization token route
* fixes
* adding disable_multiworkspace to default config
* cleanup
* intermediate commit :: revamping organization page , api integration
* fixes
* feat :: organization token send in invite from org account setup
* fix :: making orgtoken conditional and ui changes / functional updates organization invte
* removed unwanted code
* fix :: login/account setup for sso user in single workspace flow
* fixes
* fix :: CTA loader misaligned
* fix :: sso login single workspace
* fix
* fix :: role check db
* fix :: role check DB
* fix :: setting fallback screen for organizational invite
* feat :: org signup
* fix :: loading states bug
* fix :: loading bug
* fixes
* added password length validation
* fixes
* fix: sub path for static asset serve (#4665)
* fix: sub path for static asset serve
* fix: sub path for static asset serve
* fix: sub path for static asset serve (#4668)
* Bugfix :: Sort event fired on sort removal (#4542)
* onsort applied on sort removal
* bugcheck
* removing unused toast
* Feature :: Table image column type addition (#4547)
* feat :: adding column type image
* feat :: adding image fit property
* Fix :: Closing of textarea ontype Table widget (#4549)
* fix :: closing of textarea ontype
* fix :: bug not able to clear value
* bug fixed : generate file in text is not supported (#4346)
* add eslintignore for frontend (#4669)
* [cypress] Fix failing manage SSO spec in single workspace #4390 (#4509)
* added [data-cy=login-page-logo] also removed one dropdown of same name
* Revert command.js
* call loginpagelogo
* Fixed toast test case
* updated text
* remove timer
* revert linting
* Github text fixed
* Replaced the woocommerce connection screenshot from dark to light one (#4654)
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
* gifs for Keyboard Shortcuts Added (#4643)
* Fix. Image to button group docs (#4630) (#4631)
* Add. Image to button group docs (#4630)
* Update docs/docs/widgets/button-group.md
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
* [added] Translated global strings in french #4169 (#4232)
* [added] Translated global strings in french
Added global strings translated to French language , Issue: #4169
* [localization ] Fixed the Proposed Changes in French Translation
* [localization ] Fixed the Remaining Proposed Changes in French Translation v2
* Update selectHost
Co-authored-by: roiLeo <medina.leo42@gmail.com>
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
Co-authored-by: roiLeo <medina.leo42@gmail.com>
* [localization] issue-4188 added spanish keys for card app (#4229)
* issue-4188 added spanish keys for card app
* IT-4188 fixed PR
* Improve toast message shortcut on component deletion (#4513)
* Improve toast message shortcut
* Improved user agent check
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
* Improved user agent check
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
* feat: Add DTO for organization create (#4651)
* feat: Add DTO for organization create
* chore: fix eslint error
* chore: eslint ...
* Fixed failing manage SSO spec in multi workspace (#4658)
* Fixed failing manage SSO spec in multi workspace
* github to gitHib
* persist data without saving the query (#4649)
* Fixed failing dashboard specs (#4667)
* Add and modify data-cy
* Fix failing manage users spec in multiworkspace
* Fix failing user permission spec in multi workspace
* Fix failing dashboard spec
* Fix failing manage group spec
* Fix failing manage users spec in single workspace
* Fix failing user permission spec in single workspace
* indentation changes
* Remove wait
* [Marketplace] AWS S3 (#4670)
* fix: sub path for static asset serve (#4665)
* fix: sub path for static asset serve
* fix: sub path for static asset serve
* marketplace: s3
* rename operations file to query_operations
* fix: crash on click of existing plugin
* remove unused console
* adds missing async await
* add isoptional for repo
* plugin card ui style fixes
* update plugin name
Co-authored-by: Gandharv <gandharvkumargarg@gmail.com>
* fix: Added a modal with warning message on disabling password (#4552)
* Copy to clipboard (#4588)
* Update EventManager.jsx
* Update EventManager.jsx
* Update EventManager.jsx
* fix :: adding sso configs based on org id
* loader and password check
* multiworkspace invite flow updated
* restrict only active users
* fix
* added error message for password length check
* fix :: password trim
* fix :: all happy flows tested , single and multi exept sso
* fix: message on invalid password
* revert: package-lock.json file
* feat :: changing ui for user present for org invite in multi workspace
* fix :: remove password check for existing user multiworkspace
* fix :: added fallback
* fix :: typo
* fix :: adding checks
* fix
* feat :: for single workspace user logged in directly
* fix :: code meaning fix
* fix
* fixes
* fix
* fix
* fix
* fix :: sso fix and bug updates
* fix :: json resolution for only single workspace
* token :: app level
* fix
* fix
* fixes
* fix
* ui fixes , removed loading and added checks
* showing sso options
* fix :: back to
* fix single workspace
* adding sso check ui
* sso single workspace fix
* code refactoring
* fix :: bugfix on click enter submit in signup and signin
* qa fix :: typo
* fix for sending welcome email on invite
* bug fixes
* fix
* qa bug fixes and translations
* switch workspace fixes
* fix :: company name taking empty spaces
* adding some more translations
* making all screens center aligned
* fix :: login page not loading
* fix :: singup conditional
* fixes
* typo fix
* fix :: for diabled cases of sso , password login , disabled signup
* fix
* fix :: added max input length for workspace name
* fix
* fix :: missing validation on edit email
* fix :: all screens vertically aligned
* fix :: alignment link expiry screen
* fix
* fix :: styling terms and condition
* fix :: for redirect url loginto workspace fixed according to new design
* typo
* feat :: removed onboarding modal , redundant
* typo fix
* fix
* name is now mandatory for sign up
* fix for password retry count not updating
* showing onboarding questions for sign up users
* fix :: spaces in password in diff screens
* fix :: darkmode initial
* fix for accept organization invite success message
* fix :: dark mode
* fix :: dark mode
* feat :: updating all dark mode images
* bugfix img
* bugfix ::img
* dark mode :: improvements
* single workspace signup fix
* updating images
* stylefix
* self review :: bugfixes
* sign up page fix
* fix for asking password for single ws activation
* or separator fix for signup page
* fix
* feat :: updating cta images
* fix :: loader bugs
* hiding sso options in org invite, sign in via sso
* fix :: dark mode img
* bugfixes :: cta changed
* Fix :: onboarding styles fixes (#4773)
* fix: styling in authWrappers
* cleanup
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
* fix :: conflicting styles
* fix :: loaders , and added header to link expired screen , style fixes
* fix :: mobile onboarding btn
* fix :: loading onboarding completion
* fix :: subpath not taking img path
* fix :: path
* fix :: removing trailing img / for subpath
* fix :: cta img
* fix :: remove scrollbar
* last name as undefined in comments
* fixed loading bug and cursor of company input onboard form
* comments fixes
* fix :: removing verify email screen on org invite
* comments fix
* fix :: no login methods
* fix :: bug in expired org invite verification link
* fix :: edge case name being empty when user types multiple spaces
* fix :: comments breaking
* fix :: notification breaking
* fix :: user groups table lastname
* fix for sso redirection
* fix :: empty first and last name during org invite
* bug fixed :On updating any permissions under permission tab, currentTab switches to app tab (#4734)
* fix: popout editor closing for tables (#4674)
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added default value for backgroundColor In NumberInput (#4378)
* fix: added background styles for number input
* fix: removed additional f from the background color property
* fix: added backgroundColor property from styles
* fixes: default bg color for dark mode
Co-authored-by: arpitnath <arpitnath42@gmail.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added the hover effects on datasources (#4303)
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added Background Color to Text Input (#4194)
* Added Background Color to Text Input
* Added Default Value for Background Color
* added default value and make background of text input consistent with the dark theme
Co-authored-by: manishkushare <kushare.manish9@gmail.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* feat: Add update version button on installable plugin (#4766)
* feat: Add update version button on installable plugin
* use id from update method
* removes redundant check
* use plugin id for fetching files from s3
* fetch latest plugins once updated
* disable update and remove buttons while update in progress
* replace href with link-span cx + send body in patch request
* fix: Dark mode on table's `Striped` and `Striped & Bordered` table type mode (#4611)
* [ Hotfix ] :: Hard to resize table columns (#4438)
* fix :: hard to resize , scrollbar should not be visible
* fix :: resizer not working in pewview
* Enhancement : [RangeSlider widget] Bind onChange event (#4192)
* add onChange event and its handler
* add handler for slider change as well
* fix lint
* added onChange fire event when slider value is changed
Co-authored-by: manishkushare <kushare.manish9@gmail.com>
* Added data-cy for table widget elements (#4792)
* Add data-cy to tooltip label
* Add data-cy to table filter pop-over
* Add data-cy to table elements
* Add review changes
* [docs] Widget updates (#4793)
* widget updates
* minor update
* Update README.md (#4784)
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Fixed grammatical errors in localization doc (#4800)
* [docs] widget property updates (#4806)
* fixes
* added resend invite API
* Onboarding revamp test cases (#4770)
* fix: test cases for oauth
* fix: app controller test cases
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: single workspace test cases
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* add: test cases for sso
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* fix: test cases for oauth
* fix: app controller test cases
* chore: PR fixes and cleanup
* add: test cases for sso
* fix: app test cases
* fix: linting in files
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* fix: test cases for oauth
* fix: app controller test cases
* chore: PR fixes and cleanup
* add: test cases for sso
* fix: app test cases
* fix: test cases for oauth
* fix: linting in files
* rebase: from feature/onboarding-revamp
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
* feat :: api update resend invite
* loading state resend mail
* adding loading state
* checkpoints shown only till tablet
* fix: failing test cases for sso
* pr:: changes changed all imports and removed unwanted fragments
* pr changes
* fix :: naming images
* fix :: style organized for onboarding
* fix for user seed issue
* removing unwanted styles
* Setting darkmode from props :: onboarding (#4885)
* passing darkmode as props to components
* error toast
* Review comment :: rename env variable
* Pr :: changes , code cleanup onborading form
* develop merge
* pr changes ::form splitted to components
* password warning added
* chore :: lint folder renaming
* review comments
* fixes
* fix for test cases failure
* changes :: removed empty divs
* cleanup
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Co-authored-by: Muhsin Shah <muhsinshah21@gmail.com>
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
Co-authored-by: Gandharv <gandharvkumargarg@gmail.com>
Co-authored-by: Manish Kushare <kushare.manish9@gmail.com>
Co-authored-by: Akshay <akshaysasidharan93@gmail.com>
Co-authored-by: alammoiz <moixalam@gmail.com>
Co-authored-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Co-authored-by: Akhilesh Kumar Mishra <79476272+iamakhileshmishra@users.noreply.github.com>
Co-authored-by: Hemanth Kumar <49117799+Hemanthhari2000@users.noreply.github.com>
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
Co-authored-by: akk312000 <akk312000@gmail.com>
Co-authored-by: roiLeo <medina.leo42@gmail.com>
Co-authored-by: Jose Morales <jmoralesmnz@gmail.com>
Co-authored-by: 3t8 <62209650+3t8@users.noreply.github.com>
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
Co-authored-by: Santosh Bhandari <bsantosh909@gmail.com>
Co-authored-by: Arpit <arpitnath42@gmail.com>
Co-authored-by: Ajith KV <ajith.jaban@gmail.com>
Co-authored-by: Akarsh Jain <72064462+akarsh-jain-790@users.noreply.github.com>
Co-authored-by: Utsav Paul <91927689+Smartmind12@users.noreply.github.com>
Co-authored-by: Vijaykant Yadav <vjaris42@Vijaykants-MacBook-Pro.local>
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
Co-authored-by: geisterfurz007 <geisterfurz007@users.noreply.github.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
Co-authored-by: Abhushan Gautam <carefreeav09@gmail.com>
Co-authored-by: Syed Ansar <82027712+Syed-Ansar@users.noreply.github.com>
Co-authored-by: Rahul Sunil <rahulsunil2@gmail.com>
Co-authored-by: Srisuma Atluri <40341173+Srisuma13@users.noreply.github.com>
Co-authored-by: Midhun Kumar E <midhun752@gmail.com>
Co-authored-by: Navaneeth Pk <navaneeth@tooljet.io>
Co-authored-by: Akasshhg <91525166+gogoiakash2311@users.noreply.github.com>
2022-12-08 07:54:31 +00:00
|
|
|
|
|
|
|
|
expect(email).toEqual(user.email);
|
|
|
|
|
expect(first_name).toEqual(user.firstName);
|
|
|
|
|
expect(last_name).toEqual(user.lastName);
|
2023-04-06 11:12:58 +00:00
|
|
|
expect(current_organization_id).toBe(org.id);
|
Feature :: Onboarding revamp (#4044)
* typo
* password length check , ui fixes
* fixing typos
* fixing navbar ui
* updated icon , changed history to Link
* fix :: repopulating data
* fix :: key added for non sso logins
* ui improvements , added loading states , bugfixes
* changing folder names
* fix :: removing scroll and fixing to 100%
* fix :: all spell mistakes corrected
* fix :: bug on password show/hide
* fix :: bug in button animation state
* fix :: added loader states for all onboarding buttons
* fix :: imports
* feat :: centering ui for signup and login pages
* bugfixes :: minor
* feat :: added mediaquery for mobile screens
* fix :: typo spell check
* PR changes
- instance configs
- reused jwt payload
* fix :: loading bugfix
* feat :: added loader for verification sucess screen
* styles :: loader
* fix :: typo corrections
* fix :: image path
* fix :: darmode & enter press in onboard
* Fixed organization name issue
* fix :: keystroke not taken initially
* fix :: trim company name
* fix :: setting autocomplete to off
* removing redirectsso and confirmation page as its unused now
* few ui corrections , laoding states
* Fixed organization login sso issue
* Add db transaction wrap
* refactoring the code
* flow changes
* Added db tranxn wrap to auth services
* adding accept invite screen
* added verify organization token route
* fixes
* adding disable_multiworkspace to default config
* cleanup
* intermediate commit :: revamping organization page , api integration
* fixes
* feat :: organization token send in invite from org account setup
* fix :: making orgtoken conditional and ui changes / functional updates organization invte
* removed unwanted code
* fix :: login/account setup for sso user in single workspace flow
* fixes
* fix :: CTA loader misaligned
* fix :: sso login single workspace
* fix
* fix :: role check db
* fix :: role check DB
* fix :: setting fallback screen for organizational invite
* feat :: org signup
* fix :: loading states bug
* fix :: loading bug
* fixes
* added password length validation
* fixes
* fix: sub path for static asset serve (#4665)
* fix: sub path for static asset serve
* fix: sub path for static asset serve
* fix: sub path for static asset serve (#4668)
* Bugfix :: Sort event fired on sort removal (#4542)
* onsort applied on sort removal
* bugcheck
* removing unused toast
* Feature :: Table image column type addition (#4547)
* feat :: adding column type image
* feat :: adding image fit property
* Fix :: Closing of textarea ontype Table widget (#4549)
* fix :: closing of textarea ontype
* fix :: bug not able to clear value
* bug fixed : generate file in text is not supported (#4346)
* add eslintignore for frontend (#4669)
* [cypress] Fix failing manage SSO spec in single workspace #4390 (#4509)
* added [data-cy=login-page-logo] also removed one dropdown of same name
* Revert command.js
* call loginpagelogo
* Fixed toast test case
* updated text
* remove timer
* revert linting
* Github text fixed
* Replaced the woocommerce connection screenshot from dark to light one (#4654)
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
* gifs for Keyboard Shortcuts Added (#4643)
* Fix. Image to button group docs (#4630) (#4631)
* Add. Image to button group docs (#4630)
* Update docs/docs/widgets/button-group.md
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
* [added] Translated global strings in french #4169 (#4232)
* [added] Translated global strings in french
Added global strings translated to French language , Issue: #4169
* [localization ] Fixed the Proposed Changes in French Translation
* [localization ] Fixed the Remaining Proposed Changes in French Translation v2
* Update selectHost
Co-authored-by: roiLeo <medina.leo42@gmail.com>
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
Co-authored-by: roiLeo <medina.leo42@gmail.com>
* [localization] issue-4188 added spanish keys for card app (#4229)
* issue-4188 added spanish keys for card app
* IT-4188 fixed PR
* Improve toast message shortcut on component deletion (#4513)
* Improve toast message shortcut
* Improved user agent check
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
* Improved user agent check
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
* feat: Add DTO for organization create (#4651)
* feat: Add DTO for organization create
* chore: fix eslint error
* chore: eslint ...
* Fixed failing manage SSO spec in multi workspace (#4658)
* Fixed failing manage SSO spec in multi workspace
* github to gitHib
* persist data without saving the query (#4649)
* Fixed failing dashboard specs (#4667)
* Add and modify data-cy
* Fix failing manage users spec in multiworkspace
* Fix failing user permission spec in multi workspace
* Fix failing dashboard spec
* Fix failing manage group spec
* Fix failing manage users spec in single workspace
* Fix failing user permission spec in single workspace
* indentation changes
* Remove wait
* [Marketplace] AWS S3 (#4670)
* fix: sub path for static asset serve (#4665)
* fix: sub path for static asset serve
* fix: sub path for static asset serve
* marketplace: s3
* rename operations file to query_operations
* fix: crash on click of existing plugin
* remove unused console
* adds missing async await
* add isoptional for repo
* plugin card ui style fixes
* update plugin name
Co-authored-by: Gandharv <gandharvkumargarg@gmail.com>
* fix: Added a modal with warning message on disabling password (#4552)
* Copy to clipboard (#4588)
* Update EventManager.jsx
* Update EventManager.jsx
* Update EventManager.jsx
* fix :: adding sso configs based on org id
* loader and password check
* multiworkspace invite flow updated
* restrict only active users
* fix
* added error message for password length check
* fix :: password trim
* fix :: all happy flows tested , single and multi exept sso
* fix: message on invalid password
* revert: package-lock.json file
* feat :: changing ui for user present for org invite in multi workspace
* fix :: remove password check for existing user multiworkspace
* fix :: added fallback
* fix :: typo
* fix :: adding checks
* fix
* feat :: for single workspace user logged in directly
* fix :: code meaning fix
* fix
* fixes
* fix
* fix
* fix
* fix :: sso fix and bug updates
* fix :: json resolution for only single workspace
* token :: app level
* fix
* fix
* fixes
* fix
* ui fixes , removed loading and added checks
* showing sso options
* fix :: back to
* fix single workspace
* adding sso check ui
* sso single workspace fix
* code refactoring
* fix :: bugfix on click enter submit in signup and signin
* qa fix :: typo
* fix for sending welcome email on invite
* bug fixes
* fix
* qa bug fixes and translations
* switch workspace fixes
* fix :: company name taking empty spaces
* adding some more translations
* making all screens center aligned
* fix :: login page not loading
* fix :: singup conditional
* fixes
* typo fix
* fix :: for diabled cases of sso , password login , disabled signup
* fix
* fix :: added max input length for workspace name
* fix
* fix :: missing validation on edit email
* fix :: all screens vertically aligned
* fix :: alignment link expiry screen
* fix
* fix :: styling terms and condition
* fix :: for redirect url loginto workspace fixed according to new design
* typo
* feat :: removed onboarding modal , redundant
* typo fix
* fix
* name is now mandatory for sign up
* fix for password retry count not updating
* showing onboarding questions for sign up users
* fix :: spaces in password in diff screens
* fix :: darkmode initial
* fix for accept organization invite success message
* fix :: dark mode
* fix :: dark mode
* feat :: updating all dark mode images
* bugfix img
* bugfix ::img
* dark mode :: improvements
* single workspace signup fix
* updating images
* stylefix
* self review :: bugfixes
* sign up page fix
* fix for asking password for single ws activation
* or separator fix for signup page
* fix
* feat :: updating cta images
* fix :: loader bugs
* hiding sso options in org invite, sign in via sso
* fix :: dark mode img
* bugfixes :: cta changed
* Fix :: onboarding styles fixes (#4773)
* fix: styling in authWrappers
* cleanup
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
* fix :: conflicting styles
* fix :: loaders , and added header to link expired screen , style fixes
* fix :: mobile onboarding btn
* fix :: loading onboarding completion
* fix :: subpath not taking img path
* fix :: path
* fix :: removing trailing img / for subpath
* fix :: cta img
* fix :: remove scrollbar
* last name as undefined in comments
* fixed loading bug and cursor of company input onboard form
* comments fixes
* fix :: removing verify email screen on org invite
* comments fix
* fix :: no login methods
* fix :: bug in expired org invite verification link
* fix :: edge case name being empty when user types multiple spaces
* fix :: comments breaking
* fix :: notification breaking
* fix :: user groups table lastname
* fix for sso redirection
* fix :: empty first and last name during org invite
* bug fixed :On updating any permissions under permission tab, currentTab switches to app tab (#4734)
* fix: popout editor closing for tables (#4674)
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added default value for backgroundColor In NumberInput (#4378)
* fix: added background styles for number input
* fix: removed additional f from the background color property
* fix: added backgroundColor property from styles
* fixes: default bg color for dark mode
Co-authored-by: arpitnath <arpitnath42@gmail.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added the hover effects on datasources (#4303)
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added Background Color to Text Input (#4194)
* Added Background Color to Text Input
* Added Default Value for Background Color
* added default value and make background of text input consistent with the dark theme
Co-authored-by: manishkushare <kushare.manish9@gmail.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* feat: Add update version button on installable plugin (#4766)
* feat: Add update version button on installable plugin
* use id from update method
* removes redundant check
* use plugin id for fetching files from s3
* fetch latest plugins once updated
* disable update and remove buttons while update in progress
* replace href with link-span cx + send body in patch request
* fix: Dark mode on table's `Striped` and `Striped & Bordered` table type mode (#4611)
* [ Hotfix ] :: Hard to resize table columns (#4438)
* fix :: hard to resize , scrollbar should not be visible
* fix :: resizer not working in pewview
* Enhancement : [RangeSlider widget] Bind onChange event (#4192)
* add onChange event and its handler
* add handler for slider change as well
* fix lint
* added onChange fire event when slider value is changed
Co-authored-by: manishkushare <kushare.manish9@gmail.com>
* Added data-cy for table widget elements (#4792)
* Add data-cy to tooltip label
* Add data-cy to table filter pop-over
* Add data-cy to table elements
* Add review changes
* [docs] Widget updates (#4793)
* widget updates
* minor update
* Update README.md (#4784)
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Fixed grammatical errors in localization doc (#4800)
* [docs] widget property updates (#4806)
* fixes
* added resend invite API
* Onboarding revamp test cases (#4770)
* fix: test cases for oauth
* fix: app controller test cases
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: single workspace test cases
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* add: test cases for sso
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* fix: test cases for oauth
* fix: app controller test cases
* chore: PR fixes and cleanup
* add: test cases for sso
* fix: app test cases
* fix: linting in files
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* fix: test cases for oauth
* fix: app controller test cases
* chore: PR fixes and cleanup
* add: test cases for sso
* fix: app test cases
* fix: test cases for oauth
* fix: linting in files
* rebase: from feature/onboarding-revamp
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
* feat :: api update resend invite
* loading state resend mail
* adding loading state
* checkpoints shown only till tablet
* fix: failing test cases for sso
* pr:: changes changed all imports and removed unwanted fragments
* pr changes
* fix :: naming images
* fix :: style organized for onboarding
* fix for user seed issue
* removing unwanted styles
* Setting darkmode from props :: onboarding (#4885)
* passing darkmode as props to components
* error toast
* Review comment :: rename env variable
* Pr :: changes , code cleanup onborading form
* develop merge
* pr changes ::form splitted to components
* password warning added
* chore :: lint folder renaming
* review comments
* fixes
* fix for test cases failure
* changes :: removed empty divs
* cleanup
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Co-authored-by: Muhsin Shah <muhsinshah21@gmail.com>
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
Co-authored-by: Gandharv <gandharvkumargarg@gmail.com>
Co-authored-by: Manish Kushare <kushare.manish9@gmail.com>
Co-authored-by: Akshay <akshaysasidharan93@gmail.com>
Co-authored-by: alammoiz <moixalam@gmail.com>
Co-authored-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Co-authored-by: Akhilesh Kumar Mishra <79476272+iamakhileshmishra@users.noreply.github.com>
Co-authored-by: Hemanth Kumar <49117799+Hemanthhari2000@users.noreply.github.com>
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
Co-authored-by: akk312000 <akk312000@gmail.com>
Co-authored-by: roiLeo <medina.leo42@gmail.com>
Co-authored-by: Jose Morales <jmoralesmnz@gmail.com>
Co-authored-by: 3t8 <62209650+3t8@users.noreply.github.com>
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
Co-authored-by: Santosh Bhandari <bsantosh909@gmail.com>
Co-authored-by: Arpit <arpitnath42@gmail.com>
Co-authored-by: Ajith KV <ajith.jaban@gmail.com>
Co-authored-by: Akarsh Jain <72064462+akarsh-jain-790@users.noreply.github.com>
Co-authored-by: Utsav Paul <91927689+Smartmind12@users.noreply.github.com>
Co-authored-by: Vijaykant Yadav <vjaris42@Vijaykants-MacBook-Pro.local>
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
Co-authored-by: geisterfurz007 <geisterfurz007@users.noreply.github.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
Co-authored-by: Abhushan Gautam <carefreeav09@gmail.com>
Co-authored-by: Syed Ansar <82027712+Syed-Ansar@users.noreply.github.com>
Co-authored-by: Rahul Sunil <rahulsunil2@gmail.com>
Co-authored-by: Srisuma Atluri <40341173+Srisuma13@users.noreply.github.com>
Co-authored-by: Midhun Kumar E <midhun752@gmail.com>
Co-authored-by: Navaneeth Pk <navaneeth@tooljet.io>
Co-authored-by: Akasshhg <91525166+gogoiakash2311@users.noreply.github.com>
2022-12-08 07:54:31 +00:00
|
|
|
await user.reload();
|
|
|
|
|
expect(user.status).toBe('active');
|
|
|
|
|
expect(user.defaultOrganizationId).toBe(org.id);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const getPathFromUrl = (url) => {
|
|
|
|
|
return url.split('?')[0];
|
|
|
|
|
};
|
Feature :: onboarding self hosted users (#4933)
* fix :: keystroke not taken initially
* fix :: trim company name
* fix :: setting autocomplete to off
* removing redirectsso and confirmation page as its unused now
* few ui corrections , laoding states
* Fixed organization login sso issue
* Add db transaction wrap
* refactoring the code
* flow changes
* Added db tranxn wrap to auth services
* adding accept invite screen
* added verify organization token route
* fixes
* adding disable_multiworkspace to default config
* cleanup
* intermediate commit :: revamping organization page , api integration
* fixes
* feat :: organization token send in invite from org account setup
* fix :: making orgtoken conditional and ui changes / functional updates organization invte
* removed unwanted code
* fix :: login/account setup for sso user in single workspace flow
* fixes
* fix :: CTA loader misaligned
* fix :: sso login single workspace
* fix
* fix :: role check db
* fix :: role check DB
* fix :: setting fallback screen for organizational invite
* feat :: org signup
* fix :: loading states bug
* fix :: loading bug
* fixes
* added password length validation
* fixes
* fix: sub path for static asset serve (#4665)
* fix: sub path for static asset serve
* fix: sub path for static asset serve
* fix: sub path for static asset serve (#4668)
* Bugfix :: Sort event fired on sort removal (#4542)
* onsort applied on sort removal
* bugcheck
* removing unused toast
* Feature :: Table image column type addition (#4547)
* feat :: adding column type image
* feat :: adding image fit property
* Fix :: Closing of textarea ontype Table widget (#4549)
* fix :: closing of textarea ontype
* fix :: bug not able to clear value
* bug fixed : generate file in text is not supported (#4346)
* add eslintignore for frontend (#4669)
* [cypress] Fix failing manage SSO spec in single workspace #4390 (#4509)
* added [data-cy=login-page-logo] also removed one dropdown of same name
* Revert command.js
* call loginpagelogo
* Fixed toast test case
* updated text
* remove timer
* revert linting
* Github text fixed
* Replaced the woocommerce connection screenshot from dark to light one (#4654)
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
* gifs for Keyboard Shortcuts Added (#4643)
* Fix. Image to button group docs (#4630) (#4631)
* Add. Image to button group docs (#4630)
* Update docs/docs/widgets/button-group.md
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
* [added] Translated global strings in french #4169 (#4232)
* [added] Translated global strings in french
Added global strings translated to French language , Issue: #4169
* [localization ] Fixed the Proposed Changes in French Translation
* [localization ] Fixed the Remaining Proposed Changes in French Translation v2
* Update selectHost
Co-authored-by: roiLeo <medina.leo42@gmail.com>
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
Co-authored-by: roiLeo <medina.leo42@gmail.com>
* [localization] issue-4188 added spanish keys for card app (#4229)
* issue-4188 added spanish keys for card app
* IT-4188 fixed PR
* Improve toast message shortcut on component deletion (#4513)
* Improve toast message shortcut
* Improved user agent check
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
* Improved user agent check
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
* feat: Add DTO for organization create (#4651)
* feat: Add DTO for organization create
* chore: fix eslint error
* chore: eslint ...
* Fixed failing manage SSO spec in multi workspace (#4658)
* Fixed failing manage SSO spec in multi workspace
* github to gitHib
* persist data without saving the query (#4649)
* Fixed failing dashboard specs (#4667)
* Add and modify data-cy
* Fix failing manage users spec in multiworkspace
* Fix failing user permission spec in multi workspace
* Fix failing dashboard spec
* Fix failing manage group spec
* Fix failing manage users spec in single workspace
* Fix failing user permission spec in single workspace
* indentation changes
* Remove wait
* [Marketplace] AWS S3 (#4670)
* fix: sub path for static asset serve (#4665)
* fix: sub path for static asset serve
* fix: sub path for static asset serve
* marketplace: s3
* rename operations file to query_operations
* fix: crash on click of existing plugin
* remove unused console
* adds missing async await
* add isoptional for repo
* plugin card ui style fixes
* update plugin name
Co-authored-by: Gandharv <gandharvkumargarg@gmail.com>
* fix: Added a modal with warning message on disabling password (#4552)
* Copy to clipboard (#4588)
* Update EventManager.jsx
* Update EventManager.jsx
* Update EventManager.jsx
* fix :: adding sso configs based on org id
* loader and password check
* multiworkspace invite flow updated
* restrict only active users
* fix
* added error message for password length check
* fix :: password trim
* fix :: all happy flows tested , single and multi exept sso
* fix: message on invalid password
* revert: package-lock.json file
* feat :: changing ui for user present for org invite in multi workspace
* fix :: remove password check for existing user multiworkspace
* fix :: added fallback
* fix :: typo
* fix :: adding checks
* fix
* feat :: for single workspace user logged in directly
* fix :: code meaning fix
* fix
* fixes
* fix
* fix
* fix
* fix :: sso fix and bug updates
* fix :: json resolution for only single workspace
* token :: app level
* fix
* fix
* fixes
* fix
* ui fixes , removed loading and added checks
* showing sso options
* fix :: back to
* fix single workspace
* adding sso check ui
* sso single workspace fix
* code refactoring
* fix :: bugfix on click enter submit in signup and signin
* qa fix :: typo
* fix for sending welcome email on invite
* bug fixes
* fix
* qa bug fixes and translations
* switch workspace fixes
* fix :: company name taking empty spaces
* adding some more translations
* making all screens center aligned
* fix :: login page not loading
* fix :: singup conditional
* fixes
* typo fix
* fix :: for diabled cases of sso , password login , disabled signup
* fix
* fix :: added max input length for workspace name
* fix
* fix :: missing validation on edit email
* fix :: all screens vertically aligned
* fix :: alignment link expiry screen
* fix
* fix :: styling terms and condition
* fix :: for redirect url loginto workspace fixed according to new design
* typo
* feat :: removed onboarding modal , redundant
* typo fix
* fix
* name is now mandatory for sign up
* fix for password retry count not updating
* showing onboarding questions for sign up users
* fix :: spaces in password in diff screens
* fix :: darkmode initial
* fix for accept organization invite success message
* fix :: dark mode
* fix :: dark mode
* feat :: updating all dark mode images
* bugfix img
* bugfix ::img
* dark mode :: improvements
* single workspace signup fix
* updating images
* stylefix
* self review :: bugfixes
* sign up page fix
* fix for asking password for single ws activation
* or separator fix for signup page
* fix
* feat :: updating cta images
* fix :: loader bugs
* hiding sso options in org invite, sign in via sso
* fix :: dark mode img
* bugfixes :: cta changed
* Fix :: onboarding styles fixes (#4773)
* fix: styling in authWrappers
* cleanup
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
* fix :: conflicting styles
* fix :: loaders , and added header to link expired screen , style fixes
* fix :: mobile onboarding btn
* fix :: loading onboarding completion
* fix :: subpath not taking img path
* fix :: path
* fix :: removing trailing img / for subpath
* fix :: cta img
* fix :: remove scrollbar
* last name as undefined in comments
* fixed loading bug and cursor of company input onboard form
* comments fixes
* fix :: removing verify email screen on org invite
* comments fix
* fix :: no login methods
* fix :: bug in expired org invite verification link
* fix :: edge case name being empty when user types multiple spaces
* fix :: comments breaking
* fix :: notification breaking
* fix :: user groups table lastname
* fix for sso redirection
* fix :: empty first and last name during org invite
* bug fixed :On updating any permissions under permission tab, currentTab switches to app tab (#4734)
* fix: popout editor closing for tables (#4674)
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added default value for backgroundColor In NumberInput (#4378)
* fix: added background styles for number input
* fix: removed additional f from the background color property
* fix: added backgroundColor property from styles
* fixes: default bg color for dark mode
Co-authored-by: arpitnath <arpitnath42@gmail.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added the hover effects on datasources (#4303)
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Added Background Color to Text Input (#4194)
* Added Background Color to Text Input
* Added Default Value for Background Color
* added default value and make background of text input consistent with the dark theme
Co-authored-by: manishkushare <kushare.manish9@gmail.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* feat: Add update version button on installable plugin (#4766)
* feat: Add update version button on installable plugin
* use id from update method
* removes redundant check
* use plugin id for fetching files from s3
* fetch latest plugins once updated
* disable update and remove buttons while update in progress
* replace href with link-span cx + send body in patch request
* fix: Dark mode on table's `Striped` and `Striped & Bordered` table type mode (#4611)
* [ Hotfix ] :: Hard to resize table columns (#4438)
* fix :: hard to resize , scrollbar should not be visible
* fix :: resizer not working in pewview
* Enhancement : [RangeSlider widget] Bind onChange event (#4192)
* add onChange event and its handler
* add handler for slider change as well
* fix lint
* added onChange fire event when slider value is changed
Co-authored-by: manishkushare <kushare.manish9@gmail.com>
* Added data-cy for table widget elements (#4792)
* Add data-cy to tooltip label
* Add data-cy to table filter pop-over
* Add data-cy to table elements
* Add review changes
* [docs] Widget updates (#4793)
* widget updates
* minor update
* Update README.md (#4784)
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Fixed grammatical errors in localization doc (#4800)
* [docs] widget property updates (#4806)
* fixes
* added resend invite API
* Onboarding revamp test cases (#4770)
* fix: test cases for oauth
* fix: app controller test cases
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: single workspace test cases
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* add: test cases for sso
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* fix: test cases for oauth
* fix: app controller test cases
* chore: PR fixes and cleanup
* add: test cases for sso
* fix: app test cases
* fix: linting in files
* fix: test cases for oauth
* fix: app controller test cases
* remove: unused vars
* chore: PR fixes and cleanup
* fix: test cases for oauth
* fix: single workspace test cases
* add: test cases for invitation links
* fix: test cases for oauth
* fix: app controller test cases
* chore: PR fixes and cleanup
* add: test cases for sso
* fix: app test cases
* fix: test cases for oauth
* fix: linting in files
* rebase: from feature/onboarding-revamp
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
* feat :: api update resend invite
* loading state resend mail
* adding loading state
* checkpoints shown only till tablet
* fix: failing test cases for sso
* pr:: changes changed all imports and removed unwanted fragments
* pr changes
* fix :: naming images
* fix :: style organized for onboarding
* fix for user seed issue
* removing unwanted styles
* Setting darkmode from props :: onboarding (#4885)
* passing darkmode as props to components
* error toast
* Review comment :: rename env variable
* Pr :: changes , code cleanup onborading form
* develop merge
* init :: CE setup page
* pr changes ::form splitted to components
* admin , worspace ui :: init save
* password warning added
* chore :: lint folder renaming
* chore :: lint fix
* review comments
* fixes
* fix for test cases failure
* changes :: removed empty divs
* cleanup
* feat :: onboarding setup completed
* updates
* first-user setup account
* fixes
* add guard for first user sign up api
* validation changes
* feat :: api integration
* workspace is mandatory for first user
* fix :: code cleanup , darkmode
* feat :: signup not enable info card
* fix code cleanup
* Fixed all e2e test cases
* Fixed an issue
* added style changes , signup status
* deisgn review style changes
* self review :: code improvements
* pr review changes
* removed unwanted state
* typo fixes
* feat :: improved ux on form , autofocus and enter key support, removing warnings
* pr review changes :: common constants and helpers moved
Signed-off-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Co-authored-by: Muhsin Shah <muhsinshah21@gmail.com>
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
Co-authored-by: Gandharv <gandharvkumargarg@gmail.com>
Co-authored-by: Manish Kushare <kushare.manish9@gmail.com>
Co-authored-by: Akshay <akshaysasidharan93@gmail.com>
Co-authored-by: alammoiz <moixalam@gmail.com>
Co-authored-by: Pakeetharan Balasubramaniam <bpakee@gmail.com>
Co-authored-by: Akhilesh Kumar Mishra <79476272+iamakhileshmishra@users.noreply.github.com>
Co-authored-by: Hemanth Kumar <49117799+Hemanthhari2000@users.noreply.github.com>
Co-authored-by: Shubhendra Singh Chauhan <withshubh@gmail.com>
Co-authored-by: akk312000 <akk312000@gmail.com>
Co-authored-by: roiLeo <medina.leo42@gmail.com>
Co-authored-by: Jose Morales <jmoralesmnz@gmail.com>
Co-authored-by: 3t8 <62209650+3t8@users.noreply.github.com>
Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
Co-authored-by: Santosh Bhandari <bsantosh909@gmail.com>
Co-authored-by: Arpit <arpitnath42@gmail.com>
Co-authored-by: Ajith KV <ajith.jaban@gmail.com>
Co-authored-by: Akarsh Jain <72064462+akarsh-jain-790@users.noreply.github.com>
Co-authored-by: Utsav Paul <91927689+Smartmind12@users.noreply.github.com>
Co-authored-by: Vijaykant Yadav <vjaris42@Vijaykants-MacBook-Pro.local>
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
Co-authored-by: geisterfurz007 <geisterfurz007@users.noreply.github.com>
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
Co-authored-by: Abhushan Gautam <carefreeav09@gmail.com>
Co-authored-by: Syed Ansar <82027712+Syed-Ansar@users.noreply.github.com>
Co-authored-by: Rahul Sunil <rahulsunil2@gmail.com>
Co-authored-by: Srisuma Atluri <40341173+Srisuma13@users.noreply.github.com>
Co-authored-by: Midhun Kumar E <midhun752@gmail.com>
Co-authored-by: Navaneeth Pk <navaneeth@tooljet.io>
Co-authored-by: Akasshhg <91525166+gogoiakash2311@users.noreply.github.com>
2022-12-20 18:43:18 +00:00
|
|
|
|
|
|
|
|
export const createFirstUser = async (app: INestApplication) => {
|
|
|
|
|
let userRepository: Repository<User> = app.get('UserRepository');
|
|
|
|
|
|
|
|
|
|
await request(app.getHttpServer())
|
|
|
|
|
.post('/api/setup-admin')
|
|
|
|
|
.send({ email: 'firstuser@tooljet.com', name: 'Admin', password: 'password', workspace: 'tooljet' });
|
|
|
|
|
|
|
|
|
|
return await userRepository.findOneOrFail({
|
|
|
|
|
where: { email: 'firstuser@tooljet.com' },
|
|
|
|
|
relations: ['organizationUsers'],
|
|
|
|
|
});
|
|
|
|
|
};
|
2023-01-09 12:00:32 +00:00
|
|
|
|
|
|
|
|
export const generateAppDefaults = async (
|
|
|
|
|
app: INestApplication,
|
|
|
|
|
user: any,
|
|
|
|
|
{ isQueryNeeded = true, isDataSourceNeeded = true, isAppPublic = false, dsKind = 'restapi', dsOptions = [{}] }
|
|
|
|
|
) => {
|
|
|
|
|
const application = await createApplication(app, {
|
|
|
|
|
name: 'name',
|
|
|
|
|
user: user,
|
|
|
|
|
isPublic: isAppPublic,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const appVersion = await createApplicationVersion(app, application);
|
2023-03-24 16:11:21 +00:00
|
|
|
const appEnvironments = await createAppEnvironments(app, user.organizationId);
|
2023-01-09 12:00:32 +00:00
|
|
|
|
|
|
|
|
let dataQuery: any;
|
|
|
|
|
let dataSource: any;
|
|
|
|
|
if (isDataSourceNeeded) {
|
|
|
|
|
dataSource = await createDataSource(app, {
|
|
|
|
|
name: 'name',
|
|
|
|
|
kind: dsKind,
|
|
|
|
|
appVersion,
|
|
|
|
|
});
|
|
|
|
|
await createDataSourceOption(app, { dataSource, environmentId: appEnvironments[0].id, options: dsOptions });
|
|
|
|
|
|
|
|
|
|
if (isQueryNeeded) {
|
|
|
|
|
dataQuery = await createDataQuery(app, {
|
|
|
|
|
dataSource,
|
2023-03-24 16:11:21 +00:00
|
|
|
appVersion,
|
2023-01-09 12:00:32 +00:00
|
|
|
options: {
|
|
|
|
|
method: 'get',
|
|
|
|
|
url: 'https://api.github.com/repos/tooljet/tooljet/stargazers',
|
|
|
|
|
url_params: [],
|
|
|
|
|
headers: [],
|
|
|
|
|
body: [],
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return { application, appVersion, dataSource, dataQuery };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const getAppWithAllDetails = async (id: string) => {
|
|
|
|
|
const app = await getManager()
|
|
|
|
|
.createQueryBuilder(App, 'app')
|
|
|
|
|
.where('app.id = :id', { id })
|
|
|
|
|
.innerJoinAndSelect('app.appVersions', 'versions')
|
|
|
|
|
.leftJoinAndSelect('versions.dataSources', 'dataSources')
|
|
|
|
|
.leftJoinAndSelect('versions.dataQueries', 'dataQueries')
|
|
|
|
|
.getOneOrFail();
|
|
|
|
|
|
|
|
|
|
const dataQueries = [];
|
|
|
|
|
const dataSources = [];
|
|
|
|
|
app.appVersions.map((version) => {
|
|
|
|
|
dataSources.push(...version.dataSources);
|
|
|
|
|
dataQueries.push(...version.dataQueries);
|
|
|
|
|
version.dataSources = undefined;
|
|
|
|
|
version.dataQueries = undefined;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app['dataQueries'] = dataQueries;
|
|
|
|
|
app['dataSources'] = dataSources;
|
|
|
|
|
|
|
|
|
|
return app;
|
|
|
|
|
};
|
2023-04-06 11:12:58 +00:00
|
|
|
|
|
|
|
|
export const authenticateUser = async (app: INestApplication, email = 'admin@tooljet.io', password = 'password') => {
|
|
|
|
|
const sessionResponse = await request
|
|
|
|
|
.agent(app.getHttpServer())
|
|
|
|
|
.post('/api/authenticate')
|
|
|
|
|
.send({ email, password })
|
|
|
|
|
.expect(201);
|
|
|
|
|
|
|
|
|
|
return { user: sessionResponse.body, tokenCookie: sessionResponse.headers['set-cookie'] };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const logoutUser = async (app: INestApplication, tokenCookie: any, organization_id: string) => {
|
|
|
|
|
return await request
|
|
|
|
|
.agent(app.getHttpServer())
|
|
|
|
|
.get('/api/logout')
|
|
|
|
|
.set('tj-workspace-id', organization_id)
|
|
|
|
|
.set('Cookie', tokenCookie)
|
|
|
|
|
.expect(200);
|
|
|
|
|
};
|