Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/common/dto/basic-pagination.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ApiProperty } from '@nestjs/swagger';
import { Type } from 'class-transformer';
import { IsNumber, IsOptional, Max, Min } from 'class-validator';

export function createPaginationDto(maxLimit: number) {
function createPaginationDto(maxLimit: number) {
class PaginationDto {
@ApiProperty({
description: 'Items per page',
Expand Down Expand Up @@ -33,7 +33,7 @@ export function createPaginationDto(maxLimit: number) {
return PaginationDto;
}

export function createRequiredPaginationDto(maxLimit: number) {
function createRequiredPaginationDto(maxLimit: number) {
class RequiredPaginationDto {
@ApiProperty({
description: 'Items per page',
Expand Down
6 changes: 1 addition & 5 deletions src/externals/bridge/bridge.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,7 @@ import { BridgeUserNotFoundException } from './exception/bridge-user-not-found.e
import { BridgeException } from './exception/bridge.exception';
import { BridgeUserEmailAlreadyInUseException } from './exception/bridge-user-email-already-in-use.exception';

export function signToken(
duration: string,
secret: string,
isDevelopment?: boolean,
) {
function signToken(duration: string, secret: string, isDevelopment?: boolean) {
return sign({}, Buffer.from(secret, 'base64').toString('utf8'), {
algorithm: 'RS256',
expiresIn: duration,
Expand Down
2 changes: 1 addition & 1 deletion src/modules/app-sumo/app-sumo.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
} from 'sequelize-typescript';
import { UserModel } from '../user/user.model';

export interface AppSumoAttributes {
interface AppSumoAttributes {
id: number;
userId: number;
planId: string;
Expand Down
1 change: 0 additions & 1 deletion src/modules/backups/backup.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ import { CreateDeviceAndFolderDto } from './dto/create-device-and-folder.dto';
import { CreateDeviceAndAttachFolderDto } from './dto/create-device-and-attach-folder.dto';
import { DeviceDto } from './dto/responses/device.dto';
import { UpdateDeviceAndFolderDto } from './dto/update-device-and-folder.dto';
import { Public } from '../auth/decorators/public.decorator';

@ApiTags('Backup')
@Controller('backup')
Expand Down
2 changes: 1 addition & 1 deletion src/modules/feature-limit/domain/tier.domain.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export interface TierAttributes {
interface TierAttributes {
id: string;
label: string;
context?: string;
Expand Down
2 changes: 1 addition & 1 deletion src/modules/feature-limit/feature-limits.guard.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { DeepMocked, createMock } from '@golevelup/ts-jest';
import { createMock } from '@golevelup/ts-jest';
import { TestingModule, Test } from '@nestjs/testing';
import { PaymentRequiredException } from './exceptions/payment-required.exception';
import { FeatureLimitUsecases } from './feature-limit.usecase';
Expand Down
2 changes: 0 additions & 2 deletions src/modules/file/dto/create-file.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ import {
IsOptional,
IsString,
IsUUID,
MaxLength,
Min,
ValidateIf,
} from 'class-validator';
import { ValidateFileIdWithSize } from '../../../common/validators/file-id-size.validator';

Expand Down
2 changes: 1 addition & 1 deletion src/modules/file/file-version.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export type CreateFileVersionData = Omit<
'id' | 'createdAt' | 'updatedAt'
>;

export interface FileVersionRepository {
interface FileVersionRepository {
create(version: CreateFileVersionData): Promise<FileVersion>;
upsert(version: CreateFileVersionData): Promise<FileVersion>;
findAllByFileId(fileId: string): Promise<FileVersion[]>;
Expand Down
1 change: 0 additions & 1 deletion src/modules/file/file.usecase.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ import { FeatureLimitService } from '../feature-limit/feature-limit.service';
import { Tier } from '../feature-limit/domain/tier.domain';
import { LimitLabels, LimitTypes } from '../feature-limit/limits.enum';
import { RedisService } from '../../externals/redis/redis.service';
import { UserUseCases } from '../user/user.usecase';
import { TrashUseCases } from '../trash/trash.usecase';
import { TrashItemType } from '../trash/trash.attributes';
import { CacheManagerService } from '../cache-manager/cache-manager.service';
Expand Down
1 change: 0 additions & 1 deletion src/modules/folder/dto/files-existence-in-folder.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import {
ValidateNested,
ArrayMinSize,
} from 'class-validator';
import { FileAttributes } from '../../file/file.domain';
import { ApiProperty } from '@nestjs/swagger';

export class FilesNameAndType {
Expand Down
2 changes: 1 addition & 1 deletion src/modules/folder/folder.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ import { GetFilesInFoldersDto } from './dto/get-files-in-folder.dto';
import { GetFoldersInFoldersDto } from './dto/get-folders-in-folder.dto';
import { GetFoldersQueryDto } from './dto/get-folders.dto';

export class BadRequestWrongFolderIdException extends BadRequestException {
class BadRequestWrongFolderIdException extends BadRequestException {
constructor() {
super('Folder id should be a number and higher than 0');

Expand Down
2 changes: 1 addition & 1 deletion src/modules/folder/folder.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ function mapSnakeCaseToCamelCase(data) {

type FindInTreeResponse = Pick<Folder, 'parentId' | 'id' | 'plainName'>;

export interface FolderRepository {
interface FolderRepository {
createWithAttributes(
newFolder: Omit<FolderAttributes, 'id'>,
): Promise<Folder>;
Expand Down
3 changes: 0 additions & 3 deletions src/modules/gateway/gateway.usecase.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import { CacheManagerService } from '../cache-manager/cache-manager.service';
import { StorageNotificationService } from '../../externals/notifications/storage.notifications.service';
import { FeatureLimitService } from '../feature-limit/feature-limit.service';
import { MailerService } from '../../externals/mailer/mailer.service';
import { ConfigService } from '@nestjs/config';
import { SequelizeFolderRepository } from '../folder/folder.repository';
import { SequelizeFeatureLimitsRepository } from '../feature-limit/feature-limit.repository';
import { LimitTypes, LimitLabels } from '../feature-limit/limits.enum';
Expand All @@ -38,7 +37,6 @@ describe('GatewayUseCases', () => {
let featureLimitService: FeatureLimitService;
let fileUseCases: FileUseCases;
let mailerService: MailerService;
let configService: ConfigService;
let folderRepository: SequelizeFolderRepository;
let limitsRepository: SequelizeFeatureLimitsRepository;
beforeEach(async () => {
Expand All @@ -63,7 +61,6 @@ describe('GatewayUseCases', () => {
featureLimitService = module.get<FeatureLimitService>(FeatureLimitService);
fileUseCases = module.get<FileUseCases>(FileUseCases);
mailerService = module.get<MailerService>(MailerService);
configService = module.get<ConfigService>(ConfigService);
folderRepository = module.get<SequelizeFolderRepository>(
SequelizeFolderRepository,
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { InjectModel } from '@nestjs/sequelize';
import { JobExecutionModel } from '../models/job-execution.model';
import { JobName, JobStatus } from '../constants';

export interface JobExecutionRepository {
interface JobExecutionRepository {
startJob(name: string, metadata?: any): Promise<JobExecutionModel>;
markAsCompleted(
jobId: string,
Expand Down
3 changes: 0 additions & 3 deletions src/modules/jobs/tasks/deleted-items-cleanup.task.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { Logger } from '@nestjs/common';
import { DeletedItemsCleanupTask } from './deleted-items-cleanup.task';
import { SequelizeJobExecutionRepository } from '../repositories/job-execution.repository';
import { SequelizeFolderRepository } from '../../folder/folder.repository';
import { SequelizeFileRepository } from '../../file/file.repository';
import { JobName } from '../constants';
import { JobExecutionModel } from '../models/job-execution.model';
import { v4 } from 'uuid';
Expand All @@ -14,7 +13,6 @@ describe('DeletedItemsCleanupTask', () => {
let task: DeletedItemsCleanupTask;
let jobExecutionRepository: DeepMocked<SequelizeJobExecutionRepository>;
let folderRepository: DeepMocked<SequelizeFolderRepository>;
let fileRepository: DeepMocked<SequelizeFileRepository>;
let redisService: DeepMocked<RedisService>;

beforeEach(async () => {
Expand All @@ -28,7 +26,6 @@ describe('DeletedItemsCleanupTask', () => {
task = moduleRef.get(DeletedItemsCleanupTask);
jobExecutionRepository = moduleRef.get(SequelizeJobExecutionRepository);
folderRepository = moduleRef.get(SequelizeFolderRepository);
fileRepository = moduleRef.get(SequelizeFileRepository);
redisService = moduleRef.get(RedisService);
});

Expand Down
1 change: 0 additions & 1 deletion src/modules/jobs/tasks/inactive-users-email.task.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import { createMock, DeepMocked } from '@golevelup/ts-jest';
import { Test } from '@nestjs/testing';
import { Logger } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
import { Op } from 'sequelize';
import { InactiveUsersEmailTask } from './inactive-users-email.task';
import { SequelizeUserRepository } from '../../user/user.repository';
import { MailerService } from '../../../externals/mailer/mailer.service';
Expand Down
2 changes: 0 additions & 2 deletions src/modules/jobs/tasks/inactive-users-email.task.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
import { Injectable, Logger } from '@nestjs/common';
import { Cron } from '@nestjs/schedule';
import { Op } from 'sequelize';
import { JobName, INACTIVE_USERS_EMAIL_CONFIG } from '../constants';
import { SequelizeUserRepository } from '../../user/user.repository';
import { MailerService } from '../../../externals/mailer/mailer.service';
import { RedisService } from '../../../externals/redis/redis.service';
import { User } from '../../user/user.domain';
import { ConfigService } from '@nestjs/config';
import { SequelizeFeatureLimitsRepository } from '../../feature-limit/feature-limit.repository';
import { PLAN_FREE_INDIVIDUAL_TIER_LABEL } from '../../feature-limit/limits.enum';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { NetworkCredentialsDto, SharingOwnerInfoDto } from './shared-base.dto';
import { FileDto } from '../../../file/dto/responses/file.dto';
import { FolderDto } from '../../../folder/dto/responses/folder.dto';

export class ParentFolderDto {
class ParentFolderDto {
@ApiProperty({
description: 'UUID of the parent folder',
example: '123e4567-e89b-12d3-a456-426614174000',
Expand All @@ -21,7 +21,7 @@ export class ParentFolderDto {
name: Folder['plainName'] | null;
}

export class SharedFolderResponseBaseDto {
class SharedFolderResponseBaseDto {
@ApiProperty({
description: 'Network credentials for accessing the folder',
type: NetworkCredentialsDto,
Expand Down
40 changes: 0 additions & 40 deletions src/modules/sharing/sharing.domain.ts
Original file line number Diff line number Diff line change
Expand Up @@ -291,43 +291,3 @@ export class SharingInvite implements SharingInviteAttributes {
};
}
}

export class SharingInviteWithItemAndUser extends SharingInvite {
item: File | Folder;
user: User;

constructor(
attributes: SharingInviteAttributes & { item: File | Folder; user: User },
) {
super(attributes);

this.item = attributes.item;
this.user = attributes.user;
}

static build(
sharingInvite: SharingInviteAttributes & {
item: File | Folder;
user: User;
},
): SharingInvite {
return new SharingInviteWithItemAndUser(sharingInvite);
}

toJSON(): SharingInviteAttributes & { item: File | Folder; user: User } {
return {
id: this.id,
itemId: this.itemId,
itemType: this.itemType,
sharedWith: this.sharedWith,
encryptionKey: this.encryptionKey,
encryptionAlgorithm: this.encryptionAlgorithm,
type: this.type,
roleId: this.roleId,
updatedAt: this.updatedAt,
createdAt: this.createdAt,
item: this.item,
user: this.user,
};
}
}
12 changes: 6 additions & 6 deletions src/modules/sharing/sharing.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,42 +61,42 @@ import {
} from './dto/response/get-folders-in-shared-folder.dto';
import { SequelizeFileRepository } from '../file/file.repository';

export class UserAlreadyHasRole extends BadRequestException {
class UserAlreadyHasRole extends BadRequestException {
constructor() {
super('User already has a role');
Object.setPrototypeOf(this, UserAlreadyHasRole.prototype);
}
}

export class OwnerCannotBeSharedWithError extends BadRequestException {
class OwnerCannotBeSharedWithError extends BadRequestException {
constructor() {
super('Owner cannot share the folder with itself');
Object.setPrototypeOf(this, OwnerCannotBeSharedWithError.prototype);
}
}

export class OwnerCannotBeRemovedWithError extends Error {
class OwnerCannotBeRemovedWithError extends Error {
constructor() {
super('Owner cannot be removed from the item sharing');
Object.setPrototypeOf(this, OwnerCannotBeRemovedWithError.prototype);
}
}

export class InvalidPermissionsError extends ForbiddenException {
class InvalidPermissionsError extends ForbiddenException {
constructor() {
super('You dont have permissions on this item');
Object.setPrototypeOf(this, InvalidPermissionsError.prototype);
}
}

export class SharedFolderInTheTrashError extends ForbiddenException {
class SharedFolderInTheTrashError extends ForbiddenException {
constructor() {
super('This folder is in the trash');
Object.setPrototypeOf(this, SharedFolderInTheTrashError.prototype);
}
}

export class SharedFolderRemovedError extends ForbiddenException {
class SharedFolderRemovedError extends ForbiddenException {
constructor() {
super('This folder has been removed');
Object.setPrototypeOf(this, SharedFolderRemovedError.prototype);
Expand Down
2 changes: 1 addition & 1 deletion src/modules/thumbnail/thumbnail.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Thumbnail } from './thumbnail.domain';
import { FileAttributes } from '../file/file.domain';
import { ThumbnailAttributes } from './thumbnail.attributes';

export interface ThumbnailRepository {
interface ThumbnailRepository {
findById(id: Thumbnail['id']): Promise<Thumbnail | null>;
findByFileUuid(fileUuid: FileAttributes['uuid']): Promise<Thumbnail | null>;
findAll(where?: Partial<ThumbnailAttributes>): Promise<Thumbnail[]>;
Expand Down
2 changes: 1 addition & 1 deletion src/modules/trash/trash.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Trash } from './trash.domain';
import { TrashItemType } from './trash.attributes';
import { Op } from 'sequelize';

export interface TrashRepository {
interface TrashRepository {
create(trash: Trash): Promise<void>;
delete(itemId: string, itemType: TrashItemType): Promise<void>;
deleteByItemIds(itemIds: string[], itemType: TrashItemType): Promise<void>;
Expand Down
2 changes: 1 addition & 1 deletion src/modules/user/dto/legacy-recover-account.dto.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ApiProperty } from '@nestjs/swagger';
import { IsBase64, IsNotEmpty, ValidateNested } from 'class-validator';
import { IsNotEmpty, ValidateNested } from 'class-validator';
import { Type } from 'class-transformer';

class EncryptedMnemonicDto {
Expand Down
2 changes: 1 addition & 1 deletion src/modules/user/referrals.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ export class ReferralModel extends Model implements ReferralAttributes {
enabled: ReferralAttributes['enabled'];
}

export interface ReferralsRepository {
interface ReferralsRepository {
findOne: (
where: Partial<ReferralAttributes>,
) => Promise<ReferralAttributes | null>;
Expand Down
2 changes: 1 addition & 1 deletion src/modules/user/user-referrals.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ export class UserReferralModel extends Model implements UserReferralAttributes {
startDate: UserReferralAttributes['startDate'];
}

export interface UserReferralsRepository {
interface UserReferralsRepository {
findOneWhere(
where: Partial<UserReferralAttributes>,
): Promise<UserReferralAttributes | null>;
Expand Down
2 changes: 1 addition & 1 deletion src/modules/user/user.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { UserModel } from './user.model';
import { UserNotificationTokensModel } from './user-notification-tokens.model';
import { UserNotificationTokens } from './user-notification-tokens.domain';

export interface UserRepository {
interface UserRepository {
findById(id: number): Promise<User | null>;
findByUuid(uuid: User['uuid']): Promise<User | null>;
findByUuids(uuid: User['uuid'][]): Promise<User[]>;
Expand Down
1 change: 0 additions & 1 deletion src/modules/user/user.usecase.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4168,7 +4168,6 @@ describe('User use cases', () => {

describe('checkAndNotifyStorageThreshold', () => {
const mockUser = newUser({ attributes: { email: 'test@internxt.com' } });
const NOTIFY_THRESHOLD = 80;
const MAX_EMAILS_PER_MONTH = 2;

it('When usage is below threshold, then should not send email', async () => {
Expand Down
1 change: 0 additions & 1 deletion src/modules/user/user.usecase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import {
forwardRef,
} from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
import { Environment } from '@internxt/inxt-js';
import { v4, validate } from 'uuid';
import { generateMnemonic } from 'bip39';
import * as speakeasy from 'speakeasy';
Expand Down
2 changes: 1 addition & 1 deletion src/modules/workspaces/dto/reponse/workspace.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ export class WorkspaceAttributesDto implements WorkspaceAttributes {
updatedAt: Date;
}

export class WorkspaceUserToJSONDTO {
class WorkspaceUserToJSONDTO {
@ApiProperty()
id: string;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
WORKSPACE_IN_BEHALF_ACTION_META_KEY,
} from './workspaces-resources-in-behalf.types';

export interface ValidationOptions {
interface ValidationOptions {
defaultItemType?: WorkspaceItemType;
action?: WorkspaceResourcesAction;
}
Expand Down
2 changes: 1 addition & 1 deletion src/shared-workspace/shared-workspace.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ export class FriendInvitationModel
accepted: boolean;
}

export interface SharedWorkspaceRepository {
interface SharedWorkspaceRepository {
updateByHostAndGuest(
host: FriendInvitationAttributes['host'],
guest: FriendInvitationAttributes['guestEmail'],
Expand Down
Loading
Loading