Commit from GitHub Actions (Generate Clients & Examples)

This commit is contained in:
domwong
2021-11-11 17:34:56 +00:00
parent 57f48c49fd
commit 2e50bd5dc3
11 changed files with 98 additions and 4 deletions

View File

@@ -34,6 +34,7 @@ import (
"github.com/micro/services/clients/go/rss"
"github.com/micro/services/clients/go/sentiment"
"github.com/micro/services/clients/go/sms"
"github.com/micro/services/clients/go/spam"
"github.com/micro/services/clients/go/stock"
"github.com/micro/services/clients/go/stream"
"github.com/micro/services/clients/go/sunnah"
@@ -84,6 +85,7 @@ func NewClient(token string) *Client {
RssService: rss.NewRssService(token),
SentimentService: sentiment.NewSentimentService(token),
SmsService: sms.NewSmsService(token),
SpamService: spam.NewSpamService(token),
StockService: stock.NewStockService(token),
StreamService: stream.NewStreamService(token),
SunnahService: sunnah.NewSunnahService(token),
@@ -134,6 +136,7 @@ type Client struct {
RssService *rss.RssService
SentimentService *sentiment.SentimentService
SmsService *sms.SmsService
SpamService *spam.SpamService
StockService *stock.StockService
StreamService *stream.StreamService
SunnahService *sunnah.SunnahService

43
clients/go/spam/spam.go Executable file
View File

@@ -0,0 +1,43 @@
package spam
import (
"github.com/micro/micro-go/client"
)
func NewSpamService(token string) *SpamService {
return &SpamService{
client: client.NewClient(&client.Options{
Token: token,
}),
}
}
type SpamService struct {
client *client.Client
}
// Check whether an email is likely to be spam based on its attributes
func (t *SpamService) Classify(request *ClassifyRequest) (*ClassifyResponse, error) {
rsp := &ClassifyResponse{}
return rsp, t.client.Call("spam", "Classify", request, rsp)
}
type ClassifyRequest struct {
// The body of the email
EmailBody string `json:"emailBody"`
// The email address it has been sent from
From string `json:"from"`
// The subject of the email
Subject string `json:"subject"`
// The email address it is being sent to
To string `json:"to"`
}
type ClassifyResponse struct {
// The rules that have contributed to this score
Details []string `json:"details"`
// Is it spam? Returns true if its score is > 5
IsSpam bool `json:"isSpam"`
// The score evaluated for this email. A higher number means it is more likely to be spam
Score float64 `json:"score"`
}

View File

@@ -46,6 +46,7 @@ routing
rss
sentiment
sms
spam
stock
stream
sunnah

View File

@@ -31,6 +31,7 @@ import * as routing from "./routing";
import * as rss from "./rss";
import * as sentiment from "./sentiment";
import * as sms from "./sms";
import * as spam from "./spam";
import * as stock from "./stock";
import * as stream from "./stream";
import * as sunnah from "./sunnah";
@@ -78,6 +79,7 @@ export class Client {
this.rssService = new rss.RssService(token);
this.sentimentService = new sentiment.SentimentService(token);
this.smsService = new sms.SmsService(token);
this.spamService = new spam.SpamService(token);
this.stockService = new stock.StockService(token);
this.streamService = new stream.StreamService(token);
this.sunnahService = new sunnah.SunnahService(token);
@@ -124,6 +126,7 @@ export class Client {
rssService: rss.RssService;
sentimentService: sentiment.SentimentService;
smsService: sms.SmsService;
spamService: spam.SpamService;
stockService: stock.StockService;
streamService: stream.StreamService;
sunnahService: sunnah.SunnahService;

View File

@@ -51,6 +51,7 @@
"rss",
"sentiment",
"sms",
"spam",
"stock",
"stream",
"sunnah",
@@ -78,5 +79,5 @@
"prepare": "npm run build"
},
"types": "index.d.ts",
"version": "1.0.717"
"version": "1.0.734"
}

View File

@@ -12,10 +12,10 @@ func CreateArecord() {
dbService := db.NewDbService(os.Getenv("MICRO_API_TOKEN"))
rsp, err := dbService.Create(&db.CreateRequest{
Record: map[string]interface{}{
"id": "1",
"name": "Jane",
"age": 42,
"isActive": true,
"id": "1",
},
Table: "users",
})

View File

@@ -12,8 +12,8 @@ func UpdateArecord() {
dbService := db.NewDbService(os.Getenv("MICRO_API_TOKEN"))
rsp, err := dbService.Update(&db.UpdateRequest{
Record: map[string]interface{}{
"id": "1",
"age": 43,
"id": "1",
},
Table: "users",
})

View File

@@ -12,9 +12,9 @@ func PublishAnEvent() {
eventService := event.NewEventService(os.Getenv("MICRO_API_TOKEN"))
rsp, err := eventService.Publish(&event.PublishRequest{
Message: map[string]interface{}{
"type": "signup",
"user": "john",
"id": "1",
"type": "signup",
},
Topic: "user",
})

View File

@@ -0,0 +1,9 @@
curl "http://localhost:8080/spam/Classify" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MICRO_API_TOKEN" \
-d '{
"email_body": "Hi there,\n\nWelcome to M3O.\n\nThanks\nM3O team",
"from": "noreply@m3o.com",
"subject": "Welcome",
"to": "hello@example.com"
}'

View File

@@ -0,0 +1,19 @@
package example
import (
"fmt"
"os"
"github.com/micro/services/clients/go/spam"
)
// Check whether an email is likely to be spam based on its attributes
func ClassifyAnEmail() {
spamService := spam.NewSpamService(os.Getenv("MICRO_API_TOKEN"))
rsp, err := spamService.Classify(&spam.ClassifyRequest{
From: "noreply@m3o.com",
Subject: "Welcome",
To: "hello@example.com",
})
fmt.Println(rsp, err)
}

View File

@@ -0,0 +1,15 @@
const { SpamService } = require("m3o/spam");
// Check whether an email is likely to be spam based on its attributes
async function classifyAnEmail() {
let spamService = new SpamService(process.env.MICRO_API_TOKEN);
let rsp = await spamService.classify({
email_body: "Hi there,\n\nWelcome to M3O.\n\nThanks\nM3O team",
from: "noreply@m3o.com",
subject: "Welcome",
to: "hello@example.com",
});
console.log(rsp);
}
classifyAnEmail();