mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 11:29:46 +00:00
feat: create getDittoDomainsController
This commit is contained in:
parent
01fe2faaeb
commit
73eaf00059
2 changed files with 16 additions and 1 deletions
|
|
@ -41,6 +41,7 @@ import {
|
||||||
adminSetRelaysController,
|
adminSetRelaysController,
|
||||||
deleteZapSplitsController,
|
deleteZapSplitsController,
|
||||||
getDittoDomainController,
|
getDittoDomainController,
|
||||||
|
getDittoDomainsController,
|
||||||
getZapSplitsController,
|
getZapSplitsController,
|
||||||
nameRequestController,
|
nameRequestController,
|
||||||
nameRequestsController,
|
nameRequestsController,
|
||||||
|
|
@ -282,6 +283,7 @@ 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.get('/api/v1/ditto/domains/:domain', getDittoDomainController);
|
||||||
|
app.get('/api/v1/ditto/domains', getDittoDomainsController);
|
||||||
|
|
||||||
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);
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import { addTag } from '@/utils/tags.ts';
|
||||||
import { AdminSigner } from '@/signers/AdminSigner.ts';
|
import { AdminSigner } from '@/signers/AdminSigner.ts';
|
||||||
import { booleanParamSchema, percentageSchema } from '@/schema.ts';
|
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, paginatedList, parseBody } from '@/utils/api.ts';
|
||||||
import { deleteTag } from '@/utils/tags.ts';
|
import { deleteTag } from '@/utils/tags.ts';
|
||||||
import { DittoDB } from '@/db/DittoDB.ts';
|
import { DittoDB } from '@/db/DittoDB.ts';
|
||||||
import { DittoEvent } from '@/interfaces/DittoEvent.ts';
|
import { DittoEvent } from '@/interfaces/DittoEvent.ts';
|
||||||
|
|
@ -302,3 +302,16 @@ export const getDittoDomainController: AppController = async (c) => {
|
||||||
|
|
||||||
return c.json(result);
|
return c.json(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const getDittoDomainsController: AppController = async (c) => {
|
||||||
|
const { kysely } = await DittoDB.getInstance();
|
||||||
|
const params = c.get('listPagination');
|
||||||
|
|
||||||
|
const results = await kysely.selectFrom('ditto_domains')
|
||||||
|
.selectAll()
|
||||||
|
.orderBy('total_users', 'desc')
|
||||||
|
.limit(params.limit)
|
||||||
|
.execute();
|
||||||
|
|
||||||
|
return paginatedList(c, params, results);
|
||||||
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue