mirror of
https://github.com/kevin-DL/m3o-go.git
synced 2026-01-11 18:44:26 +00:00
Commit from m3o/m3o action
This commit is contained in:
@@ -4,6 +4,32 @@ An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Notes/api](htt
|
|||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
## List
|
||||||
|
|
||||||
|
List all the notes
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/notes/api#List](https://m3o.com/notes/api#List)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/notes"
|
||||||
|
)
|
||||||
|
|
||||||
|
// List all the notes
|
||||||
|
func ListAllNotes() {
|
||||||
|
notesService := notes.NewNotesService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := notesService.List(¬es.ListRequest{
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
|
```
|
||||||
## Update
|
## Update
|
||||||
|
|
||||||
Update a note
|
Update a note
|
||||||
@@ -144,29 +170,3 @@ func ReadAnote() {
|
|||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## List
|
|
||||||
|
|
||||||
List all the notes
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/notes/api#List](https://m3o.com/notes/api#List)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/notes"
|
|
||||||
)
|
|
||||||
|
|
||||||
// List all the notes
|
|
||||||
func ListAllNotes() {
|
|
||||||
notesService := notes.NewNotesService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := notesService.List(¬es.ListRequest{
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -15,4 +15,5 @@ func main() {
|
|||||||
Title: "New Note",
|
Title: "New Note",
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,4 +14,5 @@ func main() {
|
|||||||
Id: "63c0cdf8-2121-11ec-a881-0242e36f037a",
|
Id: "63c0cdf8-2121-11ec-a881-0242e36f037a",
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,8 +10,22 @@ import (
|
|||||||
// Subscribe to notes events
|
// Subscribe to notes events
|
||||||
func main() {
|
func main() {
|
||||||
notesService := notes.NewNotesService(os.Getenv("M3O_API_TOKEN"))
|
notesService := notes.NewNotesService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := notesService.Events(¬es.EventsRequest{
|
|
||||||
|
stream, err := notesService.Events(¬es.EventsRequest{
|
||||||
Id: "63c0cdf8-2121-11ec-a881-0242e36f037a",
|
Id: "63c0cdf8-2121-11ec-a881-0242e36f037a",
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
for {
|
||||||
|
rsp, err := stream.Recv()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println(rsp)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,4 +12,5 @@ func main() {
|
|||||||
notesService := notes.NewNotesService(os.Getenv("M3O_API_TOKEN"))
|
notesService := notes.NewNotesService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := notesService.List(¬es.ListRequest{})
|
rsp, err := notesService.List(¬es.ListRequest{})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,4 +14,5 @@ func main() {
|
|||||||
Id: "63c0cdf8-2121-11ec-a881-0242e36f037a",
|
Id: "63c0cdf8-2121-11ec-a881-0242e36f037a",
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,4 +18,5 @@ func main() {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
133
m3o.go
133
m3o.go
@@ -1,148 +1,19 @@
|
|||||||
package m3o
|
package m3o
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"go.m3o.com/address"
|
|
||||||
"go.m3o.com/answer"
|
|
||||||
"go.m3o.com/cache"
|
|
||||||
"go.m3o.com/crypto"
|
|
||||||
"go.m3o.com/currency"
|
|
||||||
"go.m3o.com/db"
|
|
||||||
"go.m3o.com/email"
|
|
||||||
"go.m3o.com/emoji"
|
|
||||||
"go.m3o.com/evchargers"
|
|
||||||
"go.m3o.com/event"
|
|
||||||
"go.m3o.com/file"
|
|
||||||
"go.m3o.com/forex"
|
|
||||||
"go.m3o.com/function"
|
|
||||||
"go.m3o.com/geocoding"
|
|
||||||
"go.m3o.com/gifs"
|
|
||||||
"go.m3o.com/google"
|
|
||||||
"go.m3o.com/helloworld"
|
|
||||||
"go.m3o.com/holidays"
|
|
||||||
"go.m3o.com/id"
|
|
||||||
"go.m3o.com/image"
|
|
||||||
"go.m3o.com/ip"
|
|
||||||
"go.m3o.com/location"
|
|
||||||
"go.m3o.com/mq"
|
|
||||||
"go.m3o.com/notes"
|
"go.m3o.com/notes"
|
||||||
"go.m3o.com/otp"
|
|
||||||
"go.m3o.com/postcode"
|
|
||||||
"go.m3o.com/prayer"
|
|
||||||
"go.m3o.com/qr"
|
|
||||||
"go.m3o.com/quran"
|
|
||||||
"go.m3o.com/routing"
|
|
||||||
"go.m3o.com/rss"
|
|
||||||
"go.m3o.com/sentiment"
|
|
||||||
"go.m3o.com/sms"
|
|
||||||
"go.m3o.com/stock"
|
|
||||||
"go.m3o.com/stream"
|
|
||||||
"go.m3o.com/sunnah"
|
|
||||||
"go.m3o.com/thumbnail"
|
|
||||||
"go.m3o.com/time"
|
|
||||||
"go.m3o.com/twitter"
|
|
||||||
"go.m3o.com/url"
|
|
||||||
"go.m3o.com/user"
|
|
||||||
"go.m3o.com/vehicle"
|
|
||||||
"go.m3o.com/weather"
|
|
||||||
"go.m3o.com/youtube"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewClient(token string) *Client {
|
func NewClient(token string) *Client {
|
||||||
return &Client{
|
return &Client{
|
||||||
token: token,
|
token: token,
|
||||||
|
|
||||||
AddressService: address.NewAddressService(token),
|
NotesService: notes.NewNotesService(token),
|
||||||
AnswerService: answer.NewAnswerService(token),
|
|
||||||
CacheService: cache.NewCacheService(token),
|
|
||||||
CryptoService: crypto.NewCryptoService(token),
|
|
||||||
CurrencyService: currency.NewCurrencyService(token),
|
|
||||||
DbService: db.NewDbService(token),
|
|
||||||
EmailService: email.NewEmailService(token),
|
|
||||||
EmojiService: emoji.NewEmojiService(token),
|
|
||||||
EvchargersService: evchargers.NewEvchargersService(token),
|
|
||||||
EventService: event.NewEventService(token),
|
|
||||||
FileService: file.NewFileService(token),
|
|
||||||
ForexService: forex.NewForexService(token),
|
|
||||||
FunctionService: function.NewFunctionService(token),
|
|
||||||
GeocodingService: geocoding.NewGeocodingService(token),
|
|
||||||
GifsService: gifs.NewGifsService(token),
|
|
||||||
GoogleService: google.NewGoogleService(token),
|
|
||||||
HelloworldService: helloworld.NewHelloworldService(token),
|
|
||||||
HolidaysService: holidays.NewHolidaysService(token),
|
|
||||||
IdService: id.NewIdService(token),
|
|
||||||
ImageService: image.NewImageService(token),
|
|
||||||
IpService: ip.NewIpService(token),
|
|
||||||
LocationService: location.NewLocationService(token),
|
|
||||||
MqService: mq.NewMqService(token),
|
|
||||||
NotesService: notes.NewNotesService(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),
|
|
||||||
RssService: rss.NewRssService(token),
|
|
||||||
SentimentService: sentiment.NewSentimentService(token),
|
|
||||||
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),
|
|
||||||
UrlService: url.NewUrlService(token),
|
|
||||||
UserService: user.NewUserService(token),
|
|
||||||
VehicleService: vehicle.NewVehicleService(token),
|
|
||||||
WeatherService: weather.NewWeatherService(token),
|
|
||||||
YoutubeService: youtube.NewYoutubeService(token),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type Client struct {
|
type Client struct {
|
||||||
token string
|
token string
|
||||||
|
|
||||||
AddressService *address.AddressService
|
NotesService *notes.NotesService
|
||||||
AnswerService *answer.AnswerService
|
|
||||||
CacheService *cache.CacheService
|
|
||||||
CryptoService *crypto.CryptoService
|
|
||||||
CurrencyService *currency.CurrencyService
|
|
||||||
DbService *db.DbService
|
|
||||||
EmailService *email.EmailService
|
|
||||||
EmojiService *emoji.EmojiService
|
|
||||||
EvchargersService *evchargers.EvchargersService
|
|
||||||
EventService *event.EventService
|
|
||||||
FileService *file.FileService
|
|
||||||
ForexService *forex.ForexService
|
|
||||||
FunctionService *function.FunctionService
|
|
||||||
GeocodingService *geocoding.GeocodingService
|
|
||||||
GifsService *gifs.GifsService
|
|
||||||
GoogleService *google.GoogleService
|
|
||||||
HelloworldService *helloworld.HelloworldService
|
|
||||||
HolidaysService *holidays.HolidaysService
|
|
||||||
IdService *id.IdService
|
|
||||||
ImageService *image.ImageService
|
|
||||||
IpService *ip.IpService
|
|
||||||
LocationService *location.LocationService
|
|
||||||
MqService *mq.MqService
|
|
||||||
NotesService *notes.NotesService
|
|
||||||
OtpService *otp.OtpService
|
|
||||||
PostcodeService *postcode.PostcodeService
|
|
||||||
PrayerService *prayer.PrayerService
|
|
||||||
QrService *qr.QrService
|
|
||||||
QuranService *quran.QuranService
|
|
||||||
RoutingService *routing.RoutingService
|
|
||||||
RssService *rss.RssService
|
|
||||||
SentimentService *sentiment.SentimentService
|
|
||||||
SmsService *sms.SmsService
|
|
||||||
StockService *stock.StockService
|
|
||||||
StreamService *stream.StreamService
|
|
||||||
SunnahService *sunnah.SunnahService
|
|
||||||
ThumbnailService *thumbnail.ThumbnailService
|
|
||||||
TimeService *time.TimeService
|
|
||||||
TwitterService *twitter.TwitterService
|
|
||||||
UrlService *url.UrlService
|
|
||||||
UserService *user.UserService
|
|
||||||
VehicleService *vehicle.VehicleService
|
|
||||||
WeatherService *weather.WeatherService
|
|
||||||
YoutubeService *youtube.YoutubeService
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,38 +18,66 @@ type NotesService struct {
|
|||||||
|
|
||||||
// Create a new note
|
// Create a new note
|
||||||
func (t *NotesService) Create(request *CreateRequest) (*CreateResponse, error) {
|
func (t *NotesService) Create(request *CreateRequest) (*CreateResponse, error) {
|
||||||
|
|
||||||
rsp := &CreateResponse{}
|
rsp := &CreateResponse{}
|
||||||
return rsp, t.client.Call("notes", "Create", request, rsp)
|
return rsp, t.client.Call("notes", "Create", request, rsp)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete a note
|
// Delete a note
|
||||||
func (t *NotesService) Delete(request *DeleteRequest) (*DeleteResponse, error) {
|
func (t *NotesService) Delete(request *DeleteRequest) (*DeleteResponse, error) {
|
||||||
|
|
||||||
rsp := &DeleteResponse{}
|
rsp := &DeleteResponse{}
|
||||||
return rsp, t.client.Call("notes", "Delete", request, rsp)
|
return rsp, t.client.Call("notes", "Delete", request, rsp)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Subscribe to notes events
|
// Subscribe to notes events
|
||||||
func (t *NotesService) Events(request *EventsRequest) (*EventsResponse, error) {
|
func (t *NotesService) Events(request *EventsRequest) (*EventsResponseStream, error) {
|
||||||
rsp := &EventsResponse{}
|
stream, err := t.client.Stream("notes", "Events", request)
|
||||||
return rsp, t.client.Call("notes", "Events", request, rsp)
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &EventsResponseStream{
|
||||||
|
stream: stream,
|
||||||
|
}, nil
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
type EventsResponseStream struct {
|
||||||
|
stream *client.Stream
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *EventsResponseStream) Recv() (*EventsResponse, error) {
|
||||||
|
var rsp EventsResponse
|
||||||
|
if err := t.stream.Recv(&rsp); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &rsp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// List all the notes
|
// List all the notes
|
||||||
func (t *NotesService) List(request *ListRequest) (*ListResponse, error) {
|
func (t *NotesService) List(request *ListRequest) (*ListResponse, error) {
|
||||||
|
|
||||||
rsp := &ListResponse{}
|
rsp := &ListResponse{}
|
||||||
return rsp, t.client.Call("notes", "List", request, rsp)
|
return rsp, t.client.Call("notes", "List", request, rsp)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read a note
|
// Read a note
|
||||||
func (t *NotesService) Read(request *ReadRequest) (*ReadResponse, error) {
|
func (t *NotesService) Read(request *ReadRequest) (*ReadResponse, error) {
|
||||||
|
|
||||||
rsp := &ReadResponse{}
|
rsp := &ReadResponse{}
|
||||||
return rsp, t.client.Call("notes", "Read", request, rsp)
|
return rsp, t.client.Call("notes", "Read", request, rsp)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update a note
|
// Update a note
|
||||||
func (t *NotesService) Update(request *UpdateRequest) (*UpdateResponse, error) {
|
func (t *NotesService) Update(request *UpdateRequest) (*UpdateResponse, error) {
|
||||||
|
|
||||||
rsp := &UpdateResponse{}
|
rsp := &UpdateResponse{}
|
||||||
return rsp, t.client.Call("notes", "Update", request, rsp)
|
return rsp, t.client.Call("notes", "Update", request, rsp)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type CreateRequest struct {
|
type CreateRequest struct {
|
||||||
|
|||||||
Reference in New Issue
Block a user