mirror of
https://github.com/RaspbianFrance/raspisms.git
synced 2025-04-20 16:37:48 +02:00
Add tools for command line manipulation of users
This commit is contained in:
parent
cae9674097
commit
df7c66f91c
2 changed files with 39 additions and 9 deletions
|
@ -67,6 +67,21 @@ namespace controllers\internals;
|
||||||
new \daemons\Phone($phone);
|
new \daemons\Phone($phone);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if a user exists based on email
|
||||||
|
*
|
||||||
|
* @param string $email : User email
|
||||||
|
* @return exit code 1 on false, 0 else
|
||||||
|
*/
|
||||||
|
public function user_exists(string $email)
|
||||||
|
{
|
||||||
|
$bdd = \descartes\Model::_connect(DATABASE_HOST, DATABASE_NAME, DATABASE_USER, DATABASE_PASSWORD, 'UTF8');
|
||||||
|
$internal_user = new \controllers\internals\User($bdd);
|
||||||
|
|
||||||
|
$user = $internal_user->get_by_email($email);
|
||||||
|
exit($user ? 0 : 1);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a user or update an existing user.
|
* Create a user or update an existing user.
|
||||||
*
|
*
|
||||||
|
@ -89,26 +104,27 @@ namespace controllers\internals;
|
||||||
{
|
{
|
||||||
$api_key = $api_key ?? $internal_user->generate_random_api_key();
|
$api_key = $api_key ?? $internal_user->generate_random_api_key();
|
||||||
$success = $internal_user->update($user['id'], $email, $password, $admin, $api_key, $status, $encrypt_password);
|
$success = $internal_user->update($user['id'], $email, $password, $admin, $api_key, $status, $encrypt_password);
|
||||||
|
echo json_encode(['id' => $user['id']]);
|
||||||
exit($success ? 0 : 1);
|
exit($success ? 0 : 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
$success = $internal_user->create($email, $password, $admin, $api_key, $status, $encrypt_password);
|
$new_user_id = $internal_user->create($email, $password, $admin, $api_key, $status, $encrypt_password);
|
||||||
exit($success ? 0 : 1);
|
echo json_encode(['id' => $new_user_id]);
|
||||||
|
exit($new_user_id ? 0 : 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update a user status.
|
* Update a user status.
|
||||||
*
|
*
|
||||||
* @param string $email : User email
|
* @param string $id : User id
|
||||||
* @param string $status : User status, default \models\User::STATUS_ACTIVE
|
* @param string $status : User status, default \models\User::STATUS_ACTIVE
|
||||||
*/
|
*/
|
||||||
public function update_user_status(string $email, string $status)
|
public function update_user_status(string $id, string $status)
|
||||||
{
|
{
|
||||||
$bdd = \descartes\Model::_connect(DATABASE_HOST, DATABASE_NAME, DATABASE_USER, DATABASE_PASSWORD, 'UTF8');
|
$bdd = \descartes\Model::_connect(DATABASE_HOST, DATABASE_NAME, DATABASE_USER, DATABASE_PASSWORD, 'UTF8');
|
||||||
$internal_user = new \controllers\internals\User($bdd);
|
$internal_user = new \controllers\internals\User($bdd);
|
||||||
|
|
||||||
$user = $internal_user->get_by_email($email);
|
$user = $internal_user->get($id);
|
||||||
if (!$user)
|
if (!$user)
|
||||||
{
|
{
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -117,4 +133,19 @@ namespace controllers\internals;
|
||||||
$success = $internal_user->update_status($user['id'], $status);
|
$success = $internal_user->update_status($user['id'], $status);
|
||||||
exit($success ? 0 : 1);
|
exit($success ? 0 : 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete a user
|
||||||
|
*
|
||||||
|
* @param string $id : User id
|
||||||
|
*/
|
||||||
|
public function delete_user(string $id)
|
||||||
|
{
|
||||||
|
$bdd = \descartes\Model::_connect(DATABASE_HOST, DATABASE_NAME, DATABASE_USER, DATABASE_PASSWORD, 'UTF8');
|
||||||
|
$internal_user = new \controllers\internals\User($bdd);
|
||||||
|
|
||||||
|
$success = $internal_user->delete($id);
|
||||||
|
exit($success ? 0 : 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,10 +67,9 @@ namespace models;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne une liste de useres sous forme d'un tableau.
|
* Delete a user
|
||||||
*
|
*
|
||||||
* @param array $ids : un ou plusieurs id d'entrées à supprimer
|
* @param int $id : Id de l'utilisateur a supprimer
|
||||||
* @param mixed $id
|
|
||||||
*
|
*
|
||||||
* @return int : Le nombre de lignes supprimées
|
* @return int : Le nombre de lignes supprimées
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue