<?php

/**
 * Descripción del Modelo de Datos UsuariosSQL
 *
 * Consultas SQL para el Modelo de Datos Usuarios
 *
 * Licenciado bajo la Licencia Apache, Versión 2.0;
 * Usted no puede usar este archivo excepto en conformidad con la Licencia.
 * Usted puede obtener una copia de la Licencia en:
 *      http://www.php.net/license/3_01.txt. 
 * A menos que sea requerido por la ley aplicable o acordado por escrito, el software
 * Distribuido bajo la licencia se distribuye en una "AS IS" o  "COMO ESTA" BASE,
 * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, expresas o implícitas.
 * Consulte la Licencia para los permisos y Limitaciones bajo la Licencia.
 *
 * @package    Modelos\SQL\UsuariosSQL
 * @author     LUIS ANTONIO MONTOYA CONTRERAS <lmontoya@ccsm.org.co>
 * @author     SICAM 20171025 <sicam32@ccsm.org.co>
 * @copyright  2017 Cámara de Comercio de Santa Marta para el Magdalena
 * @license    http://www.php.net/license/3_01.txt  PHP License 3.01
 * @version    201712181018
 * @link       http://sicam.ccsm.org.co/docs/modelos/sql/UsuariosSQL
 */
 
class UsuariosApiSQL extends ModeloDatos {
    /**
     * Consulta SQL que permite SELECCIONAR los datos básicos y sus datos relacionados
     */
    const DATOS_COMPLETOS = <<<sql
    SELECT
    	Usuarios.usuarioID,
    	Usuarios.colaboradorID,
    	Usuarios.aplicacionID,
    	Usuarios.usuarioNOMBRE,
    	Usuarios.usuarioCLAVE,
    	Usuarios.usuarioULTINGRESO,
    	Usuarios.usuarioULTDIRECCIONIP,
    	Usuarios.usuarioULTLATITUD,
    	Usuarios.usuarioULTLONGITUD,
    	Usuarios.usuarioESTADO,
    	Usuarios.usuarioFCHACTIVO,
    	Usuarios.usuarioUSRACTIVA,
    	Usuarios.usuarioFCHDESACTIVO,
    	Usuarios.usuarioUSRDESACTIVA,
    	Usuarios.usuarioADMINISTRADOR,
    	CamaraApi.apiCLAVESECRETA,
    	CamaraApi.apiIP,
    	CamaraAplicaciones.aplicacionID,
    	CamaraAplicaciones.aplicacionCODIGO,
    	CamaraAplicaciones.aplicacionTITULO,
    	CamaraAplicaciones.aplicacionDESCRIPCION,
    	CamaraAplicaciones.aplicacionICONO,
    	CamaraAplicaciones.aplicacionURL,
    	CamaraAplicaciones.aplicacionFUNCION,
    	CamaraAplicaciones.aplicacionULTCOMMIT,
    	CamaraAplicaciones.aplicacionVERSION,
    	CamaraAplicaciones.aplicacionFECHACTULIZACION,
    	CamaraAplicaciones.aplicacionFECHALANZAMIENTO,
    	CamaraAplicaciones.aplicacionFECHASUSPENSION,
    	CamaraAplicaciones.aplicacionESTADO,
    	CamaraAplicaciones.politicaID,
    	CamaraAplicaciones.aplicacionTipoID
    FROM
    	Usuarios
    INNER JOIN CamaraApi ON CamaraApi.usuarioID = Usuarios.usuarioID
    INNER JOIN CamaraAplicaciones ON CamaraAplicaciones.aplicacionID = Usuarios.aplicacionID
sql;
    /**
     * Consulta SQL  que permite SELECIONAR con los datos básicos de un registro.
     */
    const DATOS_BASICOS = <<<sql
    SELECT
    	Usuarios.usuarioID,
    	Usuarios.colaboradorID,
    	Usuarios.aplicacionID,
    	Usuarios.usuarioNOMBRE,
    	Usuarios.usuarioCLAVE,
    	Usuarios.usuarioULTINGRESO,
    	Usuarios.usuarioULTDIRECCIONIP,
    	Usuarios.usuarioULTLATITUD,
    	Usuarios.usuarioULTLONGITUD,
    	Usuarios.usuarioESTADO,
    	Usuarios.usuarioFCHACTIVO,
    	Usuarios.usuarioUSRACTIVA,
    	Usuarios.usuarioFCHDESACTIVO,
    	Usuarios.usuarioUSRDESACTIVA,
    	Usuarios.usuarioADMINISTRADOR,
    	CamaraApi.apiCLAVESECRETA,
    	CamaraApi.apiIP,
    	CamaraAplicaciones.aplicacionID,
    	CamaraAplicaciones.aplicacionCODIGO,
    	CamaraAplicaciones.aplicacionTITULO,
    	CamaraAplicaciones.aplicacionDESCRIPCION,
    	CamaraAplicaciones.aplicacionICONO,
    	CamaraAplicaciones.aplicacionURL,
    	CamaraAplicaciones.aplicacionFUNCION,
    	CamaraAplicaciones.aplicacionULTCOMMIT,
    	CamaraAplicaciones.aplicacionVERSION,
    	CamaraAplicaciones.aplicacionFECHACTULIZACION,
    	CamaraAplicaciones.aplicacionFECHALANZAMIENTO,
    	CamaraAplicaciones.aplicacionFECHASUSPENSION,
    	CamaraAplicaciones.aplicacionESTADO,
    	CamaraAplicaciones.politicaID,
    	CamaraAplicaciones.aplicacionTipoID
    FROM
    	Usuarios
    INNER JOIN CamaraApi ON CamaraApi.usuarioID = Usuarios.usuarioID
    INNER JOIN CamaraAplicaciones ON CamaraAplicaciones.aplicacionID = Usuarios.aplicacionID
sql;
    /**
     * Consulta SQL que permite INSERTAR los datos básicos de un nuevo registro.
     */
    const CREAR_REGISTRO = <<<sql
    INSERT INTO Usuarios (
      aplicacionID,
      usuarioNOMBRE,
      usuarioCLAVE,
      usuarioESTADO,
      usuarioFCHACTIVO,
      usuarioUSRACTIVA,
      usuarioADMINISTRADOR
    )
    VALUES
      (
        ?, ?, md5(?), ?, NOW(), ?, ? ); 
sql;

    /**
     * Consulta SQL que permite INSERTAR los datos básicos de un nuevo registro.
     */
    const CREAR_REGISTRO_API = <<<sql
    INSERT INTO CamaraApi (
      usuarioID,
      apiCLAVESECRETA,
      apiIP
    )
    VALUES
      ( ?, ?, ? );

sql;
    /**
     * Consulta SQL que ACTUALIZA los datos básicos de un registro
     */
    const ACTUALIZAR_REGISTRO = <<<sql
    UPDATE
      Usuarios
    SET
      aplicacionID = ?,
      usuarioNOMBRE = ?,
      usuarioADMINISTRADOR = ?
    WHERE usuarioID = ?;       
sql;
    /**
     * Consulta SQL que permite ELIMINAR un registro
     */
    const ELIMINAR_REGISTRO = "DELETE FROM Usuarios WHERE usuarioID = ? ";
    /**
     * Consulta SQL que actualiza el ESTADO de un registro.
     */
    const ACUALIZAR_ESTADO = "UPDATE Usuarios SET usuarioESTADO = ?  WHERE usuarioID = ? ";
    
}
// Generado el 2017-12-18 10:18:50:000000

