From 8e01adf0a21a3dcf10f3bbf420eea2833db2f4af Mon Sep 17 00:00:00 2001 From: David Carlos Date: Aug 27 2017 15:28:03 +0000 Subject: Add the analyzed versions on /packages endpoint. --- diff --git a/kiskadee/api/serializers.py b/kiskadee/api/serializers.py index 3b04abc..9603897 100644 --- a/kiskadee/api/serializers.py +++ b/kiskadee/api/serializers.py @@ -1,9 +1,37 @@ """Provide objects to serialize the kiskadee models.""" from marshmallow import Schema, fields -from kiskadee.model import Package, Fetcher, Analysis +from kiskadee.model import Package, Fetcher, Analysis, Version + +class AnalysisSchema(Schema): + """Provide a serializer to the Analysis model.""" + + id = fields.Int() + version_id = fields.Int() + analyzer_id = fields.Int() + raw = fields.Str() + + def make_object(self, data): + """Serialize a Analysis object.""" + print('MAKING OBJECT FROM', data) + return Analysis(**data) + + +class VersionSchema(Schema): + """Provide a serializer to the Package model.""" + + id = fields.Int() + number = fields.Str() + package_id = fields.Int() + analysis = fields.Nested(AnalysisSchema, many=True) + + def make_object(self, data): + """Serialize a Package object.""" + print('MAKING OBJECT FROM', data) + return Version(**data) + class FetcherSchema(Schema): """Provide a serializer to the Fetcher model.""" @@ -23,24 +51,10 @@ class PackageSchema(Schema): id = fields.Int() name = fields.Str() - target = fields.Str() - fetcher_id = fields.Nested(FetcherSchema) + fetcher_id = fields.Int() + versions = fields.Nested(VersionSchema, many=True) def make_object(self, data): """Serialize a Package object.""" print('MAKING OBJECT FROM', data) return Package(**data) - - -class AnalysisSchema(Schema): - """Provide a serializer to the Analysis model.""" - - id = fields.Int() - version_id = fields.Int() - analyzer_id = fields.Int() - raw = fields.Str() - - def make_object(self, data): - """Serialize a Analysis object.""" - print('MAKING OBJECT FROM', data) - return Analysis(**data)