Api

Pinia Stores

Referência das Pinia stores do frontend stCall.

Pinia Stores

O frontend utiliza 7 Pinia stores para gerenciamento de estado global.

authStore

Arquivo: stores/authStore.ts

Gerencia autenticação e dados do usuário logado.

Estado

PropriedadeTipoDescrição
userUser | nullDados do usuário
isAuthenticatedbooleanStatus de autenticação
tokenstring | nullToken JWT
lastErrorstring | nullÚltimo erro
isHydratingbooleanSe está restaurando sessão

Getters

GetterRetornoDescrição
isAdminbooleanÉ admin ou supervisor
isAgentbooleanÉ agente
userNamestringNome ou "Guest"

Actions

ActionParâmetrosDescrição
loginemail, passwordFaz login e conecta WS
logout-Desconecta e limpa dados
restoreSession-Restaura sessão do localStorage

callStore

Arquivo: stores/callStore.ts

Gerencia chamada ativa, histórico e discagem.

Estado

PropriedadeTipoDescrição
activeCallCall | nullChamada ativa
callHistoryCallHistory[]Histórico
isDialingbooleanDiscando
incomingCallCall | nullChamada entrante
isLoadingHistorybooleanCarregando histórico

Getters

GetterRetornoDescrição
hasActiveCallbooleanTem chamada ativa
hasIncomingCallbooleanTem chamada entrante
callStatusTextstringTexto do status
todaysCallsnumberChamadas hoje
totalCompletedCallsnumberTotal completadas
totalMissedCallsnumberTotal perdidas
totalCallTimenumberTempo total (seg)
averageCallDurationnumberDuração média (seg)
recentCallsCallHistory[]Últimas 10

asteriskStore

Arquivo: stores/asteriskStore.ts

Gerencia conexão WebSocket com stcall-ws.

Estado

PropriedadeTipoDescrição
isConnectedbooleanWebSocket conectado
webrtcRegisteredbooleanWebRTC registrado
webrtcExtensionstring | nullRamal WebRTC
eventsArrayÚltimos eventos ARI

Actions

ActionParâmetrosDescrição
connecttokenConecta ao stcall-ws
disconnect-Desconecta
setWebRTCRegisteredextensionMarca WebRTC registrado
handleAsteriskEventeventProcessa evento ARI

agentStore

Arquivo: stores/agentStore.ts

Gerencia lista de agentes e seus status.

Estado

PropriedadeTipoDescrição
agentsAgent[]Lista de agentes
isLoadingbooleanCarregando dados

Actions

ActionParâmetrosDescrição
fetchAgents-Buscar lista de agentes
createAgentdataCriar novo agente
updateAgentid, dataAtualizar agente
deleteAgentidRemover agente

uiStore

Arquivo: stores/uiStore.ts

Gerencia preferências de interface (persistidas no localStorage).

Estado

PropriedadeTipoDescrição
isDarkModebooleanModo escuro ativo
isCompactModebooleanModo compacto
callNotificationsbooleanNotif. de chamada
soundNotificationsbooleanNotif. sonora
systemAlertsbooleanAlertas do sistema
releaseNotesbooleanNotas de versão

audioStore

Arquivo: stores/audioStore.ts

Gerencia configurações de dispositivos de áudio.

Estado

PropriedadeTipoDescrição
inputDevicestringID do microfone
outputDevicestringID do alto-falante
inputVolumenumberVolume do mic (0-100)
outputVolumenumberVolume de saída (0-100)
noiseCancellationbooleanCancelamento de ruído
ringtonestringToque selecionado
ringtoneVolumenumberVolume do toque (0-100)

dialerStore

Arquivo: stores/dialerStore.ts

Gerencia estado do discador.

Estado

PropriedadeTipoDescrição
phoneNumberstringNúmero digitado
isValidbooleanNúmero válido (8+ dígitos)

Uso

// Em um componente ou composable
const authStore = useAuthStore()
const callStore = useCallStore()

// Getters
const isAdmin = authStore.isAdmin
const hasCalls = callStore.hasActiveCall

// Actions
await authStore.login('email', 'senha')
Copyright © 2026