i18n - translations (#16832)

Created by Github action

---------

Co-authored-by: Félix Malfait <felix@twenty.com>
Co-authored-by: github-actions <github-actions@twenty.com>
This commit is contained in:
github-actions[bot]
2025-12-29 11:01:07 +01:00
committed by GitHub
co-authored by Félix Malfait github-actions
parent 343b74666f
commit ee0e2ed854
69 changed files with 270 additions and 141 deletions
@@ -13,25 +13,19 @@ import crypto from 'crypto';
import { msg } from '@lingui/core/macro';
import { GraphQLJSONObject } from 'graphql-type-json';
import GraphQLUpload from 'graphql-upload/GraphQLUpload.mjs';
import { PermissionFlagType } from 'twenty-shared/constants';
import { isDefined } from 'twenty-shared/utils';
import { WorkspaceActivationStatus } from 'twenty-shared/workspace';
import { In, Repository } from 'typeorm';
import { FileFolder } from 'src/engine/core-modules/file/interfaces/file-folder.interface';
import { SupportDriver } from 'src/engine/core-modules/twenty-config/interfaces/support.interface';
import type { FileUpload } from 'graphql-upload/processRequest.mjs';
import { ApiKeyEntity } from 'src/engine/core-modules/api-key/api-key.entity';
import {
AuthException,
AuthExceptionCode,
} from 'src/engine/core-modules/auth/auth.exception';
import { AvailableWorkspaces } from 'src/engine/core-modules/auth/dto/available-workspaces.output';
import { SignedFileDTO } from 'src/engine/core-modules/file/file-upload/dtos/signed-file.dto';
import { FileUploadService } from 'src/engine/core-modules/file/file-upload/services/file-upload.service';
import { OnboardingStatus } from 'src/engine/core-modules/onboarding/enums/onboarding-status.enum';
import {
OnboardingService,
@@ -78,7 +72,6 @@ import { GlobalWorkspaceOrmManager } from 'src/engine/twenty-orm/global-workspac
import { buildSystemAuthContext } from 'src/engine/twenty-orm/utils/build-system-auth-context.util';
import { AccountsToReconnectKeys } from 'src/modules/connected-account/types/accounts-to-reconnect-key-value.type';
import { WorkspaceMemberWorkspaceEntity } from 'src/modules/workspace-member/standard-objects/workspace-member.workspace-entity';
import { streamToBuffer } from 'src/utils/stream-to-buffer';
const getHMACKey = (email?: string, key?: string | null) => {
if (!email || !key) return null;
@@ -96,7 +89,6 @@ export class UserResolver {
private readonly userRepository: Repository<UserEntity>,
private readonly userService: UserService,
private readonly twentyConfigService: TwentyConfigService,
private readonly fileUploadService: FileUploadService,
private readonly onboardingService: OnboardingService,
private readonly userVarService: UserVarsService,
@InjectRepository(UserWorkspaceEntity)
@@ -372,38 +364,6 @@ export class UserResolver {
return getHMACKey(parent.email, key);
}
@Mutation(() => SignedFileDTO)
@UseGuards(WorkspaceAuthGuard, NoPermissionGuard)
async uploadProfilePicture(
@AuthUser() { id }: UserEntity,
@AuthWorkspace({ allowUndefined: true })
{ id: workspaceId }: WorkspaceEntity,
@Args({ name: 'file', type: () => GraphQLUpload })
{ createReadStream, filename, mimetype }: FileUpload,
): Promise<SignedFileDTO> {
if (!id) {
throw new Error('UserEntity not found');
}
const stream = createReadStream();
const buffer = await streamToBuffer(stream);
const fileFolder = FileFolder.ProfilePicture;
const { files } = await this.fileUploadService.uploadImage({
file: buffer,
filename,
mimeType: mimetype,
fileFolder,
workspaceId,
});
if (!files.length) {
throw new Error('Failed to upload profile picture');
}
return files[0];
}
@Mutation(() => UserEntity)
@UseGuards(UserAuthGuard, NoPermissionGuard)
async deleteUser(@AuthUser() { id: userId }: UserEntity) {