diff --git a/packages/twenty-server/src/engine/core-modules/auth/strategies/jwt.auth.strategy.ts b/packages/twenty-server/src/engine/core-modules/auth/strategies/jwt.auth.strategy.ts index 8e1b7b6e2..5e0d531fc 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/strategies/jwt.auth.strategy.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/strategies/jwt.auth.strategy.ts @@ -1,20 +1,20 @@ -import { PassportStrategy } from '@nestjs/passport'; import { ForbiddenException, Injectable, UnauthorizedException, } from '@nestjs/common'; +import { PassportStrategy } from '@nestjs/passport'; import { InjectRepository } from '@nestjs/typeorm'; -import { Strategy, ExtractJwt } from 'passport-jwt'; +import { ExtractJwt, Strategy } from 'passport-jwt'; import { Repository } from 'typeorm'; -import { assert } from 'src/utils/assert'; -import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; -import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; -import { User } from 'src/engine/core-modules/user/user.entity'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; +import { User } from 'src/engine/core-modules/user/user.entity'; +import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { EnvironmentService } from 'src/engine/integrations/environment/environment.service'; import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; +import { assert } from 'src/utils/assert'; export type JwtPayload = { sub: string; workspaceId: string; jti?: string }; export type PassportUser = { user?: User; workspace: Workspace }; @@ -55,7 +55,8 @@ export class JwtAuthStrategy extends PassportStrategy(Strategy, 'jwt') { await this.typeORMService.connectToDataSource(dataSourceMetadata); const apiKey = await workspaceDataSource?.query( - `SELECT * FROM ${dataSourceMetadata.schema}."apiKey" WHERE id = '${payload.jti}'`, + `SELECT * FROM ${dataSourceMetadata.schema}."apiKey" WHERE id = $1`, + [payload.jti], ); assert( diff --git a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.ts b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.ts index 99c68f81d..9d6ea4184 100644 --- a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.ts +++ b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.ts @@ -1,19 +1,20 @@ -import { InjectRepository } from '@nestjs/typeorm'; +/* eslint-disable @nx/workspace-inject-workspace-repository */ import { EventEmitter2 } from '@nestjs/event-emitter'; +import { InjectRepository } from '@nestjs/typeorm'; import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm'; import { Repository } from 'typeorm'; -import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; -import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; +import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; import { User } from 'src/engine/core-modules/user/user.entity'; -import { ObjectRecordCreateEvent } from 'src/engine/integrations/event-emitter/types/object-record-create.event'; -import { WorkspaceMemberWorkspaceEntity } from 'src/modules/workspace-member/standard-objects/workspace-member.workspace-entity'; -import { assert } from 'src/utils/assert'; import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; +import { ObjectRecordCreateEvent } from 'src/engine/integrations/event-emitter/types/object-record-create.event'; +import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; import { InjectWorkspaceRepository } from 'src/engine/twenty-orm/decorators/inject-workspace-repository.decorator'; import { WorkspaceRepository } from 'src/engine/twenty-orm/repository/workspace.repository'; +import { WorkspaceMemberWorkspaceEntity } from 'src/modules/workspace-member/standard-objects/workspace-member.workspace-entity'; +import { assert } from 'src/utils/assert'; export class UserWorkspaceService extends TypeOrmQueryService { constructor( @@ -58,9 +59,14 @@ export class UserWorkspaceService extends TypeOrmQueryService { await workspaceDataSource?.query( `INSERT INTO ${dataSourceMetadata.schema}."workspaceMember" ("nameFirstName", "nameLastName", "colorScheme", "userId", "userEmail", "avatarUrl") - VALUES ('${user.firstName}', '${user.lastName}', 'Light', '${ - user.id - }', '${user.email}', '${user.defaultAvatarUrl ?? ''}')`, + VALUES ($1, $2, 'Light', $3, $4, $5)`, + [ + user.firstName, + user.lastName, + user.id, + user.email, + user.defaultAvatarUrl ?? '', + ], ); const workspaceMember = await workspaceDataSource?.query( `SELECT * FROM ${dataSourceMetadata.schema}."workspaceMember" WHERE "userId"='${user.id}'`,