mirror of
https://github.com/go-micro/go-micro.git
synced 2025-06-06 22:06:19 +02:00
126 lines
2.7 KiB
Go
Executable File
126 lines
2.7 KiB
Go
Executable File
package notes
|
|
|
|
import (
|
|
"github.com/m3o/m3o-go/client"
|
|
)
|
|
|
|
func NewNotesService(token string) *NotesService {
|
|
return &NotesService{
|
|
client: client.NewClient(&client.Options{
|
|
Token: token,
|
|
}),
|
|
}
|
|
}
|
|
|
|
type NotesService struct {
|
|
client *client.Client
|
|
}
|
|
|
|
// Create a new note
|
|
func (t *NotesService) Create(request *CreateRequest) (*CreateResponse, error) {
|
|
rsp := &CreateResponse{}
|
|
return rsp, t.client.Call("notes", "Create", request, rsp)
|
|
}
|
|
|
|
// Delete a note
|
|
func (t *NotesService) Delete(request *DeleteRequest) (*DeleteResponse, error) {
|
|
rsp := &DeleteResponse{}
|
|
return rsp, t.client.Call("notes", "Delete", request, rsp)
|
|
}
|
|
|
|
// List all the notes
|
|
func (t *NotesService) List(request *ListRequest) (*ListResponse, error) {
|
|
rsp := &ListResponse{}
|
|
return rsp, t.client.Call("notes", "List", request, rsp)
|
|
}
|
|
|
|
// Read a note
|
|
func (t *NotesService) Read(request *ReadRequest) (*ReadResponse, error) {
|
|
rsp := &ReadResponse{}
|
|
return rsp, t.client.Call("notes", "Read", request, rsp)
|
|
}
|
|
|
|
// Specify the note to events
|
|
func (t *NotesService) Subscribe(request *SubscribeRequest) (*SubscribeResponse, error) {
|
|
rsp := &SubscribeResponse{}
|
|
return rsp, t.client.Call("notes", "Subscribe", request, rsp)
|
|
}
|
|
|
|
// Update a note
|
|
func (t *NotesService) Update(request *UpdateRequest) (*UpdateResponse, error) {
|
|
rsp := &UpdateResponse{}
|
|
return rsp, t.client.Call("notes", "Update", request, rsp)
|
|
}
|
|
|
|
type CreateRequest struct {
|
|
// note text
|
|
Text string `json:"text"`
|
|
// note title
|
|
Title string `json:"title"`
|
|
}
|
|
|
|
type CreateResponse struct {
|
|
// The created note
|
|
Note *Note `json:"note"`
|
|
}
|
|
|
|
type DeleteRequest struct {
|
|
// specify the id of the note
|
|
Id string `json:"id"`
|
|
}
|
|
|
|
type DeleteResponse struct {
|
|
Note *Note `json:"note"`
|
|
}
|
|
|
|
type ListRequest struct {
|
|
}
|
|
|
|
type ListResponse struct {
|
|
// the list of notes
|
|
Notes []Note `json:"notes"`
|
|
}
|
|
|
|
type Note struct {
|
|
// time at which the note was created
|
|
Created string `json:"created"`
|
|
// unique id for the note, generated if not specified
|
|
Id string `json:"id"`
|
|
// text within the note
|
|
Text string `json:"text"`
|
|
// title of the note
|
|
Title string `json:"title"`
|
|
// time at which the note was updated
|
|
Updated string `json:"updated"`
|
|
}
|
|
|
|
type ReadRequest struct {
|
|
// the note id
|
|
Id string `json:"id"`
|
|
}
|
|
|
|
type ReadResponse struct {
|
|
// The note
|
|
Note *Note `json:"note"`
|
|
}
|
|
|
|
type SubscribeRequest struct {
|
|
// optionally specify a note id
|
|
Id string `json:"id"`
|
|
}
|
|
|
|
type SubscribeResponse struct {
|
|
// the event which occured; created, deleted, updated
|
|
Event string `json:"event"`
|
|
// the note which the operation occured on
|
|
Note *Note `json:"note"`
|
|
}
|
|
|
|
type UpdateRequest struct {
|
|
Note *Note `json:"note"`
|
|
}
|
|
|
|
type UpdateResponse struct {
|
|
Note *Note `json:"note"`
|
|
}
|