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.
1 package client
3 import (
4 "code.secondbit.org/auth.hg"
6 "code.secondbit.org/ducky/subscriptions.hg"
7 "code.secondbit.org/ducky/subscriptions.hg/api"
8 )
10 func (c *Client) CreateSubscription(change subscriptions.SubscriptionChange) (subscriptions.Subscription, error) {
11 resp, err := c.Post("/subscriptions/", change, auth.Scopes{api.ScopeSubscription, api.ScopeSubscriptionAdmin}.Strings(), change.UserID)
12 if err != nil {
13 return subscriptions.Subscription{}, err
14 }
15 if len(resp.Subscriptions) < 1 {
16 return subscriptions.Subscription{}, subscriptions.ErrSubscriptionNotFound
17 }
18 return resp.Subscriptions[0], nil
19 }