From 09b06bd66fb9fc974d30eabca49337a8328d7167 Mon Sep 17 00:00:00 2001 From: crufter Date: Tue, 21 Sep 2021 15:40:53 +0000 Subject: [PATCH] Commit from GitHub Actions (Publish APIs & Clients) --- clients/go/m3o.go | 3 + clients/go/quran/quran.go | 6 +- clients/go/sunnah/sunnah.go | 183 ++++++++++++++++++ clients/ts/index.ts | 3 + clients/ts/package.json | 1 + clients/ts/quran/index.ts | 6 +- clients/ts/sunnah/index.ts | 183 ++++++++++++++++++ examples/stream/publish/go/publishAMessage.go | 2 +- .../curl/getTheBooksWithinACollection.sh | 6 + .../books/go/getTheBooksWithinACollection.go | 17 ++ .../node/getTheBooksWithinACollection.js | 13 ++ .../chapters/curl/listTheChaptersInABook.sh | 7 + .../chapters/go/listTheChaptersInABook.go | 17 ++ .../chapters/node/listTheChaptersInABook.js | 13 ++ .../curl/listAvailableCollections.sh | 4 + .../go/listAvailableCollections.go | 15 ++ .../node/listAvailableCollections.js | 11 ++ .../hadiths/curl/listTheHadithsInABook.sh | 7 + .../hadiths/go/listTheHadithsInABook.go | 18 ++ .../hadiths/node/listTheHadithsInABook.js | 14 ++ 20 files changed, 522 insertions(+), 7 deletions(-) create mode 100755 clients/go/sunnah/sunnah.go create mode 100755 clients/ts/sunnah/index.ts create mode 100755 examples/sunnah/books/curl/getTheBooksWithinACollection.sh create mode 100755 examples/sunnah/books/go/getTheBooksWithinACollection.go create mode 100755 examples/sunnah/books/node/getTheBooksWithinACollection.js create mode 100755 examples/sunnah/chapters/curl/listTheChaptersInABook.sh create mode 100755 examples/sunnah/chapters/go/listTheChaptersInABook.go create mode 100755 examples/sunnah/chapters/node/listTheChaptersInABook.js create mode 100755 examples/sunnah/collections/curl/listAvailableCollections.sh create mode 100755 examples/sunnah/collections/go/listAvailableCollections.go create mode 100755 examples/sunnah/collections/node/listAvailableCollections.js create mode 100755 examples/sunnah/hadiths/curl/listTheHadithsInABook.sh create mode 100755 examples/sunnah/hadiths/go/listTheHadithsInABook.go create mode 100755 examples/sunnah/hadiths/node/listTheHadithsInABook.js diff --git a/clients/go/m3o.go b/clients/go/m3o.go index 1e3a2eb..39e91eb 100755 --- a/clients/go/m3o.go +++ b/clients/go/m3o.go @@ -27,6 +27,7 @@ import ( "github.com/micro/services/clients/go/sms" "github.com/micro/services/clients/go/stock" "github.com/micro/services/clients/go/stream" + "github.com/micro/services/clients/go/sunnah" "github.com/micro/services/clients/go/thumbnail" "github.com/micro/services/clients/go/time" "github.com/micro/services/clients/go/twitter" @@ -65,6 +66,7 @@ func NewClient(token string) *Client { SmsService: sms.NewSmsService(token), StockService: stock.NewStockService(token), StreamService: stream.NewStreamService(token), + SunnahService: sunnah.NewSunnahService(token), ThumbnailService: thumbnail.NewThumbnailService(token), TimeService: time.NewTimeService(token), TwitterService: twitter.NewTwitterService(token), @@ -103,6 +105,7 @@ type Client struct { SmsService *sms.SmsService StockService *stock.StockService StreamService *stream.StreamService + SunnahService *sunnah.SunnahService ThumbnailService *thumbnail.ThumbnailService TimeService *time.TimeService TwitterService *twitter.TwitterService diff --git a/clients/go/quran/quran.go b/clients/go/quran/quran.go index ea515f2..a3f3428 100755 --- a/clients/go/quran/quran.go +++ b/clients/go/quran/quran.go @@ -87,7 +87,7 @@ type Result struct { // The associated arabic text Text string `json:"text"` // The related translations to the text - Translations []Interpretation `json:"translations"` + Translations []Translation `json:"translations"` // The unique verse id across the Quran VerseId int32 `json:"verseId"` // The verse key e.g 1:1 @@ -149,7 +149,7 @@ type Verse struct { // The unique id of the verse in the whole book Id int32 `json:"id"` // The interpretations of the verse - Interpretations []Interpretation `json:"interpretations"` + Interpretations []Translation `json:"interpretations"` // The key of this verse (chapter:verse) e.g 1:1 Key string `json:"key"` // The verse number in this chapter @@ -161,7 +161,7 @@ type Verse struct { // The basic translation of the verse TranslatedText string `json:"translatedText"` // The alternative translations for the verse - Translations []Interpretation `json:"translations"` + Translations []Translation `json:"translations"` // The phonetic transliteration from arabic Transliteration string `json:"transliteration"` // The individual words within the verse (Ayah) diff --git a/clients/go/sunnah/sunnah.go b/clients/go/sunnah/sunnah.go new file mode 100755 index 0000000..4375cfc --- /dev/null +++ b/clients/go/sunnah/sunnah.go @@ -0,0 +1,183 @@ +package sunnah + +import ( + "github.com/m3o/m3o-go/client" +) + +func NewSunnahService(token string) *SunnahService { + return &SunnahService{ + client: client.NewClient(&client.Options{ + Token: token, + }), + } +} + +type SunnahService struct { + client *client.Client +} + +// Get a list of books from within a collection. A book can contain many chapters +// each with its own hadiths. +func (t *SunnahService) Books(request *BooksRequest) (*BooksResponse, error) { + rsp := &BooksResponse{} + return rsp, t.client.Call("sunnah", "Books", request, rsp) +} + +// Get all the chapters of a given book within a collection. +func (t *SunnahService) Chapters(request *ChaptersRequest) (*ChaptersResponse, error) { + rsp := &ChaptersResponse{} + return rsp, t.client.Call("sunnah", "Chapters", request, rsp) +} + +// Get a list of available collections. A collection is +// a compilation of hadiths collected and written by an author. +func (t *SunnahService) Collections(request *CollectionsRequest) (*CollectionsResponse, error) { + rsp := &CollectionsResponse{} + return rsp, t.client.Call("sunnah", "Collections", request, rsp) +} + +// Hadiths returns a list of hadiths and their corresponding text for a +// given book within a collection. +func (t *SunnahService) Hadiths(request *HadithsRequest) (*HadithsResponse, error) { + rsp := &HadithsResponse{} + return rsp, t.client.Call("sunnah", "Hadiths", request, rsp) +} + +type Book struct { + // arabic name of the book + ArabicName string `json:"arabicName"` + // number of hadiths in the book + Hadiths int32 `json:"hadiths"` + // number of the book e.g 1 + Id int32 `json:"id"` + // name of the book + Name string `json:"name"` +} + +type BooksRequest struct { + // Name of the collection + Collection string `json:"collection"` + // Limit the number of books returned + Limit int32 `json:"limit"` + // The page in the pagination + Page int32 `json:"page"` +} + +type BooksResponse struct { + // A list of books + Books []Book `json:"books"` + // Name of the collection + Collection string `json:"collection"` + // The limit specified + Limit int32 `json:"limit"` + // The page requested + Page int32 `json:"page"` + // The total overall books + Total int32 `json:"total"` +} + +type Chapter struct { + // arabic title + ArabicTitle string `json:"arabicTitle"` + // the book number + Book int32 `json:"book"` + // the chapter id e.g 1 + Id int32 `json:"id"` + // the chapter key e.g 1.00 + Key string `json:"key"` + // title of the chapter + Title string `json:"title"` +} + +type ChaptersRequest struct { + // number of the book + Book int32 `json:"book"` + // name of the collection + Collection string `json:"collection"` + // Limit the number of chapters returned + Limit int32 `json:"limit"` + // The page in the pagination + Page int32 `json:"page"` +} + +type ChaptersResponse struct { + // number of the book + Book int32 `json:"book"` + // The chapters of the book + Chapters []Chapter `json:"chapters"` + // name of the collection + Collection string `json:"collection"` + // Limit the number of chapters returned + Limit int32 `json:"limit"` + // The page in the pagination + Page int32 `json:"page"` + // Total chapters in the book + Total int32 `json:"total"` +} + +type Collection struct { + // Arabic title if available + ArabicTitle string `json:"arabicTitle"` + // Total hadiths in the collection + Hadiths int32 `json:"hadiths"` + // Name of the collection e.g bukhari + Name string `json:"name"` + // An introduction explaining the collection + Summary string `json:"summary"` + // Title of the collection e.g Sahih al-Bukhari + Title string `json:"title"` +} + +type CollectionsRequest struct { + // Number of collections to limit to + Limit int32 `json:"limit"` + // The page in the pagination + Page int32 `json:"page"` +} + +type CollectionsResponse struct { + Collections []Collection `json:"collections"` +} + +type Hadith struct { + // the arabic chapter title + ArabicChapterTitle string `json:"arabicChapterTitle"` + // the arabic text + ArabicText string `json:"arabicText"` + // the chapter id + Chapter int32 `json:"chapter"` + // the chapter key + ChapterKey string `json:"chapterKey"` + // the chapter title + ChapterTitle string `json:"chapterTitle"` + // hadith id + Id int32 `json:"id"` + // hadith text + Text string `json:"text"` +} + +type HadithsRequest struct { + // number of the book + Book int32 `json:"book"` + // name of the collection + Collection string `json:"collection"` + // Limit the number of hadiths + Limit int32 `json:"limit"` + // The page in the pagination + Page int32 `json:"page"` +} + +type HadithsResponse struct { + // number of the book + Book int32 `json:"book"` + // name of the collection + Collection string `json:"collection"` + // The hadiths of the book + Hadiths []Hadith `json:"hadiths"` + // Limit the number of hadiths returned + Limit int32 `json:"limit"` + // The page in the pagination + Page int32 `json:"page"` + // Total hadiths in the book + Total int32 `json:"total"` +} diff --git a/clients/ts/index.ts b/clients/ts/index.ts index 444d989..5ed6804 100755 --- a/clients/ts/index.ts +++ b/clients/ts/index.ts @@ -24,6 +24,7 @@ import * as sentiment from "./sentiment"; import * as sms from "./sms"; import * as stock from "./stock"; import * as stream from "./stream"; +import * as sunnah from "./sunnah"; import * as thumbnail from "./thumbnail"; import * as time from "./time"; import * as twitter from "./twitter"; @@ -59,6 +60,7 @@ export class Client { this.smsService = new sms.SmsService(token); this.stockService = new stock.StockService(token); this.streamService = new stream.StreamService(token); + this.sunnahService = new sunnah.SunnahService(token); this.thumbnailService = new thumbnail.ThumbnailService(token); this.timeService = new time.TimeService(token); this.twitterService = new twitter.TwitterService(token); @@ -93,6 +95,7 @@ export class Client { smsService: sms.SmsService; stockService: stock.StockService; streamService: stream.StreamService; + sunnahService: sunnah.SunnahService; thumbnailService: thumbnail.ThumbnailService; timeService: time.TimeService; twitterService: twitter.TwitterService; diff --git a/clients/ts/package.json b/clients/ts/package.json index 9e784e6..b1df120 100644 --- a/clients/ts/package.json +++ b/clients/ts/package.json @@ -36,6 +36,7 @@ "./sms": "./dist/sms/index.js", "./stock": "./dist/stock/index.js", "./stream": "./dist/stream/index.js", + "./sunnah": "./dist/sunnah/index.js", "./test": "./dist/test/index.js", "./thumbnail": "./dist/thumbnail/index.js", "./time": "./dist/time/index.js", diff --git a/clients/ts/quran/index.ts b/clients/ts/quran/index.ts index f903ecc..0371e68 100755 --- a/clients/ts/quran/index.ts +++ b/clients/ts/quran/index.ts @@ -87,7 +87,7 @@ export interface Result { // The associated arabic text text?: string; // The related translations to the text - translations?: Interpretation[]; + translations?: Translation[]; // The unique verse id across the Quran verseId?: number; // The verse key e.g 1:1 @@ -149,7 +149,7 @@ export interface Verse { // The unique id of the verse in the whole book id?: number; // The interpretations of the verse - interpretations?: Interpretation[]; + interpretations?: Translation[]; // The key of this verse (chapter:verse) e.g 1:1 key?: string; // The verse number in this chapter @@ -161,7 +161,7 @@ export interface Verse { // The basic translation of the verse translatedText?: string; // The alternative translations for the verse - translations?: Interpretation[]; + translations?: Translation[]; // The phonetic transliteration from arabic transliteration?: string; // The individual words within the verse (Ayah) diff --git a/clients/ts/sunnah/index.ts b/clients/ts/sunnah/index.ts new file mode 100755 index 0000000..cb83307 --- /dev/null +++ b/clients/ts/sunnah/index.ts @@ -0,0 +1,183 @@ +import * as m3o from "@m3o/m3o-node"; + +export class SunnahService { + private client: m3o.Client; + + constructor(token: string) { + this.client = new m3o.Client({ token: token }); + } + // Get a list of books from within a collection. A book can contain many chapters + // each with its own hadiths. + books(request: BooksRequest): Promise { + return this.client.call( + "sunnah", + "Books", + request + ) as Promise; + } + // Get all the chapters of a given book within a collection. + chapters(request: ChaptersRequest): Promise { + return this.client.call( + "sunnah", + "Chapters", + request + ) as Promise; + } + // Get a list of available collections. A collection is + // a compilation of hadiths collected and written by an author. + collections(request: CollectionsRequest): Promise { + return this.client.call( + "sunnah", + "Collections", + request + ) as Promise; + } + // Hadiths returns a list of hadiths and their corresponding text for a + // given book within a collection. + hadiths(request: HadithsRequest): Promise { + return this.client.call( + "sunnah", + "Hadiths", + request + ) as Promise; + } +} + +export interface Book { + // arabic name of the book + arabicName?: string; + // number of hadiths in the book + hadiths?: number; + // number of the book e.g 1 + id?: number; + // name of the book + name?: string; +} + +export interface BooksRequest { + // Name of the collection + collection?: string; + // Limit the number of books returned + limit?: number; + // The page in the pagination + page?: number; +} + +export interface BooksResponse { + // A list of books + books?: Book[]; + // Name of the collection + collection?: string; + // The limit specified + limit?: number; + // The page requested + page?: number; + // The total overall books + total?: number; +} + +export interface Chapter { + // arabic title + arabicTitle?: string; + // the book number + book?: number; + // the chapter id e.g 1 + id?: number; + // the chapter key e.g 1.00 + key?: string; + // title of the chapter + title?: string; +} + +export interface ChaptersRequest { + // number of the book + book?: number; + // name of the collection + collection?: string; + // Limit the number of chapters returned + limit?: number; + // The page in the pagination + page?: number; +} + +export interface ChaptersResponse { + // number of the book + book?: number; + // The chapters of the book + chapters?: Chapter[]; + // name of the collection + collection?: string; + // Limit the number of chapters returned + limit?: number; + // The page in the pagination + page?: number; + // Total chapters in the book + total?: number; +} + +export interface Collection { + // Arabic title if available + arabicTitle?: string; + // Total hadiths in the collection + hadiths?: number; + // Name of the collection e.g bukhari + name?: string; + // An introduction explaining the collection + summary?: string; + // Title of the collection e.g Sahih al-Bukhari + title?: string; +} + +export interface CollectionsRequest { + // Number of collections to limit to + limit?: number; + // The page in the pagination + page?: number; +} + +export interface CollectionsResponse { + collections?: Collection[]; +} + +export interface Hadith { + // the arabic chapter title + arabicChapterTitle?: string; + // the arabic text + arabicText?: string; + // the chapter id + chapter?: number; + // the chapter key + chapterKey?: string; + // the chapter title + chapterTitle?: string; + // hadith id + id?: number; + // hadith text + text?: string; +} + +export interface HadithsRequest { + // number of the book + book?: number; + // name of the collection + collection?: string; + // Limit the number of hadiths + limit?: number; + // The page in the pagination + page?: number; +} + +export interface HadithsResponse { + // number of the book + book?: number; + // name of the collection + collection?: string; + // The hadiths of the book + hadiths?: Hadith[]; + // Limit the number of hadiths returned + limit?: number; + // The page in the pagination + page?: number; + // Total hadiths in the book + total?: number; +} diff --git a/examples/stream/publish/go/publishAMessage.go b/examples/stream/publish/go/publishAMessage.go index af88ee1..0f33eac 100755 --- a/examples/stream/publish/go/publishAMessage.go +++ b/examples/stream/publish/go/publishAMessage.go @@ -11,9 +11,9 @@ func PublishAmessage() { streamService := stream.NewStreamService(os.Getenv("MICRO_API_TOKEN")) rsp, err := streamService.Publish(&stream.PublishRequest{ Message: map[string]interface{}{ + "user": "john", "id": "1", "type": "signup", - "user": "john", }, Topic: "events", }) diff --git a/examples/sunnah/books/curl/getTheBooksWithinACollection.sh b/examples/sunnah/books/curl/getTheBooksWithinACollection.sh new file mode 100755 index 0000000..0262af1 --- /dev/null +++ b/examples/sunnah/books/curl/getTheBooksWithinACollection.sh @@ -0,0 +1,6 @@ +curl "https://api.m3o.com/v1/sunnah/Books" \ +-H "Content-Type: application/json" \ +-H "Authorization: Bearer $MICRO_API_TOKEN" \ +-d '{ + "collection": "bukhari" +}' \ No newline at end of file diff --git a/examples/sunnah/books/go/getTheBooksWithinACollection.go b/examples/sunnah/books/go/getTheBooksWithinACollection.go new file mode 100755 index 0000000..bba2514 --- /dev/null +++ b/examples/sunnah/books/go/getTheBooksWithinACollection.go @@ -0,0 +1,17 @@ +package example + +import ( + "fmt" + "github.com/micro/services/clients/go/sunnah" + "os" +) + +// Get a list of books from within a collection. A book can contain many chapters +// each with its own hadiths. +func GetTheBooksWithinAcollection() { + sunnahService := sunnah.NewSunnahService(os.Getenv("MICRO_API_TOKEN")) + rsp, err := sunnahService.Books(&sunnah.BooksRequest{ + Collection: "bukhari", + }) + fmt.Println(rsp, err) +} diff --git a/examples/sunnah/books/node/getTheBooksWithinACollection.js b/examples/sunnah/books/node/getTheBooksWithinACollection.js new file mode 100755 index 0000000..ae4d205 --- /dev/null +++ b/examples/sunnah/books/node/getTheBooksWithinACollection.js @@ -0,0 +1,13 @@ +import * as sunnah from "m3o/sunnah"; + +// Get a list of books from within a collection. A book can contain many chapters +// each with its own hadiths. +async function GetTheBooksWithinAcollection() { + let sunnahService = new sunnah.SunnahService(process.env.MICRO_API_TOKEN); + let rsp = await sunnahService.books({ + collection: "bukhari", + }); + console.log(rsp); +} + +await GetTheBooksWithinAcollection(); diff --git a/examples/sunnah/chapters/curl/listTheChaptersInABook.sh b/examples/sunnah/chapters/curl/listTheChaptersInABook.sh new file mode 100755 index 0000000..0cdd3a3 --- /dev/null +++ b/examples/sunnah/chapters/curl/listTheChaptersInABook.sh @@ -0,0 +1,7 @@ +curl "https://api.m3o.com/v1/sunnah/Chapters" \ +-H "Content-Type: application/json" \ +-H "Authorization: Bearer $MICRO_API_TOKEN" \ +-d '{ + "book": 1, + "collection": "bukhari" +}' \ No newline at end of file diff --git a/examples/sunnah/chapters/go/listTheChaptersInABook.go b/examples/sunnah/chapters/go/listTheChaptersInABook.go new file mode 100755 index 0000000..18f78f1 --- /dev/null +++ b/examples/sunnah/chapters/go/listTheChaptersInABook.go @@ -0,0 +1,17 @@ +package example + +import ( + "fmt" + "github.com/micro/services/clients/go/sunnah" + "os" +) + +// Get all the chapters of a given book within a collection. +func ListTheChaptersInAbook() { + sunnahService := sunnah.NewSunnahService(os.Getenv("MICRO_API_TOKEN")) + rsp, err := sunnahService.Chapters(&sunnah.ChaptersRequest{ + Book: 1, + Collection: "bukhari", + }) + fmt.Println(rsp, err) +} diff --git a/examples/sunnah/chapters/node/listTheChaptersInABook.js b/examples/sunnah/chapters/node/listTheChaptersInABook.js new file mode 100755 index 0000000..1b0f0d1 --- /dev/null +++ b/examples/sunnah/chapters/node/listTheChaptersInABook.js @@ -0,0 +1,13 @@ +import * as sunnah from "m3o/sunnah"; + +// Get all the chapters of a given book within a collection. +async function ListTheChaptersInAbook() { + let sunnahService = new sunnah.SunnahService(process.env.MICRO_API_TOKEN); + let rsp = await sunnahService.chapters({ + book: 1, + collection: "bukhari", + }); + console.log(rsp); +} + +await ListTheChaptersInAbook(); diff --git a/examples/sunnah/collections/curl/listAvailableCollections.sh b/examples/sunnah/collections/curl/listAvailableCollections.sh new file mode 100755 index 0000000..3e14081 --- /dev/null +++ b/examples/sunnah/collections/curl/listAvailableCollections.sh @@ -0,0 +1,4 @@ +curl "https://api.m3o.com/v1/sunnah/Collections" \ +-H "Content-Type: application/json" \ +-H "Authorization: Bearer $MICRO_API_TOKEN" \ +-d '{}' \ No newline at end of file diff --git a/examples/sunnah/collections/go/listAvailableCollections.go b/examples/sunnah/collections/go/listAvailableCollections.go new file mode 100755 index 0000000..5469cfe --- /dev/null +++ b/examples/sunnah/collections/go/listAvailableCollections.go @@ -0,0 +1,15 @@ +package example + +import ( + "fmt" + "github.com/micro/services/clients/go/sunnah" + "os" +) + +// Get a list of available collections. A collection is +// a compilation of hadiths collected and written by an author. +func ListAvailableCollections() { + sunnahService := sunnah.NewSunnahService(os.Getenv("MICRO_API_TOKEN")) + rsp, err := sunnahService.Collections(&sunnah.CollectionsRequest{}) + fmt.Println(rsp, err) +} diff --git a/examples/sunnah/collections/node/listAvailableCollections.js b/examples/sunnah/collections/node/listAvailableCollections.js new file mode 100755 index 0000000..4c4641a --- /dev/null +++ b/examples/sunnah/collections/node/listAvailableCollections.js @@ -0,0 +1,11 @@ +import * as sunnah from "m3o/sunnah"; + +// Get a list of available collections. A collection is +// a compilation of hadiths collected and written by an author. +async function ListAvailableCollections() { + let sunnahService = new sunnah.SunnahService(process.env.MICRO_API_TOKEN); + let rsp = await sunnahService.collections({}); + console.log(rsp); +} + +await ListAvailableCollections(); diff --git a/examples/sunnah/hadiths/curl/listTheHadithsInABook.sh b/examples/sunnah/hadiths/curl/listTheHadithsInABook.sh new file mode 100755 index 0000000..d9ad1f1 --- /dev/null +++ b/examples/sunnah/hadiths/curl/listTheHadithsInABook.sh @@ -0,0 +1,7 @@ +curl "https://api.m3o.com/v1/sunnah/Hadiths" \ +-H "Content-Type: application/json" \ +-H "Authorization: Bearer $MICRO_API_TOKEN" \ +-d '{ + "book": 1, + "collection": "bukhari" +}' \ No newline at end of file diff --git a/examples/sunnah/hadiths/go/listTheHadithsInABook.go b/examples/sunnah/hadiths/go/listTheHadithsInABook.go new file mode 100755 index 0000000..50f0f22 --- /dev/null +++ b/examples/sunnah/hadiths/go/listTheHadithsInABook.go @@ -0,0 +1,18 @@ +package example + +import ( + "fmt" + "github.com/micro/services/clients/go/sunnah" + "os" +) + +// Hadiths returns a list of hadiths and their corresponding text for a +// given book within a collection. +func ListTheHadithsInAbook() { + sunnahService := sunnah.NewSunnahService(os.Getenv("MICRO_API_TOKEN")) + rsp, err := sunnahService.Hadiths(&sunnah.HadithsRequest{ + Book: 1, + Collection: "bukhari", + }) + fmt.Println(rsp, err) +} diff --git a/examples/sunnah/hadiths/node/listTheHadithsInABook.js b/examples/sunnah/hadiths/node/listTheHadithsInABook.js new file mode 100755 index 0000000..08ab3f0 --- /dev/null +++ b/examples/sunnah/hadiths/node/listTheHadithsInABook.js @@ -0,0 +1,14 @@ +import * as sunnah from "m3o/sunnah"; + +// Hadiths returns a list of hadiths and their corresponding text for a +// given book within a collection. +async function ListTheHadithsInAbook() { + let sunnahService = new sunnah.SunnahService(process.env.MICRO_API_TOKEN); + let rsp = await sunnahService.hadiths({ + book: 1, + collection: "bukhari", + }); + console.log(rsp); +} + +await ListTheHadithsInAbook();