ducky/subscriptions

Paddy 2015-07-13 Child:2c8250237566

7:9e138933e4ce Go to Latest

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.

History
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 }