diff --git a/package-lock.json b/package-lock.json index de3dc19..2eefef3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "backend-8tech", - "version": "4.1.1", + "version": "4.1.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "backend-8tech", - "version": "4.1.1", + "version": "4.1.2", "license": "UNLICENSED", "dependencies": { "@nestjs/common": "^9.4.3", diff --git a/package.json b/package.json index 55f36c7..57cf31a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "backend-8tech", - "version": "4.1.1", + "version": "4.1.2", "description": "", "author": "8tech", "private": true, diff --git a/src/rating/interface/rating.interface.ts b/src/rating/interface/rating.interface.ts deleted file mode 100644 index 7e74aba..0000000 --- a/src/rating/interface/rating.interface.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface IRating { - id: string; - recruiterUserId: string; - ratingOf10?: number; -} diff --git a/src/rating/test/rating.controller.spec.ts b/src/rating/test/rating.controller.spec.ts index 59907f0..ebcc11c 100644 --- a/src/rating/test/rating.controller.spec.ts +++ b/src/rating/test/rating.controller.spec.ts @@ -5,7 +5,6 @@ import { JwtAuthGuard } from '../../auth/jwt/jwt-auth.guard'; import { RoleGuard } from '../../auth/roles/role.guard'; import { RatingController } from '../rating.controller'; import { RatingService } from '../rating.service'; -import { IRating } from '../interface/rating.interface'; import { RatingCreateDto } from '../dto/rating-create.dto'; import { RatingUpdateDto } from '../dto/rating-update.dto'; import { Rating } from '@prisma/client'; diff --git a/src/rating/test/rating.service.spec.ts b/src/rating/test/rating.service.spec.ts index fe70721..e55bdc1 100644 --- a/src/rating/test/rating.service.spec.ts +++ b/src/rating/test/rating.service.spec.ts @@ -1,15 +1,15 @@ import { Test, TestingModule } from '@nestjs/testing'; import { DeepMocked, createMock } from '@golevelup/ts-jest'; import { RatingService } from '../rating.service'; -import { IRating } from '../interface/rating.interface'; import { RatingRepository } from '../rating.repository'; import { RatingCreateDto } from '../dto/rating-create.dto'; import { RatingUpdateDto } from '../dto/rating-update.dto'; +import { Rating } from '@prisma/client'; describe('RatingService', () => { let service: RatingService; let reposiotry: DeepMocked; - let ratingMock: IRating; + let ratingMock: Rating; beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ @@ -24,6 +24,9 @@ describe('RatingService', () => { id: 'randomId', recruiterUserId: 'randomUserId', ratingOf10: 9, + createdAt: new Date(), + updatedAt: new Date(), + userId: 'randomUserId', }; }); diff --git a/src/users/user.controller.ts b/src/users/user.controller.ts index c07df6d..b62c820 100644 --- a/src/users/user.controller.ts +++ b/src/users/user.controller.ts @@ -118,6 +118,7 @@ export class UserController { const response = await this.userService.uploadProfilePicture( file, req.user.companyId, + true, ); return response; } diff --git a/src/users/users.module.ts b/src/users/users.module.ts index 958774d..3863751 100644 --- a/src/users/users.module.ts +++ b/src/users/users.module.ts @@ -4,9 +4,16 @@ import { PrismaService } from '../prisma/prisma.service'; import { UserController } from './user.controller'; import { UserRepository } from './user.repository'; import { UserHelper } from './user.helper'; +import { CompanyRepository } from '../company/company.repository'; @Module({ - providers: [UsersService, PrismaService, UserRepository, UserHelper], + providers: [ + UsersService, + PrismaService, + UserRepository, + UserHelper, + CompanyRepository, + ], exports: [UsersService], controllers: [UserController], }) diff --git a/src/users/users.service.ts b/src/users/users.service.ts index 28429c5..245525c 100644 --- a/src/users/users.service.ts +++ b/src/users/users.service.ts @@ -3,11 +3,13 @@ import { UserRepository } from './user.repository'; import { UserFilterRequestDto } from './dto/user-filter.dto'; import { UserHelper } from './user.helper'; import { User } from '@prisma/client'; +import { CompanyRepository } from '../company/company.repository'; @Injectable() export class UsersService { constructor( private userRepository: UserRepository, + private companyRepository: CompanyRepository, private userHelper: UserHelper, ) {} @@ -76,6 +78,7 @@ export class UsersService { async uploadProfilePicture( image: Express.Multer.File, userId: string, + isCompany?: boolean, ): Promise { try { const imageData = await this.userHelper.uploadImageToStorage( @@ -84,10 +87,16 @@ export class UsersService { ? userId + `.${image.originalname.split('.').pop()}` : image.originalname, ); - const { password, ...user } = await this.userRepository.update(userId, { + if (!isCompany) { + const { password, ...user } = await this.userRepository.update(userId, { + profilePicture: imageData.url, + }); + return user; + } + const res = await this.companyRepository.update(userId, { profilePicture: imageData.url, }); - return user; + return res; } catch (error) { console.log('#uploadProfilePicture error', error); throw new HttpException(error, HttpStatus.BAD_REQUEST);