trabajando en user y groups con el nuevo formato

This commit is contained in:
Jaime Jimenez
2023-05-07 21:16:35 +02:00
parent b7b4821f8a
commit 50e8cb9fd5
41 changed files with 1508 additions and 807 deletions

View File

@ -13,9 +13,9 @@ class PaisModel extends \App\Models\GoBaseModel
protected $useAutoIncrement = true;
protected $allowedFields = ["nombre", "code", "code3", "moneda", "url_erp", "user_erp", "key_erp", "show_erp"];
protected $returnType = "App\Entities\Admin\Pais";
protected $returnType = "App\Entities\Configuracion\Pais";
public static $labelField = "Select a field...";
public static $labelField = "nombre";
protected $validationRules = [
"code" => [

View File

@ -1,17 +0,0 @@
<?php
namespace App\Models;
class UserGroupModel extends BaseModel
{
protected $table = 'auth_user_group';
protected $primaryKey = 'id_group';
protected $allowedFields = [
'title',
'dashboard',
'rules',
'token'
];
protected $useTimestamps = true;
protected $createdField = 'created_at';
protected $updatedField = 'updated_at';
}

View File

@ -1,36 +0,0 @@
<?php
namespace App\Models;
class UserModel extends BaseModel
{
protected $table = 'auth_user';
protected $primaryKey = 'id_user';
protected $allowedFields = [
'group',
'first_name',
'last_name',
'date_birth',
'address',
'city',
'state',
'country',
'zip_code',
'mobile',
'email',
'password',
'last_ip',
'last_access',
'picture',
'language',
'tfa',
'tfa_secret',
'tfa_code',
'blocked',
'email_confirmed',
'token',
'status'
];
protected $useTimestamps = true;
protected $createdField = 'created_at';
protected $updatedField = 'updated_at';
}

View File

@ -1,5 +1,7 @@
<?php
namespace App\Models;
namespace App\Models\Usuarios;
use App\Models\BaseModel;
class GroupUserModel extends BaseModel
{

View File

@ -0,0 +1,117 @@
<?php
namespace App\Models\Usuarios;
class UserGroupModel extends \App\Models\GoBaseModel
{
protected $table = "auth_user_group";
/**
* Whether primary key uses auto increment.
*
* @var bool
*/
protected $useAutoIncrement = true;
protected $primaryKey = "id_group";
protected $useTimestamps = true;
protected $dateFormat = 'datetime';
protected $createdField = 'created_at';
protected $updatedField = 'updated_at';
const SORTABLE = [
1 => "t1.id_group",
2 => "t1.title",
3 => "t1.dashboard",
4 => "t1.rules",
5 => "t1.token",
6 => "t1.created_at",
7 => "t1.updated_at",
];
protected $allowedFields = ["id_group", "title", "dashboard", "rules", "token"];
protected $returnType = "App\Entities\Usuarios\UserGroupEntity";
public static $labelField = "title";
protected $validationRules = [
"dashboard" => [
"label" => "UserGroups.dashboard",
"rules" => "trim|required|max_length[50]",
],
"id_group" => [
"label" => "UserGroups.idGroup",
"rules" => "max_length[31]",
],
"rules" => [
"label" => "UserGroups.rules",
"rules" => "trim|required|max_length[4194192]",
],
"title" => [
"label" => "UserGroups.title",
"rules" => "trim|required|max_length[150]",
],
"token" => [
"label" => "UserGroups.token",
"rules" => "trim|required|max_length[35]",
],
];
protected $validationMessages = [
"dashboard" => [
"max_length" => "UserGroups.validation.dashboard.max_length",
"required" => "UserGroups.validation.dashboard.required",
],
"id_group" => [
"max_length" => "UserGroups.validation.id_group.max_length",
],
"rules" => [
"max_length" => "UserGroups.validation.rules.max_length",
"required" => "UserGroups.validation.rules.required",
],
"title" => [
"max_length" => "UserGroups.validation.title.max_length",
"required" => "UserGroups.validation.title.required",
],
"token" => [
"max_length" => "UserGroups.validation.token.max_length",
"required" => "UserGroups.validation.token.required",
],
];
/**
* Get resource data.
*
* @param string $search
*
* @return \CodeIgniter\Database\BaseBuilder
*/
public function getResource(string $search = "")
{
$builder = $this->db
->table($this->table . " t1")
->select(
"t1.id_group AS id_group, t1.title AS title, t1.dashboard AS dashboard, t1.rules AS rules, t1.token AS token, t1.created_at AS created_at, t1.updated_at AS updated_at"
);
return empty($search)
? $builder
: $builder
->groupStart()
->like("t1.id_group", $search)
->orLike("t1.title", $search)
->orLike("t1.dashboard", $search)
->orLike("t1.rules", $search)
->orLike("t1.token", $search)
->orLike("t1.created_at", $search)
->orLike("t1.updated_at", $search)
->orLike("t1.id_group", $search)
->orLike("t1.title", $search)
->orLike("t1.dashboard", $search)
->orLike("t1.rules", $search)
->orLike("t1.token", $search)
->orLike("t1.created_at", $search)
->orLike("t1.updated_at", $search)
->groupEnd();
}
}

View File

@ -0,0 +1,207 @@
<?php
namespace App\Models\Usuarios;
class UserModel extends \App\Models\GoBaseModel
{
protected $table = "auth_user";
/**
* Whether primary key uses auto increment.
*
* @var bool
*/
protected $useAutoIncrement = true;
protected $useTimestamps = true;
protected $dateFormat = 'datetime';
protected $createdField = 'created_at';
protected $updatedField = 'updated_at';
protected $primaryKey = "id_user";
protected $allowedFields = [
"group",
"first_name",
"last_name",
"date_birth",
"address",
"city",
"state",
"country",
"zip_code",
"mobile",
"email",
"password",
"last_ip",
"last_access",
"picture",
"language",
"blocked",
"email_confirmed",
"status",
];
protected $returnType = "App\Entities\Usuarios\UserEntity";
public static $labelField = "first_name";
protected $validationRules = [
"address" => [
"label" => "Users.address",
"rules" => "trim|max_length[255]",
],
"blocked" => [
"label" => "Users.blocked",
"rules" => "valid_date|permit_empty",
],
"city" => [
"label" => "Users.city",
"rules" => "trim|max_length[255]",
],
"country" => [
"label" => "Users.country",
"rules" => "trim|required|max_length[2]",
],
"date_birth" => [
"label" => "Users.dateBirth",
"rules" => "valid_date|permit_empty",
],
"email" => [
"label" => "Users.email",
"rules" => "trim|required|max_length[150]|valid_email",
],
"email_confirmed" => [
"label" => "Users.emailConfirmed",
"rules" => "required|integer",
],
"first_name" => [
"label" => "Users.firstName",
"rules" => "trim|required|max_length[150]",
],
"group" => [
"label" => "Users.group",
"rules" => "trim|required|max_length[35]",
],
"language" => [
"label" => "Users.language",
"rules" => "trim|required|max_length[10]",
],
"last_access" => [
"label" => "Users.lastAccess",
"rules" => "required|valid_date",
],
"last_ip" => [
"label" => "Users.lastIp",
"rules" => "trim|required|max_length[50]",
],
"last_name" => [
"label" => "Users.lastName",
"rules" => "trim|required|max_length[150]",
],
"mobile" => [
"label" => "Users.mobile",
"rules" => "trim|required|max_length[50]",
],
"password" => [
"label" => "Users.password",
"rules" => "required|max_length[35]",
],
"picture" => [
"label" => "Users.picture",
"rules" => "trim|required|max_length[150]",
],
"state" => [
"label" => "Users.state",
"rules" => "trim|required|max_length[255]",
],
"tfa_code" => [
"label" => "Users.tfaCode",
"rules" => "trim|required|max_length[60]",
],
"tfa_secret" => [
"label" => "Users.tfaSecret",
"rules" => "trim|required|max_length[20]",
],
"zip_code" => [
"label" => "Users.zipCode",
"rules" => "trim|max_length[50]",
],
];
protected $validationMessages = [
"address" => [
"max_length" => "Users.validation.address.max_length",
],
"blocked" => [
"valid_date" => "Users.validation.blocked.valid_date",
],
"city" => [
"max_length" => "Users.validation.city.max_length",
],
"country" => [
"max_length" => "Users.validation.country.max_length",
"required" => "Users.validation.country.required",
],
"date_birth" => [
"valid_date" => "Users.validation.date_birth.valid_date",
],
"email" => [
"max_length" => "Users.validation.email.max_length",
"required" => "Users.validation.email.required",
"valid_email" => "Users.validation.email.valid_email",
],
"email_confirmed" => [
"integer" => "Users.validation.email_confirmed.integer",
"required" => "Users.validation.email_confirmed.required",
],
"first_name" => [
"max_length" => "Users.validation.first_name.max_length",
"required" => "Users.validation.first_name.required",
],
"group" => [
"max_length" => "Users.validation.group.max_length",
"required" => "Users.validation.group.required",
],
"language" => [
"max_length" => "Users.validation.language.max_length",
"required" => "Users.validation.language.required",
],
"last_access" => [
"required" => "Users.validation.last_access.required",
"valid_date" => "Users.validation.last_access.valid_date",
],
"last_ip" => [
"max_length" => "Users.validation.last_ip.max_length",
"required" => "Users.validation.last_ip.required",
],
"last_name" => [
"max_length" => "Users.validation.last_name.max_length",
"required" => "Users.validation.last_name.required",
],
"mobile" => [
"max_length" => "Users.validation.mobile.max_length",
"required" => "Users.validation.mobile.required",
],
"password" => [
"max_length" => "Users.validation.password.max_length",
"required" => "Users.validation.password.required",
],
"picture" => [
"max_length" => "Users.validation.picture.max_length",
"required" => "Users.validation.picture.required",
],
"state" => [
"max_length" => "Users.validation.state.max_length",
"required" => "Users.validation.state.required",
],
"tfa_code" => [
"max_length" => "Users.validation.tfa_code.max_length",
"required" => "Users.validation.tfa_code.required",
],
"tfa_secret" => [
"max_length" => "Users.validation.tfa_secret.max_length",
"required" => "Users.validation.tfa_secret.required",
],
"zip_code" => [
"max_length" => "Users.validation.zip_code.max_length",
],
];
}