dbo.api_key_obtener_info_2022

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

2
Name Data Type Length Description
@api_key varchar 20
@ruta varchar -1

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
select * from apikey where api_key = 'IDVBAS5845S6YHEHSQPZ'
select * from productos where url is not null 
[api_key_obtener_info_2022] 'IDVBAS5845S6YHEHSQPZ','/api/v2/govcheck-validation'
[api_key_obtener_info_2022] 'IDVBAS5845S6YHEHSQPZ','/api/v2/govcheck-validationes'

*/

CREATE OR ALTER PROCEDURE dbo.api_key_obtener_info_2022
@api_key varchar(20), 
@ruta varchar(max) = null

AS
BEGIN
    SET NOCOUNT ON;

 select users.first_name,users.last_name,users.email,apikey.user_id,apikey.client_id,apikey.ip,apikey.producto,productos.url,
 /*
  IIF (isnull(apikey.activo,0) = 0, 'Su token se encuentra inactivo',
  iif (isnull(apikey.vigencia,getdate()+1) < getdate(), 'Su token ha vencido el '  + convert(varchar, apikey.vigencia, 103),
  iif(@ruta is not null and productos.url is not null and @ruta not like '%'+productos.url/*+'%'*/
, 'Ruta de acceso inválida para la  apikey empleada', 
     iif(isnull(productos.grupo_informes,'') != 'API', 'No es un producto API', 
      NULL)))) as error_token, 
  */

 /* lo cambiamos el 15/06/2023: para que no controle la ruta. Controla si la apikey esta inactiva, vencida o no es una API */
 IIF (isnull(apikey.activo,0) = 0, 'Su token se encuentra inactivo',
  iif (isnull(apikey.vigencia,getdate()+1) < getdate(), 'Su token ha vencido el '  + convert(varchar, apikey.vigencia, 103), 
      iif(isnull(productos.grupo_informes,'') != 'API', 'No es un producto API', 
       NULL))) as error_token, 


 IIF(isnull(apikey.bloquea,0) = 0, NULL,
 IIF (isnull(apikey.topediario,0) != 0 and isnull(apikey.consumo_dia,0) > isnull(apikey.topediario,0),'Se alcanzó el tope diario', 
  IIF (isnull(apikey.topemensual,0) != 0 and isnull(apikey.consumo_mes,0) > isnull(apikey.topemensual,0),'Se alcanzó el tope mensual',
   IIF (isnull(apikey.topeanual,0) != 0 and isnull(apikey.consumo_anual,0) > isnull(apikey.topeanual,0),'Se alcanzó el tope del contrato',
        NULL)))) as error_consumos,
 
 IIF (clientes.cliente is null,'El cliente no existe',
      iif(clientes.estado_cliente = 'N', 'El cliente no está activo',
   iif(isnull(clientes_productos.activo,0) = '0', 'Al cliente no tiene habilitado el producto', 
    iif (clientes_productos.fecha_desde is not null and clientes_productos.fecha_desde > getdate(),'El cliente tendrá activo el producto a partir de ' + convert(varchar, clientes_productos.fecha_desde, 103),
     iif (clientes_productos.fecha_hasta is not null and clientes_productos.fecha_hasta < getdate(),'El cliente no tiene activo el producto desde ' + convert(varchar, clientes_productos.fecha_hasta, 103),
          NULL))))) as error_cliente,
     
 IIF (users.user_id is null,'El usuario no existe',
      iif(users.active_user = 'N', 'El usuario no está activo',
   iif(isnull(usuarios_productos.activo,0) = '0', 'El usuario no tiene habilitado el producto', 
       NULL))) as error_usuario

 from apikey 
 left join users on users.user_id = apikey.user_id 
 left join clientes on clientes.cliente = apikey.client_id
 left join clientes_productos on (clientes_productos.cliente = apikey.client_id and clientes_productos.id_producto = apikey.producto) 
 left join usuarios_productos on (usuarios_productos.user_id = apikey.user_id and usuarios_productos.id_producto = apikey.producto) 
 left join productos on (productos.producto = apikey.producto)
 
 where apikey.api_key = @api_key 

 
END


/*
update productos set url = 'govcheck-validation' where producto = 92
update productos set url = 'extended-validation' where producto = 93
update productos set url = 'ic-nse' where producto = 94


select * from productos where producto in (92,93)
select * from apikey where producto = 92
select * from usuarios_consumos where id_producto = 93
*/


GO

Used By

No items found