Update:06/13/2024
Usuarios Presentes y registrados
- Metodo: Post
- URL: /user/register
- Description: Registro de usuario
- Respuesta exitosa (201 Usuario Registrado)
- Errores (400 Usuario o Email Ya registrado)
- json Post: { "username": "username", "email": "email@email.name", "name": "name", "lastName": "lastName", "password": "password" "birthDate": birthDateNumber, "sex": "sex", "profileIconUrl":"URL" }
- Metodo: POST
- URL: /user/login
- Description: Login de usuario devuelve un JWT
- Respuesta exitosa (200 Usuario Login + Token)
- Errores (400 Contraseña Invalida), (400 Alguno de los campos son requeridos : username, email), (404 usuario o email invalido)
- json Post: { "username": "username", // or "email": "email@email.com", // Obligatorio "password": "password" }
- json Get: { "token": "token" }
Autenticación: Se requiere un token de autenticación JWT en el encabezado Authorization.
- Formato del encabezado:
Authorization: Bearer {token} - Metodo: GET
- URL: /user/profile
- Description: Pide los datos del Usuario autenticado con JWT
- Respuesta exitosa: (200 OK)
- Errores: (404 Not found)
- json Get: { "_id": "_id", "username": "username", "email": "email@email.com", "name": "name", "lastName": "lastName", "password": "password encript", "birthDate": birthDateNumber, "sex": "sex", "createAt": "2024-04-14T06:38:24.426Z", "__v": 0 }
Autenticación: Se requiere un token de autenticación JWT en el encabezado Authorization.
- Formato del encabezado:
Authorization: Bearer {token} - Metodo: PUT
- URL: /user/profile
- Description: Cambia los datos del usuario inpuesto (Puede cambiar uno o varios datos)
- Respuesta exitosa: (200 Usuario actualizado exitosamente)
- Errores: (400 Alguno de los campos debe ser rellenado)
- json Post: Posibles Propiedades { "email": "email", "name": "name", "lastName": "lastName", "birthDate": birthDateNumber, "sex": "sex" }
Autenticación: Se requiere un token de autenticación JWT en el encabezado Authorization.
- Formato del encabezado:
Authorization: Bearer {token} - Metodo: DELETE
- URL: /user/profile
- Description: Borra el usuario
- Respuesta exitosa: (200 Usuario Eliminado)
- Errores: (400 Alguno de los campos debe ser rellenado), (404 Usuario no encontrado)
- Metodo: GET
- URL: /user/profile/:id
- Description: Pide un usuario segun su id
- Respuesta exitosa (200 OK)
- Errores (404 Not found), (400 Formato de ID No Valido)
- json: { "username": "username", "email": "email@email.com", "name": "name", "lastName": "lastName", "birthDate": birthDateNumber, "sex": "sex", "createAt": "2024-04-05T01:24:36.394Z", "__v": 0 }
Articulos creados por los usuarios
Autenticación: Se requiere un token de autenticación JWT en el encabezado Authorization.
- Formato del encabezado:
Authorization: Bearer {token} - Metodo: POST
- URL: /article/
- Description: Crea un articulo con title, content, imagenURL, videoURL o audioURL. El author se obtiene del token
- Respuesta exitosa (201 Articulo Creado)
- Errores (400 Alguno de los campos debe ser rellenado),(404 No se pudo encontrar el ID del autor)
- json Post: { "title":"title", "content":"content", "imagenURL":"imagenURL", "videoURL":"videoURL" "audioURL":"audioURL" }
Autenticación: Se requiere un token de autenticación JWT en el encabezado Authorization.
- Formato del encabezado:
Authorization: Bearer {token} - Metodo: DELETE
- URL: /article/:id
- Description: Elimina un articulo segun su id, Si tiene los permisos requeridos
- Respuesta exitosa (200 Articulo Eliminado)
- Errores (401 No tienes los permisos Necesarios),(404 Articulo no encontrado)
- Metodo: GET tiene paginacion
- URL: /article/all
- Description: Obtiene todos los articulos de todos los usuarios
- Respuesta exitosa (200 Ok)
- Errores (404 Articles not Found)
- json Get: [ { "_id": "_id", "title": "titulo1", "content": "Post de muestra 1", "author": "authorId", "createAt": "2024-04-08T15:10:53.585Z", "__v": 0 }, { "_id": "_id", "content": "Post de muesta 2 ", "author": "authorId", "createAt": "2024-04-08T15:13:40.560Z", "__v": 0 }, { "_id": "_id", "title": "Legends Never Die", "author": "authorId", "createAt": "2024-04-08T19:06:32.019Z", "__v": 0 } ]
- Metodo: GET tiene paginacion
- URL: /article/user/:userId
- Description: Obtiene todos los articulos de un solo usuario
- Respuesta exitosa (200 Ok)
- Errores (404 Articles not Found)
- json Get: [ { "_id": "_id", "title": "X title", "content": "content", "author": "authorId", "createAt": "2024-04-13T01:27:30.753Z", "__v": 0 }, { "_id": "_id", "title": "X title", "content": "X content", "author": "author _id", "createAt": "2024-04-14T01:12:14.509Z", "__v": 0 } ]