Skip to content
Snippets Groups Projects
serializers.py 1.21 KiB
Newer Older
  • Learn to ignore specific revisions
  • from django.urls import reverse
    from django.conf import settings
    
    
    from dynamic_preferences.registries import global_preferences_registry
    
    
    from . import utils
    
    
    def repr_instance_actor():
        """
        We do not use a serializer here, since it's pretty static
        """
    
        actor_url = utils.full_url(reverse('federation:instance-actor'))
        preferences = global_preferences_registry.manager()
        public_key = preferences['federation__public_key']
    
    
        return {
            '@context': [
                'https://www.w3.org/ns/activitystreams',
                'https://w3id.org/security/v1',
                {},
            ],
            'id': utils.full_url(reverse('federation:instance-actor')),
    
            'inbox': utils.full_url(reverse('federation:instance-inbox')),
            'outbox': utils.full_url(reverse('federation:instance-outbox')),
    
            'preferredUsername': 'service',
            'name': 'Service Bot - {}'.format(settings.FEDERATION_HOSTNAME),
            'summary': 'Bot account for federating with {}'.format(
                settings.FEDERATION_HOSTNAME
            ),
            'publicKey': {
                'id': '{}#main-key'.format(actor_url),
                'owner': actor_url,
                'publicKeyPem': public_key
            },