mirror of
https://github.com/kevin-DL/services.git
synced 2026-01-11 19:04:35 +00:00
Commit from GitHub Actions (Publish APIs & Clients)
This commit is contained in:
@@ -20,6 +20,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/prayer"
|
||||
"github.com/micro/services/clients/go/qr"
|
||||
"github.com/micro/services/clients/go/quran"
|
||||
"github.com/micro/services/clients/go/routing"
|
||||
@@ -60,6 +61,7 @@ func NewClient(token string) *Client {
|
||||
LocationService: location.NewLocationService(token),
|
||||
OtpService: otp.NewOtpService(token),
|
||||
PostcodeService: postcode.NewPostcodeService(token),
|
||||
PrayerService: prayer.NewPrayerService(token),
|
||||
QrService: qr.NewQrService(token),
|
||||
QuranService: quran.NewQuranService(token),
|
||||
RoutingService: routing.NewRoutingService(token),
|
||||
@@ -100,6 +102,7 @@ type Client struct {
|
||||
LocationService *location.LocationService
|
||||
OtpService *otp.OtpService
|
||||
PostcodeService *postcode.PostcodeService
|
||||
PrayerService *prayer.PrayerService
|
||||
QrService *qr.QrService
|
||||
QuranService *quran.QuranService
|
||||
RoutingService *routing.RoutingService
|
||||
|
||||
69
clients/go/prayer/prayer.go
Executable file
69
clients/go/prayer/prayer.go
Executable file
@@ -0,0 +1,69 @@
|
||||
package prayer
|
||||
|
||||
import (
|
||||
"github.com/m3o/m3o-go/client"
|
||||
)
|
||||
|
||||
func NewPrayerService(token string) *PrayerService {
|
||||
return &PrayerService{
|
||||
client: client.NewClient(&client.Options{
|
||||
Token: token,
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
type PrayerService struct {
|
||||
client *client.Client
|
||||
}
|
||||
|
||||
//
|
||||
func (t *PrayerService) Times(request *TimesRequest) (*TimesResponse, error) {
|
||||
rsp := &TimesResponse{}
|
||||
return rsp, t.client.Call("prayer", "Times", request, rsp)
|
||||
}
|
||||
|
||||
type PrayerTime struct {
|
||||
// asr time
|
||||
Asr string `json:"asr"`
|
||||
// date for prayer times in YYYY-MM-DD format
|
||||
Date string `json:"date"`
|
||||
// fajr time
|
||||
Fajr string `json:"fajr"`
|
||||
// isha time
|
||||
Isha string `json:"isha"`
|
||||
// maghrib time
|
||||
Maghrib string `json:"maghrib"`
|
||||
// time of sunrise
|
||||
Sunrise string `json:"sunrise"`
|
||||
// zuhr time
|
||||
Zuhr string `json:"zuhr"`
|
||||
}
|
||||
|
||||
type TimesRequest struct {
|
||||
// optional date in YYYY-MM-DD format, otherwise uses today
|
||||
Date string `json:"date"`
|
||||
// number of days to request times for
|
||||
Days int32 `json:"days"`
|
||||
// optional latitude used in place of location
|
||||
Latitude float64 `json:"latitude"`
|
||||
// location to retrieve prayer times for.
|
||||
// this can be a specific address, city, etc
|
||||
Location string `json:"location"`
|
||||
// optional longitude used in place of location
|
||||
Longitude float64 `json:"longitude"`
|
||||
}
|
||||
|
||||
type TimesResponse struct {
|
||||
// date of request
|
||||
Date string `json:"date"`
|
||||
// number of days
|
||||
Days int32 `json:"days"`
|
||||
// latitude of location
|
||||
Latitude float64 `json:"latitude"`
|
||||
// location for the request
|
||||
Location string `json:"location"`
|
||||
// longitude of location
|
||||
Longitude float64 `json:"longitude"`
|
||||
// prayer times for the given location
|
||||
Times []PrayerTime `json:"times"`
|
||||
}
|
||||
@@ -17,6 +17,7 @@ import * as ip from "./ip";
|
||||
import * as location from "./location";
|
||||
import * as otp from "./otp";
|
||||
import * as postcode from "./postcode";
|
||||
import * as prayer from "./prayer";
|
||||
import * as qr from "./qr";
|
||||
import * as quran from "./quran";
|
||||
import * as routing from "./routing";
|
||||
@@ -54,6 +55,7 @@ export class Client {
|
||||
this.locationService = new location.LocationService(token);
|
||||
this.otpService = new otp.OtpService(token);
|
||||
this.postcodeService = new postcode.PostcodeService(token);
|
||||
this.prayerService = new prayer.PrayerService(token);
|
||||
this.qrService = new qr.QrService(token);
|
||||
this.quranService = new quran.QuranService(token);
|
||||
this.routingService = new routing.RoutingService(token);
|
||||
@@ -90,6 +92,7 @@ export class Client {
|
||||
locationService: location.LocationService;
|
||||
otpService: otp.OtpService;
|
||||
postcodeService: postcode.PostcodeService;
|
||||
prayerService: prayer.PrayerService;
|
||||
qrService: qr.QrService;
|
||||
quranService: quran.QuranService;
|
||||
routingService: routing.RoutingService;
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"./otp": "./dist/otp/index.js",
|
||||
"./pkg": "./dist/pkg/index.js",
|
||||
"./postcode": "./dist/postcode/index.js",
|
||||
"./prayer": "./dist/prayer/index.js",
|
||||
"./qr": "./dist/qr/index.js",
|
||||
"./quran": "./dist/quran/index.js",
|
||||
"./routing": "./dist/routing/index.js",
|
||||
@@ -60,5 +61,5 @@
|
||||
},
|
||||
"type": "module",
|
||||
"types": "dist/index.d.ts",
|
||||
"version": "1.0.526"
|
||||
"version": "1.0.527"
|
||||
}
|
||||
63
clients/ts/prayer/index.ts
Executable file
63
clients/ts/prayer/index.ts
Executable file
@@ -0,0 +1,63 @@
|
||||
import * as m3o from "@m3o/m3o-node";
|
||||
|
||||
export class PrayerService {
|
||||
private client: m3o.Client;
|
||||
|
||||
constructor(token: string) {
|
||||
this.client = new m3o.Client({ token: token });
|
||||
}
|
||||
//
|
||||
times(request: TimesRequest): Promise<TimesResponse> {
|
||||
return this.client.call(
|
||||
"prayer",
|
||||
"Times",
|
||||
request
|
||||
) as Promise<TimesResponse>;
|
||||
}
|
||||
}
|
||||
|
||||
export interface PrayerTime {
|
||||
// asr time
|
||||
asr?: string;
|
||||
// date for prayer times in YYYY-MM-DD format
|
||||
date?: string;
|
||||
// fajr time
|
||||
fajr?: string;
|
||||
// isha time
|
||||
isha?: string;
|
||||
// maghrib time
|
||||
maghrib?: string;
|
||||
// time of sunrise
|
||||
sunrise?: string;
|
||||
// zuhr time
|
||||
zuhr?: string;
|
||||
}
|
||||
|
||||
export interface TimesRequest {
|
||||
// optional date in YYYY-MM-DD format, otherwise uses today
|
||||
date?: string;
|
||||
// number of days to request times for
|
||||
days?: number;
|
||||
// optional latitude used in place of location
|
||||
latitude?: number;
|
||||
// location to retrieve prayer times for.
|
||||
// this can be a specific address, city, etc
|
||||
location?: string;
|
||||
// optional longitude used in place of location
|
||||
longitude?: number;
|
||||
}
|
||||
|
||||
export interface TimesResponse {
|
||||
// date of request
|
||||
date?: string;
|
||||
// number of days
|
||||
days?: number;
|
||||
// latitude of location
|
||||
latitude?: number;
|
||||
// location for the request
|
||||
location?: string;
|
||||
// longitude of location
|
||||
longitude?: number;
|
||||
// prayer times for the given location
|
||||
times?: PrayerTime[];
|
||||
}
|
||||
6
examples/prayer/times/curl/prayerTimes.sh
Executable file
6
examples/prayer/times/curl/prayerTimes.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
curl "https://api.m3o.com/v1/prayer/Times" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "Authorization: Bearer $MICRO_API_TOKEN" \
|
||||
-d '{
|
||||
"location": "london"
|
||||
}'
|
||||
16
examples/prayer/times/go/prayerTimes.go
Executable file
16
examples/prayer/times/go/prayerTimes.go
Executable file
@@ -0,0 +1,16 @@
|
||||
package example
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/micro/services/clients/go/prayer"
|
||||
"os"
|
||||
)
|
||||
|
||||
//
|
||||
func PrayerTimes() {
|
||||
prayerService := prayer.NewPrayerService(os.Getenv("MICRO_API_TOKEN"))
|
||||
rsp, err := prayerService.Times(&prayer.TimesRequest{
|
||||
Location: "london",
|
||||
})
|
||||
fmt.Println(rsp, err)
|
||||
}
|
||||
12
examples/prayer/times/node/prayerTimes.js
Executable file
12
examples/prayer/times/node/prayerTimes.js
Executable file
@@ -0,0 +1,12 @@
|
||||
import * as prayer from "m3o/prayer";
|
||||
|
||||
//
|
||||
async function PrayerTimes() {
|
||||
let prayerService = new prayer.PrayerService(process.env.MICRO_API_TOKEN);
|
||||
let rsp = await prayerService.times({
|
||||
location: "london",
|
||||
});
|
||||
console.log(rsp);
|
||||
}
|
||||
|
||||
await PrayerTimes();
|
||||
Reference in New Issue
Block a user