Saltar al contenido principal

Roles

Gestión de Roles

Los endpoints de roles permiten gestionar los diferentes roles de usuario en el sistema.

  • GET /roles: Obtiene todos los roles del sistema.

    • Authorization: Requiere access token válido (enviado automáticamente via cookies)
    • cURL Example:
    curl -X GET http://127.0.0.1:9154/roles
    • Response Body (Éxito - 200 OK):
    [
    {
    "id": "76ee1086-b945-4170-b2e6-9fbeb95ae0be",
    "name": "admin",
    "password": "****",
    "isAdmin": true
    },
    {
    "id": "262006ea-8782-4b08-ac3b-b3f13270fec3",
    "name": "waiter",
    "password": "****",
    "isAdmin": false
    }
    ]
    • Response Body (Sin contenido - 204 No Content):
    "No roles found"
  • GET /roles/{id}: Obtiene un rol específico por su ID.

    • Authorization: Requiere access token válido (enviado automáticamente via cookies)
    • Path Parameters:
      • id (string): ID del rol a obtener
    • cURL Example:
    curl -X GET http://127.0.0.1:9154/roles/76ee1086-b945-4170-b2e6-9fbeb95ae0be \
    -H 'Cookie: accessToken=your_access_token_here' \
    -H 'Cookie: refreshToken=your_refresh_token_here'
    • Response Body (Éxito - 200 OK):
      {
    "id": "76ee1086-b945-4170-b2e6-9fbeb95ae0be",
    "role": "admin",
    "password": "****",
    "isAdmin": true
    }
    • Response Body (Error - 400 Bad Request):
    "Missing or malformed ID"
    • Response Body (Error - 404 Not Found):
    "Role not found"
  • POST /roles: Crea un nuevo rol en el sistema.

    • Authorization: Requiere access token válido (enviado automáticamente via cookies)
    • Request Body:
      {
    "role" : "String",
    "password": "String",
    "isAdmin": true || false
    }
    • cURL Example:
    curl -X POST http://127.0.0.1:9154/roles \
    -H 'Content-Type: application/json' \
    -H 'Cookie: accessToken=your_access_token_here' \
    -H 'Cookie: refreshToken=your_refresh_token_here' \
    -d '{
    "role" : "admin",
    "password": "S3cur3P4ssw0rd!!",
    "isAdmin": true
    }'
    • Response Body (Éxito - 201 Created):
    "Role added successfully"
  • PUT /roles/{id}: Actualiza un rol existente.

    • Authorization: Requiere access token válido (enviado automáticamente via cookies)
    • Path Parameters:
      • id (string): ID del rol a actualizar
    • Request Body:
      {
    "role" : "admin",
    "password": "S3cur3P4ssw0rd!!",
    "isAdmin": true
    }
    • cURL Example:
    curl -X PUT http://127.0.0.1:9154/roles/76ee1086-b945-4170-b2e6-9fbeb95ae0be \
    -H 'Content-Type: application/json' \
    -H 'Cookie: accessToken=your_access_token_here' \
    -H 'Cookie: refreshToken=your_refresh_token_here' \
    -d '{
    "role" : "admin",
    "password": "S3cur3P4ssw0rd123!!",
    "isAdmin": true
    }'
    • Response Body (Éxito - 200 OK):
    "Role updated successfully"
    • Response Body (Error - 400 Bad Request):
    "Missing or malformed ID"
    • Response Body (Error - 404 Not Found):
    "Role with ID: {id} not found"
  • DELETE /roles/{id}: Elimina un rol del sistema.

    • Authorization: Requiere access token válido (enviado automáticamente via cookies)
    • Path Parameters:
      • id (string): ID del rol a eliminar
    • cURL Example:
    curl -X DELETE http://127.0.0.1:9154/roles/76ee1086-b945-4170-b2e6-9fbeb95ae0be \
    -H 'Cookie: accessToken=your_access_token_here' \
    -H 'Cokkie: refreshToken=your_refresh_token_here'
    • Response Body (Éxito - 204 No Content):
    "Role deleted successfully"
    • Response Body (Error - 400 Bad Request):
    "Missing or malformed ID"
    • Response Body (Error - 404 Not Found):
    "Role with ID: {id} not found"

Notas importantes:

  • Todos los endpoints de roles requieren autenticación via access token
  • Los IDs de roles deben ser únicos en el sistema
  • La eliminación de un rol puede afectar a usuarios que tengan asignado ese rol
  • Los campos id y name son requeridos para crear/actualizar roles