Método save en un servicio con repositorio

Código
Avanzado
Nest
Nest
20 min
150 XP
Actualizado: 14/02/2025

¡Practica y certifícate!

Retroalimentación
Soluciones
Certificado
Comenzar

Descripción

En este reto, el objetivo es crear un servicio en NestJS que permita agregar cursos en una universidad. Para ello, se debe crear un repositorio que permita guardar los cursos en una base de datos.

  1. Crea un servicio llamado CursoService que permita agregar cursos en una universidad.
  2. No agregues los imports al inicio del código, inicia el código con el decorador @Injectable para definir el servicio. En un código real, los imports se agregarían al inicio del archivo y serían similares a esto:
    import { Injectable } from '@nestjs/common';
    import { InjectRepository } from '@nestjs/typeorm';
    import { Repository } from 'typeorm';
    import { Curso } from './curso.entity';
    
  3. En el constructor del servicio, inyecta un repositorio de tipo Curso que permita guardar los cursos en una base de datos.
  4. Crea un método llamado agregarCurso que reciba un objeto de tipo Curso como argumento y devuelva como promesa un objeto de tipo Curso.
  5. El método debe guardar el curso en una base de datos utilizando el método save del repositorio.
  6. Utiliza un try/catch para capturar los errores que puedan ocurrir al guardar el curso en la base de datos. Si el curso ya existe, debe retornar un error de tipo ConflictException con el mensaje No se pudo agregar el curso..

Solución al ejercicio

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el examen para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con exámenes de Nest

Mejora tus habilidades con cientos de exámenes de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Retroalimentación

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades

⭐⭐⭐⭐⭐
4.9/5 valoración