curl --request GET \
--url https://api.example.com/api/admin/audit \
--header 'Authorization: <authorization>'{
"logs": [
{
"id": 123,
"userId": 123,
"action": "<string>",
"timestamp": "<string>",
"user": {
"id": 123,
"name": "<string>",
"email": "<string>",
"role": "<string>"
}
}
],
"error": "<string>"
}curl --request GET \
--url https://api.example.com/api/admin/audit \
--header 'Authorization: <authorization>'{
"logs": [
{
"id": 123,
"userId": 123,
"action": "<string>",
"timestamp": "<string>",
"user": {
"id": 123,
"name": "<string>",
"email": "<string>",
"role": "<string>"
}
}
],
"error": "<string>"
}ADMIN role. Users with PATIENT or DOCTOR roles will receive a 403 Forbidden response.
Admin crear bloque de tiempoAdmin listar reservasAdmin listar usuariosAdmin obtener usuarioAdmin actualizar usuarioAdmin cambiar estado usuarioAdmin listar auditoríacurl -X GET https://api.example.com/api/admin/audit \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
[
{
"id": 1,
"userId": 3,
"action": "Admin listar usuarios",
"timestamp": "2024-03-03T10:30:00.000Z",
"user": {
"id": 3,
"name": "Admin User",
"email": "[email protected]",
"role": "ADMIN"
}
},
{
"id": 2,
"userId": 3,
"action": "Admin crear bloque de tiempo",
"timestamp": "2024-03-03T11:15:00.000Z",
"user": {
"id": 3,
"name": "Admin User",
"email": "[email protected]",
"role": "ADMIN"
}
},
{
"id": 3,
"userId": 3,
"action": "Admin actualizar usuario",
"timestamp": "2024-03-03T14:20:00.000Z",
"user": {
"id": 3,
"name": "Admin User",
"email": "[email protected]",
"role": "ADMIN"
}
},
{
"id": 4,
"userId": 3,
"action": "Admin cambiar estado usuario",
"timestamp": "2024-03-03T15:45:00.000Z",
"user": {
"id": 3,
"name": "Admin User",
"email": "[email protected]",
"role": "ADMIN"
}
},
{
"id": 5,
"userId": 3,
"action": "Admin listar auditoría",
"timestamp": "2024-03-03T16:00:00.000Z",
"user": {
"id": 3,
"name": "Admin User",
"email": "[email protected]",
"role": "ADMIN"
}
}
]
{
"error": "Access denied"
}
{
"error": "Unauthorized"
}
{
"error": "Error fetching audit logs"
}
prisma/schema.prisma:70-77):
model AuditLog {
id Int @id @default(autoincrement())
userId Int
action String
timestamp DateTime @default(now())
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
}