Add /api/v1/instance
This commit is contained in:
parent
d855c05fac
commit
484a396a64
|
@ -0,0 +1,45 @@
|
|||
import { LOCAL_DOMAIN, POST_CHAR_LIMIT } from '@/config.ts';
|
||||
|
||||
import type { Context } from '@/deps.ts';
|
||||
|
||||
function instanceController(c: Context) {
|
||||
const { host } = new URL(LOCAL_DOMAIN);
|
||||
|
||||
return c.json({
|
||||
uri: host,
|
||||
title: 'Nostrverse',
|
||||
description: 'An adapter between Mastodon API and Nostr.',
|
||||
short_description: 'An adapter between Mastodon API and Nostr.',
|
||||
registrations: false,
|
||||
max_toot_chars: POST_CHAR_LIMIT,
|
||||
configuration: {
|
||||
media_attachments: {
|
||||
image_size_limit: 100000000,
|
||||
video_size_limit: 100000000,
|
||||
},
|
||||
polls: {
|
||||
max_characters_per_option: 0,
|
||||
max_expiration: 0,
|
||||
max_options: 0,
|
||||
min_expiration: 0,
|
||||
},
|
||||
statuses: {
|
||||
max_characters: POST_CHAR_LIMIT,
|
||||
max_media_attachments: 20,
|
||||
},
|
||||
},
|
||||
languages: ['en'],
|
||||
stats: {
|
||||
domain_count: 0,
|
||||
status_count: 0,
|
||||
user_count: 0,
|
||||
},
|
||||
urls: {
|
||||
streaming_api: `wss://${host}`,
|
||||
},
|
||||
version: '0.0.0 (compatible; Nostrverse 0.0.1)',
|
||||
rules: [],
|
||||
});
|
||||
}
|
||||
|
||||
export default instanceController;
|
|
@ -1,7 +1,9 @@
|
|||
import { Hono } from '@/deps.ts';
|
||||
|
||||
import instanceController from './api/instance.ts';
|
||||
|
||||
const app = new Hono();
|
||||
|
||||
app.get('/', (c) => c.text('Hono!'));
|
||||
app.get('/api/v1/instance', instanceController);
|
||||
|
||||
export default app;
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
export const LOCAL_DOMAIN = Deno.env.get('LOCAL_DOMAIN') || 'http://localhost:8000';
|
||||
export const POST_CHAR_LIMIT = Number(Deno.env.get('POST_CHAR_LIMIT') || 5000);
|
|
@ -1 +1,3 @@
|
|||
export { Hono } from 'https://deno.land/x/hono@v3.0.2/mod.ts';
|
||||
import { Context, Hono } from 'https://deno.land/x/hono@v3.0.2/mod.ts';
|
||||
export { Hono };
|
||||
export type { Context };
|
||||
|
|
Loading…
Reference in New Issue