mirror of https://gitlab.com/litecord/litecord.git
blueprints: add nodeinfo blueprint
This commit is contained in:
parent
3432617988
commit
339d1b0c8b
|
|
@ -10,7 +10,8 @@ from .invites import bp as invites
|
|||
from .relationships import bp as relationships
|
||||
from .dms import bp as dms
|
||||
from .icons import bp as icons
|
||||
from .nodeinfo import bp as nodeinfo
|
||||
|
||||
__all__ = ['gateway', 'auth', 'users', 'guilds', 'channels',
|
||||
'webhooks', 'science', 'voice', 'invites', 'relationships',
|
||||
'dms', 'icons']
|
||||
'dms', 'icons', 'nodeinfo']
|
||||
|
|
|
|||
|
|
@ -0,0 +1,55 @@
|
|||
from quart import Blueprint, current_app as app, jsonify, request
|
||||
|
||||
bp = Blueprint('nodeinfo', __name__)
|
||||
|
||||
|
||||
@bp.route('/.well-known/nodeinfo')
|
||||
async def _dummy_nodeinfo_index():
|
||||
proto = 'http' if not app.config['IS_SSL'] else 'https'
|
||||
return jsonify({
|
||||
'links': [{
|
||||
'href': f'{proto}://{request.host}/nodeinfo/2.0.json',
|
||||
'rel': 'http://nodeinfo.diaspora.software/ns/schema/2.0'
|
||||
}]
|
||||
})
|
||||
|
||||
|
||||
@bp.route('/nodeinfo/2.0.json')
|
||||
async def _dummy_nodeinfo():
|
||||
usercount = await app.db.fetchval("""
|
||||
SELECT COUNT(*)
|
||||
FROM users
|
||||
""")
|
||||
|
||||
return jsonify({
|
||||
'metadata': {
|
||||
'features': [
|
||||
'discord_api'
|
||||
],
|
||||
|
||||
'nodeDescription': 'A Litecord instance',
|
||||
'nodeName': 'Litecord/Nya',
|
||||
'private': False,
|
||||
|
||||
'federation': {}
|
||||
},
|
||||
'openRegistrations': app.config['REGISTRATIONS'],
|
||||
'protocols': [],
|
||||
'software': {
|
||||
'name': 'litecord',
|
||||
'version': 'litecord v0',
|
||||
},
|
||||
|
||||
'services': {
|
||||
'inbound': [],
|
||||
'outbound': [],
|
||||
},
|
||||
|
||||
'usage': {
|
||||
'localPosts': -1,
|
||||
'users': {
|
||||
'total': usercount
|
||||
}
|
||||
},
|
||||
'version': '2.0',
|
||||
})
|
||||
3
run.py
3
run.py
|
|
@ -14,7 +14,7 @@ import config
|
|||
|
||||
from litecord.blueprints import (
|
||||
gateway, auth, users, guilds, channels, webhooks, science,
|
||||
voice, invites, relationships, dms, icons
|
||||
voice, invites, relationships, dms, icons, nodeinfo
|
||||
)
|
||||
|
||||
# those blueprints are separated from the "main" ones
|
||||
|
|
@ -104,6 +104,7 @@ def set_blueprints(app_):
|
|||
dms: '/users',
|
||||
|
||||
icons: -1,
|
||||
nodeinfo: -1,
|
||||
}
|
||||
|
||||
for bp, suffix in bps.items():
|
||||
|
|
|
|||
Loading…
Reference in New Issue