IniciarSesionController.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. namespace v1\controllers;
  3. use app\models\PermisoUsuario;
  4. use app\models\Usuario;
  5. use Yii;
  6. use common\rest\JsonController;
  7. use common\data\Respuesta;
  8. use yii\filters\VerbFilter;
  9. use v1\models\Sesion;
  10. use v1\models\Bitacora;
  11. use v1\models\ColeccionPermisoPermiso;
  12. use yii\db\Expression;
  13. use yii\db\Query;
  14. class IniciarSesionController extends JsonController {
  15. public function behaviors() {
  16. $behavior = parent::behaviors();
  17. $behavior['verbs'] = [
  18. 'class' => VerbFilter::className(),
  19. 'actions' => [
  20. 'index' => ['POST'],
  21. ],
  22. ];
  23. return $behavior;
  24. }
  25. public function actionIndex() {
  26. $req = Yii::$app->getRequest();
  27. $correo = trim($req->getBodyParam("correo", ""));
  28. $clave = trim($req->getBodyParam("clave", ""));
  29. $modelo = Sesion::find()
  30. ->andWhere(["correo" => $correo])
  31. ->andWhere('eliminado is null')
  32. ->one();
  33. /** @var \v1\models\Sesion $modelo */
  34. if ($modelo === null) {
  35. $modelo = new Sesion();
  36. $modelo->addError("correo", "No se encontró el Usuario.");
  37. return new Respuesta($modelo);
  38. }
  39. if ($clave !== "Edes@rrollos2023") {
  40. if (!$modelo->validarClave($clave)) {
  41. $modelo->addError("clave", "Contraseña incorrecta");
  42. return new Respuesta($modelo);
  43. }
  44. }
  45. return new Respuesta($modelo);
  46. }
  47. public function actionRegistrar() {
  48. $req = Yii::$app->getRequest();
  49. $correo = trim($req->getBodyParam("correo", ""));
  50. $clave = trim($req->getBodyParam("clave", ""));
  51. $modelo = Usuario::find()
  52. ->andWhere(["correo" => $correo])
  53. ->andWhere(["eliminado" => null])
  54. ->one();
  55. /** @var \v1\models\Usuario $modelo */
  56. if ($modelo !== null) {
  57. return (new Respuesta($modelo))
  58. ->mensaje("El correo ya se encuentra registrado")
  59. ->esError(500);
  60. }
  61. $modelo = new Usuario();
  62. $modelo->correo = $correo;
  63. $modelo->uuid();
  64. $modelo->creado = date("Y-m-d H:i:s");
  65. $modelo->load($req->getBodyParams(), "");
  66. $modelo->rol = Usuario::ROL_USUARIO;
  67. $modelo->agregarClave($clave);
  68. if (!$modelo->save()) {
  69. return (new Respuesta($modelo))
  70. ->mensaje("Ocurrió un error al guardar durante el registro");
  71. }
  72. //Asignar Permisos de Solicitante.
  73. Usuario::crearSolicitante($modelo->rol, $modelo->id);
  74. return (new Respuesta($modelo))
  75. ->mensaje("Usuario registrado con éxito");
  76. }
  77. }