Commit from GitHub Actions (Generate Clients & Examples)

This commit is contained in:
asim
2021-11-02 16:44:07 +00:00
parent bc050eb7e1
commit c9791c4dc4
9 changed files with 112 additions and 27 deletions

View File

@@ -16,7 +16,13 @@ type EventService struct {
client *client.Client client *client.Client
} }
// Publish a message to the event stream. // Consume events from a given topic.
func (t *EventService) Consume(request *ConsumeRequest) (*ConsumeResponse, error) {
rsp := &ConsumeResponse{}
return rsp, t.client.Call("event", "Consume", request, rsp)
}
// Publish a event to the event stream.
func (t *EventService) Publish(request *PublishRequest) (*PublishResponse, error) { func (t *EventService) Publish(request *PublishRequest) (*PublishResponse, error) {
rsp := &PublishResponse{} rsp := &PublishResponse{}
return rsp, t.client.Call("event", "Publish", request, rsp) return rsp, t.client.Call("event", "Publish", request, rsp)
@@ -28,10 +34,24 @@ func (t *EventService) Read(request *ReadRequest) (*ReadResponse, error) {
return rsp, t.client.Call("event", "Read", request, rsp) return rsp, t.client.Call("event", "Read", request, rsp)
} }
// Subscribe to messages for a given topic. type ConsumeRequest struct {
func (t *EventService) Subscribe(request *SubscribeRequest) (*SubscribeResponse, error) { // Optional group for the subscription
rsp := &SubscribeResponse{} Group string `json:"group"`
return rsp, t.client.Call("event", "Subscribe", request, rsp) // Optional offset to read from e.g "2006-01-02T15:04:05.999Z07:00"
Offset string `json:"offset"`
// The topic to subscribe to
Topic string `json:"topic"`
}
type ConsumeResponse struct {
// Unique message id
Id string `json:"id"`
// The next json message on the topic
Message map[string]interface{} `json:"message"`
// Timestamp of publishing
Timestamp string `json:"timestamp"`
// The topic subscribed to
Topic string `json:"topic"`
} }
type Ev struct { type Ev struct {
@@ -66,23 +86,3 @@ type ReadResponse struct {
// the events // the events
Events []Ev `json:"events"` Events []Ev `json:"events"`
} }
type SubscribeRequest struct {
// Optional group for the subscription
Group string `json:"group"`
// Optional offset to read from e.g "2006-01-02T15:04:05.999Z07:00"
Offset string `json:"offset"`
// The topic to subscribe to
Topic string `json:"topic"`
}
type SubscribeResponse struct {
// Unique message id
Id string `json:"id"`
// The next json message on the topic
Message map[string]interface{} `json:"message"`
// Timestamp of publishing
Timestamp string `json:"timestamp"`
// The topic subscribed to
Topic string `json:"topic"`
}

View File

@@ -77,5 +77,5 @@
"prepare": "npm run build" "prepare": "npm run build"
}, },
"types": "index.d.ts", "types": "index.d.ts",
"version": "1.0.612" "version": "1.0.613"
} }

View File

@@ -0,0 +1,6 @@
curl "https://api.m3o.com/v1/event/Consume" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MICRO_API_TOKEN" \
-d '{
"topic": "user"
}'

View File

@@ -0,0 +1,17 @@
package example
import (
"fmt"
"os"
"github.com/micro/services/clients/go/event"
)
// Consume events from a given topic.
func ConsumeFromAtopic() {
eventService := event.NewEventService(os.Getenv("MICRO_API_TOKEN"))
rsp, err := eventService.Consume(&event.ConsumeRequest{
Topic: "user",
})
fmt.Println(rsp, err)
}

View File

@@ -0,0 +1,12 @@
const { EventService } = require("m3o/event");
// Consume events from a given topic.
async function consumeFromAtopic() {
let eventService = new EventService(process.env.MICRO_API_TOKEN);
let rsp = await eventService.consume({
topic: "user",
});
console.log(rsp);
}
consumeFromAtopic();

View File

@@ -0,0 +1,11 @@
curl "https://api.m3o.com/v1/event/Publish" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MICRO_API_TOKEN" \
-d '{
"message": {
"id": "1",
"type": "signup",
"user": "john"
},
"topic": "user"
}'

View File

@@ -0,0 +1,22 @@
package example
import (
"fmt"
"os"
"github.com/micro/services/clients/go/event"
)
// Publish a event to the event stream.
func PublishAnEvent() {
eventService := event.NewEventService(os.Getenv("MICRO_API_TOKEN"))
rsp, err := eventService.Publish(&event.PublishRequest{
Message: map[string]interface{}{
"id": "1",
"type": "signup",
"user": "john",
},
Topic: "user",
})
fmt.Println(rsp, err)
}

View File

@@ -0,0 +1,17 @@
const { EventService } = require("m3o/event");
// Publish a event to the event stream.
async function publishAnEvent() {
let eventService = new EventService(process.env.MICRO_API_TOKEN);
let rsp = await eventService.publish({
message: {
id: "1",
type: "signup",
user: "john",
},
topic: "user",
});
console.log(rsp);
}
publishAnEvent();

View File

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