-
Notifications
You must be signed in to change notification settings - Fork 0
/
createRepository.js
47 lines (38 loc) · 1021 Bytes
/
createRepository.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/**
* @see
* REST API v3: Repositories, v. Create
* https://developer.github.com/v3/repos/#create
*/
'use strict';
const MODULE_REQUIRE = 1
/* built-in */
/* NPM */
, htp = require('htp')
, noda = require('noda')
/* in-package */
, getGithubAgent = noda.inRequire('lib/getGithubAgent')
;
/**
* @param {string} options.token
* @param {string} [options.orgname]
* @param {string} options.name
* See https://developer.github.com/v3/repos/#create for other options.
*
* @return {Promise}
*/
function createRepository(options) {
let _agent = getGithubAgent(options);
let urlname;
if (options.orgname) {
urlname = `/orgs/${options.orgname}/repos`;
}
else {
urlname = '/user/repos';
}
// Any other options are used as repository properties.
let params = Object.assign({}, options);
delete params.token;
delete params.orgname;
return _agent.post(urlname, params);
}
module.exports = createRepository;