Files
boc/backups/2026-07-12-1023/landvex-prod/assets/useIdentityVerification-CD3mPBIt.js
T
Bernt 58ca4e68db feat(boc): Complete Business Operations Center v1.0
- Go backend API with full CRUD for all modules (CRM, Sales, Finance, HR, Legal, Marketing, Support, Purchase, Inventory, Projects, Automation, Analytics)
- Rust analytics service with parallel report generation
- C runtime with POSIX shared memory IPC
- PostgreSQL schema with 30+ tables, full migrations
- Redis cache, sessions, pub/sub
- Kafka event streaming with Zookeeper
- WebSocket hub for real-time updates
- Automation engine with cron jobs, workflows, event triggers
- JWT authentication, multi-tenant from start
- Docker Compose with all services
- Nginx reverse proxy with rate limiting
- Integration tests passing
- Feature gap analysis against Fortnox/Odoo/Visma

Refs: BOC-001
2026-07-12 12:41:35 +00:00

7 lines
1.2 KiB
JavaScript

import{o as l,r as i}from"./index-oAPVDf-r.js";/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const f=l("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);function u(){return localStorage.getItem("qz_token")??""}function h(s){const[r,a]=i.useState({achievedIAL:null,isVerified:!1,isLoading:!1,expiresAt:null,error:null}),n=i.useCallback(async()=>{if(s){a(t=>({...t,isLoading:!0,error:null}));try{const t=await fetch("https://api.quixzoom.com/api/qz/identity/status",{headers:{Authorization:`Bearer ${u()}`}});if(!t.ok)throw new Error(`HTTP ${t.status}`);const e=await t.json();a({achievedIAL:e.assurance_level==="photo_low"?"IAL2":e.assurance_level==="nfc_verified"?"IAL3":e.ial??null,isVerified:e.verified===!0,isLoading:!1,expiresAt:e.verified_at??e.expires_at??null,error:null})}catch(t){a(e=>({...e,isLoading:!1,error:t.message}))}}},[s]),c=i.useCallback(t=>{const e=["IAL1","IAL2","IAL3"],o=r.achievedIAL;return o?e.indexOf(o)>=e.indexOf(t):!1},[r.achievedIAL]);return{...r,checkStatus:n,meetsIAL:c}}export{f as A,h as u};