Skip to content

Commit e193c46

Browse files
author
williamd5
authored
Merge pull request #75 from cloudnode-pro/next
Implement changes from API (Projects)
2 parents 653d3d8 + a6e6e36 commit e193c46

File tree

8 files changed

+604
-12
lines changed

8 files changed

+604
-12
lines changed

README.md

Lines changed: 95 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Cloudnode API SDK
22

33
![Client Version: 2.0.0](https://img.shields.io/badge/Client%20Version-2.0.0-%2316a34a)
4-
![API Version: 5.11.4](https://img.shields.io/badge/API%20Version-5.11.4-%232563eb)
4+
![API Version: 5.12.0](https://img.shields.io/badge/API%20Version-5.12.0-%232563eb)
55
![build: passing](https://img.shields.io/badge/build-passing-%2316a34a)
66
![npm downloads](https://img.shields.io/npm/dt/cloudnode-ts?label=downloads)
77

@@ -94,6 +94,11 @@ console.log(newsletter._response.status); // 200
9494
- [`cloudnode.newsletter.subscribe(id, email, [data])`](#cloudnodenewslettersubscribeid-email-data)
9595
- [`cloudnode.newsletters.listSubscriptions([limit], [page])`](#cloudnodenewsletterslistsubscriptionslimit-page)
9696
- [`cloudnode.newsletters.unsubscribe(subscription)`](#cloudnodenewslettersunsubscribesubscription)
97+
- [`cloudnode.projects.create(name)`](#cloudnodeprojectscreatename)
98+
- [`cloudnode.projects.delete(id)`](#cloudnodeprojectsdeleteid)
99+
- [`cloudnode.projects.get(id)`](#cloudnodeprojectsgetid)
100+
- [`cloudnode.projects.list([limit], [page])`](#cloudnodeprojectslistlimit-page)
101+
- [`cloudnode.projects.update(id, name)`](#cloudnodeprojectsupdateid-name)
97102
- [`cloudnode.token.create(permissions, lifetime, [note])`](#cloudnodetokencreatepermissions-lifetime-note)
98103
- [`cloudnode.token.get(id)`](#cloudnodetokengetid)
99104
- [`cloudnode.token.getRequest(id, request)`](#cloudnodetokengetrequestid-request)
@@ -119,6 +124,7 @@ console.log(newsletter._response.status); // 200
119124
- [Interface: `Cloudnode.PartialToken`](#interface-cloudnodepartialtoken)
120125
- [Interface: `Cloudnode.Permission`](#interface-cloudnodepermission)
121126
- [Interface: `Cloudnode.PrimaryEmail`](#interface-cloudnodeprimaryemail)
127+
- [Interface: `Cloudnode.Project`](#interface-cloudnodeproject)
122128
- [Interface: `Cloudnode.Request`](#interface-cloudnoderequest)
123129
- [Interface: `Cloudnode.ShortRequest`](#interface-cloudnodeshortrequest)
124130
- [Interface: `Cloudnode.Token`](#interface-cloudnodetoken)
@@ -325,7 +331,7 @@ Update account identity. Requires token with scope `account.details.identity.upd
325331

326332
- `username` <code>[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)</code> Your unique username. Between 3 and 64 characters. Only letters, numbers, dashes and underscores. May not start with `user_`.
327333
- `name` <code>[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [null](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/null)</code> Your full name. Set to `null` to remove.
328-
- Returns: <code>[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Cloudnode.ApiResponse](#class-cloudnodeapiresponset)&lt;[Cloudnode.AccountIdentity](#interface-cloudnodeaccountidentity)>></code>
334+
- Returns: <code>[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Cloudnode.ApiResponse](#class-cloudnodeapiresponset)&lt;[Cloudnode.AccountIdentity](#interface-cloudnodeaccountidentity) | [void](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined)>></code> `void` if nothing was changed.
329335
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "RESOURCE_NOT_FOUND"}</code>
330336
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "CONFLICT"}</code>
331337
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "INVALID_DATA"}</code>
@@ -442,6 +448,83 @@ Revoke a subscription (unsubscribe)
442448
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "INTERNAL_SERVER_ERROR"}</code>
443449
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "MAINTENANCE"}</code>
444450

451+
<a name="cloudnodeprojectscreatename"></a>
452+
453+
### `cloudnode.projects.create(name)`
454+
455+
Create a project. Requires token with scope `projects.create.own`.
456+
457+
- `name` <code>[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)</code> Project name. Max 255 characters.
458+
- Returns: <code>[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Cloudnode.ApiResponse](#class-cloudnodeapiresponset)&lt;[Cloudnode.Project](#interface-cloudnodeproject)>></code>
459+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "INVALID_DATA"}</code>
460+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "UNAUTHORIZED"}</code>
461+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "NO_PERMISSION"}</code>
462+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "RATE_LIMITED"}</code>
463+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "INTERNAL_SERVER_ERROR"}</code>
464+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "MAINTENANCE"}</code>
465+
466+
<a name="cloudnodeprojectsdeleteid"></a>
467+
468+
### `cloudnode.projects.delete(id)`
469+
470+
Delete a project. Requires token with scope `projects.delete.own`.
471+
472+
- `id` <code>[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)</code> Project ID.
473+
- Returns: <code>[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Cloudnode.ApiResponse](#class-cloudnodeapiresponset)&lt;[void](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined)>></code>
474+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "RESOURCE_NOT_FOUND"}</code>
475+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "UNAUTHORIZED"}</code>
476+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "NO_PERMISSION"}</code>
477+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "RATE_LIMITED"}</code>
478+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "INTERNAL_SERVER_ERROR"}</code>
479+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "MAINTENANCE"}</code>
480+
481+
<a name="cloudnodeprojectsgetid"></a>
482+
483+
### `cloudnode.projects.get(id)`
484+
485+
Get a project. Requires token with scope `projects.get.own`.
486+
487+
- `id` <code>[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)</code> Project ID.
488+
- Returns: <code>[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Cloudnode.ApiResponse](#class-cloudnodeapiresponset)&lt;[Cloudnode.Project](#interface-cloudnodeproject)>></code>
489+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "RESOURCE_NOT_FOUND"}</code>
490+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "UNAUTHORIZED"}</code>
491+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "NO_PERMISSION"}</code>
492+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "RATE_LIMITED"}</code>
493+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "INTERNAL_SERVER_ERROR"}</code>
494+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "MAINTENANCE"}</code>
495+
496+
<a name="cloudnodeprojectslistlimit-page"></a>
497+
498+
### `cloudnode.projects.list([limit], [page])`
499+
500+
List projects. Requires token with scope `projects.get.own`.
501+
502+
- `limit` <code>[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)</code> The number of projects to return per page. No more than 100. Default: `20`
503+
- `page` <code>[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)</code> The page number. No more than 2³² (4294967296). Default: `1`
504+
- Returns: <code>[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Cloudnode.ApiResponse](#class-cloudnodeapiresponset)&lt;[Cloudnode.PaginatedData](#interface-cloudnodepaginateddatat)&lt;[Cloudnode.Project[]](#interface-cloudnodeproject)>>></code>
505+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "UNAUTHORIZED"}</code>
506+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "NO_PERMISSION"}</code>
507+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "RATE_LIMITED"}</code>
508+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "INTERNAL_SERVER_ERROR"}</code>
509+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "MAINTENANCE"}</code>
510+
511+
<a name="cloudnodeprojectsupdateid-name"></a>
512+
513+
### `cloudnode.projects.update(id, name)`
514+
515+
Update a project. Requires token with scope `projects.update.own`.
516+
517+
- `id` <code>[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)</code> Project ID.
518+
- `name` <code>[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)</code> Project name. Max 255 characters.
519+
- Returns: <code>[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)&lt;[Cloudnode.ApiResponse](#class-cloudnodeapiresponset)&lt;[Cloudnode.Project](#interface-cloudnodeproject)>></code>
520+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "RESOURCE_NOT_FOUND"}</code>
521+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "INVALID_DATA"}</code>
522+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "UNAUTHORIZED"}</code>
523+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "NO_PERMISSION"}</code>
524+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "RATE_LIMITED"}</code>
525+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "INTERNAL_SERVER_ERROR"}</code>
526+
- Throws: <code>[Cloudnode.Error](#interface-cloudnodeerror) & {code: "MAINTENANCE"}</code>
527+
445528
<a name="cloudnodetokencreatepermissions-lifetime-note"></a>
446529

447530
### `cloudnode.token.create(permissions, lifetime, [note])`
@@ -742,6 +825,16 @@ Your current primary account e-mail address
742825
- `address` <code>[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [null](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/null)</code> Your primary e-mail address. May ben null if anonymised.
743826
- `verified` <code>[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)</code> Whether this e-mail address has been verified
744827

828+
<a name="interface-cloudnodeproject"></a>
829+
830+
### Interface: `Cloudnode.Project`
831+
832+
An isolated group of servers
833+
834+
- `id` <code>[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)</code> The ID of the project
835+
- `name` <code>[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)</code> Project name
836+
- `user` <code>[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)</code> ID of the user that owns this project
837+
745838
<a name="interface-cloudnoderequest"></a>
746839

747840
### Interface: `Cloudnode.Request`

0 commit comments

Comments
 (0)