mirror of
https://github.com/kevin-DL/m3o-go.git
synced 2026-01-24 07:25:35 +00:00
Compare commits
251 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fc990c84ab | ||
|
|
e9229571ad | ||
|
|
b310d3e1e0 | ||
|
|
3e8a30c33a | ||
|
|
d5b9efe74e | ||
|
|
da28af7166 | ||
|
|
cceeb16d81 | ||
|
|
a25cabc9be | ||
|
|
4ca21d5561 | ||
|
|
39fcaa24c0 | ||
|
|
fc1099c437 | ||
|
|
f3af3fa1ba | ||
|
|
03a3a1bb91 | ||
|
|
1c58bf602d | ||
|
|
02fc6f735a | ||
|
|
7ea20aefbd | ||
|
|
7698310d1a | ||
|
|
9685cb5d53 | ||
|
|
63fb62a55e | ||
|
|
56cdd3c583 | ||
|
|
97accc758e | ||
|
|
7e5fdc7d77 | ||
|
|
90f27882e8 | ||
|
|
70fd591952 | ||
|
|
7add4ca16b | ||
|
|
243d779a03 | ||
|
|
6b9caa1e59 | ||
|
|
2bbe49f716 | ||
|
|
046127532d | ||
|
|
2e14a4252f | ||
|
|
d1be4f25bc | ||
|
|
f38850c259 | ||
|
|
99979e1167 | ||
|
|
d144fd0b22 | ||
|
|
75cd109929 | ||
|
|
4cd429a8b3 | ||
|
|
aef44febce | ||
|
|
6446146553 | ||
|
|
f251e45b0b | ||
|
|
01f99e0b6d | ||
|
|
d9cabd803a | ||
|
|
064734211e | ||
|
|
d0aeac6b3c | ||
|
|
eb93a5a449 | ||
|
|
78d8e2fa1e | ||
|
|
6bca5af6c5 | ||
|
|
d132d7c27c | ||
|
|
6f3a7a4dd3 | ||
|
|
a2eb34e59a | ||
|
|
709e4180ec | ||
|
|
3abd701901 | ||
|
|
ea5aa65039 | ||
|
|
1ae6969f65 | ||
|
|
9901807b67 | ||
|
|
efb35c528c | ||
|
|
a64a7a6162 | ||
|
|
c7afdd237d | ||
|
|
6f5714dc73 | ||
|
|
6ce3f89757 | ||
|
|
3e655dea52 | ||
|
|
80ca5f8229 | ||
|
|
993c0b1e1c | ||
|
|
f7c6ac50e2 | ||
|
|
1f72651636 | ||
|
|
9f65103806 | ||
|
|
fb85cd000f | ||
|
|
e78ab622d6 | ||
|
|
84a739197e | ||
|
|
83d8cd3702 | ||
|
|
a94d784928 | ||
|
|
fd3a1063b0 | ||
|
|
2b935c2eb1 | ||
|
|
2d46dc2672 | ||
|
|
06f2db6618 | ||
|
|
c0731399ee | ||
|
|
9057f09e41 | ||
|
|
b7853960a4 | ||
|
|
1d96d4517b | ||
|
|
dd282e7ab9 | ||
|
|
8f3fe3d33c | ||
|
|
7e17640b3e | ||
|
|
a46a505a9f | ||
|
|
0a690f02d9 | ||
|
|
434a7615b7 | ||
|
|
7552377ffc | ||
|
|
cdb937b2cb | ||
|
|
fbf39cc693 | ||
|
|
1729996181 | ||
|
|
5fe1678ec5 | ||
|
|
8b790bd9b9 | ||
|
|
a9bcb78aa8 | ||
|
|
b3fd38731e | ||
|
|
ad326fd0b8 | ||
|
|
3ffe702d02 | ||
|
|
27a90b388a | ||
|
|
edfebe05df | ||
|
|
13441363d5 | ||
|
|
c5d206122c | ||
|
|
909ac3d71f | ||
|
|
3e8a881233 | ||
|
|
da1038343f | ||
|
|
fe7b620e59 | ||
|
|
58278dc08b | ||
|
|
362f73dca1 | ||
|
|
3cb3b40901 | ||
|
|
0aca22c769 | ||
|
|
9547c26947 | ||
|
|
9cd82a849f | ||
|
|
f142eddbb9 | ||
|
|
81eb8a213a | ||
|
|
79a9c94139 | ||
|
|
4a6b4ddbaa | ||
|
|
4646555d94 | ||
|
|
87d4ae480a | ||
|
|
f2c03ac414 | ||
|
|
00ad5f2668 | ||
|
|
5890e989e4 | ||
|
|
e7f0fd6434 | ||
|
|
d52ecd7232 | ||
|
|
3fd0023e27 | ||
|
|
83740822e1 | ||
|
|
7a4f8f2faa | ||
|
|
5db5bff7e5 | ||
|
|
bc3256a02a | ||
|
|
d346494459 | ||
|
|
847b17a423 | ||
|
|
051b7e8db7 | ||
|
|
ef53cae138 | ||
|
|
9c5e2fc5dd | ||
|
|
fbbc6fce2b | ||
|
|
75931d518a | ||
|
|
76e85f7e0a | ||
|
|
b4f72abd73 | ||
|
|
c9ddd8776c | ||
|
|
4e9cd04448 | ||
|
|
e4472e76bc | ||
|
|
b89a529672 | ||
|
|
1c567f0eff | ||
|
|
42b9941d93 | ||
|
|
ee0f545030 | ||
|
|
59a3c3c3a8 | ||
|
|
081b4bc7dd | ||
|
|
c296523bb2 | ||
|
|
fe83bf7d18 | ||
|
|
f68c53a04d | ||
|
|
04d7bf8148 | ||
|
|
a83b25a9aa | ||
|
|
b48eab72b9 | ||
|
|
8a600b6131 | ||
|
|
8408429e9b | ||
|
|
20a3a5bfd7 | ||
|
|
f01a912eb3 | ||
|
|
eebea56166 | ||
|
|
2d8f3d735d | ||
|
|
ccc5de5cda | ||
|
|
863b60c7db | ||
|
|
5caf581eff | ||
|
|
2dda68b677 | ||
|
|
8967d7aed8 | ||
|
|
88ec3b1629 | ||
|
|
3b8973592b | ||
|
|
af71fa56b0 | ||
|
|
1a6e2f4cb5 | ||
|
|
9abf8b4e6a | ||
|
|
74d67fe903 | ||
|
|
f9a04eab0b | ||
|
|
ecbcaa1f37 | ||
|
|
fc9078369c | ||
|
|
9fb8b7249a | ||
|
|
f238a3dde3 | ||
|
|
06e0e031f0 | ||
|
|
4671615268 | ||
|
|
50abf5f044 | ||
|
|
7ebbac3eb1 | ||
|
|
cff39c86e7 | ||
|
|
200da05cf0 | ||
|
|
0a2f0eb713 | ||
|
|
0d1952d41a | ||
|
|
4eaa0d7a79 | ||
|
|
fc3cf88dd1 | ||
|
|
4029f043af | ||
|
|
768c3a7277 | ||
|
|
1b6f533cda | ||
|
|
23efeb1b54 | ||
|
|
28be83a1a3 | ||
|
|
163098f65c | ||
|
|
d75eee6adc | ||
|
|
f62afe5c72 | ||
|
|
05dcddb482 | ||
|
|
96bb1b0a89 | ||
|
|
3a49edfecc | ||
|
|
e8cd7403b7 | ||
|
|
8bba336dd3 | ||
|
|
a8b28f6b2a | ||
|
|
c919eb0016 | ||
|
|
6443d9822b | ||
|
|
cd580f41a7 | ||
|
|
f21152e1ed | ||
|
|
27e13d2b6c | ||
|
|
8561aa8205 | ||
|
|
f051277b48 | ||
|
|
1132b4809a | ||
|
|
85ff0bf56f | ||
|
|
f362f68c54 | ||
|
|
063e059d70 | ||
|
|
1773d164e4 | ||
|
|
a835eaddc4 | ||
|
|
a905d67b2c | ||
|
|
9c1ae9e4d2 | ||
|
|
5daed5e997 | ||
|
|
7c8a6f80de | ||
|
|
05097a471d | ||
|
|
3d0f9dda4b | ||
|
|
36d8023ada | ||
|
|
b135490f0e | ||
|
|
a97ced0f02 | ||
|
|
002380be31 | ||
|
|
1211b1b74e | ||
|
|
9a39681342 | ||
|
|
fd12523b0d | ||
|
|
4822495226 | ||
|
|
9cfa252f59 | ||
|
|
ab4602b369 | ||
|
|
9c97fbb4da | ||
|
|
3c853a2cbc | ||
|
|
ed1603b391 | ||
|
|
6ba5ad8ce4 | ||
|
|
24b609b070 | ||
|
|
801e983f3a | ||
|
|
c3e28cbc66 | ||
|
|
c4e0fe407e | ||
|
|
43e6f37402 | ||
|
|
9036b95fd2 | ||
|
|
937cb915ac | ||
|
|
da2b23fbab | ||
|
|
4de67b6746 | ||
|
|
75ba0d6c3a | ||
|
|
873ba7f939 | ||
|
|
a6c66fb76a | ||
|
|
292001f3f2 | ||
|
|
d7e95f687f | ||
|
|
32496fe696 | ||
|
|
86803cc1e2 | ||
|
|
3f24078efb | ||
|
|
bb753c4504 | ||
|
|
3c6466378c | ||
|
|
d921922cd9 | ||
|
|
d2230e009d | ||
|
|
536e9cfe77 | ||
|
|
c707489b7a | ||
|
|
1a28fb54f9 |
@@ -4,6 +4,10 @@ import (
|
|||||||
"go.m3o.com/client"
|
"go.m3o.com/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type Address interface {
|
||||||
|
LookupPostcode(*LookupPostcodeRequest) (*LookupPostcodeResponse, error)
|
||||||
|
}
|
||||||
|
|
||||||
func NewAddressService(token string) *AddressService {
|
func NewAddressService(token string) *AddressService {
|
||||||
return &AddressService{
|
return &AddressService{
|
||||||
client: client.NewClient(&client.Options{
|
client: client.NewClient(&client.Options{
|
||||||
|
|||||||
@@ -4,6 +4,10 @@ import (
|
|||||||
"go.m3o.com/client"
|
"go.m3o.com/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type Answer interface {
|
||||||
|
Question(*QuestionRequest) (*QuestionResponse, error)
|
||||||
|
}
|
||||||
|
|
||||||
func NewAnswerService(token string) *AnswerService {
|
func NewAnswerService(token string) *AnswerService {
|
||||||
return &AnswerService{
|
return &AnswerService{
|
||||||
client: client.NewClient(&client.Options{
|
client: client.NewClient(&client.Options{
|
||||||
|
|||||||
15
app/app.go
15
app/app.go
@@ -4,6 +4,17 @@ import (
|
|||||||
"go.m3o.com/client"
|
"go.m3o.com/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type App interface {
|
||||||
|
Delete(*DeleteRequest) (*DeleteResponse, error)
|
||||||
|
List(*ListRequest) (*ListResponse, error)
|
||||||
|
Regions(*RegionsRequest) (*RegionsResponse, error)
|
||||||
|
Reserve(*ReserveRequest) (*ReserveResponse, error)
|
||||||
|
Resolve(*ResolveRequest) (*ResolveResponse, error)
|
||||||
|
Run(*RunRequest) (*RunResponse, error)
|
||||||
|
Status(*StatusRequest) (*StatusResponse, error)
|
||||||
|
Update(*UpdateRequest) (*UpdateResponse, error)
|
||||||
|
}
|
||||||
|
|
||||||
func NewAppService(token string) *AppService {
|
func NewAppService(token string) *AppService {
|
||||||
return &AppService{
|
return &AppService{
|
||||||
client: client.NewClient(&client.Options{
|
client: client.NewClient(&client.Options{
|
||||||
@@ -56,7 +67,7 @@ func (t *AppService) Resolve(request *ResolveRequest) (*ResolveResponse, error)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Run an app from a source repo. Specify region etc.
|
// Run an app from source
|
||||||
func (t *AppService) Run(request *RunRequest) (*RunResponse, error) {
|
func (t *AppService) Run(request *RunRequest) (*RunResponse, error) {
|
||||||
|
|
||||||
rsp := &RunResponse{}
|
rsp := &RunResponse{}
|
||||||
@@ -139,7 +150,7 @@ type ResolveResponse struct {
|
|||||||
type RunRequest struct {
|
type RunRequest struct {
|
||||||
// branch. defaults to master
|
// branch. defaults to master
|
||||||
Branch string `json:"branch"`
|
Branch string `json:"branch"`
|
||||||
// associatede env vars to pass in
|
// associated env vars to pass in
|
||||||
EnvVars map[string]string `json:"env_vars"`
|
EnvVars map[string]string `json:"env_vars"`
|
||||||
// name of the app
|
// name of the app
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
|
|||||||
@@ -4,6 +4,10 @@ import (
|
|||||||
"go.m3o.com/client"
|
"go.m3o.com/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type Avatar interface {
|
||||||
|
Generate(*GenerateRequest) (*GenerateResponse, error)
|
||||||
|
}
|
||||||
|
|
||||||
func NewAvatarService(token string) *AvatarService {
|
func NewAvatarService(token string) *AvatarService {
|
||||||
return &AvatarService{
|
return &AvatarService{
|
||||||
client: client.NewClient(&client.Options{
|
client: client.NewClient(&client.Options{
|
||||||
|
|||||||
24
cache/cache.go
vendored
24
cache/cache.go
vendored
@@ -4,6 +4,15 @@ import (
|
|||||||
"go.m3o.com/client"
|
"go.m3o.com/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type Cache interface {
|
||||||
|
Decrement(*DecrementRequest) (*DecrementResponse, error)
|
||||||
|
Delete(*DeleteRequest) (*DeleteResponse, error)
|
||||||
|
Get(*GetRequest) (*GetResponse, error)
|
||||||
|
Increment(*IncrementRequest) (*IncrementResponse, error)
|
||||||
|
ListKeys(*ListKeysRequest) (*ListKeysResponse, error)
|
||||||
|
Set(*SetRequest) (*SetResponse, error)
|
||||||
|
}
|
||||||
|
|
||||||
func NewCacheService(token string) *CacheService {
|
func NewCacheService(token string) *CacheService {
|
||||||
return &CacheService{
|
return &CacheService{
|
||||||
client: client.NewClient(&client.Options{
|
client: client.NewClient(&client.Options{
|
||||||
@@ -48,6 +57,14 @@ func (t *CacheService) Increment(request *IncrementRequest) (*IncrementResponse,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// List all the available keys
|
||||||
|
func (t *CacheService) ListKeys(request *ListKeysRequest) (*ListKeysResponse, error) {
|
||||||
|
|
||||||
|
rsp := &ListKeysResponse{}
|
||||||
|
return rsp, t.client.Call("cache", "ListKeys", request, rsp)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// Set an item in the cache. Overwrites any existing value already set.
|
// Set an item in the cache. Overwrites any existing value already set.
|
||||||
func (t *CacheService) Set(request *SetRequest) (*SetResponse, error) {
|
func (t *CacheService) Set(request *SetRequest) (*SetResponse, error) {
|
||||||
|
|
||||||
@@ -108,6 +125,13 @@ type IncrementResponse struct {
|
|||||||
Value int64 `json:"value,string"`
|
Value int64 `json:"value,string"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ListKeysRequest struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
type ListKeysResponse struct {
|
||||||
|
Keys []string `json:"keys"`
|
||||||
|
}
|
||||||
|
|
||||||
type SetRequest struct {
|
type SetRequest struct {
|
||||||
// The key to update
|
// The key to update
|
||||||
Key string `json:"key"`
|
Key string `json:"key"`
|
||||||
|
|||||||
52
carbon/carbon.go
Executable file
52
carbon/carbon.go
Executable file
@@ -0,0 +1,52 @@
|
|||||||
|
package carbon
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go.m3o.com/client"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Carbon interface {
|
||||||
|
Offset(*OffsetRequest) (*OffsetResponse, error)
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewCarbonService(token string) *CarbonService {
|
||||||
|
return &CarbonService{
|
||||||
|
client: client.NewClient(&client.Options{
|
||||||
|
Token: token,
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
type CarbonService struct {
|
||||||
|
client *client.Client
|
||||||
|
}
|
||||||
|
|
||||||
|
// Purchase 1KG (0.001 tonne) of carbon offsets in a single request
|
||||||
|
func (t *CarbonService) Offset(request *OffsetRequest) (*OffsetResponse, error) {
|
||||||
|
|
||||||
|
rsp := &OffsetResponse{}
|
||||||
|
return rsp, t.client.Call("carbon", "Offset", request, rsp)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
type OffsetRequest struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
type OffsetResponse struct {
|
||||||
|
// the metric used e.g KG or Tonnes
|
||||||
|
Metric string `json:"metric"`
|
||||||
|
// projects it was allocated to
|
||||||
|
Projects []Project `json:"projects"`
|
||||||
|
// number of tonnes
|
||||||
|
Tonnes float64 `json:"tonnes"`
|
||||||
|
// number of units purchased
|
||||||
|
Units int32 `json:"units"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type Project struct {
|
||||||
|
// name of the project
|
||||||
|
Name string `json:"name"`
|
||||||
|
// percentage that went to this
|
||||||
|
Percentage float64 `json:"percentage"`
|
||||||
|
// amount in tonnes
|
||||||
|
Tonnes float64 `json:"tonnes"`
|
||||||
|
}
|
||||||
200
contact/contact.go
Executable file
200
contact/contact.go
Executable file
@@ -0,0 +1,200 @@
|
|||||||
|
package contact
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go.m3o.com/client"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Contact interface {
|
||||||
|
Create(*CreateRequest) (*CreateResponse, error)
|
||||||
|
Delete(*DeleteRequest) (*DeleteResponse, error)
|
||||||
|
List(*ListRequest) (*ListResponse, error)
|
||||||
|
Read(*ReadRequest) (*ReadResponse, error)
|
||||||
|
Update(*UpdateRequest) (*UpdateResponse, error)
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewContactService(token string) *ContactService {
|
||||||
|
return &ContactService{
|
||||||
|
client: client.NewClient(&client.Options{
|
||||||
|
Token: token,
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
type ContactService struct {
|
||||||
|
client *client.Client
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
func (t *ContactService) Create(request *CreateRequest) (*CreateResponse, error) {
|
||||||
|
|
||||||
|
rsp := &CreateResponse{}
|
||||||
|
return rsp, t.client.Call("contact", "Create", request, rsp)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
func (t *ContactService) Delete(request *DeleteRequest) (*DeleteResponse, error) {
|
||||||
|
|
||||||
|
rsp := &DeleteResponse{}
|
||||||
|
return rsp, t.client.Call("contact", "Delete", request, rsp)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
func (t *ContactService) List(request *ListRequest) (*ListResponse, error) {
|
||||||
|
|
||||||
|
rsp := &ListResponse{}
|
||||||
|
return rsp, t.client.Call("contact", "List", request, rsp)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
func (t *ContactService) Read(request *ReadRequest) (*ReadResponse, error) {
|
||||||
|
|
||||||
|
rsp := &ReadResponse{}
|
||||||
|
return rsp, t.client.Call("contact", "Read", request, rsp)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
func (t *ContactService) Update(request *UpdateRequest) (*UpdateResponse, error) {
|
||||||
|
|
||||||
|
rsp := &UpdateResponse{}
|
||||||
|
return rsp, t.client.Call("contact", "Update", request, rsp)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
type Address struct {
|
||||||
|
// the label of the address
|
||||||
|
Label string `json:"label"`
|
||||||
|
// the address location
|
||||||
|
Location string `json:"location"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ContactInfo struct {
|
||||||
|
// the address
|
||||||
|
Addresses []Address `json:"addresses"`
|
||||||
|
// the birthday
|
||||||
|
Birthday string `json:"birthday"`
|
||||||
|
// create date string in RFC3339
|
||||||
|
CreatedAt string `json:"created_at"`
|
||||||
|
// the emails
|
||||||
|
Emails []Email `json:"emails"`
|
||||||
|
// contact id
|
||||||
|
Id string `json:"id"`
|
||||||
|
// the contact links
|
||||||
|
Links []Link `json:"links"`
|
||||||
|
// the contact name
|
||||||
|
Name string `json:"name"`
|
||||||
|
// note of the contact
|
||||||
|
Note string `json:"note"`
|
||||||
|
// the phone numbers
|
||||||
|
Phones []Phone `json:"phones"`
|
||||||
|
// the social media username
|
||||||
|
SocialMedias *SocialMedia `json:"social_medias"`
|
||||||
|
// update date string in RFC3339
|
||||||
|
UpdatedAt string `json:"updated_at"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type CreateRequest struct {
|
||||||
|
// optional, location
|
||||||
|
Addresses []Address `json:"addresses"`
|
||||||
|
// optional, birthday
|
||||||
|
Birthday string `json:"birthday"`
|
||||||
|
// optional, emails
|
||||||
|
Emails []Email `json:"emails"`
|
||||||
|
// optional, links
|
||||||
|
Links []Link `json:"links"`
|
||||||
|
// required, the name of the contact
|
||||||
|
Name string `json:"name"`
|
||||||
|
// optional, note of the contact
|
||||||
|
Note string `json:"note"`
|
||||||
|
// optional, phone numbers
|
||||||
|
Phones []Phone `json:"phones"`
|
||||||
|
// optional, social media
|
||||||
|
SocialMedias *SocialMedia `json:"social_medias"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type CreateResponse struct {
|
||||||
|
Contact *ContactInfo `json:"contact"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteRequest struct {
|
||||||
|
// the id of the contact
|
||||||
|
Id string `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteResponse struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
type Email struct {
|
||||||
|
// the email address
|
||||||
|
Address string `json:"address"`
|
||||||
|
// the label of the email
|
||||||
|
Label string `json:"label"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type Link struct {
|
||||||
|
// the label of the link
|
||||||
|
Label string `json:"label"`
|
||||||
|
// the url of the contact
|
||||||
|
Url string `json:"url"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ListRequest struct {
|
||||||
|
// optional, default is 30
|
||||||
|
Limit int32 `json:"limit"`
|
||||||
|
// optional
|
||||||
|
Offset int32 `json:"offset"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ListResponse struct {
|
||||||
|
Contacts []ContactInfo `json:"contacts"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type Phone struct {
|
||||||
|
// the label of the phone number
|
||||||
|
Label string `json:"label"`
|
||||||
|
// phone number
|
||||||
|
Number string `json:"number"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadRequest struct {
|
||||||
|
Id string `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ReadResponse struct {
|
||||||
|
Contact *ContactInfo `json:"contact"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type SocialMedia struct {
|
||||||
|
// the label of the social
|
||||||
|
Label string `json:"label"`
|
||||||
|
// the username of social media
|
||||||
|
Username string `json:"username"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateRequest struct {
|
||||||
|
// optional, addresses
|
||||||
|
Addresses []Address `json:"addresses"`
|
||||||
|
// optional, birthday
|
||||||
|
Birthday string `json:"birthday"`
|
||||||
|
// optional, emails
|
||||||
|
Emails []Email `json:"emails"`
|
||||||
|
// required, the contact id
|
||||||
|
Id string `json:"id"`
|
||||||
|
// optional, links
|
||||||
|
Links []Link `json:"links"`
|
||||||
|
// required, the name
|
||||||
|
Name string `json:"name"`
|
||||||
|
// optional, note
|
||||||
|
Note string `json:"note"`
|
||||||
|
// optional, phone number
|
||||||
|
Phones []Phone `json:"phones"`
|
||||||
|
// optional, social media
|
||||||
|
SocialMedias *SocialMedia `json:"social_medias"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateResponse struct {
|
||||||
|
Contact *ContactInfo `json:"contact"`
|
||||||
|
}
|
||||||
@@ -4,6 +4,13 @@ import (
|
|||||||
"go.m3o.com/client"
|
"go.m3o.com/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type Crypto interface {
|
||||||
|
History(*HistoryRequest) (*HistoryResponse, error)
|
||||||
|
News(*NewsRequest) (*NewsResponse, error)
|
||||||
|
Price(*PriceRequest) (*PriceResponse, error)
|
||||||
|
Quote(*QuoteRequest) (*QuoteResponse, error)
|
||||||
|
}
|
||||||
|
|
||||||
func NewCryptoService(token string) *CryptoService {
|
func NewCryptoService(token string) *CryptoService {
|
||||||
return &CryptoService{
|
return &CryptoService{
|
||||||
client: client.NewClient(&client.Options{
|
client: client.NewClient(&client.Options{
|
||||||
|
|||||||
@@ -4,6 +4,13 @@ import (
|
|||||||
"go.m3o.com/client"
|
"go.m3o.com/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type Currency interface {
|
||||||
|
Codes(*CodesRequest) (*CodesResponse, error)
|
||||||
|
Convert(*ConvertRequest) (*ConvertResponse, error)
|
||||||
|
History(*HistoryRequest) (*HistoryResponse, error)
|
||||||
|
Rates(*RatesRequest) (*RatesResponse, error)
|
||||||
|
}
|
||||||
|
|
||||||
func NewCurrencyService(token string) *CurrencyService {
|
func NewCurrencyService(token string) *CurrencyService {
|
||||||
return &CurrencyService{
|
return &CurrencyService{
|
||||||
client: client.NewClient(&client.Options{
|
client: client.NewClient(&client.Options{
|
||||||
|
|||||||
12
db/db.go
12
db/db.go
@@ -4,6 +4,18 @@ import (
|
|||||||
"go.m3o.com/client"
|
"go.m3o.com/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type Db interface {
|
||||||
|
Count(*CountRequest) (*CountResponse, error)
|
||||||
|
Create(*CreateRequest) (*CreateResponse, error)
|
||||||
|
Delete(*DeleteRequest) (*DeleteResponse, error)
|
||||||
|
DropTable(*DropTableRequest) (*DropTableResponse, error)
|
||||||
|
ListTables(*ListTablesRequest) (*ListTablesResponse, error)
|
||||||
|
Read(*ReadRequest) (*ReadResponse, error)
|
||||||
|
RenameTable(*RenameTableRequest) (*RenameTableResponse, error)
|
||||||
|
Truncate(*TruncateRequest) (*TruncateResponse, error)
|
||||||
|
Update(*UpdateRequest) (*UpdateResponse, error)
|
||||||
|
}
|
||||||
|
|
||||||
func NewDbService(token string) *DbService {
|
func NewDbService(token string) *DbService {
|
||||||
return &DbService{
|
return &DbService{
|
||||||
client: client.NewClient(&client.Options{
|
client: client.NewClient(&client.Options{
|
||||||
|
|||||||
@@ -4,6 +4,12 @@ import (
|
|||||||
"go.m3o.com/client"
|
"go.m3o.com/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type Email interface {
|
||||||
|
Parse(*ParseRequest) (*ParseResponse, error)
|
||||||
|
Send(*SendRequest) (*SendResponse, error)
|
||||||
|
Validate(*ValidateRequest) (*ValidateResponse, error)
|
||||||
|
}
|
||||||
|
|
||||||
func NewEmailService(token string) *EmailService {
|
func NewEmailService(token string) *EmailService {
|
||||||
return &EmailService{
|
return &EmailService{
|
||||||
client: client.NewClient(&client.Options{
|
client: client.NewClient(&client.Options{
|
||||||
@@ -16,6 +22,14 @@ type EmailService struct {
|
|||||||
client *client.Client
|
client *client.Client
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Parse an RFC5322 address e.g "Joe Blogs <joe@example.com>"
|
||||||
|
func (t *EmailService) Parse(request *ParseRequest) (*ParseResponse, error) {
|
||||||
|
|
||||||
|
rsp := &ParseResponse{}
|
||||||
|
return rsp, t.client.Call("email", "Parse", request, rsp)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// Send an email by passing in from, to, subject, and a text or html body
|
// Send an email by passing in from, to, subject, and a text or html body
|
||||||
func (t *EmailService) Send(request *SendRequest) (*SendResponse, error) {
|
func (t *EmailService) Send(request *SendRequest) (*SendResponse, error) {
|
||||||
|
|
||||||
@@ -24,6 +38,26 @@ func (t *EmailService) Send(request *SendRequest) (*SendResponse, error) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate an email address format
|
||||||
|
func (t *EmailService) Validate(request *ValidateRequest) (*ValidateResponse, error) {
|
||||||
|
|
||||||
|
rsp := &ValidateResponse{}
|
||||||
|
return rsp, t.client.Call("email", "Validate", request, rsp)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
type ParseRequest struct {
|
||||||
|
// The address to parse. Can be of the format "Joe Blogs <joe@example.com>" or "joe@example.com"
|
||||||
|
Address string `json:"address"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ParseResponse struct {
|
||||||
|
// the email address
|
||||||
|
Address string `json:"address"`
|
||||||
|
// associated name e.g Joe Blogs
|
||||||
|
Name string `json:"name"`
|
||||||
|
}
|
||||||
|
|
||||||
type SendRequest struct {
|
type SendRequest struct {
|
||||||
// the display name of the sender
|
// the display name of the sender
|
||||||
From string `json:"from"`
|
From string `json:"from"`
|
||||||
@@ -41,3 +75,11 @@ type SendRequest struct {
|
|||||||
|
|
||||||
type SendResponse struct {
|
type SendResponse struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ValidateRequest struct {
|
||||||
|
Address string `json:"address"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ValidateResponse struct {
|
||||||
|
IsValid bool `json:"is_valid"`
|
||||||
|
}
|
||||||
|
|||||||
@@ -4,6 +4,13 @@ import (
|
|||||||
"go.m3o.com/client"
|
"go.m3o.com/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type Emoji interface {
|
||||||
|
Find(*FindRequest) (*FindResponse, error)
|
||||||
|
Flag(*FlagRequest) (*FlagResponse, error)
|
||||||
|
Print(*PrintRequest) (*PrintResponse, error)
|
||||||
|
Send(*SendRequest) (*SendResponse, error)
|
||||||
|
}
|
||||||
|
|
||||||
func NewEmojiService(token string) *EmojiService {
|
func NewEmojiService(token string) *EmojiService {
|
||||||
return &EmojiService{
|
return &EmojiService{
|
||||||
client: client.NewClient(&client.Options{
|
client: client.NewClient(&client.Options{
|
||||||
|
|||||||
@@ -4,6 +4,11 @@ import (
|
|||||||
"go.m3o.com/client"
|
"go.m3o.com/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type Evchargers interface {
|
||||||
|
ReferenceData(*ReferenceDataRequest) (*ReferenceDataResponse, error)
|
||||||
|
Search(*SearchRequest) (*SearchResponse, error)
|
||||||
|
}
|
||||||
|
|
||||||
func NewEvchargersService(token string) *EvchargersService {
|
func NewEvchargersService(token string) *EvchargersService {
|
||||||
return &EvchargersService{
|
return &EvchargersService{
|
||||||
client: client.NewClient(&client.Options{
|
client: client.NewClient(&client.Options{
|
||||||
|
|||||||
@@ -4,6 +4,12 @@ import (
|
|||||||
"go.m3o.com/client"
|
"go.m3o.com/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type Event interface {
|
||||||
|
Consume(*ConsumeRequest) (*ConsumeResponseStream, error)
|
||||||
|
Publish(*PublishRequest) (*PublishResponse, error)
|
||||||
|
Read(*ReadRequest) (*ReadResponse, error)
|
||||||
|
}
|
||||||
|
|
||||||
func NewEventService(token string) *EventService {
|
func NewEventService(token string) *EventService {
|
||||||
return &EventService{
|
return &EventService{
|
||||||
client: client.NewClient(&client.Options{
|
client: client.NewClient(&client.Options{
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Address
|
# Address
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Address/api](https://m3o.com/Address/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/address/api](https://m3o.com/address/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Answer
|
# Answer
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Answer/api](https://m3o.com/Answer/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/answer/api](https://m3o.com/answer/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,93 +1,9 @@
|
|||||||
# App
|
# App
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/App/api](https://m3o.com/App/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/app/api](https://m3o.com/app/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
## Update
|
|
||||||
|
|
||||||
Update the app. The latest source code will be downloaded, built and deployed.
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/app/api#Update](https://m3o.com/app/api#Update)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/app"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Update the app. The latest source code will be downloaded, built and deployed.
|
|
||||||
func UpdateAnApp() {
|
|
||||||
appService := app.NewAppService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := appService.Update(&app.UpdateRequest{
|
|
||||||
Name: "helloworld",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Delete
|
|
||||||
|
|
||||||
Delete an app
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/app/api#Delete](https://m3o.com/app/api#Delete)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/app"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Delete an app
|
|
||||||
func DeleteAnApp() {
|
|
||||||
appService := app.NewAppService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := appService.Delete(&app.DeleteRequest{
|
|
||||||
Name: "helloworld",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Reserve
|
|
||||||
|
|
||||||
Reserve apps beyond the free quota. Call Run after.
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/app/api#Reserve](https://m3o.com/app/api#Reserve)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/app"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Reserve apps beyond the free quota. Call Run after.
|
|
||||||
func ReserveAppName() {
|
|
||||||
appService := app.NewAppService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := appService.Reserve(&app.ReserveRequest{
|
|
||||||
Name: "helloworld",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## List
|
## List
|
||||||
|
|
||||||
List all the apps
|
List all the apps
|
||||||
@@ -117,7 +33,7 @@ func ListTheApps() {
|
|||||||
```
|
```
|
||||||
## Run
|
## Run
|
||||||
|
|
||||||
Run an app from a source repo. Specify region etc.
|
Run an app from source
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/app/api#Run](https://m3o.com/app/api#Run)
|
[https://m3o.com/app/api#Run](https://m3o.com/app/api#Run)
|
||||||
@@ -132,7 +48,7 @@ import(
|
|||||||
"go.m3o.com/app"
|
"go.m3o.com/app"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Run an app from a source repo. Specify region etc.
|
// Run an app from source
|
||||||
func RunAnApp() {
|
func RunAnApp() {
|
||||||
appService := app.NewAppService(os.Getenv("M3O_API_TOKEN"))
|
appService := app.NewAppService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := appService.Run(&app.RunRequest{
|
rsp, err := appService.Run(&app.RunRequest{
|
||||||
@@ -230,3 +146,87 @@ func ResolveAppById() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
## Update
|
||||||
|
|
||||||
|
Update the app. The latest source code will be downloaded, built and deployed.
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/app/api#Update](https://m3o.com/app/api#Update)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/app"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Update the app. The latest source code will be downloaded, built and deployed.
|
||||||
|
func UpdateAnApp() {
|
||||||
|
appService := app.NewAppService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := appService.Update(&app.UpdateRequest{
|
||||||
|
Name: "helloworld",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Delete
|
||||||
|
|
||||||
|
Delete an app
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/app/api#Delete](https://m3o.com/app/api#Delete)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/app"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Delete an app
|
||||||
|
func DeleteAnApp() {
|
||||||
|
appService := app.NewAppService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := appService.Delete(&app.DeleteRequest{
|
||||||
|
Name: "helloworld",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Reserve
|
||||||
|
|
||||||
|
Reserve apps beyond the free quota. Call Run after.
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/app/api#Reserve](https://m3o.com/app/api#Reserve)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/app"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Reserve apps beyond the free quota. Call Run after.
|
||||||
|
func ReserveAppName() {
|
||||||
|
appService := app.NewAppService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := appService.Reserve(&app.ReserveRequest{
|
||||||
|
Name: "helloworld",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
"go.m3o.com/app"
|
"go.m3o.com/app"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Run an app from a source repo. Specify region etc.
|
// Run an app from source
|
||||||
func main() {
|
func main() {
|
||||||
appService := app.NewAppService(os.Getenv("M3O_API_TOKEN"))
|
appService := app.NewAppService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := appService.Run(&app.RunRequest{
|
rsp, err := appService.Run(&app.RunRequest{
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Avatar
|
# Avatar
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Avatar/api](https://m3o.com/Avatar/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/avatar/api](https://m3o.com/avatar/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
@@ -25,9 +25,9 @@ import(
|
|||||||
func GenerateAvatarAndReturnBase64stringOfTheAvatar() {
|
func GenerateAvatarAndReturnBase64stringOfTheAvatar() {
|
||||||
avatarService := avatar.NewAvatarService(os.Getenv("M3O_API_TOKEN"))
|
avatarService := avatar.NewAvatarService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := avatarService.Generate(&avatar.GenerateRequest{
|
rsp, err := avatarService.Generate(&avatar.GenerateRequest{
|
||||||
Format: "png",
|
Format: "jpeg",
|
||||||
Gender: "female",
|
Gender: "female",
|
||||||
Upload: true,
|
Upload: false,
|
||||||
Username: "",
|
Username: "",
|
||||||
|
|
||||||
})
|
})
|
||||||
@@ -56,9 +56,9 @@ import(
|
|||||||
func GenerateAnAvatarAndUploadTheAvatarToMicrosCdn() {
|
func GenerateAnAvatarAndUploadTheAvatarToMicrosCdn() {
|
||||||
avatarService := avatar.NewAvatarService(os.Getenv("M3O_API_TOKEN"))
|
avatarService := avatar.NewAvatarService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := avatarService.Generate(&avatar.GenerateRequest{
|
rsp, err := avatarService.Generate(&avatar.GenerateRequest{
|
||||||
Format: "jpeg",
|
Format: "png",
|
||||||
Gender: "female",
|
Gender: "female",
|
||||||
Upload: false,
|
Upload: true,
|
||||||
Username: "",
|
Username: "",
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ import (
|
|||||||
func main() {
|
func main() {
|
||||||
avatarService := avatar.NewAvatarService(os.Getenv("M3O_API_TOKEN"))
|
avatarService := avatar.NewAvatarService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := avatarService.Generate(&avatar.GenerateRequest{
|
rsp, err := avatarService.Generate(&avatar.GenerateRequest{
|
||||||
Format: "jpeg",
|
Format: "png",
|
||||||
Gender: "female",
|
Gender: "female",
|
||||||
Upload: false,
|
Upload: true,
|
||||||
Username: "",
|
Username: "",
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ import (
|
|||||||
func main() {
|
func main() {
|
||||||
avatarService := avatar.NewAvatarService(os.Getenv("M3O_API_TOKEN"))
|
avatarService := avatar.NewAvatarService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := avatarService.Generate(&avatar.GenerateRequest{
|
rsp, err := avatarService.Generate(&avatar.GenerateRequest{
|
||||||
Format: "png",
|
Format: "jpeg",
|
||||||
Gender: "female",
|
Gender: "female",
|
||||||
Upload: true,
|
Upload: false,
|
||||||
Username: "",
|
Username: "",
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
|
|||||||
145
examples/cache/README.md
vendored
145
examples/cache/README.md
vendored
@@ -1,9 +1,94 @@
|
|||||||
# Cache
|
# Cache
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Cache/api](https://m3o.com/Cache/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/cache/api](https://m3o.com/cache/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
## Increment
|
||||||
|
|
||||||
|
Increment a value (if it's a number). If key not found it is equivalent to set.
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/cache/api#Increment](https://m3o.com/cache/api#Increment)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/cache"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Increment a value (if it's a number). If key not found it is equivalent to set.
|
||||||
|
func IncrementAvalue() {
|
||||||
|
cacheService := cache.NewCacheService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := cacheService.Increment(&cache.IncrementRequest{
|
||||||
|
Key: "counter",
|
||||||
|
Value: 2,
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Decrement
|
||||||
|
|
||||||
|
Decrement a value (if it's a number). If key not found it is equivalent to set.
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/cache/api#Decrement](https://m3o.com/cache/api#Decrement)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/cache"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Decrement a value (if it's a number). If key not found it is equivalent to set.
|
||||||
|
func DecrementAvalue() {
|
||||||
|
cacheService := cache.NewCacheService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := cacheService.Decrement(&cache.DecrementRequest{
|
||||||
|
Key: "counter",
|
||||||
|
Value: 2,
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## ListKeys
|
||||||
|
|
||||||
|
List all the available keys
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/cache/api#ListKeys](https://m3o.com/cache/api#ListKeys)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/cache"
|
||||||
|
)
|
||||||
|
|
||||||
|
// List all the available keys
|
||||||
|
func ListTheKeys() {
|
||||||
|
cacheService := cache.NewCacheService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := cacheService.ListKeys(&cache.ListKeysRequest{
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
## Set
|
## Set
|
||||||
|
|
||||||
Set an item in the cache. Overwrites any existing value already set.
|
Set an item in the cache. Overwrites any existing value already set.
|
||||||
@@ -89,61 +174,3 @@ func DeleteAvalue() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## Increment
|
|
||||||
|
|
||||||
Increment a value (if it's a number). If key not found it is equivalent to set.
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/cache/api#Increment](https://m3o.com/cache/api#Increment)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/cache"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Increment a value (if it's a number). If key not found it is equivalent to set.
|
|
||||||
func IncrementAvalue() {
|
|
||||||
cacheService := cache.NewCacheService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := cacheService.Increment(&cache.IncrementRequest{
|
|
||||||
Key: "counter",
|
|
||||||
Value: 2,
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Decrement
|
|
||||||
|
|
||||||
Decrement a value (if it's a number). If key not found it is equivalent to set.
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/cache/api#Decrement](https://m3o.com/cache/api#Decrement)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/cache"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Decrement a value (if it's a number). If key not found it is equivalent to set.
|
|
||||||
func DecrementAvalue() {
|
|
||||||
cacheService := cache.NewCacheService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := cacheService.Decrement(&cache.DecrementRequest{
|
|
||||||
Key: "counter",
|
|
||||||
Value: 2,
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|||||||
15
examples/cache/listKeys/listTheKeys/main.go
vendored
Executable file
15
examples/cache/listKeys/listTheKeys/main.go
vendored
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/cache"
|
||||||
|
)
|
||||||
|
|
||||||
|
// List all the available keys
|
||||||
|
func main() {
|
||||||
|
cacheService := cache.NewCacheService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := cacheService.ListKeys(&cache.ListKeysRequest{})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
33
examples/carbon/README.md
Executable file
33
examples/carbon/README.md
Executable file
@@ -0,0 +1,33 @@
|
|||||||
|
# Carbon
|
||||||
|
|
||||||
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/carbon/api](https://m3o.com/carbon/api).
|
||||||
|
|
||||||
|
Endpoints:
|
||||||
|
|
||||||
|
## Offset
|
||||||
|
|
||||||
|
Purchase 1KG (0.001 tonne) of carbon offsets in a single request
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/carbon/api#Offset](https://m3o.com/carbon/api#Offset)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/carbon"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Purchase 1KG (0.001 tonne) of carbon offsets in a single request
|
||||||
|
func OffsetCarbon() {
|
||||||
|
carbonService := carbon.NewCarbonService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := carbonService.Offset(&carbon.OffsetRequest{
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
15
examples/carbon/offset/offsetCarbon/main.go
Executable file
15
examples/carbon/offset/offsetCarbon/main.go
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/carbon"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Purchase 1KG (0.001 tonne) of carbon offsets in a single request
|
||||||
|
func main() {
|
||||||
|
carbonService := carbon.NewCarbonService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := carbonService.Offset(&carbon.OffsetRequest{})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
219
examples/contact/README.md
Executable file
219
examples/contact/README.md
Executable file
@@ -0,0 +1,219 @@
|
|||||||
|
# Contact
|
||||||
|
|
||||||
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/contact/api](https://m3o.com/contact/api).
|
||||||
|
|
||||||
|
Endpoints:
|
||||||
|
|
||||||
|
## Delete
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/contact/api#Delete](https://m3o.com/contact/api#Delete)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/contact"
|
||||||
|
)
|
||||||
|
|
||||||
|
//
|
||||||
|
func DeleteAcontact() {
|
||||||
|
contactService := contact.NewContactService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := contactService.Delete(&contact.DeleteRequest{
|
||||||
|
Id: "42e48a3c-6221-11ec-96d2-acde48001122",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## List
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/contact/api#List](https://m3o.com/contact/api#List)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/contact"
|
||||||
|
)
|
||||||
|
|
||||||
|
//
|
||||||
|
func ListContactsWithDefaultOffsetAndLimitDefaultLimitIs20() {
|
||||||
|
contactService := contact.NewContactService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := contactService.List(&contact.ListRequest{
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## List
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/contact/api#List](https://m3o.com/contact/api#List)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/contact"
|
||||||
|
)
|
||||||
|
|
||||||
|
//
|
||||||
|
func ListContactsWithSpecificOffsetAndLimit() {
|
||||||
|
contactService := contact.NewContactService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := contactService.List(&contact.ListRequest{
|
||||||
|
Limit: 1,
|
||||||
|
Offset: 1,
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Create
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/contact/api#Create](https://m3o.com/contact/api#Create)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/contact"
|
||||||
|
)
|
||||||
|
|
||||||
|
//
|
||||||
|
func CreateAcontact() {
|
||||||
|
contactService := contact.NewContactService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := contactService.Create(&contact.CreateRequest{
|
||||||
|
Addresses: []contact.Address{
|
||||||
|
contact.Address{
|
||||||
|
Label: "company address",
|
||||||
|
Location: "123 street address",
|
||||||
|
}},
|
||||||
|
Birthday: "1995-01-01",
|
||||||
|
Emails: []contact.Email{
|
||||||
|
contact.Email{
|
||||||
|
Address: "home@example.com",
|
||||||
|
Label: "home",
|
||||||
|
}},
|
||||||
|
Links: []contact.Link{
|
||||||
|
contact.Link{
|
||||||
|
Label: "blog",
|
||||||
|
Url: "https://blog.joe.me",
|
||||||
|
}},
|
||||||
|
Name: "joe",
|
||||||
|
Note: "this person is very important",
|
||||||
|
Phones: []contact.Phone{
|
||||||
|
contact.Phone{
|
||||||
|
Label: "home",
|
||||||
|
Number: "010-12345678",
|
||||||
|
}},
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Update
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/contact/api#Update](https://m3o.com/contact/api#Update)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/contact"
|
||||||
|
)
|
||||||
|
|
||||||
|
//
|
||||||
|
func UpdateAcontact() {
|
||||||
|
contactService := contact.NewContactService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := contactService.Update(&contact.UpdateRequest{
|
||||||
|
Addresses: []contact.Address{
|
||||||
|
contact.Address{
|
||||||
|
Label: "company address",
|
||||||
|
Location: "123 street address",
|
||||||
|
}},
|
||||||
|
Birthday: "1995-01-01",
|
||||||
|
Emails: []contact.Email{
|
||||||
|
contact.Email{
|
||||||
|
Address: "home@example.com",
|
||||||
|
Label: "home",
|
||||||
|
}},
|
||||||
|
Id: "42e48a3c-6221-11ec-96d2-acde48001122",
|
||||||
|
Links: []contact.Link{
|
||||||
|
contact.Link{
|
||||||
|
Label: "blog",
|
||||||
|
Url: "https://blog.joe.me",
|
||||||
|
}},
|
||||||
|
Name: "joe",
|
||||||
|
Note: "this person is very important",
|
||||||
|
Phones: []contact.Phone{
|
||||||
|
contact.Phone{
|
||||||
|
Label: "home",
|
||||||
|
Number: "010-12345678",
|
||||||
|
}},
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Read
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/contact/api#Read](https://m3o.com/contact/api#Read)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/contact"
|
||||||
|
)
|
||||||
|
|
||||||
|
//
|
||||||
|
func GetAcontact() {
|
||||||
|
contactService := contact.NewContactService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := contactService.Read(&contact.ReadRequest{
|
||||||
|
Id: "42e48a3c-6221-11ec-96d2-acde48001122",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
39
examples/contact/create/createAContact/main.go
Executable file
39
examples/contact/create/createAContact/main.go
Executable file
@@ -0,0 +1,39 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/contact"
|
||||||
|
)
|
||||||
|
|
||||||
|
//
|
||||||
|
func main() {
|
||||||
|
contactService := contact.NewContactService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := contactService.Create(&contact.CreateRequest{
|
||||||
|
Addresses: []contact.Address{
|
||||||
|
contact.Address{
|
||||||
|
Label: "company address",
|
||||||
|
Location: "123 street address",
|
||||||
|
}},
|
||||||
|
Birthday: "1995-01-01",
|
||||||
|
Emails: []contact.Email{
|
||||||
|
contact.Email{
|
||||||
|
Address: "home@example.com",
|
||||||
|
Label: "home",
|
||||||
|
}},
|
||||||
|
Links: []contact.Link{
|
||||||
|
contact.Link{
|
||||||
|
Label: "blog",
|
||||||
|
Url: "https://blog.joe.me",
|
||||||
|
}},
|
||||||
|
Name: "joe",
|
||||||
|
Note: "this person is very important",
|
||||||
|
Phones: []contact.Phone{
|
||||||
|
contact.Phone{
|
||||||
|
Label: "home",
|
||||||
|
Number: "010-12345678",
|
||||||
|
}},
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
17
examples/contact/delete/deleteAContact/main.go
Executable file
17
examples/contact/delete/deleteAContact/main.go
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/contact"
|
||||||
|
)
|
||||||
|
|
||||||
|
//
|
||||||
|
func main() {
|
||||||
|
contactService := contact.NewContactService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := contactService.Delete(&contact.DeleteRequest{
|
||||||
|
Id: "42e48a3c-6221-11ec-96d2-acde48001122",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/contact"
|
||||||
|
)
|
||||||
|
|
||||||
|
//
|
||||||
|
func main() {
|
||||||
|
contactService := contact.NewContactService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := contactService.List(&contact.ListRequest{})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
18
examples/contact/list/listContactsWithSpecificOffsetAndLimit/main.go
Executable file
18
examples/contact/list/listContactsWithSpecificOffsetAndLimit/main.go
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/contact"
|
||||||
|
)
|
||||||
|
|
||||||
|
//
|
||||||
|
func main() {
|
||||||
|
contactService := contact.NewContactService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := contactService.List(&contact.ListRequest{
|
||||||
|
Limit: 1,
|
||||||
|
Offset: 1,
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
17
examples/contact/read/getAContact/main.go
Executable file
17
examples/contact/read/getAContact/main.go
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/contact"
|
||||||
|
)
|
||||||
|
|
||||||
|
//
|
||||||
|
func main() {
|
||||||
|
contactService := contact.NewContactService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := contactService.Read(&contact.ReadRequest{
|
||||||
|
Id: "42e48a3c-6221-11ec-96d2-acde48001122",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
40
examples/contact/update/updateAContact/main.go
Executable file
40
examples/contact/update/updateAContact/main.go
Executable file
@@ -0,0 +1,40 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/contact"
|
||||||
|
)
|
||||||
|
|
||||||
|
//
|
||||||
|
func main() {
|
||||||
|
contactService := contact.NewContactService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := contactService.Update(&contact.UpdateRequest{
|
||||||
|
Addresses: []contact.Address{
|
||||||
|
contact.Address{
|
||||||
|
Label: "company address",
|
||||||
|
Location: "123 street address",
|
||||||
|
}},
|
||||||
|
Birthday: "1995-01-01",
|
||||||
|
Emails: []contact.Email{
|
||||||
|
contact.Email{
|
||||||
|
Address: "home@example.com",
|
||||||
|
Label: "home",
|
||||||
|
}},
|
||||||
|
Id: "42e48a3c-6221-11ec-96d2-acde48001122",
|
||||||
|
Links: []contact.Link{
|
||||||
|
contact.Link{
|
||||||
|
Label: "blog",
|
||||||
|
Url: "https://blog.joe.me",
|
||||||
|
}},
|
||||||
|
Name: "joe",
|
||||||
|
Note: "this person is very important",
|
||||||
|
Phones: []contact.Phone{
|
||||||
|
contact.Phone{
|
||||||
|
Label: "home",
|
||||||
|
Number: "010-12345678",
|
||||||
|
}},
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
@@ -1,65 +1,9 @@
|
|||||||
# Crypto
|
# Crypto
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Crypto/api](https://m3o.com/Crypto/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/crypto/api](https://m3o.com/crypto/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
## News
|
|
||||||
|
|
||||||
Get news related to a currency
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/crypto/api#News](https://m3o.com/crypto/api#News)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/crypto"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Get news related to a currency
|
|
||||||
func GetCryptocurrencyNews() {
|
|
||||||
cryptoService := crypto.NewCryptoService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := cryptoService.News(&crypto.NewsRequest{
|
|
||||||
Symbol: "BTCUSD",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Price
|
|
||||||
|
|
||||||
Get the last price for a given crypto ticker
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/crypto/api#Price](https://m3o.com/crypto/api#Price)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/crypto"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Get the last price for a given crypto ticker
|
|
||||||
func GetCryptocurrencyPrice() {
|
|
||||||
cryptoService := crypto.NewCryptoService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := cryptoService.Price(&crypto.PriceRequest{
|
|
||||||
Symbol: "BTCUSD",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Quote
|
## Quote
|
||||||
|
|
||||||
Get the last quote for a given crypto ticker
|
Get the last quote for a given crypto ticker
|
||||||
@@ -116,3 +60,59 @@ func GetPreviousClose() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
## News
|
||||||
|
|
||||||
|
Get news related to a currency
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/crypto/api#News](https://m3o.com/crypto/api#News)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/crypto"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Get news related to a currency
|
||||||
|
func GetCryptocurrencyNews() {
|
||||||
|
cryptoService := crypto.NewCryptoService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := cryptoService.News(&crypto.NewsRequest{
|
||||||
|
Symbol: "BTCUSD",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Price
|
||||||
|
|
||||||
|
Get the last price for a given crypto ticker
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/crypto/api#Price](https://m3o.com/crypto/api#Price)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/crypto"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Get the last price for a given crypto ticker
|
||||||
|
func GetCryptocurrencyPrice() {
|
||||||
|
cryptoService := crypto.NewCryptoService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := cryptoService.Price(&crypto.PriceRequest{
|
||||||
|
Symbol: "BTCUSD",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|||||||
@@ -1,38 +1,9 @@
|
|||||||
# Currency
|
# Currency
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Currency/api](https://m3o.com/Currency/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/currency/api](https://m3o.com/currency/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
## History
|
|
||||||
|
|
||||||
Returns the historic rates for a currency on a given date
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/currency/api#History](https://m3o.com/currency/api#History)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/currency"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Returns the historic rates for a currency on a given date
|
|
||||||
func HistoricRatesForAcurrency() {
|
|
||||||
currencyService := currency.NewCurrencyService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := currencyService.History(¤cy.HistoryRequest{
|
|
||||||
Code: "USD",
|
|
||||||
Date: "2021-05-30",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Codes
|
## Codes
|
||||||
|
|
||||||
Codes returns the supported currency codes for the API
|
Codes returns the supported currency codes for the API
|
||||||
@@ -147,3 +118,32 @@ To: "GBP",
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
## History
|
||||||
|
|
||||||
|
Returns the historic rates for a currency on a given date
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/currency/api#History](https://m3o.com/currency/api#History)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/currency"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Returns the historic rates for a currency on a given date
|
||||||
|
func HistoricRatesForAcurrency() {
|
||||||
|
currencyService := currency.NewCurrencyService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := currencyService.History(¤cy.HistoryRequest{
|
||||||
|
Code: "USD",
|
||||||
|
Date: "2021-05-30",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|||||||
@@ -1,66 +1,9 @@
|
|||||||
# Db
|
# Db
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Db/api](https://m3o.com/Db/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/db/api](https://m3o.com/db/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
## Read
|
|
||||||
|
|
||||||
Read data from a table. Lookup can be by ID or via querying any field in the record.
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/db/api#Read](https://m3o.com/db/api#Read)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/db"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Read data from a table. Lookup can be by ID or via querying any field in the record.
|
|
||||||
func ReadRecords() {
|
|
||||||
dbService := db.NewDbService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := dbService.Read(&db.ReadRequest{
|
|
||||||
Query: "age == 43",
|
|
||||||
Table: "example",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## DropTable
|
|
||||||
|
|
||||||
Drop a table in the DB
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/db/api#DropTable](https://m3o.com/db/api#DropTable)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/db"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Drop a table in the DB
|
|
||||||
func DropTable() {
|
|
||||||
dbService := db.NewDbService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := dbService.DropTable(&db.DropTableRequest{
|
|
||||||
Table: "example",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## RenameTable
|
## RenameTable
|
||||||
|
|
||||||
Rename a table
|
Rename a table
|
||||||
@@ -88,6 +31,91 @@ To: "examples3",
|
|||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Delete
|
||||||
|
|
||||||
|
Delete a record in the database by id.
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/db/api#Delete](https://m3o.com/db/api#Delete)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/db"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Delete a record in the database by id.
|
||||||
|
func DeleteArecord() {
|
||||||
|
dbService := db.NewDbService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := dbService.Delete(&db.DeleteRequest{
|
||||||
|
Id: "1",
|
||||||
|
Table: "example",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## ListTables
|
||||||
|
|
||||||
|
List tables in the DB
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/db/api#ListTables](https://m3o.com/db/api#ListTables)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/db"
|
||||||
|
)
|
||||||
|
|
||||||
|
// List tables in the DB
|
||||||
|
func ListTables() {
|
||||||
|
dbService := db.NewDbService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := dbService.ListTables(&db.ListTablesRequest{
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Read
|
||||||
|
|
||||||
|
Read data from a table. Lookup can be by ID or via querying any field in the record.
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/db/api#Read](https://m3o.com/db/api#Read)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/db"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Read data from a table. Lookup can be by ID or via querying any field in the record.
|
||||||
|
func ReadRecords() {
|
||||||
|
dbService := db.NewDbService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := dbService.Read(&db.ReadRequest{
|
||||||
|
Query: "age == 43",
|
||||||
|
Table: "example",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## Truncate
|
## Truncate
|
||||||
@@ -116,6 +144,34 @@ func TruncateTable() {
|
|||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## DropTable
|
||||||
|
|
||||||
|
Drop a table in the DB
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/db/api#DropTable](https://m3o.com/db/api#DropTable)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/db"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Drop a table in the DB
|
||||||
|
func DropTable() {
|
||||||
|
dbService := db.NewDbService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := dbService.DropTable(&db.DropTableRequest{
|
||||||
|
Table: "example",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## Count
|
## Count
|
||||||
@@ -144,33 +200,6 @@ func CountEntriesInAtable() {
|
|||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## ListTables
|
|
||||||
|
|
||||||
List tables in the DB
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/db/api#ListTables](https://m3o.com/db/api#ListTables)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/db"
|
|
||||||
)
|
|
||||||
|
|
||||||
// List tables in the DB
|
|
||||||
func ListTables() {
|
|
||||||
dbService := db.NewDbService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := dbService.ListTables(&db.ListTablesRequest{
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## Create
|
## Create
|
||||||
@@ -195,10 +224,10 @@ func CreateArecord() {
|
|||||||
dbService := db.NewDbService(os.Getenv("M3O_API_TOKEN"))
|
dbService := db.NewDbService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := dbService.Create(&db.CreateRequest{
|
rsp, err := dbService.Create(&db.CreateRequest{
|
||||||
Record: map[string]interface{}{
|
Record: map[string]interface{}{
|
||||||
"isActive": true,
|
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"name": "Jane",
|
"name": "Jane",
|
||||||
"age": 42,
|
"age": 42,
|
||||||
|
"isActive": true,
|
||||||
},
|
},
|
||||||
Table: "example",
|
Table: "example",
|
||||||
|
|
||||||
@@ -239,32 +268,3 @@ Table: "example",
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## Delete
|
|
||||||
|
|
||||||
Delete a record in the database by id.
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/db/api#Delete](https://m3o.com/db/api#Delete)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/db"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Delete a record in the database by id.
|
|
||||||
func DeleteArecord() {
|
|
||||||
dbService := db.NewDbService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := dbService.Delete(&db.DeleteRequest{
|
|
||||||
Id: "1",
|
|
||||||
Table: "example",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ func main() {
|
|||||||
dbService := db.NewDbService(os.Getenv("M3O_API_TOKEN"))
|
dbService := db.NewDbService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := dbService.Update(&db.UpdateRequest{
|
rsp, err := dbService.Update(&db.UpdateRequest{
|
||||||
Record: map[string]interface{}{
|
Record: map[string]interface{}{
|
||||||
"id": "1",
|
|
||||||
"age": 43,
|
"age": 43,
|
||||||
|
"id": "1",
|
||||||
},
|
},
|
||||||
Table: "example",
|
Table: "example",
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,9 +1,65 @@
|
|||||||
# Email
|
# Email
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Email/api](https://m3o.com/Email/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/email/api](https://m3o.com/email/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
## Parse
|
||||||
|
|
||||||
|
Parse an RFC5322 address e.g "Joe Blogs <joe@example.com>"
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/email/api#Parse](https://m3o.com/email/api#Parse)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/email"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Parse an RFC5322 address e.g "Joe Blogs <joe@example.com>"
|
||||||
|
func ParseEmail() {
|
||||||
|
emailService := email.NewEmailService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := emailService.Parse(&email.ParseRequest{
|
||||||
|
Address: "Joe Blogs <joe@example.com>",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Validate
|
||||||
|
|
||||||
|
Validate an email address format
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/email/api#Validate](https://m3o.com/email/api#Validate)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/email"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Validate an email address format
|
||||||
|
func ValidateEmail() {
|
||||||
|
emailService := email.NewEmailService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := emailService.Validate(&email.ValidateRequest{
|
||||||
|
Address: "joe@example.com",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
## Send
|
## Send
|
||||||
|
|
||||||
Send an email by passing in from, to, subject, and a text or html body
|
Send an email by passing in from, to, subject, and a text or html body
|
||||||
|
|||||||
17
examples/email/parse/parseEmail/main.go
Executable file
17
examples/email/parse/parseEmail/main.go
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/email"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Parse an RFC5322 address e.g "Joe Blogs <joe@example.com>"
|
||||||
|
func main() {
|
||||||
|
emailService := email.NewEmailService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := emailService.Parse(&email.ParseRequest{
|
||||||
|
Address: "Joe Blogs <joe@example.com>",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
17
examples/email/validate/validateEmail/main.go
Executable file
17
examples/email/validate/validateEmail/main.go
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/email"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Validate an email address format
|
||||||
|
func main() {
|
||||||
|
emailService := email.NewEmailService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := emailService.Validate(&email.ValidateRequest{
|
||||||
|
Address: "joe@example.com",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
@@ -1,9 +1,39 @@
|
|||||||
# Emoji
|
# Emoji
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Emoji/api](https://m3o.com/Emoji/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/emoji/api](https://m3o.com/emoji/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
## Send
|
||||||
|
|
||||||
|
Send an emoji to anyone via SMS. Messages are sent in the form '<message> Sent from <from>'
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/emoji/api#Send](https://m3o.com/emoji/api#Send)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/emoji"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Send an emoji to anyone via SMS. Messages are sent in the form '<message> Sent from <from>'
|
||||||
|
func SendAtextContainingAnEmojiToAnyoneViaSms() {
|
||||||
|
emojiService := emoji.NewEmojiService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := emojiService.Send(&emoji.SendRequest{
|
||||||
|
From: "Alice",
|
||||||
|
Message: "let's grab a :beer:",
|
||||||
|
To: "+44782669123",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
## Find
|
## Find
|
||||||
|
|
||||||
Find an emoji by its alias e.g :beer:
|
Find an emoji by its alias e.g :beer:
|
||||||
@@ -89,33 +119,3 @@ func PrintTextIncludingEmoji() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## Send
|
|
||||||
|
|
||||||
Send an emoji to anyone via SMS. Messages are sent in the form '<message> Sent from <from>'
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/emoji/api#Send](https://m3o.com/emoji/api#Send)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/emoji"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Send an emoji to anyone via SMS. Messages are sent in the form '<message> Sent from <from>'
|
|
||||||
func SendAtextContainingAnEmojiToAnyoneViaSms() {
|
|
||||||
emojiService := emoji.NewEmojiService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := emojiService.Send(&emoji.SendRequest{
|
|
||||||
From: "Alice",
|
|
||||||
Message: "let's grab a :beer:",
|
|
||||||
To: "+44782669123",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Evchargers
|
# Evchargers
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Evchargers/api](https://m3o.com/Evchargers/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/evchargers/api](https://m3o.com/evchargers/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Event
|
# Event
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Event/api](https://m3o.com/Event/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/event/api](https://m3o.com/event/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -12,9 +12,9 @@ func main() {
|
|||||||
eventService := event.NewEventService(os.Getenv("M3O_API_TOKEN"))
|
eventService := event.NewEventService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := eventService.Publish(&event.PublishRequest{
|
rsp, err := eventService.Publish(&event.PublishRequest{
|
||||||
Message: map[string]interface{}{
|
Message: map[string]interface{}{
|
||||||
"user": "john",
|
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"type": "signup",
|
"type": "signup",
|
||||||
|
"user": "john",
|
||||||
},
|
},
|
||||||
Topic: "user",
|
Topic: "user",
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,67 +1,9 @@
|
|||||||
# File
|
# File
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/File/api](https://m3o.com/File/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/file/api](https://m3o.com/file/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
## Read
|
|
||||||
|
|
||||||
Read a file by path
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/file/api#Read](https://m3o.com/file/api#Read)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/file"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Read a file by path
|
|
||||||
func ReadFile() {
|
|
||||||
fileService := file.NewFileService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := fileService.Read(&file.ReadRequest{
|
|
||||||
Path: "/document/text-files/file.txt",
|
|
||||||
Project: "examples",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Delete
|
|
||||||
|
|
||||||
Delete a file by project name/path
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/file/api#Delete](https://m3o.com/file/api#Delete)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/file"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Delete a file by project name/path
|
|
||||||
func DeleteFile() {
|
|
||||||
fileService := file.NewFileService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := fileService.Delete(&file.DeleteRequest{
|
|
||||||
Path: "/document/text-files/file.txt",
|
|
||||||
Project: "examples",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Save
|
## Save
|
||||||
|
|
||||||
Save a file
|
Save a file
|
||||||
@@ -122,3 +64,61 @@ func ListFiles() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
## Read
|
||||||
|
|
||||||
|
Read a file by path
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/file/api#Read](https://m3o.com/file/api#Read)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/file"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Read a file by path
|
||||||
|
func ReadFile() {
|
||||||
|
fileService := file.NewFileService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := fileService.Read(&file.ReadRequest{
|
||||||
|
Path: "/document/text-files/file.txt",
|
||||||
|
Project: "examples",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Delete
|
||||||
|
|
||||||
|
Delete a file by project name/path
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/file/api#Delete](https://m3o.com/file/api#Delete)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/file"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Delete a file by project name/path
|
||||||
|
func DeleteFile() {
|
||||||
|
fileService := file.NewFileService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := fileService.Delete(&file.DeleteRequest{
|
||||||
|
Path: "/document/text-files/file.txt",
|
||||||
|
Project: "examples",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Forex
|
# Forex
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Forex/api](https://m3o.com/Forex/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/forex/api](https://m3o.com/forex/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,92 @@
|
|||||||
# Function
|
# Function
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Function/api](https://m3o.com/Function/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/function/api](https://m3o.com/function/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
## List
|
||||||
|
|
||||||
|
List all the deployed functions
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/function/api#List](https://m3o.com/function/api#List)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/function"
|
||||||
|
)
|
||||||
|
|
||||||
|
// List all the deployed functions
|
||||||
|
func ListFunctions() {
|
||||||
|
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := functionService.List(&function.ListRequest{
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Reserve
|
||||||
|
|
||||||
|
Reserve function names and resources beyond free quota
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/function/api#Reserve](https://m3o.com/function/api#Reserve)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/function"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Reserve function names and resources beyond free quota
|
||||||
|
func ReserveAfunction() {
|
||||||
|
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := functionService.Reserve(&function.ReserveRequest{
|
||||||
|
Name: "helloworld",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Proxy
|
||||||
|
|
||||||
|
Return the backend url for proxying
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/function/api#Proxy](https://m3o.com/function/api#Proxy)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/function"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Return the backend url for proxying
|
||||||
|
func ProxyUrl() {
|
||||||
|
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := functionService.Proxy(&function.ProxyRequest{
|
||||||
|
Id: "helloworld",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
## Deploy
|
## Deploy
|
||||||
|
|
||||||
Deploy a group of functions
|
Deploy a group of functions
|
||||||
@@ -25,41 +108,13 @@ import(
|
|||||||
func DeployAfunction() {
|
func DeployAfunction() {
|
||||||
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := functionService.Deploy(&function.DeployRequest{
|
rsp, err := functionService.Deploy(&function.DeployRequest{
|
||||||
Entrypoint: "helloworld",
|
Branch: "main",
|
||||||
|
Entrypoint: "Helloworld",
|
||||||
Name: "helloworld",
|
Name: "helloworld",
|
||||||
Repo: "github.com/m3o/nodejs-function-example",
|
Region: "europe-west1",
|
||||||
Runtime: "nodejs14",
|
Repo: "https://github.com/m3o/m3o",
|
||||||
|
Runtime: "go116",
|
||||||
})
|
Subfolder: "examples/go-function",
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Update
|
|
||||||
|
|
||||||
Update a function
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/function/api#Update](https://m3o.com/function/api#Update)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/function"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Update a function
|
|
||||||
func UpdateAfunction() {
|
|
||||||
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := functionService.Update(&function.UpdateRequest{
|
|
||||||
Entrypoint: "helloworld",
|
|
||||||
Name: "helloworld",
|
|
||||||
Repo: "github.com/m3o/nodejs-function-example",
|
|
||||||
Runtime: "nodejs14",
|
|
||||||
|
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
@@ -89,38 +144,12 @@ func CallAfunction() {
|
|||||||
rsp, err := functionService.Call(&function.CallRequest{
|
rsp, err := functionService.Call(&function.CallRequest{
|
||||||
Name: "helloworld",
|
Name: "helloworld",
|
||||||
Request: map[string]interface{}{
|
Request: map[string]interface{}{
|
||||||
|
"name": "Alice",
|
||||||
},
|
},
|
||||||
|
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## List
|
|
||||||
|
|
||||||
List all the deployed functions
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/function/api#List](https://m3o.com/function/api#List)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/function"
|
|
||||||
)
|
|
||||||
|
|
||||||
// List all the deployed functions
|
|
||||||
func ListFunctions() {
|
|
||||||
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := functionService.List(&function.ListRequest{
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## Delete
|
## Delete
|
||||||
@@ -179,3 +208,58 @@ func DescribeFunctionStatus() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
## Regions
|
||||||
|
|
||||||
|
Return a list of supported regions
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/function/api#Regions](https://m3o.com/function/api#Regions)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/function"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Return a list of supported regions
|
||||||
|
func ListRegions() {
|
||||||
|
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := functionService.Regions(&function.RegionsRequest{
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Update
|
||||||
|
|
||||||
|
Update a function. Downloads the source, builds and redeploys
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/function/api#Update](https://m3o.com/function/api#Update)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/function"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Update a function. Downloads the source, builds and redeploys
|
||||||
|
func UpdateAfunction() {
|
||||||
|
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := functionService.Update(&function.UpdateRequest{
|
||||||
|
Name: "helloworld",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|||||||
@@ -11,8 +11,10 @@ import (
|
|||||||
func main() {
|
func main() {
|
||||||
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := functionService.Call(&function.CallRequest{
|
rsp, err := functionService.Call(&function.CallRequest{
|
||||||
Name: "helloworld",
|
Name: "helloworld",
|
||||||
Request: map[string]interface{}{},
|
Request: map[string]interface{}{
|
||||||
|
"name": "Alice",
|
||||||
|
},
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,8 +11,7 @@ import (
|
|||||||
func DeleteAfunction() {
|
func DeleteAfunction() {
|
||||||
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := functionService.Delete(&function.DeleteRequest{
|
rsp, err := functionService.Delete(&function.DeleteRequest{
|
||||||
Name: "my-first-func",
|
Name: "my-first-func",
|
||||||
Project: "tests",
|
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ func DeployAfunction() {
|
|||||||
rsp, err := functionService.Deploy(&function.DeployRequest{
|
rsp, err := functionService.Deploy(&function.DeployRequest{
|
||||||
Entrypoint: "helloworld",
|
Entrypoint: "helloworld",
|
||||||
Name: "my-first-func",
|
Name: "my-first-func",
|
||||||
Project: "tests",
|
|
||||||
Repo: "github.com/m3o/nodejs-function-example",
|
Repo: "github.com/m3o/nodejs-function-example",
|
||||||
Runtime: "nodejs14",
|
Runtime: "nodejs14",
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -11,10 +11,13 @@ import (
|
|||||||
func main() {
|
func main() {
|
||||||
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := functionService.Deploy(&function.DeployRequest{
|
rsp, err := functionService.Deploy(&function.DeployRequest{
|
||||||
Entrypoint: "helloworld",
|
Branch: "main",
|
||||||
|
Entrypoint: "Helloworld",
|
||||||
Name: "helloworld",
|
Name: "helloworld",
|
||||||
Repo: "github.com/m3o/nodejs-function-example",
|
Region: "europe-west1",
|
||||||
Runtime: "nodejs14",
|
Repo: "https://github.com/m3o/m3o",
|
||||||
|
Runtime: "go116",
|
||||||
|
Subfolder: "examples/go-function",
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,8 +11,7 @@ import (
|
|||||||
func DescribeFunctionStatus() {
|
func DescribeFunctionStatus() {
|
||||||
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := functionService.Describe(&function.DescribeRequest{
|
rsp, err := functionService.Describe(&function.DescribeRequest{
|
||||||
Name: "my-first-func",
|
Name: "my-first-func",
|
||||||
Project: "tests",
|
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
}
|
}
|
||||||
|
|||||||
17
examples/function/proxy/proxyUrl/main.go
Executable file
17
examples/function/proxy/proxyUrl/main.go
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/function"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Return the backend url for proxying
|
||||||
|
func main() {
|
||||||
|
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := functionService.Proxy(&function.ProxyRequest{
|
||||||
|
Id: "helloworld",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
15
examples/function/regions/listRegions/main.go
Executable file
15
examples/function/regions/listRegions/main.go
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/function"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Return a list of supported regions
|
||||||
|
func main() {
|
||||||
|
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := functionService.Regions(&function.RegionsRequest{})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
17
examples/function/reserve/reserveAFunction/main.go
Executable file
17
examples/function/reserve/reserveAFunction/main.go
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/function"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Reserve function names and resources beyond free quota
|
||||||
|
func main() {
|
||||||
|
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := functionService.Reserve(&function.ReserveRequest{
|
||||||
|
Name: "helloworld",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
@@ -7,14 +7,11 @@ import (
|
|||||||
"go.m3o.com/function"
|
"go.m3o.com/function"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Update a function
|
// Update a function. Downloads the source, builds and redeploys
|
||||||
func main() {
|
func main() {
|
||||||
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
functionService := function.NewFunctionService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := functionService.Update(&function.UpdateRequest{
|
rsp, err := functionService.Update(&function.UpdateRequest{
|
||||||
Entrypoint: "helloworld",
|
Name: "helloworld",
|
||||||
Name: "helloworld",
|
|
||||||
Repo: "github.com/m3o/nodejs-function-example",
|
|
||||||
Runtime: "nodejs14",
|
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Geocoding
|
# Geocoding
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Geocoding/api](https://m3o.com/Geocoding/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/geocoding/api](https://m3o.com/geocoding/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Gifs
|
# Gifs
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Gifs/api](https://m3o.com/Gifs/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/gifs/api](https://m3o.com/gifs/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Google
|
# Google
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Google/api](https://m3o.com/Google/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/google/api](https://m3o.com/google/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Helloworld
|
# Helloworld
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Helloworld/api](https://m3o.com/Helloworld/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/helloworld/api](https://m3o.com/helloworld/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Holidays
|
# Holidays
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Holidays/api](https://m3o.com/Holidays/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/holidays/api](https://m3o.com/holidays/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,36 +1,9 @@
|
|||||||
# Id
|
# Id
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Id/api](https://m3o.com/Id/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/id/api](https://m3o.com/id/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
## Types
|
|
||||||
|
|
||||||
List the types of IDs available. No query params needed.
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/id/api#Types](https://m3o.com/id/api#Types)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/id"
|
|
||||||
)
|
|
||||||
|
|
||||||
// List the types of IDs available. No query params needed.
|
|
||||||
func ListTheTypesOfIdsAvailable() {
|
|
||||||
idService := id.NewIdService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := idService.Types(&id.TypesRequest{
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Generate
|
## Generate
|
||||||
|
|
||||||
Generate a unique ID. Defaults to uuid.
|
Generate a unique ID. Defaults to uuid.
|
||||||
@@ -143,3 +116,30 @@ func GenerateAbigflakeId() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
## Types
|
||||||
|
|
||||||
|
List the types of IDs available. No query params needed.
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/id/api#Types](https://m3o.com/id/api#Types)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/id"
|
||||||
|
)
|
||||||
|
|
||||||
|
// List the types of IDs available. No query params needed.
|
||||||
|
func ListTheTypesOfIdsAvailable() {
|
||||||
|
idService := id.NewIdService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := idService.Types(&id.TypesRequest{
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|||||||
@@ -1,37 +1,9 @@
|
|||||||
# Image
|
# Image
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Image/api](https://m3o.com/Image/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/image/api](https://m3o.com/image/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
## Delete
|
|
||||||
|
|
||||||
Delete an image previously uploaded.
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/image/api#Delete](https://m3o.com/image/api#Delete)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/image"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Delete an image previously uploaded.
|
|
||||||
func DeleteAnUploadedImage() {
|
|
||||||
imageService := image.NewImageService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := imageService.Delete(&image.DeleteRequest{
|
|
||||||
Url: "https://cdn.m3ocontent.com/micro/images/micro/41e23b39-48dd-42b6-9738-79a313414bb8/cat.png",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Resize
|
## Resize
|
||||||
|
|
||||||
Resize an image on the fly without storing it (by sending and receiving a base64 encoded image), or resize and upload depending on parameters.
|
Resize an image on the fly without storing it (by sending and receiving a base64 encoded image), or resize and upload depending on parameters.
|
||||||
@@ -256,3 +228,31 @@ Url: "somewebsite.com/cat.png",
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
## Delete
|
||||||
|
|
||||||
|
Delete an image previously uploaded.
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/image/api#Delete](https://m3o.com/image/api#Delete)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/image"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Delete an image previously uploaded.
|
||||||
|
func DeleteAnUploadedImage() {
|
||||||
|
imageService := image.NewImageService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := imageService.Delete(&image.DeleteRequest{
|
||||||
|
Url: "https://cdn.m3ocontent.com/micro/images/micro/41e23b39-48dd-42b6-9738-79a313414bb8/cat.png",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Ip
|
# Ip
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Ip/api](https://m3o.com/Ip/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/ip/api](https://m3o.com/ip/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Joke
|
# Joke
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Joke/api](https://m3o.com/Joke/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/joke/api](https://m3o.com/joke/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Location
|
# Location
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Location/api](https://m3o.com/Location/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/location/api](https://m3o.com/location/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
34
examples/minecraft/README.md
Executable file
34
examples/minecraft/README.md
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
# Minecraft
|
||||||
|
|
||||||
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/minecraft/api](https://m3o.com/minecraft/api).
|
||||||
|
|
||||||
|
Endpoints:
|
||||||
|
|
||||||
|
## Ping
|
||||||
|
|
||||||
|
Ping a minecraft server
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/minecraft/api#Ping](https://m3o.com/minecraft/api#Ping)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/minecraft"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Ping a minecraft server
|
||||||
|
func PingAminecraftServer() {
|
||||||
|
minecraftService := minecraft.NewMinecraftService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := minecraftService.Ping(&minecraft.PingRequest{
|
||||||
|
Address: "funcraft.net",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
17
examples/minecraft/ping/pingAMinecraftServer/main.go
Executable file
17
examples/minecraft/ping/pingAMinecraftServer/main.go
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/minecraft"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Ping a minecraft server
|
||||||
|
func main() {
|
||||||
|
minecraftService := minecraft.NewMinecraftService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := minecraftService.Ping(&minecraft.PingRequest{
|
||||||
|
Address: "funcraft.net",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# Movie
|
# Movie
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Movie/api](https://m3o.com/Movie/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/movie/api](https://m3o.com/movie/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Mq
|
# Mq
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Mq/api](https://m3o.com/Mq/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/mq/api](https://m3o.com/mq/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
@@ -26,9 +26,9 @@ func PublishAmessage() {
|
|||||||
mqService := mq.NewMqService(os.Getenv("M3O_API_TOKEN"))
|
mqService := mq.NewMqService(os.Getenv("M3O_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",
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# News
|
# News
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/News/api](https://m3o.com/News/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/news/api](https://m3o.com/news/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,37 @@
|
|||||||
# Nft
|
# Nft
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Nft/api](https://m3o.com/Nft/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/nft/api](https://m3o.com/nft/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
## Assets
|
||||||
|
|
||||||
|
Return a list of assets
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/nft/api#Assets](https://m3o.com/nft/api#Assets)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/nft"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Return a list of assets
|
||||||
|
func GetAlistOfAssets() {
|
||||||
|
nftService := nft.NewNftService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := nftService.Assets(&nft.AssetsRequest{
|
||||||
|
Limit: 1,
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
## Create
|
## Create
|
||||||
|
|
||||||
Create your own NFT (coming soon)
|
Create your own NFT (coming soon)
|
||||||
@@ -61,31 +89,3 @@ func ListCollections() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## Assets
|
|
||||||
|
|
||||||
Return a list of assets
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/nft/api#Assets](https://m3o.com/nft/api#Assets)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/nft"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Return a list of assets
|
|
||||||
func GetAlistOfAssets() {
|
|
||||||
nftService := nft.NewNftService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := nftService.Assets(&nft.AssetsRequest{
|
|
||||||
Limit: 1,
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -1,9 +1,38 @@
|
|||||||
# Notes
|
# Notes
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Notes/api](https://m3o.com/Notes/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/notes/api](https://m3o.com/notes/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
## Create
|
||||||
|
|
||||||
|
Create a new note
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/notes/api#Create](https://m3o.com/notes/api#Create)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/notes"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Create a new note
|
||||||
|
func CreateAnote() {
|
||||||
|
notesService := notes.NewNotesService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := notesService.Create(¬es.CreateRequest{
|
||||||
|
Text: "This is my note",
|
||||||
|
Title: "New Note",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
## Read
|
## Read
|
||||||
|
|
||||||
Read a note
|
Read a note
|
||||||
@@ -160,32 +189,3 @@ func SubscribeToEvents() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## Create
|
|
||||||
|
|
||||||
Create a new note
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/notes/api#Create](https://m3o.com/notes/api#Create)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/notes"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Create a new note
|
|
||||||
func CreateAnote() {
|
|
||||||
notesService := notes.NewNotesService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := notesService.Create(¬es.CreateRequest{
|
|
||||||
Text: "This is my note",
|
|
||||||
Title: "New Note",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Otp
|
# Otp
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Otp/api](https://m3o.com/Otp/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/otp/api](https://m3o.com/otp/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
90
examples/ping/README.md
Executable file
90
examples/ping/README.md
Executable file
@@ -0,0 +1,90 @@
|
|||||||
|
# Ping
|
||||||
|
|
||||||
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/ping/api](https://m3o.com/ping/api).
|
||||||
|
|
||||||
|
Endpoints:
|
||||||
|
|
||||||
|
## Tcp
|
||||||
|
|
||||||
|
Ping a TCP port is open
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/ping/api#Tcp](https://m3o.com/ping/api#Tcp)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/ping"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Ping a TCP port is open
|
||||||
|
func DialAtcpAddress() {
|
||||||
|
pingService := ping.NewPingService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := pingService.Tcp(&ping.TcpRequest{
|
||||||
|
Address: "google.com:80",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Url
|
||||||
|
|
||||||
|
Ping a HTTP URL
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/ping/api#Url](https://m3o.com/ping/api#Url)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/ping"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Ping a HTTP URL
|
||||||
|
func CheckAurl() {
|
||||||
|
pingService := ping.NewPingService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := pingService.Url(&ping.UrlRequest{
|
||||||
|
Address: "google.com",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Ip
|
||||||
|
|
||||||
|
Ping an IP address
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/ping/api#Ip](https://m3o.com/ping/api#Ip)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/ping"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Ping an IP address
|
||||||
|
func PingAnIp() {
|
||||||
|
pingService := ping.NewPingService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := pingService.Ip(&ping.IpRequest{
|
||||||
|
Address: "google.com",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
17
examples/ping/ip/pingAnIp/main.go
Executable file
17
examples/ping/ip/pingAnIp/main.go
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/ping"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Ping an IP address
|
||||||
|
func main() {
|
||||||
|
pingService := ping.NewPingService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := pingService.Ip(&ping.IpRequest{
|
||||||
|
Address: "google.com",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
17
examples/ping/tcp/dialATcpAddress/main.go
Executable file
17
examples/ping/tcp/dialATcpAddress/main.go
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/ping"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Ping a TCP port is open
|
||||||
|
func main() {
|
||||||
|
pingService := ping.NewPingService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := pingService.Tcp(&ping.TcpRequest{
|
||||||
|
Address: "google.com:80",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
17
examples/ping/url/checkAUrl/main.go
Executable file
17
examples/ping/url/checkAUrl/main.go
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/ping"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Ping a HTTP URL
|
||||||
|
func main() {
|
||||||
|
pingService := ping.NewPingService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := pingService.Url(&ping.UrlRequest{
|
||||||
|
Address: "google.com",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
65
examples/place/README.md
Executable file
65
examples/place/README.md
Executable file
@@ -0,0 +1,65 @@
|
|||||||
|
# Place
|
||||||
|
|
||||||
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/place/api](https://m3o.com/place/api).
|
||||||
|
|
||||||
|
Endpoints:
|
||||||
|
|
||||||
|
## Nearby
|
||||||
|
|
||||||
|
Find places nearby using a location
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/place/api#Nearby](https://m3o.com/place/api#Nearby)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/place"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Find places nearby using a location
|
||||||
|
func FindPlacesNearby() {
|
||||||
|
placeService := place.NewPlaceService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := placeService.Nearby(&place.NearbyRequest{
|
||||||
|
Keyword: "tesco",
|
||||||
|
Location: "51.5074577,-0.1297515",
|
||||||
|
Type: "store",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Search
|
||||||
|
|
||||||
|
Search for places by text query
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/place/api#Search](https://m3o.com/place/api#Search)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/place"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Search for places by text query
|
||||||
|
func SearchForPlaces() {
|
||||||
|
placeService := place.NewPlaceService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := placeService.Search(&place.SearchRequest{
|
||||||
|
Location: "51.5074577,-0.1297515",
|
||||||
|
Query: "food",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
19
examples/place/nearby/findPlacesNearby/main.go
Executable file
19
examples/place/nearby/findPlacesNearby/main.go
Executable file
@@ -0,0 +1,19 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/place"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Find places nearby using a location
|
||||||
|
func main() {
|
||||||
|
placeService := place.NewPlaceService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := placeService.Nearby(&place.NearbyRequest{
|
||||||
|
Keyword: "tesco",
|
||||||
|
Location: "51.5074577,-0.1297515",
|
||||||
|
Type: "store",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
18
examples/place/search/searchForPlaces/main.go
Executable file
18
examples/place/search/searchForPlaces/main.go
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/place"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Search for places by text query
|
||||||
|
func main() {
|
||||||
|
placeService := place.NewPlaceService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := placeService.Search(&place.SearchRequest{
|
||||||
|
Location: "51.5074577,-0.1297515",
|
||||||
|
Query: "food",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
@@ -1,37 +1,9 @@
|
|||||||
# Postcode
|
# Postcode
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Postcode/api](https://m3o.com/Postcode/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/postcode/api](https://m3o.com/postcode/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
## Validate
|
|
||||||
|
|
||||||
Validate a postcode.
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/postcode/api#Validate](https://m3o.com/postcode/api#Validate)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/postcode"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Validate a postcode.
|
|
||||||
func ReturnArandomPostcodeAndItsInformation() {
|
|
||||||
postcodeService := postcode.NewPostcodeService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := postcodeService.Validate(&postcode.ValidateRequest{
|
|
||||||
Postcode: "SW1A 2AA",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Lookup
|
## Lookup
|
||||||
|
|
||||||
Lookup a postcode to retrieve the related region, county, etc
|
Lookup a postcode to retrieve the related region, county, etc
|
||||||
@@ -87,3 +59,31 @@ func ReturnArandomPostcodeAndItsInformation() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
## Validate
|
||||||
|
|
||||||
|
Validate a postcode.
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/postcode/api#Validate](https://m3o.com/postcode/api#Validate)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/postcode"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Validate a postcode.
|
||||||
|
func ReturnArandomPostcodeAndItsInformation() {
|
||||||
|
postcodeService := postcode.NewPostcodeService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := postcodeService.Validate(&postcode.ValidateRequest{
|
||||||
|
Postcode: "SW1A 2AA",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Prayer
|
# Prayer
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Prayer/api](https://m3o.com/Prayer/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/prayer/api](https://m3o.com/prayer/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Qr
|
# Qr
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Qr/api](https://m3o.com/Qr/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/qr/api](https://m3o.com/qr/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,37 @@
|
|||||||
# Quran
|
# Quran
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Quran/api](https://m3o.com/Quran/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/quran/api](https://m3o.com/quran/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
## Chapters
|
||||||
|
|
||||||
|
List the Chapters (surahs) of the Quran
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/quran/api#Chapters](https://m3o.com/quran/api#Chapters)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/quran"
|
||||||
|
)
|
||||||
|
|
||||||
|
// List the Chapters (surahs) of the Quran
|
||||||
|
func ListChapters() {
|
||||||
|
quranService := quran.NewQuranService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := quranService.Chapters(&quran.ChaptersRequest{
|
||||||
|
Language: "en",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
## Summary
|
## Summary
|
||||||
|
|
||||||
Get a summary for a given chapter (surah)
|
Get a summary for a given chapter (surah)
|
||||||
@@ -92,31 +120,3 @@ func SearchTheQuran() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## Chapters
|
|
||||||
|
|
||||||
List the Chapters (surahs) of the Quran
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/quran/api#Chapters](https://m3o.com/quran/api#Chapters)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/quran"
|
|
||||||
)
|
|
||||||
|
|
||||||
// List the Chapters (surahs) of the Quran
|
|
||||||
func ListChapters() {
|
|
||||||
quranService := quran.NewQuranService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := quranService.Chapters(&quran.ChaptersRequest{
|
|
||||||
Language: "en",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Routing
|
# Routing
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Routing/api](https://m3o.com/Routing/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/routing/api](https://m3o.com/routing/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,39 @@
|
|||||||
# Rss
|
# Rss
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Rss/api](https://m3o.com/Rss/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/rss/api](https://m3o.com/rss/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
## Add
|
||||||
|
|
||||||
|
Add a new RSS feed with a name, url, and category
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/rss/api#Add](https://m3o.com/rss/api#Add)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/rss"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Add a new RSS feed with a name, url, and category
|
||||||
|
func AddAnewFeed() {
|
||||||
|
rssService := rss.NewRssService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := rssService.Add(&rss.AddRequest{
|
||||||
|
Category: "news",
|
||||||
|
Name: "bbc",
|
||||||
|
Url: "http://feeds.bbci.co.uk/news/rss.xml",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
## Feed
|
## Feed
|
||||||
|
|
||||||
Get an RSS feed by name. If no name is given, all feeds are returned. Default limit is 25 entries.
|
Get an RSS feed by name. If no name is given, all feeds are returned. Default limit is 25 entries.
|
||||||
@@ -87,33 +117,3 @@ func RemoveAfeed() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## Add
|
|
||||||
|
|
||||||
Add a new RSS feed with a name, url, and category
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/rss/api#Add](https://m3o.com/rss/api#Add)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/rss"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Add a new RSS feed with a name, url, and category
|
|
||||||
func AddAnewFeed() {
|
|
||||||
rssService := rss.NewRssService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := rssService.Add(&rss.AddRequest{
|
|
||||||
Category: "news",
|
|
||||||
Name: "bbc",
|
|
||||||
Url: "http://feeds.bbci.co.uk/news/rss.xml",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
# Search
|
# Search
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Search/api](https://m3o.com/Search/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/search/api](https://m3o.com/search/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
## Vote
|
## Delete
|
||||||
|
|
||||||
Vote to have the Search api launched faster!
|
Delete a document given its ID
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/search/api#Vote](https://m3o.com/search/api#Vote)
|
[https://m3o.com/search/api#Delete](https://m3o.com/search/api#Delete)
|
||||||
|
|
||||||
```go
|
```go
|
||||||
package example
|
package example
|
||||||
@@ -21,11 +21,191 @@ import(
|
|||||||
"go.m3o.com/search"
|
"go.m3o.com/search"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Vote to have the Search api launched faster!
|
// Delete a document given its ID
|
||||||
func VoteForTheApi() {
|
func DeleteAdocument() {
|
||||||
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := searchService.Vote(&search.VoteRequest{
|
rsp, err := searchService.Delete(&search.DeleteRequest{
|
||||||
Message: "Launch it!",
|
Id: "1234",
|
||||||
|
Index: "customers",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## CreateIndex
|
||||||
|
|
||||||
|
Create an index by name
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/search/api#CreateIndex](https://m3o.com/search/api#CreateIndex)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/search"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Create an index by name
|
||||||
|
func CreateAnIndex() {
|
||||||
|
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := searchService.CreateIndex(&search.CreateIndexRequest{
|
||||||
|
Index: "customers",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## DeleteIndex
|
||||||
|
|
||||||
|
Delete an index by name
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/search/api#DeleteIndex](https://m3o.com/search/api#DeleteIndex)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/search"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Delete an index by name
|
||||||
|
func DeleteAnIndex() {
|
||||||
|
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := searchService.DeleteIndex(&search.DeleteIndexRequest{
|
||||||
|
Index: "customers",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Index
|
||||||
|
|
||||||
|
Index a document i.e. insert a document to search for.
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/search/api#Index](https://m3o.com/search/api#Index)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/search"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Index a document i.e. insert a document to search for.
|
||||||
|
func IndexAdocument() {
|
||||||
|
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := searchService.Index(&search.IndexRequest{
|
||||||
|
Document: &search.Document{
|
||||||
|
Contents: map[string]interface{}{
|
||||||
|
"name": "John Doe",
|
||||||
|
"age": 37,
|
||||||
|
"starsign": "Leo",
|
||||||
|
},
|
||||||
|
Id: "1234",
|
||||||
|
},
|
||||||
|
Index: "customers",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Search
|
||||||
|
|
||||||
|
Search for documents in a given in index
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/search/api#Search](https://m3o.com/search/api#Search)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/search"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Search for documents in a given in index
|
||||||
|
func SearchForAdocument() {
|
||||||
|
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := searchService.Search(&search.SearchRequest{
|
||||||
|
Index: "customers",
|
||||||
|
Query: "name == 'John'",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Search
|
||||||
|
|
||||||
|
Search for documents in a given in index
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/search/api#Search](https://m3o.com/search/api#Search)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/search"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Search for documents in a given in index
|
||||||
|
func SearchOnMultipleFieldsand() {
|
||||||
|
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := searchService.Search(&search.SearchRequest{
|
||||||
|
Index: "customers",
|
||||||
|
Query: "name == 'John' AND starsign == 'Leo'",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Search
|
||||||
|
|
||||||
|
Search for documents in a given in index
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/search/api#Search](https://m3o.com/search/api#Search)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/search"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Search for documents in a given in index
|
||||||
|
func SearchOnMultipleFieldsor() {
|
||||||
|
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := searchService.Search(&search.SearchRequest{
|
||||||
|
Index: "customers",
|
||||||
|
Query: "name == 'John' OR name == 'Jane'",
|
||||||
|
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
|
|||||||
@@ -7,11 +7,11 @@ import (
|
|||||||
"go.m3o.com/search"
|
"go.m3o.com/search"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Vote to have the Search api launched faster!
|
// Create an index by name
|
||||||
func main() {
|
func main() {
|
||||||
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
||||||
rsp, err := searchService.Vote(&search.VoteRequest{
|
rsp, err := searchService.CreateIndex(&search.CreateIndexRequest{
|
||||||
Message: "Launch it!",
|
Index: "customers",
|
||||||
})
|
})
|
||||||
fmt.Println(rsp, err)
|
fmt.Println(rsp, err)
|
||||||
}
|
}
|
||||||
18
examples/search/delete/deleteADocument/main.go
Executable file
18
examples/search/delete/deleteADocument/main.go
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/search"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Delete a document given its ID
|
||||||
|
func main() {
|
||||||
|
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := searchService.Delete(&search.DeleteRequest{
|
||||||
|
Id: "1234",
|
||||||
|
Index: "customers",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
17
examples/search/deleteIndex/deleteAnIndex/main.go
Executable file
17
examples/search/deleteIndex/deleteAnIndex/main.go
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/search"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Delete an index by name
|
||||||
|
func main() {
|
||||||
|
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := searchService.DeleteIndex(&search.DeleteIndexRequest{
|
||||||
|
Index: "customers",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
25
examples/search/index/indexADocument/main.go
Executable file
25
examples/search/index/indexADocument/main.go
Executable file
@@ -0,0 +1,25 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/search"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Index a document i.e. insert a document to search for.
|
||||||
|
func main() {
|
||||||
|
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := searchService.Index(&search.IndexRequest{
|
||||||
|
Document: &search.Document{
|
||||||
|
Contents: map[string]interface{}{
|
||||||
|
"age": 37,
|
||||||
|
"starsign": "Leo",
|
||||||
|
"name": "John Doe",
|
||||||
|
},
|
||||||
|
Id: "1234",
|
||||||
|
},
|
||||||
|
Index: "customers",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
18
examples/search/search/searchForADocument/main.go
Executable file
18
examples/search/search/searchForADocument/main.go
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/search"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Search for documents in a given in index
|
||||||
|
func main() {
|
||||||
|
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := searchService.Search(&search.SearchRequest{
|
||||||
|
Index: "customers",
|
||||||
|
Query: "name == 'John'",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
18
examples/search/search/searchOnMultipleFieldsand/main.go
Executable file
18
examples/search/search/searchOnMultipleFieldsand/main.go
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/search"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Search for documents in a given in index
|
||||||
|
func main() {
|
||||||
|
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := searchService.Search(&search.SearchRequest{
|
||||||
|
Index: "customers",
|
||||||
|
Query: "name == 'John' AND starsign == 'Leo'",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
18
examples/search/search/searchOnMultipleFieldsor/main.go
Executable file
18
examples/search/search/searchOnMultipleFieldsor/main.go
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/search"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Search for documents in a given in index
|
||||||
|
func main() {
|
||||||
|
searchService := search.NewSearchService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := searchService.Search(&search.SearchRequest{
|
||||||
|
Index: "customers",
|
||||||
|
Query: "name == 'John' OR name == 'Jane'",
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# Sentiment
|
# Sentiment
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Sentiment/api](https://m3o.com/Sentiment/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/sentiment/api](https://m3o.com/sentiment/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Sms
|
# Sms
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Sms/api](https://m3o.com/Sms/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/sms/api](https://m3o.com/sms/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,95 +1,9 @@
|
|||||||
# Space
|
# Space
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Space/api](https://m3o.com/Space/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/space/api](https://m3o.com/space/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
## Download
|
|
||||||
|
|
||||||
Download an object via a presigned url
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/space/api#Download](https://m3o.com/space/api#Download)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/space"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Download an object via a presigned url
|
|
||||||
func DownloadAnObject() {
|
|
||||||
spaceService := space.NewSpaceService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := spaceService.Download(&space.DownloadRequest{
|
|
||||||
Name: "images/file.jpg",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Upload
|
|
||||||
|
|
||||||
Upload a large object (> 10MB). Returns a time limited presigned URL to be used for uploading the object
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/space/api#Upload](https://m3o.com/space/api#Upload)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/space"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Upload a large object (> 10MB). Returns a time limited presigned URL to be used for uploading the object
|
|
||||||
func UploadAnObject() {
|
|
||||||
spaceService := space.NewSpaceService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := spaceService.Upload(&space.UploadRequest{
|
|
||||||
Name: "images/file.jpg",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Create
|
|
||||||
|
|
||||||
Create an object. Returns error if object with this name already exists. Max object size of 10MB, see Upload endpoint for larger objects. If you want to update an existing object use the `Update` endpoint
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/space/api#Create](https://m3o.com/space/api#Create)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/space"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Create an object. Returns error if object with this name already exists. Max object size of 10MB, see Upload endpoint for larger objects. If you want to update an existing object use the `Update` endpoint
|
|
||||||
func CreateAnObject() {
|
|
||||||
spaceService := space.NewSpaceService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := spaceService.Create(&space.CreateRequest{
|
|
||||||
Name: "images/file.jpg",
|
|
||||||
Object: "<file bytes>",
|
|
||||||
Visibility: "public",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Update
|
## Update
|
||||||
|
|
||||||
Update an object. If an object with this name does not exist, creates a new one.
|
Update an object. If an object with this name does not exist, creates a new one.
|
||||||
@@ -232,3 +146,89 @@ func ReadAnObject() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
## Download
|
||||||
|
|
||||||
|
Download an object via a presigned url
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/space/api#Download](https://m3o.com/space/api#Download)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/space"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Download an object via a presigned url
|
||||||
|
func DownloadAnObject() {
|
||||||
|
spaceService := space.NewSpaceService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := spaceService.Download(&space.DownloadRequest{
|
||||||
|
Name: "images/file.jpg",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Upload
|
||||||
|
|
||||||
|
Upload a large object (> 10MB). Returns a time limited presigned URL to be used for uploading the object
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/space/api#Upload](https://m3o.com/space/api#Upload)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/space"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Upload a large object (> 10MB). Returns a time limited presigned URL to be used for uploading the object
|
||||||
|
func UploadAnObject() {
|
||||||
|
spaceService := space.NewSpaceService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := spaceService.Upload(&space.UploadRequest{
|
||||||
|
Name: "images/file.jpg",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
## Create
|
||||||
|
|
||||||
|
Create an object. Returns error if object with this name already exists. Max object size of 10MB, see Upload endpoint for larger objects. If you want to update an existing object use the `Update` endpoint
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/space/api#Create](https://m3o.com/space/api#Create)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/space"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Create an object. Returns error if object with this name already exists. Max object size of 10MB, see Upload endpoint for larger objects. If you want to update an existing object use the `Update` endpoint
|
||||||
|
func CreateAnObject() {
|
||||||
|
spaceService := space.NewSpaceService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := spaceService.Create(&space.CreateRequest{
|
||||||
|
Name: "images/file.jpg",
|
||||||
|
Object: "<file bytes>",
|
||||||
|
Visibility: "public",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Spam
|
# Spam
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Spam/api](https://m3o.com/Spam/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/spam/api](https://m3o.com/spam/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,37 @@
|
|||||||
# Stock
|
# Stock
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Stock/api](https://m3o.com/Stock/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/stock/api](https://m3o.com/stock/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
## Price
|
||||||
|
|
||||||
|
Get the last price for a given stock ticker
|
||||||
|
|
||||||
|
|
||||||
|
[https://m3o.com/stock/api#Price](https://m3o.com/stock/api#Price)
|
||||||
|
|
||||||
|
```go
|
||||||
|
package example
|
||||||
|
|
||||||
|
import(
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"go.m3o.com/stock"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Get the last price for a given stock ticker
|
||||||
|
func GetAstockPrice() {
|
||||||
|
stockService := stock.NewStockService(os.Getenv("M3O_API_TOKEN"))
|
||||||
|
rsp, err := stockService.Price(&stock.PriceRequest{
|
||||||
|
Symbol: "AAPL",
|
||||||
|
|
||||||
|
})
|
||||||
|
fmt.Println(rsp, err)
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
## Quote
|
## Quote
|
||||||
|
|
||||||
Get the last quote for the stock
|
Get the last quote for the stock
|
||||||
@@ -93,31 +121,3 @@ Stock: "AAPL",
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## Price
|
|
||||||
|
|
||||||
Get the last price for a given stock ticker
|
|
||||||
|
|
||||||
|
|
||||||
[https://m3o.com/stock/api#Price](https://m3o.com/stock/api#Price)
|
|
||||||
|
|
||||||
```go
|
|
||||||
package example
|
|
||||||
|
|
||||||
import(
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
"go.m3o.com/stock"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Get the last price for a given stock ticker
|
|
||||||
func GetAstockPrice() {
|
|
||||||
stockService := stock.NewStockService(os.Getenv("M3O_API_TOKEN"))
|
|
||||||
rsp, err := stockService.Price(&stock.PriceRequest{
|
|
||||||
Symbol: "AAPL",
|
|
||||||
|
|
||||||
})
|
|
||||||
fmt.Println(rsp, err)
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Stream
|
# Stream
|
||||||
|
|
||||||
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/Stream/api](https://m3o.com/Stream/api).
|
An [m3o.com](https://m3o.com) API. For example usage see [m3o.com/stream/api](https://m3o.com/stream/api).
|
||||||
|
|
||||||
Endpoints:
|
Endpoints:
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user