-
1._
git clone https://github.com/MartinFitS/api_spike.git
-
2._
git branch nuevarama
-
3._
git checkout nuevarama
-
4._
git pull origin main
-
5._
npm i
npx prisma migrate dev --name init
API Spike para la gestión de veterinarias, que permite crear y administrar datos relacionados con clínicas veterinarias.
https://api-spikeapp.vercel.app/
- Endpoint:
POST /createUser
- Descripción: Crea un nuevo usuario en la base de datos.
- Parámetros del cuerpo de la solicitud:
- FORMDATA!!!!
{
"firstName": "Martin",
"lastName": "Serna",
"email": "[email protected]",
"phone": "3143386885",
"password": "Martinsd2004?",
"role": "PET_OWNER",
"city": "New York",
"number_int": 45,
"cp": 10002,
"img": (png,jpg,jpeg),
}
- Endpoint:
POST /createVeterinary
- Descripción: Crea una nueva veterinaria en la base de datos.
- Parámetros del cuerpo de la solicitud:
- FORMDATA!!!!
{
"veterinarieName": "Veterinaria perracos",
"street": "Calle Falsa 123",
"email": "[email protected]",
"phone": "1234567891",
"password": "martinSd2004?",
"role": "VETERINARY_OWNER",
"city": "New York",
"locality": "Manhattan",
"cologne": "Central",
"number_int": 42,
"cp": 10001,
"rfc": "ABC123456789",
"img": (png,jpg,jpeg),
"token": "asdasd..",
"category": "CARE",
"horaInicio": "9",
"horaFin": "22",
"diasSemana": "Sunday",
"diasSemana": "Monday"
}
- Endpoint:
POST /updateUser/:id
- Descripción: Editar un usuario
- Parámetros del cuerpo de la solicitud:
- FORMDATA!!!
{
"phone": "3143386885",
"token": "asdasd..",
"img": imagen jpeg, png o jpeg
...
}
{
"rfc": "" vacio si es un usaurio normal y con el rfc si es una veterinaria,
"phone": "3143386885",
"token": "asdasd..",
"removeCategories": "" opciones["CARE", "NUTRITION", "RECREATION"],
"newCategories": "",
"img": imagen jpeg, png o jpeg
...
}
- Endpoint:
POST /deleteUser/:id
- Descripción: Eliminar un usuario
- Parámetros del cuerpo de la solicitud:
{
"rfc": "" vacio si es un usaurio normal y con el rfc si es una veterinaria,
"token": "asdasd.."
}
- Endpoint:
POST /getUsers
- Descripción: Listar usuarios de veterinarias y usuarios.
- Parámetros del cuerpo de la solicitud:
{
"token": "asdasd.."
}
- Endpoint:
POST /login
- Descripción: Crear una sesión y almacenar el JWT.
- Parámetros del cuerpo de la solicitud:
{
"email":"[email protected]",
"password": "User2024?"
}
- Endpoint:
POST /createpet
- Descripción: Crear una mascota.
- Parámetros del cuerpo de la solicitud:
- FORMDATA!!!
{
"ownerId": 123,(Tiene que existir un usuario con ese id)
"name": "Firulais",
"gender": "0",(0 = masculino, 1 = femenino)
"weight": "12.5",
"height": "1", (1 = pequeño, 2 = mediano, 3 = grande, 4 = gigante)
"animal": "1", (1 = Perro, 2 = gato, 3 = conejo, 4 = aves, 5 = reptiles, 6 = otros)
"age": 3,
"img": file
}
- Endpoint:
POST /crearCita
- Descripción: Crear una cita.
- Parámetros del cuerpo de la solicitud:
{
"veterinaryId": 1,
"petId": 1,
"userId": 1,
"date": "2024-11-04T00:00:00.000Z",
"hour": "10:00"
}
- Endpoint:
POST /cancelarCita
- Descripción: Cancelar una cita.
- Parámetros del cuerpo de la solicitud:
{
"appointmentId": 1
}
- Endpoint:
POST /citaCompletada
- Descripción: Marcar como completada una cita.
- Parámetros del cuerpo de la solicitud:
{
"appointmentId": 1
}
- Endpoint:
POST /citasUsuario
- Descripción: tare citas hechas y pendientes.
- Parámetros del cuerpo de la solicitud:
{
"ownerId": 1
}
- Endpoint:
POST /citasVet
- Descripción: tare citas hechas y pendientes.
- Parámetros del cuerpo de la solicitud:
{
"vetId": 1
}
respuesta
{
{
"completadas": [],
"pendientes": [
{
"id": 4,
"veterinaryId": 1,
"petId": 11,
"userId": 2,
"date": "2024-11-26T00:00:00.000Z",
"hourId": 1,
"done": false,
"createdAt": "2024-11-09T02:45:55.836Z",
"pet": {
"id": 11,
"ownerId": 2,
"name": "Djej",
"gender": "0",
"weight": 2,
"height": "4",
"animal": "1",
"age": 25,
"img": "https://res.cloudinary.com/dkwulpnkt/image/upload/v1731000992/mascotas/fd2jbpghukd446eovil2.png",
"img_public_id": "mascotas/fd2jbpghukd446eovil2",
"createdAt": "2024-11-07T17:36:33.132Z",
"updatedAt": "2024-11-07T17:36:33.132Z"
},
"hour": {
"id": 1,
"veterinaryId": 1,
"hour": "02:00",
"day": "Tuesday"
}
}
]
}
}