diff --git a/app/api/handlers/v1.py b/app/api/handlers/v1.py index 0676058..0a3bfd2 100644 --- a/app/api/handlers/v1.py +++ b/app/api/handlers/v1.py @@ -280,3 +280,16 @@ class AnnounceHandler(BaseHandler): return {'result': api.announce(api.settings['jabber_server'], message, subject, users=users, groups=groups, servers=servers) } return {'result': 'invalid'} + + +class EDKApiHandler(BaseHandler): + allowed_methods = ('GET',) + + def read(self, request): + + alliance = request.GET.get('alliance', None) + if not alliance: + return {'auth': 'missing', 'missing': 'alliance'} + + objs = EVEAccount.objects.filter(characters__corporation__alliance=alliance, api_keytype=API_KEYTYPE_CORPORATION, api_status=API_STATUS_OK).extra(where=['(api_accessmask & 256) > 0']) + return objs.values('api_user_id', 'api_key', 'characters__id', 'characters__name', 'characters__corporation__name') diff --git a/app/api/urls.py b/app/api/urls.py index 3c41903..9e7bf24 100755 --- a/app/api/urls.py +++ b/app/api/urls.py @@ -18,6 +18,7 @@ optimer_resource = Resource(handler=OpTimerHandler, **apikeyauth) blacklist_resource = Resource(handler=BlacklistHandler, **apikeyauth) characters_resource = Resource(handler=CharacterHandler, **apikeyauth) announce_resource = Resource(handler=AnnounceHandler, **apikeyauth) +edkapi_resource = Resource(handler=EDKApiHandler, **apikeyauth) urlpatterns = patterns('', url(r'^1.0/user/$', user_resource), @@ -28,6 +29,7 @@ urlpatterns = patterns('', url(r'^1.0/optimer/$', optimer_resource), url(r'^1.0/blacklist/$', blacklist_resource), url(r'^1.0/announce/$', announce_resource), + url(r'^1.0/edkapi/$', edkapi_resource), ) # v2 APIs