diff --git a/collection.go b/collection.go index 8c00a54..9d16e48 100644 --- a/collection.go +++ b/collection.go @@ -29,6 +29,12 @@ type ( Alias string `json:"alias"` Title string `json:"title"` } + + // DeleteCollectionParams holds the parameters required to delete a + // collection. + DeleteCollectionParams struct { + Alias string `json:"-"` + } ) // CreateCollection creates a new collection, returning a user-friendly error @@ -140,8 +146,8 @@ func (c *Client) GetUserCollections() (*[]Collection, error) { // anonymous. // // See https://developers.write.as/docs/api/#delete-a-collection. -func (c *Client) DeleteCollection(alias string) error { - endpoint := "/collections/" + alias +func (c *Client) DeleteCollection(p *DeleteCollectionParams) error { + endpoint := "/collections/" + p.Alias env, err := c.delete(endpoint, nil /* data */) if err != nil { return err diff --git a/collection_test.go b/collection_test.go index 93e82c7..905290e 100644 --- a/collection_test.go +++ b/collection_test.go @@ -71,7 +71,8 @@ func TestCreateAndDeleteCollection(t *testing.T) { t.Fatalf("Unable to create collection %q: %v", alias, err) } - if err := wac.DeleteCollection(c.Alias); err != nil { + p := &DeleteCollectionParams{Alias: c.Alias} + if err := wac.DeleteCollection(p); err != nil { t.Fatalf("Unable to delete collection %q: %v", alias, err) } } @@ -81,7 +82,8 @@ func TestDeleteCollectionUnauthenticated(t *testing.T) { now := time.Now().Unix() alias := fmt.Sprintf("test-collection-does-not-exist-%v", now) - err := wac.DeleteCollection(alias) + p := &DeleteCollectionParams{Alias: alias} + err := wac.DeleteCollection(p) if err == nil { t.Fatalf("Should not be able to delete collection %q unauthenticated.", alias) }