758 lines
32 KiB
JavaScript
758 lines
32 KiB
JavaScript
|
/**
|
||
|
* mixin pullRequests
|
||
|
*
|
||
|
* Copyright 2012 Cloud9 IDE, Inc.
|
||
|
*
|
||
|
* This product includes software developed by
|
||
|
* Cloud9 IDE, Inc (http://c9.io).
|
||
|
*
|
||
|
* Author: Mike de Boer <info@mikedeboer.nl>
|
||
|
**/
|
||
|
|
||
|
"use strict";
|
||
|
|
||
|
var error = require("./../../error");
|
||
|
var Util = require("./../../util");
|
||
|
|
||
|
var pullRequests = module.exports = {
|
||
|
pullRequests: {}
|
||
|
};
|
||
|
|
||
|
(function() {
|
||
|
/** section: github
|
||
|
* pullRequests#getAll(msg, callback) -> null
|
||
|
* - msg (Object): Object that contains the parameters and their values to be sent to the server.
|
||
|
* - callback (Function): function to call when the request is finished with an error as first argument and result data as second argument.
|
||
|
*
|
||
|
* ##### Params on the `msg` object:
|
||
|
*
|
||
|
* - headers (Object): Optional. Key/ value pair of request headers to pass along with the HTTP request. Valid headers are: 'If-Modified-Since', 'If-None-Match', 'Cookie', 'User-Agent', 'Accept', 'X-GitHub-OTP'.
|
||
|
* - user (String): Required.
|
||
|
* - repo (String): Required.
|
||
|
* - state (String): Optional. open, closed, or all Validation rule: ` ^(open|closed|all)$ `.
|
||
|
* - head (String): Optional.
|
||
|
* - base (String): Optional.
|
||
|
* - page (Number): Optional. Page number of the results to fetch. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - per_page (Number): Optional. A custom page size up to 100. Default is 30. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - sort (String): Optional. Possible values are: `created`, `updated`, `popularity`, `long-running`, Default: `created` Validation rule: ` ^(created|updated|popularity|long-running)$ `.
|
||
|
* - direction (String): Optional. Validation rule: ` ^(asc|desc)$ `.
|
||
|
**/
|
||
|
this.getAll = function(msg, block, callback) {
|
||
|
var self = this;
|
||
|
this.client.httpSend(msg, block, function(err, res) {
|
||
|
if (err)
|
||
|
return self.sendError(err, null, msg, callback);
|
||
|
|
||
|
var ret;
|
||
|
try {
|
||
|
ret = res.data;
|
||
|
var contentType = res.headers["content-type"];
|
||
|
if (contentType && contentType.indexOf("application/json") !== -1)
|
||
|
ret = JSON.parse(ret);
|
||
|
}
|
||
|
catch (ex) {
|
||
|
if (callback)
|
||
|
callback(new error.InternalServerError(ex.message), res);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!ret)
|
||
|
ret = {};
|
||
|
if (typeof ret == "object") {
|
||
|
if (!ret.meta)
|
||
|
ret.meta = {};
|
||
|
["x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset", "x-oauth-scopes", "link", "location", "last-modified", "etag", "status"].forEach(function(header) {
|
||
|
if (res.headers[header])
|
||
|
ret.meta[header] = res.headers[header];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (callback)
|
||
|
callback(null, ret);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
/** section: github
|
||
|
* pullRequests#get(msg, callback) -> null
|
||
|
* - msg (Object): Object that contains the parameters and their values to be sent to the server.
|
||
|
* - callback (Function): function to call when the request is finished with an error as first argument and result data as second argument.
|
||
|
*
|
||
|
* ##### Params on the `msg` object:
|
||
|
*
|
||
|
* - headers (Object): Optional. Key/ value pair of request headers to pass along with the HTTP request. Valid headers are: 'If-Modified-Since', 'If-None-Match', 'Cookie', 'User-Agent', 'Accept', 'X-GitHub-OTP'.
|
||
|
* - user (String): Required.
|
||
|
* - repo (String): Required.
|
||
|
* - number (Number): Required. Validation rule: ` ^[0-9]+$ `.
|
||
|
**/
|
||
|
this.get = function(msg, block, callback) {
|
||
|
var self = this;
|
||
|
this.client.httpSend(msg, block, function(err, res) {
|
||
|
if (err)
|
||
|
return self.sendError(err, null, msg, callback);
|
||
|
|
||
|
var ret;
|
||
|
try {
|
||
|
ret = res.data;
|
||
|
var contentType = res.headers["content-type"];
|
||
|
if (contentType && contentType.indexOf("application/json") !== -1)
|
||
|
ret = JSON.parse(ret);
|
||
|
}
|
||
|
catch (ex) {
|
||
|
if (callback)
|
||
|
callback(new error.InternalServerError(ex.message), res);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!ret)
|
||
|
ret = {};
|
||
|
if (typeof ret == "object") {
|
||
|
if (!ret.meta)
|
||
|
ret.meta = {};
|
||
|
["x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset", "x-oauth-scopes", "link", "location", "last-modified", "etag", "status"].forEach(function(header) {
|
||
|
if (res.headers[header])
|
||
|
ret.meta[header] = res.headers[header];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (callback)
|
||
|
callback(null, ret);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
/** section: github
|
||
|
* pullRequests#create(msg, callback) -> null
|
||
|
* - msg (Object): Object that contains the parameters and their values to be sent to the server.
|
||
|
* - callback (Function): function to call when the request is finished with an error as first argument and result data as second argument.
|
||
|
*
|
||
|
* ##### Params on the `msg` object:
|
||
|
*
|
||
|
* - headers (Object): Optional. Key/ value pair of request headers to pass along with the HTTP request. Valid headers are: 'If-Modified-Since', 'If-None-Match', 'Cookie', 'User-Agent', 'Accept', 'X-GitHub-OTP'.
|
||
|
* - user (String): Required.
|
||
|
* - repo (String): Required.
|
||
|
* - title (String): Required.
|
||
|
* - body (String): Optional.
|
||
|
* - base (String): Required. The branch (or git ref) you want your changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repo that requests a merge to a base of another repo.
|
||
|
* - head (String): Required. The branch (or git ref) where your changes are implemented.
|
||
|
**/
|
||
|
this.create = function(msg, block, callback) {
|
||
|
var self = this;
|
||
|
this.client.httpSend(msg, block, function(err, res) {
|
||
|
if (err)
|
||
|
return self.sendError(err, null, msg, callback);
|
||
|
|
||
|
var ret;
|
||
|
try {
|
||
|
ret = res.data;
|
||
|
var contentType = res.headers["content-type"];
|
||
|
if (contentType && contentType.indexOf("application/json") !== -1)
|
||
|
ret = JSON.parse(ret);
|
||
|
}
|
||
|
catch (ex) {
|
||
|
if (callback)
|
||
|
callback(new error.InternalServerError(ex.message), res);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!ret)
|
||
|
ret = {};
|
||
|
if (typeof ret == "object") {
|
||
|
if (!ret.meta)
|
||
|
ret.meta = {};
|
||
|
["x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset", "x-oauth-scopes", "link", "location", "last-modified", "etag", "status"].forEach(function(header) {
|
||
|
if (res.headers[header])
|
||
|
ret.meta[header] = res.headers[header];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (callback)
|
||
|
callback(null, ret);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
/** section: github
|
||
|
* pullRequests#createFromIssue(msg, callback) -> null
|
||
|
* - msg (Object): Object that contains the parameters and their values to be sent to the server.
|
||
|
* - callback (Function): function to call when the request is finished with an error as first argument and result data as second argument.
|
||
|
*
|
||
|
* ##### Params on the `msg` object:
|
||
|
*
|
||
|
* - headers (Object): Optional. Key/ value pair of request headers to pass along with the HTTP request. Valid headers are: 'If-Modified-Since', 'If-None-Match', 'Cookie', 'User-Agent', 'Accept', 'X-GitHub-OTP'.
|
||
|
* - user (String): Required.
|
||
|
* - repo (String): Required.
|
||
|
* - issue (Number): Required. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - base (String): Required. The branch (or git ref) you want your changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repo that requests a merge to a base of another repo.
|
||
|
* - head (String): Required. The branch (or git ref) where your changes are implemented.
|
||
|
**/
|
||
|
this.createFromIssue = function(msg, block, callback) {
|
||
|
var self = this;
|
||
|
this.client.httpSend(msg, block, function(err, res) {
|
||
|
if (err)
|
||
|
return self.sendError(err, null, msg, callback);
|
||
|
|
||
|
var ret;
|
||
|
try {
|
||
|
ret = res.data;
|
||
|
var contentType = res.headers["content-type"];
|
||
|
if (contentType && contentType.indexOf("application/json") !== -1)
|
||
|
ret = JSON.parse(ret);
|
||
|
}
|
||
|
catch (ex) {
|
||
|
if (callback)
|
||
|
callback(new error.InternalServerError(ex.message), res);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!ret)
|
||
|
ret = {};
|
||
|
if (typeof ret == "object") {
|
||
|
if (!ret.meta)
|
||
|
ret.meta = {};
|
||
|
["x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset", "x-oauth-scopes", "link", "location", "last-modified", "etag", "status"].forEach(function(header) {
|
||
|
if (res.headers[header])
|
||
|
ret.meta[header] = res.headers[header];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (callback)
|
||
|
callback(null, ret);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
/** section: github
|
||
|
* pullRequests#update(msg, callback) -> null
|
||
|
* - msg (Object): Object that contains the parameters and their values to be sent to the server.
|
||
|
* - callback (Function): function to call when the request is finished with an error as first argument and result data as second argument.
|
||
|
*
|
||
|
* ##### Params on the `msg` object:
|
||
|
*
|
||
|
* - headers (Object): Optional. Key/ value pair of request headers to pass along with the HTTP request. Valid headers are: 'If-Modified-Since', 'If-None-Match', 'Cookie', 'User-Agent', 'Accept', 'X-GitHub-OTP'.
|
||
|
* - user (String): Required.
|
||
|
* - repo (String): Required.
|
||
|
* - number (Number): Required. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - state (String): Optional. Validation rule: ` ^(open|closed)$ `.
|
||
|
* - title (String): Required.
|
||
|
* - body (String): Optional.
|
||
|
**/
|
||
|
this.update = function(msg, block, callback) {
|
||
|
var self = this;
|
||
|
this.client.httpSend(msg, block, function(err, res) {
|
||
|
if (err)
|
||
|
return self.sendError(err, null, msg, callback);
|
||
|
|
||
|
var ret;
|
||
|
try {
|
||
|
ret = res.data;
|
||
|
var contentType = res.headers["content-type"];
|
||
|
if (contentType && contentType.indexOf("application/json") !== -1)
|
||
|
ret = JSON.parse(ret);
|
||
|
}
|
||
|
catch (ex) {
|
||
|
if (callback)
|
||
|
callback(new error.InternalServerError(ex.message), res);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!ret)
|
||
|
ret = {};
|
||
|
if (typeof ret == "object") {
|
||
|
if (!ret.meta)
|
||
|
ret.meta = {};
|
||
|
["x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset", "x-oauth-scopes", "link", "location", "last-modified", "etag", "status"].forEach(function(header) {
|
||
|
if (res.headers[header])
|
||
|
ret.meta[header] = res.headers[header];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (callback)
|
||
|
callback(null, ret);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
/** section: github
|
||
|
* pullRequests#getCommits(msg, callback) -> null
|
||
|
* - msg (Object): Object that contains the parameters and their values to be sent to the server.
|
||
|
* - callback (Function): function to call when the request is finished with an error as first argument and result data as second argument.
|
||
|
*
|
||
|
* ##### Params on the `msg` object:
|
||
|
*
|
||
|
* - headers (Object): Optional. Key/ value pair of request headers to pass along with the HTTP request. Valid headers are: 'If-Modified-Since', 'If-None-Match', 'Cookie', 'User-Agent', 'Accept', 'X-GitHub-OTP'.
|
||
|
* - user (String): Required.
|
||
|
* - repo (String): Required.
|
||
|
* - number (Number): Required. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - page (Number): Optional. Page number of the results to fetch. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - per_page (Number): Optional. A custom page size up to 100. Default is 30. Validation rule: ` ^[0-9]+$ `.
|
||
|
**/
|
||
|
this.getCommits = function(msg, block, callback) {
|
||
|
var self = this;
|
||
|
this.client.httpSend(msg, block, function(err, res) {
|
||
|
if (err)
|
||
|
return self.sendError(err, null, msg, callback);
|
||
|
|
||
|
var ret;
|
||
|
try {
|
||
|
ret = res.data;
|
||
|
var contentType = res.headers["content-type"];
|
||
|
if (contentType && contentType.indexOf("application/json") !== -1)
|
||
|
ret = JSON.parse(ret);
|
||
|
}
|
||
|
catch (ex) {
|
||
|
if (callback)
|
||
|
callback(new error.InternalServerError(ex.message), res);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!ret)
|
||
|
ret = {};
|
||
|
if (typeof ret == "object") {
|
||
|
if (!ret.meta)
|
||
|
ret.meta = {};
|
||
|
["x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset", "x-oauth-scopes", "link", "location", "last-modified", "etag", "status"].forEach(function(header) {
|
||
|
if (res.headers[header])
|
||
|
ret.meta[header] = res.headers[header];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (callback)
|
||
|
callback(null, ret);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
/** section: github
|
||
|
* pullRequests#getFiles(msg, callback) -> null
|
||
|
* - msg (Object): Object that contains the parameters and their values to be sent to the server.
|
||
|
* - callback (Function): function to call when the request is finished with an error as first argument and result data as second argument.
|
||
|
*
|
||
|
* ##### Params on the `msg` object:
|
||
|
*
|
||
|
* - headers (Object): Optional. Key/ value pair of request headers to pass along with the HTTP request. Valid headers are: 'If-Modified-Since', 'If-None-Match', 'Cookie', 'User-Agent', 'Accept', 'X-GitHub-OTP'.
|
||
|
* - user (String): Required.
|
||
|
* - repo (String): Required.
|
||
|
* - number (Number): Required. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - page (Number): Optional. Page number of the results to fetch. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - per_page (Number): Optional. A custom page size up to 100. Default is 30. Validation rule: ` ^[0-9]+$ `.
|
||
|
**/
|
||
|
this.getFiles = function(msg, block, callback) {
|
||
|
var self = this;
|
||
|
this.client.httpSend(msg, block, function(err, res) {
|
||
|
if (err)
|
||
|
return self.sendError(err, null, msg, callback);
|
||
|
|
||
|
var ret;
|
||
|
try {
|
||
|
ret = res.data;
|
||
|
var contentType = res.headers["content-type"];
|
||
|
if (contentType && contentType.indexOf("application/json") !== -1)
|
||
|
ret = JSON.parse(ret);
|
||
|
}
|
||
|
catch (ex) {
|
||
|
if (callback)
|
||
|
callback(new error.InternalServerError(ex.message), res);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!ret)
|
||
|
ret = {};
|
||
|
if (typeof ret == "object") {
|
||
|
if (!ret.meta)
|
||
|
ret.meta = {};
|
||
|
["x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset", "x-oauth-scopes", "link", "location", "last-modified", "etag", "status"].forEach(function(header) {
|
||
|
if (res.headers[header])
|
||
|
ret.meta[header] = res.headers[header];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (callback)
|
||
|
callback(null, ret);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
/** section: github
|
||
|
* pullRequests#getMerged(msg, callback) -> null
|
||
|
* - msg (Object): Object that contains the parameters and their values to be sent to the server.
|
||
|
* - callback (Function): function to call when the request is finished with an error as first argument and result data as second argument.
|
||
|
*
|
||
|
* ##### Params on the `msg` object:
|
||
|
*
|
||
|
* - headers (Object): Optional. Key/ value pair of request headers to pass along with the HTTP request. Valid headers are: 'If-Modified-Since', 'If-None-Match', 'Cookie', 'User-Agent', 'Accept', 'X-GitHub-OTP'.
|
||
|
* - user (String): Required.
|
||
|
* - repo (String): Required.
|
||
|
* - number (Number): Required. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - page (Number): Optional. Page number of the results to fetch. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - per_page (Number): Optional. A custom page size up to 100. Default is 30. Validation rule: ` ^[0-9]+$ `.
|
||
|
**/
|
||
|
this.getMerged = function(msg, block, callback) {
|
||
|
var self = this;
|
||
|
this.client.httpSend(msg, block, function(err, res) {
|
||
|
if (err)
|
||
|
return self.sendError(err, null, msg, callback);
|
||
|
|
||
|
var ret;
|
||
|
try {
|
||
|
ret = res.data;
|
||
|
var contentType = res.headers["content-type"];
|
||
|
if (contentType && contentType.indexOf("application/json") !== -1)
|
||
|
ret = JSON.parse(ret);
|
||
|
}
|
||
|
catch (ex) {
|
||
|
if (callback)
|
||
|
callback(new error.InternalServerError(ex.message), res);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!ret)
|
||
|
ret = {};
|
||
|
if (typeof ret == "object") {
|
||
|
if (!ret.meta)
|
||
|
ret.meta = {};
|
||
|
["x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset", "x-oauth-scopes", "link", "location", "last-modified", "etag", "status"].forEach(function(header) {
|
||
|
if (res.headers[header])
|
||
|
ret.meta[header] = res.headers[header];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (callback)
|
||
|
callback(null, ret);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
/** section: github
|
||
|
* pullRequests#merge(msg, callback) -> null
|
||
|
* - msg (Object): Object that contains the parameters and their values to be sent to the server.
|
||
|
* - callback (Function): function to call when the request is finished with an error as first argument and result data as second argument.
|
||
|
*
|
||
|
* ##### Params on the `msg` object:
|
||
|
*
|
||
|
* - headers (Object): Optional. Key/ value pair of request headers to pass along with the HTTP request. Valid headers are: 'If-Modified-Since', 'If-None-Match', 'Cookie', 'User-Agent', 'Accept', 'X-GitHub-OTP'.
|
||
|
* - user (String): Required.
|
||
|
* - repo (String): Required.
|
||
|
* - number (Number): Required. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - commit_message (String): Optional. The message that will be used for the merge commit
|
||
|
**/
|
||
|
this.merge = function(msg, block, callback) {
|
||
|
var self = this;
|
||
|
this.client.httpSend(msg, block, function(err, res) {
|
||
|
if (err)
|
||
|
return self.sendError(err, null, msg, callback);
|
||
|
|
||
|
var ret;
|
||
|
try {
|
||
|
ret = res.data;
|
||
|
var contentType = res.headers["content-type"];
|
||
|
if (contentType && contentType.indexOf("application/json") !== -1)
|
||
|
ret = JSON.parse(ret);
|
||
|
}
|
||
|
catch (ex) {
|
||
|
if (callback)
|
||
|
callback(new error.InternalServerError(ex.message), res);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!ret)
|
||
|
ret = {};
|
||
|
if (typeof ret == "object") {
|
||
|
if (!ret.meta)
|
||
|
ret.meta = {};
|
||
|
["x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset", "x-oauth-scopes", "link", "location", "last-modified", "etag", "status"].forEach(function(header) {
|
||
|
if (res.headers[header])
|
||
|
ret.meta[header] = res.headers[header];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (callback)
|
||
|
callback(null, ret);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
/** section: github
|
||
|
* pullRequests#getComments(msg, callback) -> null
|
||
|
* - msg (Object): Object that contains the parameters and their values to be sent to the server.
|
||
|
* - callback (Function): function to call when the request is finished with an error as first argument and result data as second argument.
|
||
|
*
|
||
|
* ##### Params on the `msg` object:
|
||
|
*
|
||
|
* - headers (Object): Optional. Key/ value pair of request headers to pass along with the HTTP request. Valid headers are: 'If-Modified-Since', 'If-None-Match', 'Cookie', 'User-Agent', 'Accept', 'X-GitHub-OTP'.
|
||
|
* - user (String): Required.
|
||
|
* - repo (String): Required.
|
||
|
* - number (Number): Required. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - page (Number): Optional. Page number of the results to fetch. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - per_page (Number): Optional. A custom page size up to 100. Default is 30. Validation rule: ` ^[0-9]+$ `.
|
||
|
**/
|
||
|
this.getComments = function(msg, block, callback) {
|
||
|
var self = this;
|
||
|
this.client.httpSend(msg, block, function(err, res) {
|
||
|
if (err)
|
||
|
return self.sendError(err, null, msg, callback);
|
||
|
|
||
|
var ret;
|
||
|
try {
|
||
|
ret = res.data;
|
||
|
var contentType = res.headers["content-type"];
|
||
|
if (contentType && contentType.indexOf("application/json") !== -1)
|
||
|
ret = JSON.parse(ret);
|
||
|
}
|
||
|
catch (ex) {
|
||
|
if (callback)
|
||
|
callback(new error.InternalServerError(ex.message), res);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!ret)
|
||
|
ret = {};
|
||
|
if (typeof ret == "object") {
|
||
|
if (!ret.meta)
|
||
|
ret.meta = {};
|
||
|
["x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset", "x-oauth-scopes", "link", "location", "last-modified", "etag", "status"].forEach(function(header) {
|
||
|
if (res.headers[header])
|
||
|
ret.meta[header] = res.headers[header];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (callback)
|
||
|
callback(null, ret);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
/** section: github
|
||
|
* pullRequests#getComment(msg, callback) -> null
|
||
|
* - msg (Object): Object that contains the parameters and their values to be sent to the server.
|
||
|
* - callback (Function): function to call when the request is finished with an error as first argument and result data as second argument.
|
||
|
*
|
||
|
* ##### Params on the `msg` object:
|
||
|
*
|
||
|
* - headers (Object): Optional. Key/ value pair of request headers to pass along with the HTTP request. Valid headers are: 'If-Modified-Since', 'If-None-Match', 'Cookie', 'User-Agent', 'Accept', 'X-GitHub-OTP'.
|
||
|
* - user (String): Required.
|
||
|
* - repo (String): Required.
|
||
|
* - number (Number): Required. Validation rule: ` ^[0-9]+$ `.
|
||
|
**/
|
||
|
this.getComment = function(msg, block, callback) {
|
||
|
var self = this;
|
||
|
this.client.httpSend(msg, block, function(err, res) {
|
||
|
if (err)
|
||
|
return self.sendError(err, null, msg, callback);
|
||
|
|
||
|
var ret;
|
||
|
try {
|
||
|
ret = res.data;
|
||
|
var contentType = res.headers["content-type"];
|
||
|
if (contentType && contentType.indexOf("application/json") !== -1)
|
||
|
ret = JSON.parse(ret);
|
||
|
}
|
||
|
catch (ex) {
|
||
|
if (callback)
|
||
|
callback(new error.InternalServerError(ex.message), res);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!ret)
|
||
|
ret = {};
|
||
|
if (typeof ret == "object") {
|
||
|
if (!ret.meta)
|
||
|
ret.meta = {};
|
||
|
["x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset", "x-oauth-scopes", "link", "location", "last-modified", "etag", "status"].forEach(function(header) {
|
||
|
if (res.headers[header])
|
||
|
ret.meta[header] = res.headers[header];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (callback)
|
||
|
callback(null, ret);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
/** section: github
|
||
|
* pullRequests#createComment(msg, callback) -> null
|
||
|
* - msg (Object): Object that contains the parameters and their values to be sent to the server.
|
||
|
* - callback (Function): function to call when the request is finished with an error as first argument and result data as second argument.
|
||
|
*
|
||
|
* ##### Params on the `msg` object:
|
||
|
*
|
||
|
* - headers (Object): Optional. Key/ value pair of request headers to pass along with the HTTP request. Valid headers are: 'If-Modified-Since', 'If-None-Match', 'Cookie', 'User-Agent', 'Accept', 'X-GitHub-OTP'.
|
||
|
* - user (String): Required.
|
||
|
* - repo (String): Required.
|
||
|
* - number (Number): Required. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - body (String): Required.
|
||
|
* - commit_id (String): Required. Sha of the commit to comment on.
|
||
|
* - path (String): Required. Relative path of the file to comment on.
|
||
|
* - position (Number): Required. Column index in the diff to comment on.
|
||
|
**/
|
||
|
this.createComment = function(msg, block, callback) {
|
||
|
var self = this;
|
||
|
this.client.httpSend(msg, block, function(err, res) {
|
||
|
if (err)
|
||
|
return self.sendError(err, null, msg, callback);
|
||
|
|
||
|
var ret;
|
||
|
try {
|
||
|
ret = res.data;
|
||
|
var contentType = res.headers["content-type"];
|
||
|
if (contentType && contentType.indexOf("application/json") !== -1)
|
||
|
ret = JSON.parse(ret);
|
||
|
}
|
||
|
catch (ex) {
|
||
|
if (callback)
|
||
|
callback(new error.InternalServerError(ex.message), res);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!ret)
|
||
|
ret = {};
|
||
|
if (typeof ret == "object") {
|
||
|
if (!ret.meta)
|
||
|
ret.meta = {};
|
||
|
["x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset", "x-oauth-scopes", "link", "location", "last-modified", "etag", "status"].forEach(function(header) {
|
||
|
if (res.headers[header])
|
||
|
ret.meta[header] = res.headers[header];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (callback)
|
||
|
callback(null, ret);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
/** section: github
|
||
|
* pullRequests#createCommentReply(msg, callback) -> null
|
||
|
* - msg (Object): Object that contains the parameters and their values to be sent to the server.
|
||
|
* - callback (Function): function to call when the request is finished with an error as first argument and result data as second argument.
|
||
|
*
|
||
|
* ##### Params on the `msg` object:
|
||
|
*
|
||
|
* - headers (Object): Optional. Key/ value pair of request headers to pass along with the HTTP request. Valid headers are: 'If-Modified-Since', 'If-None-Match', 'Cookie', 'User-Agent', 'Accept', 'X-GitHub-OTP'.
|
||
|
* - user (String): Required.
|
||
|
* - repo (String): Required.
|
||
|
* - number (Number): Required. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - body (String): Required.
|
||
|
* - in_reply_to (Number): Required.
|
||
|
**/
|
||
|
this.createCommentReply = function(msg, block, callback) {
|
||
|
var self = this;
|
||
|
this.client.httpSend(msg, block, function(err, res) {
|
||
|
if (err)
|
||
|
return self.sendError(err, null, msg, callback);
|
||
|
|
||
|
var ret;
|
||
|
try {
|
||
|
ret = res.data;
|
||
|
var contentType = res.headers["content-type"];
|
||
|
if (contentType && contentType.indexOf("application/json") !== -1)
|
||
|
ret = JSON.parse(ret);
|
||
|
}
|
||
|
catch (ex) {
|
||
|
if (callback)
|
||
|
callback(new error.InternalServerError(ex.message), res);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!ret)
|
||
|
ret = {};
|
||
|
if (typeof ret == "object") {
|
||
|
if (!ret.meta)
|
||
|
ret.meta = {};
|
||
|
["x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset", "x-oauth-scopes", "link", "location", "last-modified", "etag", "status"].forEach(function(header) {
|
||
|
if (res.headers[header])
|
||
|
ret.meta[header] = res.headers[header];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (callback)
|
||
|
callback(null, ret);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
/** section: github
|
||
|
* pullRequests#updateComment(msg, callback) -> null
|
||
|
* - msg (Object): Object that contains the parameters and their values to be sent to the server.
|
||
|
* - callback (Function): function to call when the request is finished with an error as first argument and result data as second argument.
|
||
|
*
|
||
|
* ##### Params on the `msg` object:
|
||
|
*
|
||
|
* - headers (Object): Optional. Key/ value pair of request headers to pass along with the HTTP request. Valid headers are: 'If-Modified-Since', 'If-None-Match', 'Cookie', 'User-Agent', 'Accept', 'X-GitHub-OTP'.
|
||
|
* - user (String): Required.
|
||
|
* - repo (String): Required.
|
||
|
* - number (Number): Required. Validation rule: ` ^[0-9]+$ `.
|
||
|
* - body (String): Required.
|
||
|
**/
|
||
|
this.updateComment = function(msg, block, callback) {
|
||
|
var self = this;
|
||
|
this.client.httpSend(msg, block, function(err, res) {
|
||
|
if (err)
|
||
|
return self.sendError(err, null, msg, callback);
|
||
|
|
||
|
var ret;
|
||
|
try {
|
||
|
ret = res.data;
|
||
|
var contentType = res.headers["content-type"];
|
||
|
if (contentType && contentType.indexOf("application/json") !== -1)
|
||
|
ret = JSON.parse(ret);
|
||
|
}
|
||
|
catch (ex) {
|
||
|
if (callback)
|
||
|
callback(new error.InternalServerError(ex.message), res);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!ret)
|
||
|
ret = {};
|
||
|
if (typeof ret == "object") {
|
||
|
if (!ret.meta)
|
||
|
ret.meta = {};
|
||
|
["x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset", "x-oauth-scopes", "link", "location", "last-modified", "etag", "status"].forEach(function(header) {
|
||
|
if (res.headers[header])
|
||
|
ret.meta[header] = res.headers[header];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (callback)
|
||
|
callback(null, ret);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
/** section: github
|
||
|
* pullRequests#deleteComment(msg, callback) -> null
|
||
|
* - msg (Object): Object that contains the parameters and their values to be sent to the server.
|
||
|
* - callback (Function): function to call when the request is finished with an error as first argument and result data as second argument.
|
||
|
*
|
||
|
* ##### Params on the `msg` object:
|
||
|
*
|
||
|
* - headers (Object): Optional. Key/ value pair of request headers to pass along with the HTTP request. Valid headers are: 'If-Modified-Since', 'If-None-Match', 'Cookie', 'User-Agent', 'Accept', 'X-GitHub-OTP'.
|
||
|
* - user (String): Required.
|
||
|
* - repo (String): Required.
|
||
|
* - number (Number): Required. Validation rule: ` ^[0-9]+$ `.
|
||
|
**/
|
||
|
this.deleteComment = function(msg, block, callback) {
|
||
|
var self = this;
|
||
|
this.client.httpSend(msg, block, function(err, res) {
|
||
|
if (err)
|
||
|
return self.sendError(err, null, msg, callback);
|
||
|
|
||
|
var ret;
|
||
|
try {
|
||
|
ret = res.data;
|
||
|
var contentType = res.headers["content-type"];
|
||
|
if (contentType && contentType.indexOf("application/json") !== -1)
|
||
|
ret = JSON.parse(ret);
|
||
|
}
|
||
|
catch (ex) {
|
||
|
if (callback)
|
||
|
callback(new error.InternalServerError(ex.message), res);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
if (!ret)
|
||
|
ret = {};
|
||
|
if (typeof ret == "object") {
|
||
|
if (!ret.meta)
|
||
|
ret.meta = {};
|
||
|
["x-ratelimit-limit", "x-ratelimit-remaining", "x-ratelimit-reset", "x-oauth-scopes", "link", "location", "last-modified", "etag", "status"].forEach(function(header) {
|
||
|
if (res.headers[header])
|
||
|
ret.meta[header] = res.headers[header];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
if (callback)
|
||
|
callback(null, ret);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
}).call(pullRequests.pullRequests);
|