package client

import (
	"code.secondbit.org/auth.hg"

	"code.secondbit.org/ducky/subscriptions.hg"
	"code.secondbit.org/ducky/subscriptions.hg/api"
)

func (c *Client) CreateSubscription(change subscriptions.SubscriptionChange) (subscriptions.Subscription, error) {
	resp, err := c.Post("/subscriptions/", change, auth.Scopes{api.ScopeSubscription, api.ScopeSubscriptionAdmin}.Strings(), change.UserID)
	if err != nil {
		return subscriptions.Subscription{}, err
	}
	if len(resp.Subscriptions) < 1 {
		return subscriptions.Subscription{}, subscriptions.ErrSubscriptionNotFound
	}
	return resp.Subscriptions[0], nil
}
