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 { Hono } from '@/deps.ts';
|
||||||
|
|
||||||
|
import instanceController from './api/instance.ts';
|
||||||
|
|
||||||
const app = new Hono();
|
const app = new Hono();
|
||||||
|
|
||||||
app.get('/', (c) => c.text('Hono!'));
|
app.get('/api/v1/instance', instanceController);
|
||||||
|
|
||||||
export default app;
|
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