authen
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
sp_tr_service_token_init
Parameters
Name
Type
Mode
Definition
declare service_code text; prop_code text; prop_group_id int; payload jsonb; ttl bigint; BEGIN IF TG_OP = 'INSERT' or new."token" is null THEN service_code := (select code from service where id = new.service_id); select p.code, p.prop_group_id from property p where p.id = new.prop_id into prop_code, prop_group_id; if new.token_expire is not null then ttl := EXTRACT(EPOCH FROM (new.token_expire - clock_timestamp())); end if; new.jti := gen_random_uuid(); payload := jsonb_build_object( 'id' , new.id, 'pid' , new.prop_id, 'ugt' , 'X', 'uid' , new.service_id, 'name' , service_code, 'pgid' , prop_group_id, 'pcode', lower(prop_code) ); new."token" = sys.jwt_issue(payload, ttl_seconds := ttl, jti := new.jti); END IF; RETURN NEW; END;