err:=s.pool.QueryRow(ctx,`SELECT t.id::text,ua.id::text,ua.public_id::text,ua.platform_role FROM tenant t JOIN user_account ua ON ua.tenant_id=t.id AND ua.status='active' AND ua.account_kind='operator' WHERE t.public_id=$1::uuid AND ua.oidc_issuer=$2 AND ua.oidc_subject=$3`,tenantPublicID,principal.Issuer,principal.Subject).Scan(&a.tenantID,&a.userID,&a.publicID,&a.role)
ifqueryErr:=tx.QueryRow(op,`SELECT id::text FROM conversation WHERE tenant_id=$1::uuid AND public_id=$2::uuid`,a.tenantID,conversationPublicID).Scan(&conversationID);errors.Is(queryErr,pgx.ErrNoRows){
returnidempotency.Result{},ErrNotFound
}elseifqueryErr!=nil{
returnidempotency.Result{},queryErr
}
varitemRequest
insertErr:=tx.QueryRow(op,`INSERT INTO ops_sensitive_access_request(tenant_id,conversation_id,requester_user_id,capabilities,reason,requested_expires_at) VALUES($1::uuid,$2::uuid,$3::uuid,$4,$5,$6) RETURNING public_id::text,$7::text,$8::text,capabilities,reason,status,requested_expires_at,version,created_at`,a.tenantID,conversationID,a.userID,capabilities,reason,expiresAt.UTC(),conversationPublicID,a.publicID).Scan(&item.ID,&item.ConversationID,&item.RequesterUserID,&item.Capabilities,&item.Reason,&item.Status,&item.RequestedExpiresAt,&item.Version,&item.CreatedAt)
if_,err=s.pool.Exec(ctx,`UPDATE ops_sensitive_access_request SET status='EXPIRED',version=version+1,updated_at=now() WHERE tenant_id=$1::uuid AND status IN('PENDING','APPROVED') AND requested_expires_at<=now()`,a.tenantID);err!=nil{
returnnil,err
}
filter:=" AND r.requester_user_id=$2::uuid"
args:=[]any{a.tenantID,a.userID}
ifa.role=="ops_approver"||a.role=="ops_admin"{
filter,args="",[]any{a.tenantID}
}
rows,err:=s.pool.Query(ctx,`SELECT r.public_id::text,c.public_id::text,requester.public_id::text,r.capabilities,r.reason,r.status,r.requested_expires_at,COALESCE(reviewer.public_id::text,''),COALESCE(r.review_reason,''),r.reviewed_at,r.revoked_at,r.version,r.created_at FROM ops_sensitive_access_request r JOIN conversation c ON c.id=r.conversation_id JOIN user_account requester ON requester.id=r.requester_user_id LEFT JOIN user_account reviewer ON reviewer.id=r.reviewed_by WHERE r.tenant_id=$1::uuid`+filter+` ORDER BY r.created_at DESC LIMIT 200`,args...)
ifqueryErr:=tx.QueryRow(op,`SELECT r.id::text,r.requester_user_id::text,c.public_id::text,r.status,r.requested_expires_at FROM ops_sensitive_access_request r JOIN conversation c ON c.id=r.conversation_id WHERE r.tenant_id=$1::uuid AND r.public_id=$2::uuid FOR UPDATE OF r`,a.tenantID,accessPublicID).Scan(&internalID,&requesterID,&conversationPublicID,&item.Status,&item.RequestedExpiresAt);errors.Is(queryErr,pgx.ErrNoRows){
ifupdateErr:=tx.QueryRow(op,`UPDATE ops_sensitive_access_request SET status=$2,reviewed_by=$3::uuid,review_reason=$4,reviewed_at=now(),version=version+1,updated_at=now() WHERE id=$1::uuid RETURNING public_id::text,$5::text,(SELECT public_id::text FROM user_account WHERE id=requester_user_id),capabilities,reason,status,requested_expires_at,$6::text,review_reason,reviewed_at,revoked_at,version,created_at`,internalID,status,a.userID,reason,conversationPublicID,a.publicID).Scan(&item.ID,&item.ConversationID,&item.RequesterUserID,&item.Capabilities,&item.Reason,&item.Status,&item.RequestedExpiresAt,&item.ReviewedBy,&item.ReviewReason,&item.ReviewedAt,&item.RevokedAt,&item.Version,&item.CreatedAt);updateErr!=nil{
err:=tx.QueryRow(ctx,`SELECT r.id::text,r.tenant_id::text,ua.id::text,ua.public_id::text,r.requester_user_id::text,r.conversation_id::text,c.public_id::text,r.status,r.reason,r.capabilities,r.requested_expires_at FROM ops_sensitive_access_request r JOIN tenant t ON t.id=r.tenant_id JOIN conversation c ON c.id=r.conversation_id JOIN user_account ua ON ua.tenant_id=r.tenant_id AND ua.status='active' AND ua.account_kind='operator' AND ua.oidc_issuer=$3 AND ua.oidc_subject=$4 WHERE t.public_id=$1::uuid AND r.public_id=$2::uuid AND c.public_id=$5::uuid FOR UPDATE OF r`,tenantPublicID,grantPublicID,principal.Issuer,principal.Subject,conversationPublicID).Scan(&g.requestID,&g.tenantID,&g.actorID,&g.actorPublicID,&g.requesterID,&g.conversationID,&g.conversationPublicID,&g.status,&g.reason,&g.capabilities,&g.expiresAt)
if_,err:=tx.Exec(ctx,`UPDATE ops_sensitive_access_request SET status='EXPIRED',version=version+1,updated_at=now() WHERE id=$1::uuid AND status='APPROVED'`,g.requestID);err!=nil{
returnfalse,err
}
}elseif!hasCapability(g.capabilities,capability){
reasonCode="CAPABILITY_NOT_GRANTED"
}elseif!consent{
reasonCode="SOURCE_CONSENT_REQUIRED"
}
result:="SUCCESS"
ifreasonCode!=""{
result="DENIED"
}
varmediaIDany
ifsegmentID!=nil{
mediaID=*segmentID
}
if_,err:=tx.Exec(ctx,`INSERT INTO ops_sensitive_access_log(tenant_id,access_request_id,actor_user_id,conversation_id,media_segment_id,capability,result,reason_code,request_id) VALUES($1::uuid,$2::uuid,$3::uuid,$4::uuid,$5::uuid,$6,$7,NULLIF($8,''),$9)`,g.tenantID,g.requestID,g.actorID,g.conversationID,mediaID,capability,result,reasonCode,requestID);err!=nil{
rows,err:=tx.Query(ctx,`SELECT public_id::text,sequence_no,speaker,start_at,end_at,final_text,interrupted FROM conversation_turn WHERE tenant_id=$1::uuid AND conversation_id=$2::uuid ORDER BY sequence_no,id`,g.tenantID,g.conversationID)
segmentRows,err:=tx.Query(ctx,`SELECT public_id::text,track,sequence_no,content_type,duration_ms FROM media_segment WHERE tenant_id=$1::uuid AND conversation_id=$2::uuid AND status='VERIFIED' ORDER BY track,sequence_no`,g.tenantID,g.conversationID)
iferr:=tx.QueryRow(ctx,`SELECT c.public_id::text FROM media_segment ms JOIN conversation c ON c.id=ms.conversation_id JOIN tenant t ON t.id=ms.tenant_id WHERE ms.public_id=$1::uuid AND t.public_id=$2::uuid`,segmentPublicID,tenantPublicID).Scan(&conversationPublicID);errors.Is(err,pgx.ErrNoRows){
iferr:=tx.QueryRow(ctx,`SELECT ms.id::text,ms.object_ref,ms.content_type,ms.track,ms.sequence_no,EXISTS(SELECT 1 FROM consent_record cr JOIN conversation c ON c.subject_id=cr.subject_id AND c.tenant_id=cr.tenant_id WHERE c.id=ms.conversation_id AND cr.consent_type='raw_audio_storage' AND cr.withdrawn_at IS NULL AND (cr.expires_at IS NULL OR cr.expires_at>now())) FROM media_segment ms WHERE ms.public_id=$1::uuid AND ms.tenant_id=$2::uuid AND ms.conversation_id=$3::uuid AND ms.status='VERIFIED'`,segmentPublicID,g.tenantID,g.conversationID).Scan(&segmentID,&objectRef,&contentType,&track,&sequenceNo,¤tConsent);errors.Is(err,pgx.ErrNoRows){