mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 11:29:46 +00:00
feat: create getDittoDomainController
This commit is contained in:
parent
16ea9de4c2
commit
01fe2faaeb
2 changed files with 20 additions and 0 deletions
|
|
@ -40,6 +40,7 @@ import {
|
||||||
adminRelaysController,
|
adminRelaysController,
|
||||||
adminSetRelaysController,
|
adminSetRelaysController,
|
||||||
deleteZapSplitsController,
|
deleteZapSplitsController,
|
||||||
|
getDittoDomainController,
|
||||||
getZapSplitsController,
|
getZapSplitsController,
|
||||||
nameRequestController,
|
nameRequestController,
|
||||||
nameRequestsController,
|
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.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/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.post('/api/v1/reports', requireSigner, reportController);
|
||||||
app.get('/api/v1/admin/reports', requireSigner, requireRole('admin'), adminReportsController);
|
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);
|
app.get('/api/v1/admin/reports/:id{[0-9a-f]{64}}', requireSigner, requireRole('admin'), adminReportController);
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import { booleanParamSchema, percentageSchema } from '@/schema.ts';
|
||||||
import { Conf } from '@/config.ts';
|
import { Conf } from '@/config.ts';
|
||||||
import { createEvent, paginated, parseBody } from '@/utils/api.ts';
|
import { createEvent, paginated, parseBody } from '@/utils/api.ts';
|
||||||
import { deleteTag } from '@/utils/tags.ts';
|
import { deleteTag } from '@/utils/tags.ts';
|
||||||
|
import { DittoDB } from '@/db/DittoDB.ts';
|
||||||
import { DittoEvent } from '@/interfaces/DittoEvent.ts';
|
import { DittoEvent } from '@/interfaces/DittoEvent.ts';
|
||||||
import { DittoZapSplits, getZapSplits } from '@/utils/zap-split.ts';
|
import { DittoZapSplits, getZapSplits } from '@/utils/zap-split.ts';
|
||||||
import { getAuthor } from '@/queries.ts';
|
import { getAuthor } from '@/queries.ts';
|
||||||
|
|
@ -285,3 +286,19 @@ export const statusZapSplitsController: AppController = async (c) => {
|
||||||
|
|
||||||
return c.json(zapSplits, 200);
|
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);
|
||||||
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue