diff --git a/http/auth/login.http b/http/auth/login.http deleted file mode 100644 index 40f1b3aa41..0000000000 --- a/http/auth/login.http +++ /dev/null @@ -1,11 +0,0 @@ -// @no-log -### POST request to /login -POST {{NEW_DRIVE_URL}}/auth/login -Content-Type: application/json -internxt-client: drive-desktop -internxt-version: '2.4.8' -x-internxt-desktop-header: {{INTERNXT_DESKTOP_HEADER_KEY}} - -{ - "email": "{{USER_EMAIL}}" -} diff --git a/http/auth/loginAccess.http b/http/auth/loginAccess.http deleted file mode 100644 index fb019cb389..0000000000 --- a/http/auth/loginAccess.http +++ /dev/null @@ -1,13 +0,0 @@ -// @no-log -### POST request to /auth/login/access -POST {{NEW_DRIVE_URL}}/auth/login/access -Content-Type: application/json -internxt-client: drive-desktop -internxt-version: '2.4.8' -x-internxt-desktop-header: {{INTERNXT_DESKTOP_HEADER_KEY}} - -{ - "email": "{{USER_EMAIL}}", - "password": "{{USER_PASSWORD}}", - "tfa": "{{USER_TFA}}" -} diff --git a/http/auth/refresh.http b/http/auth/refresh.http deleted file mode 100644 index 794d508b5f..0000000000 --- a/http/auth/refresh.http +++ /dev/null @@ -1,8 +0,0 @@ -// @no-log -### GET request to /users/refresh -GET {{NEW_DRIVE_URL}}/users/refresh -Authorization: Bearer {{USER_TOKEN}} -Content-Type: application/json -internxt-client: drive-desktop -internxt-version: '2.4.8' -x-internxt-desktop-header: {{INTERNXT_DESKTOP_HEADER_KEY}} diff --git a/http/http-client.env.example.json b/http/http-client.env.example.json deleted file mode 100644 index 782cb5ebc4..0000000000 --- a/http/http-client.env.example.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "prod": { - "NEW_DRIVE_URL": "", - "INTERNXT_DESKTOP_HEADER_KEY": "", - "USER_EMAIL": "", - "USER_TOKEN": "", - "USER_PASSWORD": "", - "USER_TFA": "" - } -} diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index 74de2e0ab7..0000000000 --- a/jest.config.js +++ /dev/null @@ -1,6 +0,0 @@ -/* eslint-disable */ -const isRenderer = process.env.TEST_ENV === 'renderer'; - -module.exports = isRenderer - ? require('./jest.config.renderer') - : require('./jest.config.main'); diff --git a/jest.config.main.js b/jest.config.main.js deleted file mode 100644 index e163d088dc..0000000000 --- a/jest.config.main.js +++ /dev/null @@ -1,24 +0,0 @@ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'node', - setupFilesAfterEnv: ['jest-extended/all', '/jest.setup.main.js'], - testMatch: ['**/*.test.(ts|tsx|js)'], - testPathIgnorePatterns: [ - '/release/', - '/src/apps/renderer/' - ], - transform: { - '^.+\\.(ts|tsx|js)$': ['ts-jest', { tsconfig: 'tsconfig.json', useESM: true }], - }, - extensionsToTreatAsEsm: ['.ts', '.tsx'], - transformIgnorePatterns: ['node_modules/(?!axios|openapi-fetch)'], - moduleFileExtensions: ['ts', 'js', 'json'], - modulePathIgnorePatterns: ['/release/'], - moduleDirectories: ['node_modules', 'src'], - modulePaths: ['/src'], - globals: { - 'ts-jest': { - useESM: true, - }, - }, -}; diff --git a/jest.config.renderer.js b/jest.config.renderer.js deleted file mode 100644 index f91d104d96..0000000000 --- a/jest.config.renderer.js +++ /dev/null @@ -1,33 +0,0 @@ -/* eslint-disable */ -module.exports = { - testEnvironment: 'jsdom', - setupFilesAfterEnv: ['jest-extended/all', '/jest.setup.renderer.js'], - testMatch: ['**/*.test.(ts|tsx)'], - transform: { - '\\.(ts|tsx)$': [ - 'ts-jest', - { - tsconfig: 'tsconfig.json', - useESM: true, - }, - ], - '\\.(js|jsx)$': ['ts-jest', { useESM: true }], - }, - moduleNameMapper: { - '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': - '/.erb/mocks/fileMock.js', - '\\.(css|less|sass|scss)$': 'identity-obj-proxy', - }, - moduleFileExtensions: ['js', 'jsx', 'ts', 'tsx', 'json'], - testURL: 'http://localhost/', - transformIgnorePatterns: ['node_modules/(?!axios)'], - modulePathIgnorePatterns: ['/release/'], - moduleDirectories: ['node_modules', 'src'], - modulePaths: ['/src'], - extensionsToTreatAsEsm: ['.ts', '.tsx'], - globals: { - 'ts-jest': { - useESM: true, - }, - }, -}; diff --git a/jest.setup.main.js b/jest.setup.main.js deleted file mode 100644 index 4e9f35a591..0000000000 --- a/jest.setup.main.js +++ /dev/null @@ -1,58 +0,0 @@ -/* eslint-env jest */ - -jest.mock('electron', () => ({ - app: { - getPath: jest.fn().mockReturnValue('/mock/home'), - getName: jest.fn().mockReturnValue('DriveDesktop'), - getVersion: jest.fn().mockReturnValue('1.0.0'), - }, - ipcMain: { - on: jest.fn(), - handle: jest.fn() - }, -})); - -jest.mock('electron-store', () => { - return jest.fn().mockImplementation(() => ({ - get: jest.fn(), - set: jest.fn(), - clear: jest.fn(), - })); -}); - -jest.mock('@internxt/drive-desktop-core/build/backend', () => ({ - logger: { - error: jest.fn(), - warn: jest.fn(), - info: jest.fn(), - debug: jest.fn(), - }, -})); - -jest.mock('axios', () => { - const mockAxiosInstance = { - interceptors: { - request: { - use: jest.fn(), - }, - response: { - use: jest.fn(), - }, - }, - get: jest.fn(), - post: jest.fn(), - put: jest.fn(), - delete: jest.fn(), - }; - - return { - default: { - create: jest.fn(() => mockAxiosInstance), - }, - create: jest.fn(() => mockAxiosInstance), - }; -}); - -jest.mock('@internxt/inxt-js', () => ({ - default: jest.fn(), -})); diff --git a/jest.setup.renderer.js b/jest.setup.renderer.js deleted file mode 100644 index c2508e50d1..0000000000 --- a/jest.setup.renderer.js +++ /dev/null @@ -1,99 +0,0 @@ -/* eslint-disable */ -require('@testing-library/jest-dom'); - -global.window = global.window || {}; -global.window.electron = { - antivirus: { - onScanProgress: jest.fn(), - removeScanProgressListener: jest.fn(), - isAvailable: jest.fn(), - addItemsToScan: jest.fn(), - scanItems: jest.fn(), - removeInfectedFiles: jest.fn(), - cancelScan: jest.fn(), - }, - ipc: { - invoke: jest.fn(), - on: jest.fn(), - removeListener: jest.fn(), - }, - dialog: { - showOpenDialog: jest.fn(), - showSaveDialog: jest.fn(), - }, - shell: { - openExternal: jest.fn(), - }, -}; - -jest.mock('react-i18next', () => ({ - useTranslation: () => ({ - t: (key) => key, - i18n: { - changeLanguage: jest.fn(), - }, - }), -})); - -// Mock @headlessui/react components -jest.mock('@headlessui/react', () => { - const React = require('react'); - - const Dialog = function (props) { - return props.children; - }; - - Dialog.Overlay = function (props) { - return React.createElement('div', { - className: props.className, - 'data-testid': 'dialog-overlay', - }); - }; - - Dialog.Title = function (props) { - return React.createElement('div', props, props.children); - }; - - const Transition = function (props) { - return props.show !== false ? props.children : null; - }; - - Transition.Child = function (props) { - return props.children; - }; - - const Menu = function (props) { - return React.createElement( - props.as || 'div', - { className: props.className }, - props.children - ); - }; - - Menu.Button = function (props) { - return React.createElement('div', props, props.children); - }; - - Menu.Items = function (props) { - return React.createElement('div', props, props.children); - }; - - Menu.Item = function (props) { - return props.children({ active: false }); - }; - - const Fragment = function (props) { - return props.children; - }; - - return { - Dialog, - Transition, - Menu, - Fragment, - }; -}); - -afterEach(() => { - jest.clearAllMocks(); -}); diff --git a/src/apps/main/thumbnails/domain/ThumbnableExtension.ts b/src/apps/main/thumbnails/domain/ThumbnableExtension.ts index a37b9dcbcc..6621892dc0 100644 --- a/src/apps/main/thumbnails/domain/ThumbnableExtension.ts +++ b/src/apps/main/thumbnails/domain/ThumbnableExtension.ts @@ -13,19 +13,3 @@ const thumbnableImageExtension = [ const thumbnablePdfExtension = [...pdfExtensions.pdf] as const; export const thumbnableExtensions = [...thumbnableImageExtension, ...thumbnablePdfExtension] as const; - -export type ImageThumbnailable = (typeof thumbnableImageExtension)[number]; -export type PDFThumbnailableExtension = (typeof thumbnablePdfExtension)[number]; -export type ThumbnailableExtension = ImageThumbnailable | PDFThumbnailableExtension; - -export function isThumbnailableExtension(extension: string): boolean { - return thumbnableExtensions.includes(extension); -} - -export function isImageThumbnailable(extension: string): boolean { - return thumbnableImageExtension.includes(extension); -} - -export function isPdfThumbnailable(extension: string): boolean { - return thumbnablePdfExtension.includes(extension); -} diff --git a/src/apps/main/thumbnails/domain/ThumbnailProperties.ts b/src/apps/main/thumbnails/domain/ThumbnailProperties.ts deleted file mode 100644 index b6e61e2f21..0000000000 --- a/src/apps/main/thumbnails/domain/ThumbnailProperties.ts +++ /dev/null @@ -1,6 +0,0 @@ -export const ThumbnailConfig = { - MaxWidth: 300, - MaxHeight: 300, - Quality: 100, - Type: 'png', -}; diff --git a/src/apps/main/thumbnails/domain/ThumbnailUploader.ts b/src/apps/main/thumbnails/domain/ThumbnailUploader.ts deleted file mode 100644 index d81f6b61e4..0000000000 --- a/src/apps/main/thumbnails/domain/ThumbnailUploader.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface ThumbnailUploader { - upload: (fileId: number, thumbnailFile: Buffer) => Promise; -} diff --git a/src/apps/main/thumbnails/infrastructure/EnvironmentAndStorageThumbnailUploader.ts b/src/apps/main/thumbnails/infrastructure/EnvironmentAndStorageThumbnailUploader.ts deleted file mode 100644 index 088ed7f258..0000000000 --- a/src/apps/main/thumbnails/infrastructure/EnvironmentAndStorageThumbnailUploader.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { components } from './../../../../infra/schemas.d'; -import { Environment } from '@internxt/inxt-js'; -import { StorageTypes } from '@internxt/sdk/dist/drive'; -import { Readable } from 'stream'; -import { ThumbnailConfig } from '../domain/ThumbnailProperties'; -import { ThumbnailUploader } from '../domain/ThumbnailUploader'; -import { createThumbnail } from '../../../../infra/drive-server/services/files/services/create-thumbnail'; - -export class EnvironmentAndStorageThumbnailUploader implements ThumbnailUploader { - constructor( - private readonly environment: Environment, - private readonly bucket: string, - ) {} - - private uploadThumbnailToEnvironment(thumbnail: Buffer) { - const thumbnailStream = new Readable({ - read() { - this.push(thumbnail); - this.push(null); - }, - }); - - return new Promise((resolve, reject) => { - this.environment.upload(this.bucket, { - progressCallback: () => { - // no op - }, - finishedCallback: (err: unknown, id: string) => { - if (err && !id) { - reject(err); - } - - resolve(id); - }, - fileSize: thumbnail.byteLength, - source: thumbnailStream, - }); - }); - } - - private async uploadThumbnailToStorage(thumbnail: components['schemas']['CreateThumbnailDto']) { - return await createThumbnail(thumbnail); - } - - async upload(fileId: number, thumbnailFile: Buffer): Promise { - const fileIdOnEnvironment = await this.uploadThumbnailToEnvironment(thumbnailFile); - await this.uploadThumbnailToStorage({ - fileId, - type: ThumbnailConfig.Type as string, - size: thumbnailFile.byteLength, - maxWidth: ThumbnailConfig.MaxWidth as number, - maxHeight: ThumbnailConfig.MaxHeight as number, - bucketId: this.bucket, - bucketFile: fileIdOnEnvironment, - encryptVersion: StorageTypes.EncryptionVersion.Aes03, - }); - } -} diff --git a/src/apps/main/thumbnails/infrastructure/ThumbnailUploaderFactory.ts b/src/apps/main/thumbnails/infrastructure/ThumbnailUploaderFactory.ts deleted file mode 100644 index 69a8a43003..0000000000 --- a/src/apps/main/thumbnails/infrastructure/ThumbnailUploaderFactory.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { INTERNXT_CLIENT, INTERNXT_VERSION } from './../../../../core/utils/utils'; -import { Environment } from '@internxt/inxt-js'; - -import { getUser } from '../../auth/service'; -import { ThumbnailUploader } from '../domain/ThumbnailUploader'; -import { EnvironmentAndStorageThumbnailUploader } from './EnvironmentAndStorageThumbnailUploader'; - -export class ThumbnailUploaderFactory { - private static instance: ThumbnailUploader | null; - - static build(): ThumbnailUploader { - if (ThumbnailUploaderFactory.instance) { - return ThumbnailUploaderFactory.instance; - } - - const user = getUser(); - - if (!user) { - throw new Error('[THUMBNAIL] Thumbnail uploader could not be created: user missing'); - } - - const environment = new Environment({ - bridgeUrl: process.env.BRIDGE_URL, - bridgeUser: user.bridgeUser, - bridgePass: user.userId, - encryptionKey: user.mnemonic, - appDetails: { - clientName: INTERNXT_CLIENT, - clientVersion: INTERNXT_VERSION, - desktopHeader: process.env.DESKTOP_HEADER, - }, - }); - - ThumbnailUploaderFactory.instance = new EnvironmentAndStorageThumbnailUploader(environment, user.bucket); - - return ThumbnailUploaderFactory.instance; - } -}