feat: create getDittoDomainController

This commit is contained in:
P. Reis 2024-08-13 20:47:21 -03:00
parent 16ea9de4c2
commit 01fe2faaeb
2 changed files with 20 additions and 0 deletions

View file

@ -40,6 +40,7 @@ import {
adminRelaysController,
adminSetRelaysController,
deleteZapSplitsController,
getDittoDomainController,
getZapSplitsController,
nameRequestController,
nameRequestsController,
@ -280,6 +281,8 @@ app.delete('/api/v1/admin/ditto/zap_splits', requireRole('admin'), deleteZapSpli
app.post('/api/v1/ditto/zap', requireSigner, zapController);
app.get('/api/v1/ditto/statuses/:id{[0-9a-f]{64}}/zapped_by', zappedByController);
app.get('/api/v1/ditto/domains/:domain', getDittoDomainController);
app.post('/api/v1/reports', requireSigner, reportController);
app.get('/api/v1/admin/reports', requireSigner, requireRole('admin'), adminReportsController);
app.get('/api/v1/admin/reports/:id{[0-9a-f]{64}}', requireSigner, requireRole('admin'), adminReportController);

View file

@ -9,6 +9,7 @@ import { booleanParamSchema, percentageSchema } from '@/schema.ts';
import { Conf } from '@/config.ts';
import { createEvent, paginated, parseBody } from '@/utils/api.ts';
import { deleteTag } from '@/utils/tags.ts';
import { DittoDB } from '@/db/DittoDB.ts';
import { DittoEvent } from '@/interfaces/DittoEvent.ts';
import { DittoZapSplits, getZapSplits } from '@/utils/zap-split.ts';
import { getAuthor } from '@/queries.ts';
@ -285,3 +286,19 @@ export const statusZapSplitsController: AppController = async (c) => {
return c.json(zapSplits, 200);
};
export const getDittoDomainController: AppController = async (c) => {
const domain = c.req.param('domain');
const { kysely } = await DittoDB.getInstance();
const [result] = await kysely.selectFrom('ditto_domains')
.selectAll()
.where('domain', '=', domain)
.execute();
if (!result) {
return c.json(404);
}
return c.json(result);
};