From 77810789ff0a9b72c958e12d0f83e9c121ea5d22 Mon Sep 17 00:00:00 2001 From: domwong Date: Mon, 20 Sep 2021 10:19:39 +0000 Subject: [PATCH] Commit from GitHub Actions (Publish APIs & Clients) --- clients/go/m3o.go | 3 ++ clients/go/qr/qr.go | 35 ++++++++++++++++++++ clients/go/quran/quran.go | 4 +-- clients/ts/index.ts | 3 ++ clients/ts/package.json | 3 +- clients/ts/qr/index.ts | 29 ++++++++++++++++ clients/ts/quran/index.ts | 4 +-- examples/qr/generate/curl/generateAQrCode.sh | 7 ++++ examples/qr/generate/go/generateAQrCode.go | 17 ++++++++++ examples/qr/generate/node/generateAQrCode.js | 13 ++++++++ 10 files changed, 113 insertions(+), 5 deletions(-) create mode 100755 clients/go/qr/qr.go create mode 100755 clients/ts/qr/index.ts create mode 100755 examples/qr/generate/curl/generateAQrCode.sh create mode 100755 examples/qr/generate/go/generateAQrCode.go create mode 100755 examples/qr/generate/node/generateAQrCode.js diff --git a/clients/go/m3o.go b/clients/go/m3o.go index c4fb7eb..1e3a2eb 100755 --- a/clients/go/m3o.go +++ b/clients/go/m3o.go @@ -19,6 +19,7 @@ import ( "github.com/micro/services/clients/go/location" "github.com/micro/services/clients/go/otp" "github.com/micro/services/clients/go/postcode" + "github.com/micro/services/clients/go/qr" "github.com/micro/services/clients/go/quran" "github.com/micro/services/clients/go/routing" "github.com/micro/services/clients/go/rss" @@ -56,6 +57,7 @@ func NewClient(token string) *Client { LocationService: location.NewLocationService(token), OtpService: otp.NewOtpService(token), PostcodeService: postcode.NewPostcodeService(token), + QrService: qr.NewQrService(token), QuranService: quran.NewQuranService(token), RoutingService: routing.NewRoutingService(token), RssService: rss.NewRssService(token), @@ -93,6 +95,7 @@ type Client struct { LocationService *location.LocationService OtpService *otp.OtpService PostcodeService *postcode.PostcodeService + QrService *qr.QrService QuranService *quran.QuranService RoutingService *routing.RoutingService RssService *rss.RssService diff --git a/clients/go/qr/qr.go b/clients/go/qr/qr.go new file mode 100755 index 0000000..22f2dec --- /dev/null +++ b/clients/go/qr/qr.go @@ -0,0 +1,35 @@ +package qr + +import ( + "github.com/m3o/m3o-go/client" +) + +func NewQrService(token string) *QrService { + return &QrService{ + client: client.NewClient(&client.Options{ + Token: token, + }), + } +} + +type QrService struct { + client *client.Client +} + +// +func (t *QrService) Generate(request *GenerateRequest) (*GenerateResponse, error) { + rsp := &GenerateResponse{} + return rsp, t.client.Call("qr", "Generate", request, rsp) +} + +type GenerateRequest struct { + // the size (height and width) in pixels of the generated QR code. Defaults to 256 + Size int64 `json:"size"` + // the text to encode as a QR code (URL, phone number, email, etc) + Text string `json:"text"` +} + +type GenerateResponse struct { + // link to the QR code image in PNG format + Qr string `json:"qr"` +} diff --git a/clients/go/quran/quran.go b/clients/go/quran/quran.go index 3fc090d..ea515f2 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 []Translation `json:"translations"` + Translations []Interpretation `json:"translations"` // The unique verse id across the Quran VerseId int32 `json:"verseId"` // The verse key e.g 1:1 @@ -161,7 +161,7 @@ type Verse struct { // The basic translation of the verse TranslatedText string `json:"translatedText"` // The alternative translations for the verse - Translations []Translation `json:"translations"` + Translations []Interpretation `json:"translations"` // The phonetic transliteration from arabic Transliteration string `json:"transliteration"` // The individual words within the verse (Ayah) diff --git a/clients/ts/index.ts b/clients/ts/index.ts index 61961ae..444d989 100755 --- a/clients/ts/index.ts +++ b/clients/ts/index.ts @@ -16,6 +16,7 @@ import * as ip from "./ip"; import * as location from "./location"; import * as otp from "./otp"; import * as postcode from "./postcode"; +import * as qr from "./qr"; import * as quran from "./quran"; import * as routing from "./routing"; import * as rss from "./rss"; @@ -50,6 +51,7 @@ export class Client { this.locationService = new location.LocationService(token); this.otpService = new otp.OtpService(token); this.postcodeService = new postcode.PostcodeService(token); + this.qrService = new qr.QrService(token); this.quranService = new quran.QuranService(token); this.routingService = new routing.RoutingService(token); this.rssService = new rss.RssService(token); @@ -83,6 +85,7 @@ export class Client { locationService: location.LocationService; otpService: otp.OtpService; postcodeService: postcode.PostcodeService; + qrService: qr.QrService; quranService: quran.QuranService; routingService: routing.RoutingService; rssService: rss.RssService; diff --git a/clients/ts/package.json b/clients/ts/package.json index e82d613..960db9d 100644 --- a/clients/ts/package.json +++ b/clients/ts/package.json @@ -28,6 +28,7 @@ "./otp": "./dist/otp/index.js", "./pkg": "./dist/pkg/index.js", "./postcode": "./dist/postcode/index.js", + "./qr": "./dist/qr/index.js", "./quran": "./dist/quran/index.js", "./routing": "./dist/routing/index.js", "./rss": "./dist/rss/index.js", @@ -57,5 +58,5 @@ }, "type": "module", "types": "dist/index.d.ts", - "version": "1.0.514" + "version": "1.0.515" } \ No newline at end of file diff --git a/clients/ts/qr/index.ts b/clients/ts/qr/index.ts new file mode 100755 index 0000000..80380e1 --- /dev/null +++ b/clients/ts/qr/index.ts @@ -0,0 +1,29 @@ +import * as m3o from "@m3o/m3o-node"; + +export class QrService { + private client: m3o.Client; + + constructor(token: string) { + this.client = new m3o.Client({ token: token }); + } + // + generate(request: GenerateRequest): Promise { + return this.client.call( + "qr", + "Generate", + request + ) as Promise; + } +} + +export interface GenerateRequest { + // the size (height and width) in pixels of the generated QR code. Defaults to 256 + size?: number; + // the text to encode as a QR code (URL, phone number, email, etc) + text?: string; +} + +export interface GenerateResponse { + // link to the QR code image in PNG format + qr?: string; +} diff --git a/clients/ts/quran/index.ts b/clients/ts/quran/index.ts index ecac3c8..f903ecc 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?: Translation[]; + translations?: Interpretation[]; // The unique verse id across the Quran verseId?: number; // The verse key e.g 1:1 @@ -161,7 +161,7 @@ export interface Verse { // The basic translation of the verse translatedText?: string; // The alternative translations for the verse - translations?: Translation[]; + translations?: Interpretation[]; // The phonetic transliteration from arabic transliteration?: string; // The individual words within the verse (Ayah) diff --git a/examples/qr/generate/curl/generateAQrCode.sh b/examples/qr/generate/curl/generateAQrCode.sh new file mode 100755 index 0000000..e3f8a32 --- /dev/null +++ b/examples/qr/generate/curl/generateAQrCode.sh @@ -0,0 +1,7 @@ +curl "https://api.m3o.com/v1/qr/Generate" \ +-H "Content-Type: application/json" \ +-H "Authorization: Bearer $MICRO_API_TOKEN" \ +-d '{ + "size": 300, + "text": "https://m3o.com/qr" +}' \ No newline at end of file diff --git a/examples/qr/generate/go/generateAQrCode.go b/examples/qr/generate/go/generateAQrCode.go new file mode 100755 index 0000000..732fc5d --- /dev/null +++ b/examples/qr/generate/go/generateAQrCode.go @@ -0,0 +1,17 @@ +package example + +import ( + "fmt" + "github.com/micro/services/clients/go/qr" + "os" +) + +// +func GenerateAqrCode() { + qrService := qr.NewQrService(os.Getenv("MICRO_API_TOKEN")) + rsp, err := qrService.Generate(&qr.GenerateRequest{ + Size: 300, + Text: "https://m3o.com/qr", + }) + fmt.Println(rsp, err) +} diff --git a/examples/qr/generate/node/generateAQrCode.js b/examples/qr/generate/node/generateAQrCode.js new file mode 100755 index 0000000..d211208 --- /dev/null +++ b/examples/qr/generate/node/generateAQrCode.js @@ -0,0 +1,13 @@ +import * as qr from "m3o/qr"; + +// +async function GenerateAqrCode() { + let qrService = new qr.QrService(process.env.MICRO_API_TOKEN); + let rsp = await qrService.generate({ + size: 300, + text: "https://m3o.com/qr", + }); + console.log(rsp); +} + +await GenerateAqrCode();