Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix index and add some examples for endpoint in readme #17

Merged
merged 1 commit into from
Oct 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Controller/Service/ServiceUser.php
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ public function createUser($user){
$serviceJSON = new ServiceJSON();
if(!$this->checkEmail($user->getEmail())){
$conexionUsuario = new ConexionUsuario();
$conexionUsuario->createUser($user->getEmail(), $user->getPass(), $user->getNombre(), $user->getRole());
$conexionUsuario->createUser($user->getEmail(), md5($user->getPass()), $user->getNombre(), $user->getRole());
$code = 201;
$mesg = "OK";
$serviceJSON->send($code, $mesg);
Expand Down
92 changes: 90 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,16 @@ Antes de comenzar, asegúrate de tener los siguientes requisitos:

A continuación se enumeran los endpoints disponibles:

### Login
Enviar en el body:
```json
{
"email":"[email protected]",
"pass":"1234"

}
```

### Rutas de Administrador (`/admin`)

#### GET `/admin/users`
Expand All @@ -60,16 +70,55 @@ A continuación se enumeran los endpoints disponibles:
- Descripción: Obtiene los detalles de un usuario específico por su ID.
- Ejemplo de uso: `/admin/user/123`

#### POST `/admin/user`
#### POST `/admin/user`
- Descripción: Crea un nuevo usuario.
- Ejemplo de uso: `/admin/user`
- Parámetros requeridos: `user` (Datos del usuario).

```json
{
"email":"[email protected]",
"pass":"1234",
"user" : {
"email":"[email protected]",
"pass":"1234",
"nombre":"test",
"rol":"0"
}
}
```

#### POST `/admin/user`
- Descripción: Actualiza el nombre y el rol de un usuario.
- Ejemplo de uso: `/admin/user`
- Parámetros requeridos: `update` (Datos de actualización).

Para admin:
```json
{
"email":"[email protected]",
"pass":"1234",
"getNewPassword" : {
"email":"[email protected]",
"pass":"1234"
}

}
```

Para usuario sin login:
```json
{
"getNewPassword" : {
"email":"[email protected]",
"pass":"1234"
}

}
```



#### DELETE `/admin/user/{id}`
- Descripción: Elimina un usuario por su ID.
- Ejemplo de uso: `/admin/user/123`
Expand All @@ -83,25 +132,64 @@ A estas rutas solo podrán acceder usuarios registrados, pero con cualquier tipo
- Parámetros opcionales: `size` (número de casillas), `numFlags` (número de minas).
- Ejemplo de uso: `/jugar/{size}/{numFlags}`


#### GET `/ranking`
- Descripción: Obtiene el ranking de partidas.
- Ejemplo de uso: `/ranking`
- Respuesta exitosa:
* Código de estado HTTP 200.
* Devuelve una lista de nombres de jugadores y la cantidad de partidas ganadas en formato JSON.
- Respuesta de error:
* Código de estado HTTP 404 si no hay datos disponibles.

#### GET `/surrender`
- Descripción: Abandona la partida actual.
- Ejemplo de uso: `/surrender`
- Respuesta exitosa:
* Código de estado HTTP 201.
* Devuelve un mensaje de éxito y el estado final del tablero en formato JSON.

- Respuesta de error:
* Código de estado HTTP 400 si el usuario no tiene una partida activa.

#### POST `/jugar`
- Descripción: Descubre una casilla en la partida.
- Ejemplo de uso: `/jugar`

- Parámetros requeridos: `pos` (Posición a descubrir).
- Respuesta exitosa:
* Código de estado HTTP 200.
* Devuelve un mensaje de éxito y el estado actual del tablero en formato JSON.

- Respuesta de error:
* Código de estado HTTP 400 si la posición está fuera de rango.
* Código de estado HTTP 404 si el usuario no tiene un juego activo.
* Código de estado HTTP 404 si se encuentra una bandera en la casilla descubierta, lo que indica que el usuario ha perdido.
- Ejemplo de uso: `/jugar`

```json
{
"email":"[email protected]",
"pass":"1234",
"pos" : 1
}
```

### Otras Rutas

#### POST `/signup`
- Descripción: Registra un nuevo usuario.
- Ejemplo de uso: `/signup`
- Parámetros requeridos: `user` (Datos del usuario).
```json
{
"user" : {
"email":"[email protected]",
"pass":"1234",
"nombre":"test",
"rol":"0"
}
}
```

#### POST `/password`
- Descripción: Permite restablecer la contraseña.
Expand Down
4 changes: 2 additions & 2 deletions index.php
Original file line number Diff line number Diff line change
Expand Up @@ -92,14 +92,14 @@
}
break;
default: {
notFound($serviceJSON);
notSupported($serviceJSON);
}
break;
}
}
}
//caulquier otra ruta que no sea admin, luego dentro comprobaré las rutas
if (!empty($ruta[1])) {
if (!empty($ruta[1]) && $ruta[1] != "admin" ) {
switch ($requestMethod) {
case 'GET':
switch ($ruta[1]) {
Expand Down