From ddf7283624c7271adcee373a1f597557d7c15369 Mon Sep 17 00:00:00 2001 From: Giovanna Esmeralda Chavez Espino <79319097+gio-gigi@users.noreply.github.com> Date: Fri, 26 Apr 2024 10:39:55 -0600 Subject: [PATCH] Creacion de auth-admin --- backend/src/admin/admin.module.ts | 3 ++ backend/src/admin/admin.service.ts | 9 ---- backend/src/admin/dto/create-admin.dto.ts | 1 - backend/src/app.controller.ts | 9 +++- .../auth-admin/auth-admin.controller.spec.ts | 20 ++++++++ .../auth/auth-admin/auth-admin.controller.ts | 34 +++++++++++++ .../src/auth/auth-admin/auth-admin.module.ts | 9 ++++ .../auth-admin/auth-admin.service.spec.ts | 18 +++++++ .../src/auth/auth-admin/auth-admin.service.ts | 26 ++++++++++ .../auth/auth-admin/dto/login-admin.dto.ts | 19 ++++++++ .../auth-admin/entities/auth-admin.entity.ts | 1 + backend/src/user/user.service.ts | 27 ++++------- .../aplicacionrutasturisticas/pubspec.lock | 48 ++++++++++++++----- 13 files changed, 184 insertions(+), 40 deletions(-) create mode 100644 backend/src/auth/auth-admin/auth-admin.controller.spec.ts create mode 100644 backend/src/auth/auth-admin/auth-admin.controller.ts create mode 100644 backend/src/auth/auth-admin/auth-admin.module.ts create mode 100644 backend/src/auth/auth-admin/auth-admin.service.spec.ts create mode 100644 backend/src/auth/auth-admin/auth-admin.service.ts create mode 100644 backend/src/auth/auth-admin/dto/login-admin.dto.ts create mode 100644 backend/src/auth/auth-admin/entities/auth-admin.entity.ts diff --git a/backend/src/admin/admin.module.ts b/backend/src/admin/admin.module.ts index fdad709..98d4be2 100644 --- a/backend/src/admin/admin.module.ts +++ b/backend/src/admin/admin.module.ts @@ -1,8 +1,11 @@ import { Module } from '@nestjs/common'; import { AdminService } from './admin.service'; import { AdminController } from './admin.controller'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { Admin } from './entities/admin.entity'; @Module({ + imports: [TypeOrmModule.forFeature([Admin])], controllers: [AdminController], providers: [AdminService], exports: [AdminService], diff --git a/backend/src/admin/admin.service.ts b/backend/src/admin/admin.service.ts index 4ef4d3a..61dcd22 100644 --- a/backend/src/admin/admin.service.ts +++ b/backend/src/admin/admin.service.ts @@ -6,7 +6,6 @@ import { UpdateAdminDto } from './dto/update-admin.dto'; export class AdminService { private readonly admin = [ { - id: 1, name: 'Admin prueba', email: 'admin@gmail.com', password: 'admin123', @@ -25,12 +24,4 @@ export class AdminService { return this.admin.find((admin) => admin.email === email); } - - update(id: number, updateAdminDto: UpdateAdminDto) { - return `This action updates a #${id} admin`; - } - - remove(id: number) { - return `This action removes a #${id} admin`; - } } diff --git a/backend/src/admin/dto/create-admin.dto.ts b/backend/src/admin/dto/create-admin.dto.ts index 81a9eaa..a59551d 100644 --- a/backend/src/admin/dto/create-admin.dto.ts +++ b/backend/src/admin/dto/create-admin.dto.ts @@ -1,5 +1,4 @@ export class CreateAdminDto { - id : number; name: string; email: string; password: string; diff --git a/backend/src/app.controller.ts b/backend/src/app.controller.ts index 1739a15..939ee59 100644 --- a/backend/src/app.controller.ts +++ b/backend/src/app.controller.ts @@ -1,12 +1,19 @@ import { Controller, Get } from '@nestjs/common'; import { AppService } from './app.service'; + @Controller() export class AppController { constructor(private readonly appService: AppService) {} - @Get()//decorador + @Get() // decorator getHello(): string { return this.appService.getHello(); } + + @Get('admin') // new endpoint for admin panel + getAdminPanel(): string { + + return 'Admin Panel'; + } } diff --git a/backend/src/auth/auth-admin/auth-admin.controller.spec.ts b/backend/src/auth/auth-admin/auth-admin.controller.spec.ts new file mode 100644 index 0000000..ac40a3f --- /dev/null +++ b/backend/src/auth/auth-admin/auth-admin.controller.spec.ts @@ -0,0 +1,20 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { AuthAdminController } from './auth-admin.controller'; +import { AuthAdminService } from './auth-admin.service'; + +describe('AuthAdminController', () => { + let controller: AuthAdminController; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [AuthAdminController], + providers: [AuthAdminService], + }).compile(); + + controller = module.get(AuthAdminController); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); +}); diff --git a/backend/src/auth/auth-admin/auth-admin.controller.ts b/backend/src/auth/auth-admin/auth-admin.controller.ts new file mode 100644 index 0000000..56da9cd --- /dev/null +++ b/backend/src/auth/auth-admin/auth-admin.controller.ts @@ -0,0 +1,34 @@ +import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common'; +import { AuthAdminService } from './auth-admin.service'; +import { CreateAuthAdminDto } from './dto/login-admin.dto'; +import { UpdateAuthAdminDto } from './dto/update-auth-admin.dto'; + +@Controller('auth-admin') +export class AuthAdminController { + constructor(private readonly authAdminService: AuthAdminService) {} + + @Post() + create(@Body() createAuthAdminDto: CreateAuthAdminDto) { + return this.authAdminService.create(createAuthAdminDto); + } + + @Get() + findAll() { + return this.authAdminService.findAll(); + } + + @Get(':id') + findOne(@Param('id') id: string) { + return this.authAdminService.findOne(+id); + } + + @Patch(':id') + update(@Param('id') id: string, @Body() updateAuthAdminDto: UpdateAuthAdminDto) { + return this.authAdminService.update(+id, updateAuthAdminDto); + } + + @Delete(':id') + remove(@Param('id') id: string) { + return this.authAdminService.remove(+id); + } +} diff --git a/backend/src/auth/auth-admin/auth-admin.module.ts b/backend/src/auth/auth-admin/auth-admin.module.ts new file mode 100644 index 0000000..faa1950 --- /dev/null +++ b/backend/src/auth/auth-admin/auth-admin.module.ts @@ -0,0 +1,9 @@ +import { Module } from '@nestjs/common'; +import { AuthAdminService } from './auth-admin.service'; +import { AuthAdminController } from './auth-admin.controller'; + +@Module({ + controllers: [AuthAdminController], + providers: [AuthAdminService], +}) +export class AuthAdminModule {} diff --git a/backend/src/auth/auth-admin/auth-admin.service.spec.ts b/backend/src/auth/auth-admin/auth-admin.service.spec.ts new file mode 100644 index 0000000..644828c --- /dev/null +++ b/backend/src/auth/auth-admin/auth-admin.service.spec.ts @@ -0,0 +1,18 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { AuthAdminService } from './auth-admin.service'; + +describe('AuthAdminService', () => { + let service: AuthAdminService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [AuthAdminService], + }).compile(); + + service = module.get(AuthAdminService); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); +}); diff --git a/backend/src/auth/auth-admin/auth-admin.service.ts b/backend/src/auth/auth-admin/auth-admin.service.ts new file mode 100644 index 0000000..54bee0b --- /dev/null +++ b/backend/src/auth/auth-admin/auth-admin.service.ts @@ -0,0 +1,26 @@ +import { Injectable } from '@nestjs/common'; +import { CreateAuthAdminDto } from './dto/login-admin.dto'; +import { UpdateAuthAdminDto } from './dto/update-auth-admin.dto'; + +@Injectable() +export class AuthAdminService { + create(createAuthAdminDto: CreateAuthAdminDto) { + return 'This action adds a new authAdmin'; + } + + findAll() { + return `This action returns all authAdmin`; + } + + findOne(id: number) { + return `This action returns a #${id} authAdmin`; + } + + update(id: number, updateAuthAdminDto: UpdateAuthAdminDto) { + return `This action updates a #${id} authAdmin`; + } + + remove(id: number) { + return `This action removes a #${id} authAdmin`; + } +} diff --git a/backend/src/auth/auth-admin/dto/login-admin.dto.ts b/backend/src/auth/auth-admin/dto/login-admin.dto.ts new file mode 100644 index 0000000..143ec67 --- /dev/null +++ b/backend/src/auth/auth-admin/dto/login-admin.dto.ts @@ -0,0 +1,19 @@ +import { Transform } from "class-transformer"; +import { IsEmail, IsString, MinLength } from "class-validator"; +export class loginAdmin { + @IsEmail() + email: string; + + @IsString() + @MinLength(6) + @Transform(({ value }) => value.trim()) + password: string; + + static adminCount: number = 0; + + constructor(email: string, password: string) { + this.email = email; + this.password = password; + loginAdmin.adminCount++; + } +} diff --git a/backend/src/auth/auth-admin/entities/auth-admin.entity.ts b/backend/src/auth/auth-admin/entities/auth-admin.entity.ts new file mode 100644 index 0000000..e29fdcb --- /dev/null +++ b/backend/src/auth/auth-admin/entities/auth-admin.entity.ts @@ -0,0 +1 @@ +export class AuthAdmin {} diff --git a/backend/src/user/user.service.ts b/backend/src/user/user.service.ts index 5a3f9fe..2deda19 100644 --- a/backend/src/user/user.service.ts +++ b/backend/src/user/user.service.ts @@ -1,29 +1,22 @@ import { Injectable } from '@nestjs/common'; import { CreateUserDto } from './dto/create-user.dto'; import { UpdateUserDto } from './dto/update-user.dto'; +import { InjectRepository } from '@nestjs/typeorm'; +import { User } from './entities/user.entity'; +import { Repository } from 'typeorm'; @Injectable() export class UserService { + constructor( + @InjectRepository(User) + private readonly userRepository: Repository, + ) {} create(createUserDto: CreateUserDto) { - + return this.userRepository.save(createUserDto); } - findAll() { - return `This action returns all user`; + async findOneByEmail(email: string) { + return await this.userRepository.findOneBy({ email }); } - findOne(email: string) { - return `This action returns a #${email} user`; - } - - update(id: number, updateUserDto: UpdateUserDto) { - return `This action updates a #${id} user`; - } - - remove(id: number) { - return `This action removes a #${id} user`; - } - save(newUser: any) { - throw new Error('Method not implemented.'); - } } diff --git a/fronted/aplicacionrutasturisticas/pubspec.lock b/fronted/aplicacionrutasturisticas/pubspec.lock index e4a8596..1827158 100644 --- a/fronted/aplicacionrutasturisticas/pubspec.lock +++ b/fronted/aplicacionrutasturisticas/pubspec.lock @@ -75,6 +75,30 @@ packages: description: flutter source: sdk version: "0.0.0" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + url: "https://pub.dev" + source: hosted + version: "10.0.0" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + url: "https://pub.dev" + source: hosted + version: "2.0.1" lints: dependency: transitive description: @@ -87,34 +111,34 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" meta: dependency: transitive description: name: meta - sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" path: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" sky_engine: dependency: transitive description: flutter @@ -176,13 +200,13 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" - web: + vm_service: dependency: transitive description: - name: web - sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + name: vm_service + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 url: "https://pub.dev" source: hosted - version: "0.3.0" + version: "13.0.0" sdks: dart: ">=3.2.6 <4.0.0" -- GitLab