Add ISBNs in API.
authorRadek Czajka <rczajka@rczajka.pl>
Fri, 3 Apr 2020 09:46:10 +0000 (11:46 +0200)
committerRadek Czajka <rczajka@rczajka.pl>
Thu, 10 Sep 2020 12:15:10 +0000 (14:15 +0200)
src/catalogue/api/serializers.py
src/catalogue/models/book.py

index d52959b..99a6346 100644 (file)
@@ -110,7 +110,8 @@ class BookDetailSerializer(LegacyMixin, serializers.ModelSerializer):
             'epochs', 'genres', 'kinds', 'authors', 'translators',
             'fragment_data', 'children', 'parent', 'preview',
             'epub', 'mobi', 'pdf', 'html', 'txt', 'fb2', 'xml', 'media', 'audio_length',
-            'cover_color', 'simple_cover', 'cover_thumb', 'cover', 'simple_thumb'
+            'cover_color', 'simple_cover', 'cover_thumb', 'cover', 'simple_thumb',
+            'isbn_pdf', 'isbn_epub', 'isbn_mobi',
         ]
         legacy_non_null_fields = ['html', 'txt', 'fb2', 'epub', 'mobi', 'pdf',
                                   'cover', 'simple_cover', 'cover_thumb', 'simple_thumb']
index 60ef5d5..9535e90 100644 (file)
@@ -198,6 +198,19 @@ class Book(models.Model):
     def cover_source(self):
         return self.get_extra_info_json().get('cover_source', self.parent.cover_source() if self.parent else '')
 
+    @property
+    def isbn_pdf(self):
+        return self.get_extra_info_json().get('isbn_pdf')
+
+    @property
+    def isbn_epub(self):
+        return self.get_extra_info_json().get('isbn_epub')
+
+    @property
+    def isbn_mobi(self):
+        return self.get_extra_info_json().get('isbn_mobi')
+
+
     def save(self, force_insert=False, force_update=False, **kwargs):
         from sortify import sortify