@v1ct0rbr/minivault-web
v0.10.13
Published
Módulo independente de gerenciamento de backups (minivault). Consumível como pacote npm em qualquer app React. Cliente do minivault REST API (acesso tipicamente via proxy autenticado).
Maintainers
Readme
minivault-web
Módulo independente de gestão de backups (cliente do serviço
minivault). Consumível como pacote npm em qualquer app React,
estilizado com Bootstrap. Comunica-se com a API REST do minivault — normalmente
através de um proxy autenticado (ex.: /minivault no backend do Siga+), de
modo que a credencial do minivault jamais trafega no browser.
Recursos
- Lista de backups com paginação, status, tamanho e data.
- Criação de backup (com origem de arquivos LOCAL ou S3, opcional).
- Restauração de backup em um banco informado.
- Importação de dump SQL em texto (
psql/mysql) via upload. - Download e exclusão de backups.
- Tema claro/escuro e auto-refresh.
Instalação
npm install @v1ct0rbr/minivault-webComo dependência local durante o desenvolvimento:
npm install file:../minivault-webUso no Siga+ (proxy autenticado)
import { MinivaultModule } from '@v1ct0rbr/minivault-web'
import '@v1ct0rbr/minivault-web/style.css'
import { useAuthStore } from '@/store/useAuthStore'
const apiBase = import.meta.env.VITE_API_BASE_URL || 'http://localhost:8080'
export function MinivaultPage() {
const getToken = () => useAuthStore.getState().token
return <MinivaultModule baseUrl={apiBase + '/minivault'} getToken={getToken} />
}Uso standalone (desenvolvimento)
<MinivaultModule baseUrl="http://localhost:8081" token="api-key-do-minivault" />Em produção o token do minivault deve ficar apenas no proxy do backend, nunca no bundle do frontend.
Desenvolvimento
npm install
npm run dev # playground standalone (porta 5176)
npm run build:lib # gera dist/ (lib ES + types)
npm test # vitest
npm run typecheck # tsc --noEmitPlayground standalone
VITE_MINIVAULT_API_URL=http://localhost:8081 VITE_MINIVAULT_API_TOKEN=chave npm run devPublicação
npm run build:lib && npm test
npm publish --access public