Skip to content

Commit cde0d60

Browse files
author
William Duncan
committed
generate
1 parent 1f348ac commit cde0d60

File tree

6 files changed

+414
-1
lines changed

6 files changed

+414
-1
lines changed

README.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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)
@@ -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`

browser/Cloudnode.js

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -570,6 +570,80 @@ class Cloudnode {
570570
return await this.#sendRequest({ "type": "operation", "description": "List account permissions with user-friendly descriptions. Some permissions (such as wildcard ones) may be excluded in this list if they don't have a description.", "token": "account.details", "method": "GET", "path": "/account/permissions", "parameters": {}, "returns": [{ "status": 200, "type": "Permission[]" }, { "status": 401, "type": "Error & {code: \"UNAUTHORIZED\"}" }, { "status": 403, "type": "Error & {code: \"NO_PERMISSION\"}" }, { "status": 429, "type": "Error & {code: \"RATE_LIMITED\"}" }, { "status": 500, "type": "Error & {code: \"INTERNAL_SERVER_ERROR\"}" }, { "status": 503, "type": "Error & {code: \"MAINTENANCE\"}" }] }, {}, {}, {});
571571
},
572572
};
573+
projects = {
574+
/**
575+
* List projects
576+
* @GET /projects
577+
* @param limit The number of projects to return per page. No more than 100.
578+
* @param page The page number. No more than 2³² (4294967296).
579+
* @throws {Cloudnode.Error & {code: "UNAUTHORIZED"}}
580+
* @throws {Cloudnode.Error & {code: "NO_PERMISSION"}}
581+
* @throws {Cloudnode.Error & {code: "RATE_LIMITED"}}
582+
* @throws {Cloudnode.Error & {code: "INTERNAL_SERVER_ERROR"}}
583+
* @throws {Cloudnode.Error & {code: "MAINTENANCE"}}
584+
*/
585+
list: async (limit = 20, page = 1) => {
586+
return await this.#sendRequest({ "type": "operation", "description": "List projects", "token": "projects.get.own", "method": "GET", "path": "/projects", "parameters": { "query": { "limit": { "description": "The number of projects to return per page. No more than 100.", "default": "20", "type": "number", "required": false }, "page": { "description": "The page number. No more than 2³² (4294967296).", "default": "1", "type": "number", "required": false } } }, "returns": [{ "status": 200, "type": "Project[]" }, { "status": 401, "type": "Error & {code: \"UNAUTHORIZED\"}" }, { "status": 403, "type": "Error & {code: \"NO_PERMISSION\"}" }, { "status": 429, "type": "Error & {code: \"RATE_LIMITED\"}" }, { "status": 500, "type": "Error & {code: \"INTERNAL_SERVER_ERROR\"}" }, { "status": 503, "type": "Error & {code: \"MAINTENANCE\"}" }] }, {}, { limit: `${limit}`, page: `${page}` }, {});
587+
},
588+
/**
589+
* Create a project
590+
* @POST /projects
591+
* @param name Project name. Max 255 characters.
592+
* @throws {Cloudnode.Error & {code: "INVALID_DATA"}}
593+
* @throws {Cloudnode.Error & {code: "UNAUTHORIZED"}}
594+
* @throws {Cloudnode.Error & {code: "NO_PERMISSION"}}
595+
* @throws {Cloudnode.Error & {code: "RATE_LIMITED"}}
596+
* @throws {Cloudnode.Error & {code: "INTERNAL_SERVER_ERROR"}}
597+
* @throws {Cloudnode.Error & {code: "MAINTENANCE"}}
598+
*/
599+
create: async (name) => {
600+
return await this.#sendRequest({ "type": "operation", "description": "Create a project", "token": "projects.create.own", "method": "POST", "path": "/projects", "parameters": { "body": { "name": { "description": "Project name. Max 255 characters.", "type": "string", "required": true } } }, "returns": [{ "status": 201, "type": "Project" }, { "status": 422, "type": "Error & {code: \"INVALID_DATA\"}" }, { "status": 401, "type": "Error & {code: \"UNAUTHORIZED\"}" }, { "status": 403, "type": "Error & {code: \"NO_PERMISSION\"}" }, { "status": 429, "type": "Error & {code: \"RATE_LIMITED\"}" }, { "status": 500, "type": "Error & {code: \"INTERNAL_SERVER_ERROR\"}" }, { "status": 503, "type": "Error & {code: \"MAINTENANCE\"}" }] }, {}, {}, { name });
601+
},
602+
/**
603+
* Get a project
604+
* @GET /projects/:id
605+
* @param id Project ID
606+
* @throws {Cloudnode.Error & {code: "RESOURCE_NOT_FOUND"}}
607+
* @throws {Cloudnode.Error & {code: "UNAUTHORIZED"}}
608+
* @throws {Cloudnode.Error & {code: "NO_PERMISSION"}}
609+
* @throws {Cloudnode.Error & {code: "RATE_LIMITED"}}
610+
* @throws {Cloudnode.Error & {code: "INTERNAL_SERVER_ERROR"}}
611+
* @throws {Cloudnode.Error & {code: "MAINTENANCE"}}
612+
*/
613+
get: async (id) => {
614+
return await this.#sendRequest({ "type": "operation", "description": "Get a project", "token": "projects.get.own", "method": "GET", "path": "/projects/:id", "parameters": { "path": { "id": { "description": "Project ID", "type": "string", "required": true } } }, "returns": [{ "status": 200, "type": "Project" }, { "status": 404, "type": "Error & {code: \"RESOURCE_NOT_FOUND\"}" }, { "status": 401, "type": "Error & {code: \"UNAUTHORIZED\"}" }, { "status": 403, "type": "Error & {code: \"NO_PERMISSION\"}" }, { "status": 429, "type": "Error & {code: \"RATE_LIMITED\"}" }, { "status": 500, "type": "Error & {code: \"INTERNAL_SERVER_ERROR\"}" }, { "status": 503, "type": "Error & {code: \"MAINTENANCE\"}" }] }, { id: `${id}` }, {}, {});
615+
},
616+
/**
617+
* Update a project
618+
* @PATCH /projects/:id
619+
* @param id Project ID
620+
* @param name Project name. Max 255 characters.
621+
* @throws {Cloudnode.Error & {code: "RESOURCE_NOT_FOUND"}}
622+
* @throws {Cloudnode.Error & {code: "INVALID_DATA"}}
623+
* @throws {Cloudnode.Error & {code: "UNAUTHORIZED"}}
624+
* @throws {Cloudnode.Error & {code: "NO_PERMISSION"}}
625+
* @throws {Cloudnode.Error & {code: "RATE_LIMITED"}}
626+
* @throws {Cloudnode.Error & {code: "INTERNAL_SERVER_ERROR"}}
627+
* @throws {Cloudnode.Error & {code: "MAINTENANCE"}}
628+
*/
629+
update: async (id, name) => {
630+
return await this.#sendRequest({ "type": "operation", "description": "Update a project", "token": "projects.update.own", "method": "PATCH", "path": "/projects/:id", "parameters": { "path": { "id": { "description": "Project ID", "type": "string", "required": true } }, "body": { "name": { "description": "Project name. Max 255 characters.", "type": "string", "required": true } } }, "returns": [{ "status": 200, "type": "Project" }, { "status": 404, "type": "Error & {code: \"RESOURCE_NOT_FOUND\"}" }, { "status": 422, "type": "Error & {code: \"INVALID_DATA\"}" }, { "status": 401, "type": "Error & {code: \"UNAUTHORIZED\"}" }, { "status": 403, "type": "Error & {code: \"NO_PERMISSION\"}" }, { "status": 429, "type": "Error & {code: \"RATE_LIMITED\"}" }, { "status": 500, "type": "Error & {code: \"INTERNAL_SERVER_ERROR\"}" }, { "status": 503, "type": "Error & {code: \"MAINTENANCE\"}" }] }, { id: `${id}` }, {}, { name });
631+
},
632+
/**
633+
* Delete a project
634+
* @DELETE /projects/:id
635+
* @param id Project ID
636+
* @throws {Cloudnode.Error & {code: "RESOURCE_NOT_FOUND"}}
637+
* @throws {Cloudnode.Error & {code: "UNAUTHORIZED"}}
638+
* @throws {Cloudnode.Error & {code: "NO_PERMISSION"}}
639+
* @throws {Cloudnode.Error & {code: "RATE_LIMITED"}}
640+
* @throws {Cloudnode.Error & {code: "INTERNAL_SERVER_ERROR"}}
641+
* @throws {Cloudnode.Error & {code: "MAINTENANCE"}}
642+
*/
643+
delete: async (id) => {
644+
return await this.#sendRequest({ "type": "operation", "description": "Delete a project", "token": "projects.delete.own", "method": "DELETE", "path": "/projects/:id", "parameters": { "path": { "id": { "description": "Project ID", "type": "string", "required": true } } }, "returns": [{ "status": 204, "type": "void" }, { "status": 404, "type": "Error & {code: \"RESOURCE_NOT_FOUND\"}" }, { "status": 401, "type": "Error & {code: \"UNAUTHORIZED\"}" }, { "status": 403, "type": "Error & {code: \"NO_PERMISSION\"}" }, { "status": 429, "type": "Error & {code: \"RATE_LIMITED\"}" }, { "status": 500, "type": "Error & {code: \"INTERNAL_SERVER_ERROR\"}" }, { "status": 503, "type": "Error & {code: \"MAINTENANCE\"}" }] }, { id: `${id}` }, {}, {});
645+
},
646+
};
573647
}
574648
(function (Cloudnode) {
575649
class RawResponse {

browser/Cloudnode.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)