From 2bf9dea7712fd4abd0ac61ac1ecbdf9d6c5ce072 Mon Sep 17 00:00:00 2001 From: Abdalhamid Alhamad Date: Mon, 2 Dec 2024 12:13:03 +0300 Subject: [PATCH] fix: remove access type from document --- .../1732434281561-create-document-entity.ts | 1 - src/document/controllers/document.controller.ts | 17 +++-------------- .../dtos/request/upload-document.request.dto.ts | 5 +---- .../dtos/response/document-meta.response.dto.ts | 6 +----- .../dtos/response/upload.response.dto.ts | 5 +---- src/document/entities/document.entity.ts | 5 +---- src/document/enums/access-type.enum.ts | 4 ---- src/document/enums/index.ts | 1 - .../repositories/document.repository.ts | 5 ----- src/document/services/document.service.ts | 13 +------------ src/document/services/oci.service.ts | 6 +----- src/i18n/ar/general.json | 3 +-- src/i18n/en/general.json | 4 ++-- 13 files changed, 12 insertions(+), 63 deletions(-) delete mode 100644 src/document/enums/access-type.enum.ts diff --git a/src/db/migrations/1732434281561-create-document-entity.ts b/src/db/migrations/1732434281561-create-document-entity.ts index 2e3a0de..46126dd 100644 --- a/src/db/migrations/1732434281561-create-document-entity.ts +++ b/src/db/migrations/1732434281561-create-document-entity.ts @@ -10,7 +10,6 @@ export class CreateDocumentEntity1732434281561 implements MigrationInterface { "name" character varying(255) NOT NULL, "extension" character varying(255) NOT NULL, "documentType" character varying(255) NOT NULL, - "accessType" character varying(255) NOT NULL, "updated_at" TIMESTAMP NOT NULL DEFAULT now(), "created_at" TIMESTAMP NOT NULL DEFAULT now(), CONSTRAINT "PK_ac51aa5181ee2036f5ca482857c" PRIMARY KEY ("id"))`, diff --git a/src/document/controllers/document.controller.ts b/src/document/controllers/document.controller.ts index 1a00693..0c89700 100644 --- a/src/document/controllers/document.controller.ts +++ b/src/document/controllers/document.controller.ts @@ -1,11 +1,11 @@ -import { Body, Controller, Get, Param, Post, UploadedFile, UseInterceptors } from '@nestjs/common'; +import { Body, Controller, Post, UploadedFile, UseInterceptors } from '@nestjs/common'; import { FileInterceptor } from '@nestjs/platform-express'; import { ApiBody, ApiConsumes, ApiTags } from '@nestjs/swagger'; import { memoryStorage } from 'multer'; import { ResponseFactory } from '~/core/utils'; import { UploadDocumentRequestDto } from '../dtos/request'; import { DocumentMetaResponseDto } from '../dtos/response'; -import { AccessType, DocumentType } from '../enums'; +import { DocumentType } from '../enums'; import { DocumentService } from '../services'; @Controller('document') @ApiTags('document') @@ -26,12 +26,8 @@ export class DocumentController { type: 'string', enum: Object.values(DocumentType), }, - accessType: { - type: 'string', - enum: Object.values(AccessType), - }, }, - required: ['document', 'documentType', 'accessType'], + required: ['document', 'documentType'], }, }) @UseInterceptors(FileInterceptor('document', { storage: memoryStorage() })) @@ -43,11 +39,4 @@ export class DocumentController { return ResponseFactory.data(new DocumentMetaResponseDto(document)); } - - @Get(':documentId') - async findDocumentById(@Param('documentId') documentId: string) { - const document = await this.documentService.findDocumentById(documentId); - console.log(document); - return ResponseFactory.data(new DocumentMetaResponseDto(document)); - } } diff --git a/src/document/dtos/request/upload-document.request.dto.ts b/src/document/dtos/request/upload-document.request.dto.ts index be8617c..89210fe 100644 --- a/src/document/dtos/request/upload-document.request.dto.ts +++ b/src/document/dtos/request/upload-document.request.dto.ts @@ -1,11 +1,8 @@ import { IsEnum } from 'class-validator'; import { i18nValidationMessage as i18n } from 'nestjs-i18n'; -import { AccessType, DocumentType } from '~/document/enums'; +import { DocumentType } from '~/document/enums'; export class UploadDocumentRequestDto { @IsEnum(DocumentType, { message: i18n('validation.IsEnum', { path: 'general', property: 'document.documentType' }) }) documentType!: DocumentType; - - @IsEnum(AccessType, { message: i18n('validation.IsEnum', { path: 'general', property: 'document.accessType' }) }) - accessType!: AccessType; } diff --git a/src/document/dtos/response/document-meta.response.dto.ts b/src/document/dtos/response/document-meta.response.dto.ts index 77c775b..a9c23e0 100644 --- a/src/document/dtos/response/document-meta.response.dto.ts +++ b/src/document/dtos/response/document-meta.response.dto.ts @@ -1,6 +1,6 @@ import { ApiProperty } from '@nestjs/swagger'; import { Document } from '~/document/entities'; -import { AccessType, DocumentType } from '~/document/enums'; +import { DocumentType } from '~/document/enums'; export class DocumentMetaResponseDto { @ApiProperty() @@ -15,9 +15,6 @@ export class DocumentMetaResponseDto { @ApiProperty() documentType!: DocumentType; - @ApiProperty() - acessType!: AccessType; - @ApiProperty() createdAt!: Date; @@ -29,7 +26,6 @@ export class DocumentMetaResponseDto { this.name = document.name; this.extension = document.extension; this.documentType = document.documentType; - this.acessType = document.accessType; this.createdAt = document.createdAt; this.updatedAt = document.updatedAt; } diff --git a/src/document/dtos/response/upload.response.dto.ts b/src/document/dtos/response/upload.response.dto.ts index db63e0e..f34b836 100644 --- a/src/document/dtos/response/upload.response.dto.ts +++ b/src/document/dtos/response/upload.response.dto.ts @@ -1,5 +1,5 @@ import { ApiProperty } from '@nestjs/swagger'; -import { AccessType, DocumentType } from '~/document/enums'; +import { DocumentType } from '~/document/enums'; export class UploadResponseDto { @ApiProperty() @@ -8,9 +8,6 @@ export class UploadResponseDto { @ApiProperty() documentType!: DocumentType; - @ApiProperty() - accessType!: AccessType; - @ApiProperty() extension!: string; diff --git a/src/document/entities/document.entity.ts b/src/document/entities/document.entity.ts index 49c24e6..85c2ba0 100644 --- a/src/document/entities/document.entity.ts +++ b/src/document/entities/document.entity.ts @@ -1,5 +1,5 @@ import { Column, Entity, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm'; -import { AccessType, DocumentType } from '../enums'; +import { DocumentType } from '../enums'; @Entity('documents') export class Document { @@ -15,9 +15,6 @@ export class Document { @Column({ type: 'varchar', length: 255 }) documentType!: DocumentType; - @Column({ type: 'varchar', length: 255 }) - accessType!: AccessType; - @UpdateDateColumn({ name: 'updated_at', type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' }) updatedAt!: Date; diff --git a/src/document/enums/access-type.enum.ts b/src/document/enums/access-type.enum.ts deleted file mode 100644 index e436aa9..0000000 --- a/src/document/enums/access-type.enum.ts +++ /dev/null @@ -1,4 +0,0 @@ -export enum AccessType { - PUBLIC = 'PUBLIC', - PRIVATE = 'PRIVATE', -} diff --git a/src/document/enums/index.ts b/src/document/enums/index.ts index bbf7bd2..173c116 100644 --- a/src/document/enums/index.ts +++ b/src/document/enums/index.ts @@ -1,2 +1 @@ -export * from './access-type.enum'; export * from './document-type.enum'; diff --git a/src/document/repositories/document.repository.ts b/src/document/repositories/document.repository.ts index 621c826..dc4b7e6 100644 --- a/src/document/repositories/document.repository.ts +++ b/src/document/repositories/document.repository.ts @@ -14,12 +14,7 @@ export class DocumentRepository { name: document.name, documentType: document.documentType, extension: document.extension, - accessType: document.accessType, }), ); } - - findDocumentById(documentId: string) { - return this.documentRepository.findOne({ where: { id: documentId } }); - } } diff --git a/src/document/services/document.service.ts b/src/document/services/document.service.ts index 61d723a..3b1d6db 100644 --- a/src/document/services/document.service.ts +++ b/src/document/services/document.service.ts @@ -1,4 +1,4 @@ -import { Injectable, NotFoundException } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { UploadDocumentRequestDto } from '../dtos/request'; import { DocumentRepository } from '../repositories'; import { OciService } from './oci.service'; @@ -8,17 +8,6 @@ export class DocumentService { constructor(private readonly ociService: OciService, private readonly documentRepository: DocumentRepository) {} async createDocument(file: Express.Multer.File, uploadedDocumentRequest: UploadDocumentRequestDto) { const uploadedFile = await this.ociService.uploadFile(file, uploadedDocumentRequest); - console.log('test'); return this.documentRepository.createDocument(uploadedFile); } - - async findDocumentById(documentId: string) { - const document = await this.documentRepository.findDocumentById(documentId); - - if (!document) { - throw new NotFoundException('DOCUMENT.NOT_FOUND'); - } - - return document; - } } diff --git a/src/document/services/oci.service.ts b/src/document/services/oci.service.ts index 4a55f3b..c123cd6 100644 --- a/src/document/services/oci.service.ts +++ b/src/document/services/oci.service.ts @@ -34,10 +34,7 @@ export class OciService { }); } - async uploadFile( - file: Express.Multer.File, - { documentType, accessType }: UploadDocumentRequestDto, - ): Promise { + async uploadFile(file: Express.Multer.File, { documentType }: UploadDocumentRequestDto): Promise { const bucketName = BUCKETS[documentType]; const objectName = generateNewFileName(file.originalname); @@ -62,7 +59,6 @@ export class OciService { extension: path.extname(file.originalname), url: `https://objectstorage.${this.region}.oraclecloud.com/n/${this.namespace}/b/${bucketName}/o/${objectName}`, documentType, - accessType, }); } } diff --git a/src/i18n/ar/general.json b/src/i18n/ar/general.json index 465357f..64f02d1 100644 --- a/src/i18n/ar/general.json +++ b/src/i18n/ar/general.json @@ -3,8 +3,7 @@ "paginationPage": "رقم الصفحة", "paginationSize": "حجم الصفحة", "document": { - "documentType": "نوع الملف", - "accessType": "نوع الوصول" + "documentType": "نوع الملف" } }, "UNAUTHORIZED_ERROR": "يجب تسجيل الدخول مره اخرى", diff --git a/src/i18n/en/general.json b/src/i18n/en/general.json index 01557bc..87ebd1b 100644 --- a/src/i18n/en/general.json +++ b/src/i18n/en/general.json @@ -3,8 +3,8 @@ "paginationPage": "page", "paginationSize": "page size", "document": { - "documentType": "Document type", - "accessType": "Access type" + "documentType": "Document type" + } }, "UNAUTHORIZED_ERROR": "You have to login again",