mitra-sdk
v1.0.27
Published
SDK completo para a plataforma Mitra
Readme
Mitra SDK
SDK completo para a plataforma Mitra. Inclui todos os métodos do mitra-interactions-sdk e serviços adicionais.
Instalação
npm install mitra-sdkConfiguração
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.
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-mitraconfigureMitra
Auto-configura o SDK a partir dos query params da URL (token e backURL). Útil quando o SDK roda dentro de um iframe que recebe as credenciais via URL.
import { configureMitra } from 'mitra-sdk';
const { configured } = configureMitra();
// Se a URL contém ?token=xxx&backURL=xxx, o SDK é configurado automaticamenteMétodos incluídos do mitra-interactions-sdk
runQueryMitra({ projectId, sql, jdbcId? })→RunQueryResponse- Executa query SQL (SELECT)executeDbActionMitra({ projectId, dbActionId, params? })→ExecuteDbActionResponse- Executa DBAction (DML)executeServerFunctionMitra({ projectId, serverFunctionId, input? })→ExecuteServerFunctionResponse- Executa Server Function (síncrono, timeout 60s)executeServerFunctionAsyncMitra({ projectId, serverFunctionId, input? })→ExecuteServerFunctionAsyncResponse- Executa Server Function (assíncrono, retorna executionId)stopServerFunctionExecutionMitra({ projectId, executionId })→StopServerFunctionExecutionResponse- Para execução de Server FunctionsetFileStatusMitra({ projectId, fileName, targetPath })- Move arquivo para PUBLIC/LOADABLEsetVariableMitra({ projectId, key, value? })- Cria/atualiza variávellistRecordsMitra({ projectId, tableName, page?, size?, filters?, jdbcConnectionConfigId? })- Lista registros (Dynamic Schema CRUD)getRecordMitra({ projectId, tableName, id, jdbcConnectionConfigId? })- Busca registro por IDcreateRecordMitra({ projectId, tableName, data, jdbcConnectionConfigId? })- Cria registroupdateRecordMitra({ projectId, tableName, id, data, jdbcConnectionConfigId? })- Atualiza registro (PUT)patchRecordMitra({ projectId, tableName, id, data, jdbcConnectionConfigId? })- Atualiza parcialmente (PATCH)deleteRecordMitra({ projectId, tableName, id, jdbcConnectionConfigId? })- Remove registrocreateRecordsBatchMitra({ projectId, tableName, records, jdbcConnectionConfigId? })- Cria múltiplos registroslogoutMitra()- Solicita logout ao app pai (Mitra Nuxt) via postMessage
Para exemplos detalhados destes métodos, consulte a documentação do mitra-interactions-sdk.
Métodos do Mitra SDK
Navegação
listWorkspacesMitra()→ListWorkspacesResponse- Lista workspaceslistProjectsMitra({ workspaceId })→ListProjectsResponse- Lista projetos de um workspacecreateProjectMitra({ workspaceId, name, description? })→CreateProjectResponse- Cria um projetogetProjectContextMitra({ projectId })→GetProjectContextResponse- Detalhes e inventário de um projeto
import { listWorkspacesMitra, listProjectsMitra } from 'mitra-sdk';
const workspaces = await listWorkspacesMitra();
// { status, result: [{ id, name }] }
const projects = await listProjectsMitra({ workspaceId: 1 });
// { status, workspaceId, result: [{ id, name }] }Variáveis
listVariablesMitra({ projectId })→ListVariablesResponse- Lista variáveisgetVariableMitra({ projectId, key })→GetVariableResponse- Obtém variável por keydeleteVariableMitra({ projectId, key })→DeleteVariableResponse- Deleta variável
import { listVariablesMitra, getVariableMitra } from 'mitra-sdk';
const vars = await listVariablesMitra({ projectId: 123 });
// { status, projectId, result: [{ key, value }] }
const v = await getVariableMitra({ projectId: 123, key: 'minhaVar' });
// { status, result: { key, value } }JDBC
listJdbcConnectionsMitra({ projectId })→ListJdbcConnectionsResponse- Lista conexões JDBCcreateJdbcConnectionMitra({ projectId, name, type, host, port, database, user, password })→CreateJdbcConnectionResponse- Cria conexãoupdateJdbcConnectionMitra({ projectId, jdbcId, name, type, host, port, database, user, password })→UpdateJdbcConnectionResponse- Atualiza conexão
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'
});
// { status, result: { jdbcId, message }, paramsApplied: {...} }SQL
runDdlMitra({ projectId, sql, jdbcId? })→RunDdlResponse- Executa DDL (CREATE, ALTER, DROP)runDmlMitra({ projectId, sql, jdbcId? })→RunDmlResponse- Executa DML (INSERT, UPDATE, DELETE)createOnlineTableMitra({ projectId, jdbcId, name, sqlQuery })→CreateOnlineTableResponse- Cria online tableupdateOnlineTableMitra({ projectId, tableName, sqlQuery })→UpdateOnlineTableResponse- Atualiza online table
import { runDdlMitra, runDmlMitra } from 'mitra-sdk';
await runDdlMitra({ projectId: 123, sql: 'CREATE TABLE users (id INT, name VARCHAR(100))' });
// { status, result: { message } }
await runDmlMitra({ projectId: 123, sql: "INSERT INTO users VALUES (1, 'João')" });
// { status, result: { rowsAffected, message } }DBActions
listDbActionsMitra({ projectId })→ListDbActionsResponse- Lista DBActionscreateDbActionMitra({ projectId, name, sql })→CreateDbActionResponse- Cria DBActionupdateDbActionMitra({ projectId, dbActionId, sql })→UpdateDbActionResponse- Atualiza DBActiondeleteDbActionMitra({ projectId, dbActionId })→DeleteDbActionResponse- Deleta DBAction
import { createDbActionMitra } from 'mitra-sdk';
const result = await createDbActionMitra({
projectId: 123,
name: 'Inserir Usuário',
sql: "INSERT INTO users (name) VALUES (':VAR_NOME')"
});
// { status, result: { dbActionId } }Arquivos
listProjectFilesMitra({ projectId })→ListProjectFilesResponse- Lista arquivos do projeto (CHAT, PUBLIC, LOADABLE)getFilePreviewMitra({ projectId, fileName, maxLines? })→GetFilePreviewResponse- Preview de arquivo (CSV, texto, imagem)
import { listProjectFilesMitra, getFilePreviewMitra } from 'mitra-sdk';
const files = await listProjectFilesMitra({ projectId: 123 });
// { status, result: [{ name, size, path, threadId? }] }
const preview = await getFilePreviewMitra({ projectId: 123, fileName: 'dados.csv', maxLines: 10 });
// { status, result: { fileName, type, preview?, totalLinesInFile?, message } }Tabelas
listTablesMitra({ projectId })→ListTablesResponse- Lista tabelas físicas com colunas e tiposlistOnlineTablesMitra({ projectId })→ListOnlineTablesResponse- Lista tabelas online (QueryAlias) com queries
import { listTablesMitra, listOnlineTablesMitra } from 'mitra-sdk';
const tables = await listTablesMitra({ projectId: 123 });
// { status, result: [{ name, columns: [{ name, type, isPk, nullable }] }] }
const onlineTables = await listOnlineTablesMitra({ projectId: 123 });
// { status, result: [{ id, projectId, jdbcId, name, sqlQuery, columns }] }Data Loaders
listDataLoadersMitra({ projectId })→ListDataLoadersResponse- Lista rotinas de importaçãocreateDataLoaderMitra({ projectId, jdbcId, query, name, runWhenCreate? })→CreateDataLoaderResponse- Cria Data Loader (SQL)updateDataLoaderMitra({ projectId, dataLoaderId, jdbcId?, query?, name?, runWhenCreate? })→UpdateDataLoaderResponse- Atualiza Data LoaderexecuteDataLoaderMitra({ projectId, dataLoaderId })→ExecuteDataLoaderResponse- Executa Data LoaderdeleteDataLoaderMitra({ projectId, dataLoaderId })→DeleteDataLoaderResponse- Remove Data Loader
import { createDataLoaderMitra, executeDataLoaderMitra } from 'mitra-sdk';
const loader = await createDataLoaderMitra({
projectId: 123,
jdbcId: 1,
query: 'SELECT * FROM vendas_externas',
name: 'Vendas Externas',
runWhenCreate: true
});
// { status, result: { dataLoaderId, tableName, message, executionLog? } }
await executeDataLoaderMitra({ projectId: 123, dataLoaderId: 1 });
// { status, result: { dataLoaderId, executionLog: { timestamp, rowCount, query, status, ... }, message } }Usuários
listProjectUsersMitra({ projectId })→ListProjectUsersResponse- Lista usuários do projetomanageUserAccessMitra({ projectId, email, action, type? })→ManageUserAccessResponse- Convida, remove ou altera tipo de acesso
import { listProjectUsersMitra, manageUserAccessMitra } from 'mitra-sdk';
const users = await listProjectUsersMitra({ projectId: 123 });
// { status, result: [{ userId, name, email, profile, userType }] }
// Convidar usuário
await manageUserAccessMitra({ projectId: 123, email: '[email protected]', action: 'INVITE', type: 'dev' });
// Remover usuário
await manageUserAccessMitra({ projectId: 123, email: '[email protected]', action: 'REMOVE' });
// Alterar tipo de acesso
await manageUserAccessMitra({ projectId: 123, email: '[email protected]', action: 'CHANGE_TYPE', type: 'business' });
// { status, result: { email, message, oldType?, newType? } }Configurações do Projeto
updateProjectSettingsMitra({ projectId, name?, color?, icon?, allowPublicUpload? })→UpdateProjectSettingsResponse- Atualiza configurações
import { updateProjectSettingsMitra } from 'mitra-sdk';
await updateProjectSettingsMitra({
projectId: 123,
name: 'Meu Projeto',
color: '#4F46E5',
icon: 'BarChart',
allowPublicUpload: true
});
// { status, result: { projectId, message } }Server Functions
listServerFunctionsMitra({ projectId })→ListServerFunctionsResponse- Lista Server Functions do projetoreadServerFunctionMitra({ projectId, serverFunctionId })→ReadServerFunctionResponse- Detalhes de uma Server Function (incluindo código)createServerFunctionMitra({ projectId, name, code, description? })→CreateServerFunctionResponse- Cria Server FunctionupdateServerFunctionMitra({ projectId, serverFunctionId, name?, code?, description? })→UpdateServerFunctionResponse- Atualiza Server FunctiondeleteServerFunctionMitra({ projectId, serverFunctionId })→DeleteServerFunctionResponse- Remove Server FunctiongetServerFunctionExecutionMitra({ projectId, executionId })→GetServerFunctionExecutionResponse- Consulta resultado de execução
Nota: Para executar uma Server Function, use
executeServerFunctionMitrado mitra-interactions-sdk.
import { listServerFunctionsMitra, readServerFunctionMitra, createServerFunctionMitra } from 'mitra-sdk';
// Listar Server Functions
const functions = await listServerFunctionsMitra({ projectId: 123 });
// { status, result: [{ id, name, description }] }
// Ler detalhes (incluindo código)
const fn = await readServerFunctionMitra({ projectId: 123, serverFunctionId: 1 });
// { status, result: { id, name, description, code, createdBy, createdAt, updatedAt } }
// 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'
});
// { status, result: { serverFunctionId } }Licença
MIT
