diff --git a/lib/Repository.js b/lib/Repository.js index de77ae48..37b9a4a7 100644 --- a/lib/Repository.js +++ b/lib/Repository.js @@ -550,6 +550,49 @@ class Repository extends Requestable { return this._request('DELETE', `${this.__repoPath}/hooks/${id}`, null, cb); } + /** + * List the deploy keys for the repository + * @see https://developer.github.com/v3/repos/keys/#list-deploy-keys + * @param {Requestable.callback} cb - will receive the list of deploy keys + * @return {Promise} - the promise for the http request + */ + listKeys(cb) { + return this._request('GET', `/repos/${this.__fullname}/keys`, null, cb); + } + + /** + * Get a deploy key for the repository + * @see https://developer.github.com/v3/repos/keys/#get-a-deploy-key + * @param {number} id - the id of the deploy key + * @param {Requestable.callback} cb - will receive the details of the deploy key + * @return {Promise} - the promise for the http request + */ + getKey(id, cb) { + return this._request('GET', `/repos/${this.__fullname}/keys/${id}`, null, cb); + } + + /** + * Add a new deploy key to the repository + * @see https://developer.github.com/v3/repos/keys/#add-a-new-deploy-key + * @param {Object} options - the configuration describing the new deploy key + * @param {Requestable.callback} cb - will receive the new deploy key + * @return {Promise} - the promise for the http request + */ + createKey(options, cb) { + return this._request('POST', `/repos/${this.__fullname}/keys`, options, cb); + } + + /** + * Delete a deploy key + * @see https://developer.github.com/v3/repos/keys/#remove-a-deploy-key + * @param {number} id - the id of the deploy key to be deleted + * @param {Requestable.callback} cb - will receive true if the call is successful + * @return {Promise} - the promise for the http request + */ + deleteKey(id, cb) { + return this._request('DELETE', `/repos/${this.__fullname}/keys/${id}`, null, cb); + } + /** * Delete a file from a branch * @see https://developer.github.com/v3/repos/contents/#delete-a-file
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: