Skip to content

Commit

Permalink
Merge pull request #17 from bhamidou/develop
Browse files Browse the repository at this point in the history
fix index and add some examples for endpoint in readme
  • Loading branch information
bhamidou authored Oct 18, 2023
2 parents d0550b1 + 95f1aca commit d4ce9aa
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 5 deletions.
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

0 comments on commit d4ce9aa

Please sign in to comment.