Skip to content

authStore ​

Visão Geral ​

Store Zustand para gerenciamento de autenticação e estado do usuário.

Localização ​

frontend-react/src/stores/authStore.ts

Estado ​

typescript
interface AuthState {
  user: User | null;
  token: string | null;
  initializing: boolean;
  isAuthenticated: boolean;
  isSuperadmin: boolean;
  isAdmin: boolean;
  isStaff: boolean;
  assignedPdvIds: string[] | undefined;
  permissions: string[];  // permissões granulares do JWT payload
}

Ações ​

login ​

typescript
login(email: string, password: string, slug: string): Promise<void>

loginWithGoogle ​

typescript
loginWithGoogle(credential: string, slug?: string): Promise<void>

logout ​

typescript
logout(): void

fetchMe ​

typescript
fetchMe(slug?: string): Promise<void>

fetchAssignedPdvs ​

typescript
fetchAssignedPdvs(slug: string): Promise<void>

Uso ​

tsx
import { useAuthStore } from './stores/authStore';

function LoginForm() {
  const login = useAuthStore((s) => s.login);
  const isAuthenticated = useAuthStore((s) => s.isAuthenticated);

  // ...
}

Lançado sob a licença MIT.