- Deyvis Neyser Valdez Gavilan
- Hermez Jaramillo
- Bill Toño Gutierrez Vega
-
Instalar paquetes
npm i
-
Es necesario crear tu archivo .env:
# Tomar como referencia el archivo .env.example
-
Realizar migración:
npx prisma migrate dev
-
Ejecute el servidor de desarrollo:
npm run dev # or npx ts-node ./src/index.ts
-
Crear usuarios
Method: POST
Condiciones:
-
Para crear un usuario, enviar el siguiente json en el body del Postman. Ej.
{ "name": "daniela", "email": "[email protected]", "password": "1234", "date_born": "1994-10-22" }
-
-
Login usuario
Method: POST
Condiciones:
-
Para el login, enviar el siguiente json en el body del Postman. Ej.
{ "email": "[email protected]", "password": "1234" }
-
Response
{ "message": "successfully logged in", "user": { "name": "daniela", "email": "[email protected]", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6ImRhbmllbGEiLCJlbWFpbCI6ImRhbmllbGFAZ21haWwuY29tIiwiaWF0IjoxNjc0NTE5ODUyLCJleHAiOjE2NzQ1MTk5MzJ9.Hk50X3GCZ-hfk6CiNDgKJGSzRDXsxFSdXNIvTD8fODU" } }
-
-
Obtener lista de usuarios
Method: GET
Condiciones:
-
El usuario debe iniciar sesión para generar la authentification.
-
Para listar usuarios, enviar la siguiente authentification en el header del Postman. Ej.
Authorization: Bearer $token_generado
-
-
Buscar usuario por id
Method: GET
Condiciones:
-
Para buscar un usuario, enviar la siguiente authentification en el header del Postman. Ej.
Authorization: Bearer $token_generado
-
-
Crear song
Method: POST
Condiciones:
-
Para crear un song, enviar la siguiente authentification en el header del Postman(el token se obtine cuando haces el login). Ej.
Authorization: Bearer $token_generado
-
Para crear un song, enviar el siguiente json en el body del Postman. Ej.
{ "name": "A puro dolor", "artist": "Sin bandera", "album": "Album 1", "year": 2015, "genero": "Baladas", "duration": 120, "estado": "privado" }
-
-
Obtener lista de songs sin estar autenticados(públicas)
Method: GET
Condiciones:
- El usuario no debe estar autenticado necesariamente.
-
Obtener lista de songs estando autenticados(privadas y públicas)
Method: GET
Condiciones:
-
Para obtener songs privadas y públicas lo primero es enviar la siguiente authentification en el header del Postman(el token se obtine cuando haces el login). Ej.
Authorization: Bearer $token_generado
-
Despues hacer una peticion get a la ruta proporcionada.
-
-
Buscar song por id
Method: GET
Condiciones:
-
Para buscar un song por id, enviar la siguiente authentification en el header del Postman(el token se obtine cuando haces el login). Ej.
Authorization: Bearer $token_generado
-
En la ruta se reemplaza id por la id de la song que se quiere mostrar y se realiza una peticion GET.
-
-
Crear playlist
Method: POST
Condiciones:
-
Recuerda para crear la playlist debes estar logueado.
-
El usuario no puede crear 2 playlist con el mismo nombre ya que estaria duplicando una que ya esta creada.
-
Enviar el siguiente json en el body del Postman. Ej.
{ "name": "Playlist 1", # nombre de la playlist "user_id": 2, # ID del user }
-
Enviar la autenticación en el Postman:
Authorization: Bearer $token_generado
-
Response
{ "message": "Playlist creada exitosamente", "data": { "id": 1, "name": "playlist 1", "user_id": 2 } }
-
-
Agregar una canción a la playlist
Method: POST
Condiciones:
-
Recuerda para agregar la canción debes estar logueado.
-
El usuario no puede adicionar las misma canción en la playlist ya que estaria duplicando.
-
Enviar lo siguiente en el body del Postman. Ej.
Authorization: Bearer $token_generado
{ "id_song": 2, # id canción agregar "id_playlist": 1, # id de la playlist que desea agregar esa canción }
-
Response
{ "ok": true, "message": "Canción creada correctamente" }
-
-
Buscar Playlist por id
Method: GET
Condiciones:
-
Para buscar la canción por el id tienes que estar logueado.
ID POR PARAMETRO sigue el ejm de la URL, siguiente authentification en el header del Postman. Ej.
Authorization: Bearer $token_generado
-
Response
"data": { "id": 1, "name": "playlist 1", "user_id": 2, "songs": [ { "id": 1, "name": "You're So High", "artist": "Eli & Fur", "album": "Album 1", "year": 2020, "genero": "DeepHouse", "duration": 120, "estado": "publico", "updated_at": "2023-01-24T02:35:11.416Z" }, { "id": 2, "name": "Devil Eyes", "artist": "Hippie Sabotage ", "album": "Album 1", "year": 2020, "genero": "DeepHouse", "duration": 120, "estado": "publico", "updated_at": "2023-01-24T03:05:23.308Z" } ] }
-