From 979945f82fdb6f692f76c41066fe322164a076ca Mon Sep 17 00:00:00 2001 From: Glaisher Date: Sat, 11 Jul 2020 23:56:56 +0500 Subject: [PATCH] Hadith: Add muhaddith info to grades field Resolves #45 --- models.py | 12 ++++++++++-- spec.v1.yml | 12 ++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/models.py b/models.py index 124b337..0c2a4a7 100644 --- a/models.py +++ b/models.py @@ -94,7 +94,15 @@ def serialize(self): class Hadith(db.Model): __tablename__ = "HadithTable" + rel_collection = db.relationship("HadithCollection", primaryjoin="Hadith.collection == HadithCollection.name", foreign_keys="Hadith.collection", lazy="joined") + def serialize(self): + grades = {"en": [], "ar": []} + if self.englishgrade1: + grades["en"] = [{"graded_by": self.rel_collection.englishgrade1, "grade": self.englishgrade1}] + if self.arabicgrade1: + grades["ar"] = [{"graded_by": self.rel_collection.arabicgrade1, "grade": self.arabicgrade1}] + return { "collection": self.collection, "bookNumber": self.bookNumber, @@ -107,7 +115,7 @@ def serialize(self): "chapterTitle": self.englishBabName, "urn": self.englishURN, "body": cleanup_en_text(self.englishText), - "grade": self.englishgrade1, + "grades": grades["en"], }, { "lang": "ar", @@ -115,7 +123,7 @@ def serialize(self): "chapterTitle": cleanup_chapter_title(self.arabicBabName), "urn": self.arabicURN, "body": cleanup_text(self.arabicText), - "grade": self.arabicgrade1, + "grades": grades["ar"], }, ], } diff --git a/spec.v1.yml b/spec.v1.yml index cd3b890..7d3f952 100644 --- a/spec.v1.yml +++ b/spec.v1.yml @@ -343,8 +343,16 @@ components: type: integer body: type: string - grade: - type: string + grades: + type: array + description: Hadith grade information + items: + type: object + properties: + graded_by: + type: string + grade: + type: string Chapter: properties: bookNumber: