FrameAppWS

<back to all web services

ArbolPermisosPpalRQ

Requires Authentication
The following routes are available for this service:
All Verbs/Usuarios/Permisos/MenuPrincipal
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


class PermisosItems implements JsonSerializable
{
    public function __construct(
        /** @var float */
        public float $CodigoMenu=0.0,
        /** @var float */
        public float $CodigoPadre=0.0,
        /** @var string|null */
        public ?string $Nombre=null,
        /** @var string|null */
        public ?string $Descripcion=null,
        /** @var bool|null */
        public ?bool $TienePermiso=null,
        /** @var string|null */
        public ?string $TipoEjecucion=null,
        /** @var string|null */
        public ?string $IDEjecucion=null,
        /** @var string|null */
        public ?string $InfoAdicional=null,
        /** @var int */
        public int $Orden=0,
        /** @var array<PermisosItems>|null */
        public ?array $Items=null,
        /** @var string|null */
        public ?string $Icono=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['CodigoMenu'])) $this->CodigoMenu = $o['CodigoMenu'];
        if (isset($o['CodigoPadre'])) $this->CodigoPadre = $o['CodigoPadre'];
        if (isset($o['Nombre'])) $this->Nombre = $o['Nombre'];
        if (isset($o['Descripcion'])) $this->Descripcion = $o['Descripcion'];
        if (isset($o['TienePermiso'])) $this->TienePermiso = $o['TienePermiso'];
        if (isset($o['TipoEjecucion'])) $this->TipoEjecucion = $o['TipoEjecucion'];
        if (isset($o['IDEjecucion'])) $this->IDEjecucion = $o['IDEjecucion'];
        if (isset($o['InfoAdicional'])) $this->InfoAdicional = $o['InfoAdicional'];
        if (isset($o['Orden'])) $this->Orden = $o['Orden'];
        if (isset($o['Items'])) $this->Items = JsonConverters::fromArray('PermisosItems', $o['Items']);
        if (isset($o['Icono'])) $this->Icono = $o['Icono'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->CodigoMenu)) $o['CodigoMenu'] = $this->CodigoMenu;
        if (isset($this->CodigoPadre)) $o['CodigoPadre'] = $this->CodigoPadre;
        if (isset($this->Nombre)) $o['Nombre'] = $this->Nombre;
        if (isset($this->Descripcion)) $o['Descripcion'] = $this->Descripcion;
        if (isset($this->TienePermiso)) $o['TienePermiso'] = $this->TienePermiso;
        if (isset($this->TipoEjecucion)) $o['TipoEjecucion'] = $this->TipoEjecucion;
        if (isset($this->IDEjecucion)) $o['IDEjecucion'] = $this->IDEjecucion;
        if (isset($this->InfoAdicional)) $o['InfoAdicional'] = $this->InfoAdicional;
        if (isset($this->Orden)) $o['Orden'] = $this->Orden;
        if (isset($this->Items)) $o['Items'] = JsonConverters::toArray('PermisosItems', $this->Items);
        if (isset($this->Icono)) $o['Icono'] = $this->Icono;
        return empty($o) ? new class(){} : $o;
    }
}

class PermisosModulos implements JsonSerializable
{
    public function __construct(
        /** @var float */
        public float $CodModulo=0.0,
        /** @var string|null */
        public ?string $Nombre=null,
        /** @var bool|null */
        public ?bool $SuperUsuario=null,
        /** @var int */
        public int $Orden=0,
        /** @var array<PermisosItems>|null */
        public ?array $MenuPrincipal=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['CodModulo'])) $this->CodModulo = $o['CodModulo'];
        if (isset($o['Nombre'])) $this->Nombre = $o['Nombre'];
        if (isset($o['SuperUsuario'])) $this->SuperUsuario = $o['SuperUsuario'];
        if (isset($o['Orden'])) $this->Orden = $o['Orden'];
        if (isset($o['MenuPrincipal'])) $this->MenuPrincipal = JsonConverters::fromArray('PermisosItems', $o['MenuPrincipal']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->CodModulo)) $o['CodModulo'] = $this->CodModulo;
        if (isset($this->Nombre)) $o['Nombre'] = $this->Nombre;
        if (isset($this->SuperUsuario)) $o['SuperUsuario'] = $this->SuperUsuario;
        if (isset($this->Orden)) $o['Orden'] = $this->Orden;
        if (isset($this->MenuPrincipal)) $o['MenuPrincipal'] = JsonConverters::toArray('PermisosItems', $this->MenuPrincipal);
        return empty($o) ? new class(){} : $o;
    }
}

enum Lenguajes : string
{
    case ES = 'ES';
    case PT = 'PT';
    case EN = 'EN';
}

class ArbolPermisosPpalRS implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $CodSistema=0,
        /** @var int */
        public int $CodEmpresa=0,
        /** @var array<PermisosModulos>|null */
        public ?array $Modulos=null,
        /** @var Lenguajes|null */
        public ?Lenguajes $Lenguaje=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['CodSistema'])) $this->CodSistema = $o['CodSistema'];
        if (isset($o['CodEmpresa'])) $this->CodEmpresa = $o['CodEmpresa'];
        if (isset($o['Modulos'])) $this->Modulos = JsonConverters::fromArray('PermisosModulos', $o['Modulos']);
        if (isset($o['Lenguaje'])) $this->Lenguaje = JsonConverters::from('Lenguajes', $o['Lenguaje']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->CodSistema)) $o['CodSistema'] = $this->CodSistema;
        if (isset($this->CodEmpresa)) $o['CodEmpresa'] = $this->CodEmpresa;
        if (isset($this->Modulos)) $o['Modulos'] = JsonConverters::toArray('PermisosModulos', $this->Modulos);
        if (isset($this->Lenguaje)) $o['Lenguaje'] = JsonConverters::to('Lenguajes', $this->Lenguaje);
        return empty($o) ? new class(){} : $o;
    }
}

class ArbolPermisosPpalRQ implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Usuario=null,
        /** @var int */
        public int $CodSistema=0,
        /** @var int */
        public int $CodEmpresa=0,
        /** @var Lenguajes|null */
        public ?Lenguajes $Lenguaje=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Usuario'])) $this->Usuario = $o['Usuario'];
        if (isset($o['CodSistema'])) $this->CodSistema = $o['CodSistema'];
        if (isset($o['CodEmpresa'])) $this->CodEmpresa = $o['CodEmpresa'];
        if (isset($o['Lenguaje'])) $this->Lenguaje = JsonConverters::from('Lenguajes', $o['Lenguaje']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Usuario)) $o['Usuario'] = $this->Usuario;
        if (isset($this->CodSistema)) $o['CodSistema'] = $this->CodSistema;
        if (isset($this->CodEmpresa)) $o['CodEmpresa'] = $this->CodEmpresa;
        if (isset($this->Lenguaje)) $o['Lenguaje'] = JsonConverters::to('Lenguajes', $this->Lenguaje);
        return empty($o) ? new class(){} : $o;
    }
}

PHP ArbolPermisosPpalRQ DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /Usuarios/Permisos/MenuPrincipal HTTP/1.1 
Host: soluser-recaudo.sgsas.co 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Usuario: String,
	CodSistema: 0,
	CodEmpresa: 0,
	Lenguaje: ES
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	CodSistema: 0,
	CodEmpresa: 0,
	Modulos: 
	[
		{
			CodModulo: 0,
			Nombre: String,
			SuperUsuario: False,
			Orden: 0,
			MenuPrincipal: 
			[
				{
					CodigoMenu: 0,
					CodigoPadre: 0,
					Nombre: String,
					Descripcion: String,
					TienePermiso: False,
					TipoEjecucion: String,
					IDEjecucion: String,
					InfoAdicional: String,
					Orden: 0,
					Items: 
					[
						{
							CodigoMenu: 0,
							CodigoPadre: 0,
							Nombre: String,
							Descripcion: String,
							TienePermiso: False,
							TipoEjecucion: String,
							IDEjecucion: String,
							InfoAdicional: String,
							Orden: 0,
							Items: 
							[
								{
									CodigoMenu: 0,
									CodigoPadre: 0,
									Nombre: String,
									Descripcion: String,
									TienePermiso: False,
									TipoEjecucion: String,
									IDEjecucion: String,
									InfoAdicional: String,
									Orden: 0,
									Icono: String
								}
							],
							Icono: String
						}
					],
					Icono: String
				}
			]
		}
	],
	Lenguaje: ES
}