# This file is part of dnmapper, an AS--level mapping tool # Licensed under GNU General Public License v3 or later # Written by Sebastian Lohff (seba@someserver.de) from tastypie.resources import ModelResource, ALL_WITH_RELATIONS, ALL from tastypie import fields from bgpdata.models import AS, CrawlRun, Announcement, BorderRouter class ASResource(ModelResource): crawl = fields.ForeignKey("bgpdata.api.CrawlResource", "crawl") class Meta: list_allowed_methods = ['get'] detail_allowed_methods = ['get'] filtering = {'crawl': ALL_WITH_RELATIONS, 'number': ALL} queryset = AS.objects.all() resource_name = "as" class CrawlResource(ModelResource): class Meta: queryset = CrawlRun.objects.all() resource_name = "crawl" class BorderRouterResource(ModelResource): AS = fields.ForeignKey("bgpdata.api.ASResource", "AS") class Meta: list_allowed_methods = ['get'] detail_allowed_methods = ['get'] filtering = {'AS': ALL_WITH_RELATIONS} queryset = BorderRouter.objects.all() resource_name = "borderrouter" class AnnouncementResource(ModelResource): router = fields.ForeignKey("bgpdata.api.BorderRouterResource", "router") class Meta: list_allowed_methods = ['get'] detail_allowed_methods = ['get'] filtering = {'originAS': ALL_WITH_RELATIONS, 'crawlAS': ALL_WITH_RELATIONS, 'router': ALL_WITH_RELATIONS} queryset = Announcement.objects.all()