ducky/subscriptions
2015-07-13
Child:2c8250237566
ducky/subscriptions/client/subscription.go
Create a client for working with subscriptions. We mostly copied our code.secondbit.org/auth.hg/client package to create a simple client library for communicating with our Subscriptions API. Right now, the client only has support for creating a subscription. It remains untested, but it builds.
| paddy@7 | 1 package client |
| paddy@7 | 2 |
| paddy@7 | 3 import ( |
| paddy@7 | 4 "code.secondbit.org/auth.hg" |
| paddy@7 | 5 |
| paddy@7 | 6 "code.secondbit.org/ducky/subscriptions.hg" |
| paddy@7 | 7 "code.secondbit.org/ducky/subscriptions.hg/api" |
| paddy@7 | 8 ) |
| paddy@7 | 9 |
| paddy@7 | 10 func (c *Client) CreateSubscription(change subscriptions.SubscriptionChange) (subscriptions.Subscription, error) { |
| paddy@7 | 11 resp, err := c.Post("/subscriptions/", change, auth.Scopes{api.ScopeSubscription, api.ScopeSubscriptionAdmin}.Strings(), change.UserID) |
| paddy@7 | 12 if err != nil { |
| paddy@7 | 13 return subscriptions.Subscription{}, err |
| paddy@7 | 14 } |
| paddy@7 | 15 if len(resp.Subscriptions) < 1 { |
| paddy@7 | 16 return subscriptions.Subscription{}, subscriptions.ErrSubscriptionNotFound |
| paddy@7 | 17 } |
| paddy@7 | 18 return resp.Subscriptions[0], nil |
| paddy@7 | 19 } |