Add getters factory for attachements (#4567)

* Add getter factory for attachements

* Override guard in test

* Add secret in env variables

* Return custom message on expiration

* Rename to signPayload

---------

Co-authored-by: Thomas Trompette <thomast@twenty.com>
This commit is contained in:
Thomas Trompette
2024-03-19 16:39:53 +01:00
committed by GitHub
parent 9f6c578a46
commit e579554d47
24 changed files with 306 additions and 55 deletions

View File

@ -5,7 +5,6 @@ import { TypeOrmModule } from '@nestjs/typeorm';
import { HttpModule } from '@nestjs/axios';
import { EnvironmentService } from 'src/engine/integrations/environment/environment.service';
import { FileModule } from 'src/engine/modules/file/file.module';
import { Workspace } from 'src/engine/modules/workspace/workspace.entity';
import { User } from 'src/engine/modules/user/user.entity';
import { RefreshToken } from 'src/engine/modules/refresh-token/refresh-token.entity';
@ -22,6 +21,7 @@ import { UserWorkspaceModule } from 'src/engine/modules/user-workspace/user-work
import { SignUpService } from 'src/engine/modules/auth/services/sign-up.service';
import { GoogleGmailAuthController } from 'src/engine/modules/auth/controllers/google-gmail-auth.controller';
import { FeatureFlagEntity } from 'src/engine/modules/feature-flag/feature-flag.entity';
import { FileUploadModule } from 'src/engine/modules/file/file-upload/file-upload.module';
import { AuthResolver } from './auth.resolver';
@ -42,7 +42,7 @@ const jwtModule = JwtModule.registerAsync({
@Module({
imports: [
jwtModule,
FileModule,
FileUploadModule,
DataSourceModule,
UserModule,
WorkspaceManagerModule,

View File

@ -6,7 +6,7 @@ import { Workspace } from 'src/engine/modules/workspace/workspace.entity';
import { User } from 'src/engine/modules/user/user.entity';
import { EnvironmentService } from 'src/engine/integrations/environment/environment.service';
import { SignUpService } from 'src/engine/modules/auth/services/sign-up.service';
import { FileUploadService } from 'src/engine/modules/file/services/file-upload.service';
import { FileUploadService } from 'src/engine/modules/file/file-upload/services/file-upload.service';
import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service';
describe('SignUpService', () => {

View File

@ -19,7 +19,7 @@ import {
} from 'src/engine/modules/auth/auth.util';
import { User } from 'src/engine/modules/user/user.entity';
import { Workspace } from 'src/engine/modules/workspace/workspace.entity';
import { FileUploadService } from 'src/engine/modules/file/services/file-upload.service';
import { FileUploadService } from 'src/engine/modules/file/file-upload/services/file-upload.service';
import { EnvironmentService } from 'src/engine/integrations/environment/environment.service';
import { getImageBufferFromUrl } from 'src/utils/image';
import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service';

View File

@ -7,7 +7,6 @@ import { RefreshToken } from 'src/engine/modules/refresh-token/refresh-token.ent
import { User } from 'src/engine/modules/user/user.entity';
import { JwtAuthStrategy } from 'src/engine/modules/auth/strategies/jwt.auth.strategy';
import { EmailService } from 'src/engine/integrations/email/email.service';
import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service';
import { Workspace } from 'src/engine/modules/workspace/workspace.entity';
import { TokenService } from './token.service';
@ -35,10 +34,6 @@ describe('TokenService', () => {
provide: EmailService,
useValue: {},
},
{
provide: UserWorkspaceService,
useValue: {},
},
{
provide: getRepositoryToken(User, 'core'),
useValue: {},

View File

@ -40,7 +40,6 @@ import { EmailService } from 'src/engine/integrations/email/email.service';
import { InvalidatePassword } from 'src/engine/modules/auth/dto/invalidate-password.entity';
import { EmailPasswordResetLink } from 'src/engine/modules/auth/dto/email-password-reset-link.entity';
import { JwtData } from 'src/engine/modules/auth/types/jwt-data.type';
import { UserWorkspaceService } from 'src/engine/modules/user-workspace/user-workspace.service';
import { Workspace } from 'src/engine/modules/workspace/workspace.entity';
@Injectable()
@ -56,7 +55,6 @@ export class TokenService {
@InjectRepository(Workspace, 'core')
private readonly workspaceRepository: Repository<Workspace>,
private readonly emailService: EmailService,
private readonly userWorkspaceService: UserWorkspaceService,
) {}
async generateAccessToken(
@ -528,4 +526,12 @@ export class TokenService {
return { success: true };
}
async encodePayload(payload: any, options?: any): Promise<string> {
return this.jwtService.sign(payload, options);
}
async decodePayload(payload: any, options?: any): Promise<string> {
return this.jwtService.decode(payload, options);
}
}