chore: release 0.0.1

This commit is contained in:
liaibo
2025-11-29 05:16:23 +08:00
parent 5d0e4c4cb6
commit d350b02fba
92 changed files with 78929 additions and 39164 deletions
+63
View File
@@ -0,0 +1,63 @@
import { PostgresMeta } from '../../lib/index.js';
import * as Parser from '../../lib/Parser.js';
import { createConnectionConfig, extractRequestForLogging, translateErrorToResponseCode, } from '../utils.js';
const errorOnEmptyQuery = (request) => {
if (!request.body.query) {
throw new Error('query not found');
}
};
export default async (fastify) => {
fastify.post('/', async (request, reply) => {
const statementTimeoutSecs = request.query.statementTimeoutSecs;
errorOnEmptyQuery(request);
const config = createConnectionConfig(request);
const pgMeta = new PostgresMeta(config);
request.log.info({
message: 'pg-meta query payload',
body: request.body,
});
const pgParameters = request.body.parameters ?? request.body.params;
const { data, error } = await pgMeta.query(request.body.query, {
trackQueryInSentry: true,
statementQueryTimeout: statementTimeoutSecs,
parameters: pgParameters,
});
await pgMeta.end();
if (error) {
request.log.error({ error, request: extractRequestForLogging(request) });
reply.code(translateErrorToResponseCode(error));
return { error: error.formattedError ?? error.message, ...error };
}
return data || [];
});
fastify.post('/format', async (request, reply) => {
errorOnEmptyQuery(request);
const { data, error } = await Parser.Format(request.body.query);
if (error) {
request.log.error({ error, request: extractRequestForLogging(request) });
reply.code(translateErrorToResponseCode(error));
return { error: error.message };
}
return data;
});
fastify.post('/parse', async (request, reply) => {
errorOnEmptyQuery(request);
const { data, error } = Parser.Parse(request.body.query);
if (error) {
request.log.error({ error, request: extractRequestForLogging(request) });
reply.code(translateErrorToResponseCode(error));
return { error: error.message };
}
return data;
});
fastify.post('/deparse', async (request, reply) => {
const { data, error } = Parser.Deparse(request.body.ast);
if (error) {
request.log.error({ error, request: extractRequestForLogging(request) });
reply.code(translateErrorToResponseCode(error));
return { error: error.message };
}
return data;
});
};
//# sourceMappingURL=query.js.map