SDK completo para a plataforma Mitra
npm install mitra-sdkSDK completo para a plataforma Mitra. Inclui todos os métodos do mitra-interactions-sdk e serviços adicionais.
``bash`
npm install mitra-sdk
Configure o SDK com seu token da plataforma Mitra.
> Importante: O token é um JWT de autenticação da plataforma Mitra. Nunca deixe o token estático no código. Utilize variáveis de ambiente para armazená-lo de forma segura.
`typescript
import { configureSdkMitra } from 'mitra-sdk';
configureSdkMitra({
baseURL: process.env.MITRA_BASE_URL || 'https://api.mitra.com',
token: process.env.MITRA_TOKEN!
});
`
Exemplo de .env:``
MITRA_BASE_URL=https://api.mitra.com
MITRA_TOKEN=seu-jwt-token-da-plataforma-mitra
- runQueryMitra - Executa query SQL (SELECT)executeDbActionMitra
- - Executa DBAction (DML)executeServerFunctionMitra
- - Executa Server FunctionstopServerFunctionExecutionMitra
- - Para execução de Server FunctionsetFileStatusMitra
- - Move arquivo para PUBLIC/LOADABLEsetVariableMitra
- - Cria/atualiza variávellistRecordsMitra
- - Lista registros (Dynamic Schema CRUD)getRecordMitra
- - Busca registro por IDcreateRecordMitra
- - Cria registroupdateRecordMitra
- - Atualiza registro (PUT)patchRecordMitra
- - Atualiza parcialmente (PATCH)deleteRecordMitra
- - Remove registrocreateRecordsBatchMitra
- - Cria múltiplos registros
> Para exemplos detalhados destes métodos, consulte a documentação do mitra-interactions-sdk.
- listWorkspacesMitra() - Lista workspaceslistProjectsMitra({ workspaceId })
- - Lista projetos de um workspacecreateProjectMitra({ workspaceId, name, description? })
- - Cria um projetogetProjectContextMitra({ projectId })
- - Detalhes e inventário de um projeto
`typescript
import { listWorkspacesMitra, listProjectsMitra } from 'mitra-sdk';
const workspaces = await listWorkspacesMitra();
const projects = await listProjectsMitra({ workspaceId: 1 });
`
- listVariablesMitra({ projectId }) - Lista variáveisgetVariableMitra({ projectId, key })
- - Obtém variável por keydeleteVariableMitra({ projectId, key })
- - Deleta variável
`typescript
import { listVariablesMitra, getVariableMitra } from 'mitra-sdk';
const vars = await listVariablesMitra({ projectId: 123 });
const v = await getVariableMitra({ projectId: 123, key: 'minhaVar' });
`
- listJdbcConnectionsMitra({ projectId }) - Lista conexões JDBCcreateJdbcConnectionMitra({ projectId, name, type, host, port, database, user, password })
- - Cria conexãoupdateJdbcConnectionMitra({ projectId, jdbcId, name, type, host, port, database, user, password })
- - Atualiza conexão
`typescript
import { createJdbcConnectionMitra } from 'mitra-sdk';
const result = await createJdbcConnectionMitra({
projectId: 123,
name: 'Meu Banco',
type: 'PostgreSQL',
host: 'localhost',
port: 5432,
database: 'mydb',
user: 'admin',
password: 'senha123'
});
`
- runDdlMitra({ projectId, sql, jdbcId? }) - Executa DDL (CREATE, ALTER, DROP)runDmlMitra({ projectId, sql, jdbcId? })
- - Executa DML (INSERT, UPDATE, DELETE)createOnlineTableMitra({ projectId, jdbcId, name, sqlQuery })
- - Cria online tableupdateOnlineTableMitra({ projectId, tableName, sqlQuery })
- - Atualiza online table
`typescript
import { runDdlMitra, runDmlMitra } from 'mitra-sdk';
await runDdlMitra({ projectId: 123, sql: 'CREATE TABLE users (id INT, name VARCHAR(100))' });
await runDmlMitra({ projectId: 123, sql: "INSERT INTO users VALUES (1, 'João')" });
`
- listDbActionsMitra({ projectId }) - Lista DBActionscreateDbActionMitra({ projectId, name, sql })
- - Cria DBActionupdateDbActionMitra({ projectId, dbActionId, sql })
- - Atualiza DBActiondeleteDbActionMitra({ projectId, dbActionId })
- - Deleta DBAction
`typescript
import { createDbActionMitra } from 'mitra-sdk';
const result = await createDbActionMitra({
projectId: 123,
name: 'Inserir Usuário',
sql: "INSERT INTO users (name) VALUES (':VAR_NOME')"
});
`
- listProjectFilesMitra({ projectId }) - Lista arquivos do projeto (CHAT, PUBLIC, LOADABLE)getFilePreviewMitra({ projectId, fileName, maxLines? })
- - Preview de arquivo (CSV, texto, imagem)
`typescript
import { listProjectFilesMitra, getFilePreviewMitra } from 'mitra-sdk';
const files = await listProjectFilesMitra({ projectId: 123 });
const preview = await getFilePreviewMitra({ projectId: 123, fileName: 'dados.csv', maxLines: 10 });
`
- listTablesMitra({ projectId }) - Lista tabelas físicas com colunas e tiposlistOnlineTablesMitra({ projectId })
- - Lista tabelas online (QueryAlias) com queries
`typescript
import { listTablesMitra, listOnlineTablesMitra } from 'mitra-sdk';
const tables = await listTablesMitra({ projectId: 123 });
const onlineTables = await listOnlineTablesMitra({ projectId: 123 });
`
- listDataLoadersMitra({ projectId }) - Lista rotinas de importaçãocreateDataLoaderMitra({ projectId, jdbcId, query, name, runWhenCreate? })
- - Cria Data Loader (SQL)updateDataLoaderMitra({ projectId, dataLoaderId, jdbcId?, query?, name?, runWhenCreate? })
- - Atualiza Data LoaderexecuteDataLoaderMitra({ projectId, dataLoaderId })
- - Executa Data LoaderdeleteDataLoaderMitra({ projectId, dataLoaderId })
- - Remove Data Loader
`typescript
import { createDataLoaderMitra, executeDataLoaderMitra } from 'mitra-sdk';
const loader = await createDataLoaderMitra({
projectId: 123,
jdbcId: 1,
query: 'SELECT * FROM vendas_externas',
name: 'Vendas Externas',
runWhenCreate: true
});
await executeDataLoaderMitra({ projectId: 123, dataLoaderId: 1 });
`
- listProjectUsersMitra({ projectId }) - Lista usuários do projetomanageUserAccessMitra({ projectId, email, action, type? })
- - Convida, remove ou altera tipo de acesso
`typescript
import { listProjectUsersMitra, manageUserAccessMitra } from 'mitra-sdk';
const users = await listProjectUsersMitra({ projectId: 123 });
// Convidar usuário
await manageUserAccessMitra({ projectId: 123, email: 'user@email.com', action: 'INVITE', type: 'dev' });
// Remover usuário
await manageUserAccessMitra({ projectId: 123, email: 'user@email.com', action: 'REMOVE' });
// Alterar tipo de acesso
await manageUserAccessMitra({ projectId: 123, email: 'user@email.com', action: 'CHANGE_TYPE', type: 'business' });
`
- updateProjectSettingsMitra({ projectId, name?, color?, icon?, allowPublicUpload? }) - Atualiza configurações
`typescript
import { updateProjectSettingsMitra } from 'mitra-sdk';
await updateProjectSettingsMitra({
projectId: 123,
name: 'Meu Projeto',
color: '#4F46E5',
icon: 'BarChart',
allowPublicUpload: true
});
`
- listServerFunctionsMitra({ projectId }) - Lista Server Functions do projetoreadServerFunctionMitra({ projectId, serverFunctionId })
- - Detalhes de uma Server Function (incluindo código)createServerFunctionMitra({ projectId, name, code, description? })
- - Cria Server FunctionupdateServerFunctionMitra({ projectId, serverFunctionId, name?, code?, description? })
- - Atualiza Server FunctiondeleteServerFunctionMitra({ projectId, serverFunctionId })
- - Remove Server FunctiongetServerFunctionExecutionMitra({ projectId, executionId })
- - Consulta resultado de execução
> Nota: Para executar uma Server Function, use executeServerFunctionMitra do mitra-interactions-sdk.
`typescript
import { listServerFunctionsMitra, readServerFunctionMitra, createServerFunctionMitra } from 'mitra-sdk';
// Listar Server Functions
const functions = await listServerFunctionsMitra({ projectId: 123 });
// Ler detalhes (incluindo código)
const fn = await readServerFunctionMitra({ projectId: 123, serverFunctionId: 1 });
// Criar nova Server Function
const result = await createServerFunctionMitra({
projectId: 123,
name: 'calcularTotal',
code: 'return input.valor * 1.1;',
description: 'Calcula total com 10% de acréscimo'
});
``
MIT