gitlab
Version:
GitLab API Nodejs library.
204 lines (143 loc) • 11 kB
HTML
<html>
<head>
<title>Projects.coffee</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
<link rel="stylesheet" media="all" href="docco.css" />
</head>
<body>
<div id="container">
<div id="background"></div>
<ul id="jump_to">
<li>
<a class="large" href="javascript:void(0);">Jump To …</a>
<a class="small" href="javascript:void(0);">+</a>
<div id="jump_wrapper">
<div id="jump_page">
<a class="source" href="ApiBase.html">
ApiBase.coffee
</a>
<a class="source" href="ApiBaseHTTP.html">
ApiBaseHTTP.coffee
</a>
<a class="source" href="ApiV3.html">
ApiV3.coffee
</a>
<a class="source" href="BaseModel.html">
BaseModel.coffee
</a>
<a class="source" href="Groups.html">
Groups.coffee
</a>
<a class="source" href="Issues.html">
Issues.coffee
</a>
<a class="source" href="ProjectDeployKeys.html">
ProjectDeployKeys.coffee
</a>
<a class="source" href="ProjectHooks.html">
ProjectHooks.coffee
</a>
<a class="source" href="ProjectIssues.html">
ProjectIssues.coffee
</a>
<a class="source" href="ProjectMembers.html">
ProjectMembers.coffee
</a>
<a class="source" href="ProjectMergeRequests.html">
ProjectMergeRequests.coffee
</a>
<a class="source" href="ProjectMilestones.html">
ProjectMilestones.coffee
</a>
<a class="source" href="ProjectRepository.html">
ProjectRepository.coffee
</a>
<a class="source" href="Projects.html">
Projects.coffee
</a>
<a class="source" href="Users.html">
Users.coffee
</a>
<a class="source" href="Utils.html">
Utils.coffee
</a>
<a class="source" href="index.html">
index.coffee
</a>
</div>
</li>
</ul>
<ul class="sections">
<li id="title">
<div class="annotation">
<h1>Projects.coffee</h1>
</div>
</li>
<li id="section-1">
<div class="annotation">
<div class="pilwrap ">
<a class="pilcrow" href="#section-1">¶</a>
</div>
</div>
<div class="content"><div class='highlight'><pre>BaseModel = <span class="hljs-built_in">require</span> <span class="hljs-string">'../BaseModel'</span>
Utils = <span class="hljs-built_in">require</span> <span class="hljs-string">'../Utils'</span>
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Projects</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">BaseModel</span></span>
<span class="hljs-attribute">init</span>: <span class="hljs-function">=></span>
<span class="hljs-property">@members</span> = <span class="hljs-property">@load</span> <span class="hljs-string">'ProjectMembers'</span>
<span class="hljs-property">@hooks</span> = <span class="hljs-property">@load</span> <span class="hljs-string">'ProjectHooks'</span>
<span class="hljs-property">@issues</span> = <span class="hljs-property">@load</span> <span class="hljs-string">'ProjectIssues'</span>
<span class="hljs-property">@repository</span> = <span class="hljs-property">@load</span> <span class="hljs-string">'ProjectRepository'</span>
<span class="hljs-property">@milestones</span> = <span class="hljs-property">@load</span> <span class="hljs-string">'ProjectMilestones'</span>
<span class="hljs-property">@deploy_keys</span> = <span class="hljs-property">@load</span> <span class="hljs-string">'ProjectDeployKeys'</span>
<span class="hljs-property">@merge_requests</span> = <span class="hljs-property">@load</span> <span class="hljs-string">'ProjectMergeRequests'</span>
<span class="hljs-attribute">all</span>: <span class="hljs-function"><span class="hljs-params">(params={}, fn=<span class="hljs-literal">null</span>)</span> =></span>
<span class="hljs-keyword">if</span> <span class="hljs-string">'function'</span> <span class="hljs-keyword">is</span> <span class="hljs-keyword">typeof</span> params
fn = params
params={}
<span class="hljs-property">@debug</span> <span class="hljs-string">"Projects::all()"</span>
params.page ?= <span class="hljs-number">1</span>
params.per_page ?= <span class="hljs-number">100</span>
<span class="hljs-keyword">do</span> (<span class="hljs-function">-></span>
data = []
<span class="hljs-function"> <span class="hljs-title">cb</span> = <span class="hljs-params">(err, retData)</span> =></span>
<span class="hljs-keyword">if</span> err
<span class="hljs-keyword">return</span> fn(retData || data) <span class="hljs-keyword">if</span> fn
<span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> retData.length == params.per_page
<span class="hljs-property">@debug</span> <span class="hljs-string">"Recurse Projects::all()"</span>
data = data.concat(retData)
params.page++
<span class="hljs-keyword">return</span> <span class="hljs-property">@get</span> <span class="hljs-string">"projects"</span>, params, cb
<span class="hljs-keyword">else</span>
data = data.concat(retData)
<span class="hljs-keyword">return</span> fn data <span class="hljs-keyword">if</span> fn
<span class="hljs-property">@get</span> <span class="hljs-string">"projects"</span>, params, cb
).bind(@)
<span class="hljs-attribute">show</span>: <span class="hljs-function"><span class="hljs-params">(projectId, fn=<span class="hljs-literal">null</span>)</span> =></span>
<span class="hljs-property">@debug</span> <span class="hljs-string">"Projects::show()"</span>
<span class="hljs-property">@get</span> <span class="hljs-string">"projects/<span class="hljs-subst">#{Utils.parseProjectId projectId}</span>"</span>, <span class="hljs-function"><span class="hljs-params">(data)</span> =></span> fn data <span class="hljs-keyword">if</span> fn
<span class="hljs-attribute">create</span>: <span class="hljs-function"><span class="hljs-params">(params={}, fn=<span class="hljs-literal">null</span>)</span> =></span>
<span class="hljs-property">@debug</span> <span class="hljs-string">"Projects::create()"</span>
<span class="hljs-property">@post</span> <span class="hljs-string">"projects"</span>, params, <span class="hljs-function"><span class="hljs-params">(data)</span> -></span> fn data <span class="hljs-keyword">if</span> fn
<span class="hljs-attribute">addMember</span>: <span class="hljs-function"><span class="hljs-params">(params={}, fn=<span class="hljs-literal">null</span>)</span> =></span>
<span class="hljs-property">@debug</span> <span class="hljs-string">"Projects::addMember()"</span>
<span class="hljs-property">@post</span> <span class="hljs-string">"projects/<span class="hljs-subst">#{params.id}</span>/members"</span>, params, <span class="hljs-function"><span class="hljs-params">(data)</span> -></span> fn data <span class="hljs-keyword">if</span> fn
<span class="hljs-attribute">editMember</span>: <span class="hljs-function"><span class="hljs-params">(params={}, fn=<span class="hljs-literal">null</span>)</span> =></span>
<span class="hljs-property">@debug</span> <span class="hljs-string">"Projects::editMember()"</span>
<span class="hljs-property">@put</span> <span class="hljs-string">"projects/<span class="hljs-subst">#{params.id}</span>/members/<span class="hljs-subst">#{params.user_id}</span>"</span>, params, <span class="hljs-function"><span class="hljs-params">(data)</span> -></span> fn data <span class="hljs-keyword">if</span> fn
<span class="hljs-attribute">listMembers</span>: <span class="hljs-function"><span class="hljs-params">(params={}, fn=<span class="hljs-literal">null</span>)</span> =></span>
<span class="hljs-property">@debug</span> <span class="hljs-string">"Projects::listMembers()"</span>
<span class="hljs-property">@get</span> <span class="hljs-string">"projects/<span class="hljs-subst">#{params.id}</span>/members"</span>, <span class="hljs-function"><span class="hljs-params">(data)</span> -></span> fn data <span class="hljs-keyword">if</span> fn
<span class="hljs-attribute">listCommits</span>: <span class="hljs-function"><span class="hljs-params">(params={}, fn=<span class="hljs-literal">null</span>)</span> =></span>
<span class="hljs-property">@debug</span> <span class="hljs-string">"Projects::listCommits()"</span>
<span class="hljs-property">@get</span> <span class="hljs-string">"projects/<span class="hljs-subst">#{params.id}</span>/repository/commits"</span>, params, <span class="hljs-function"><span class="hljs-params">(data)</span> =></span> fn data <span class="hljs-keyword">if</span> fn
<span class="hljs-attribute">listTags</span>: <span class="hljs-function"><span class="hljs-params">(params={}, fn=<span class="hljs-literal">null</span>)</span> =></span>
<span class="hljs-property">@debug</span> <span class="hljs-string">"Projects::listTags()"</span>
<span class="hljs-property">@get</span> <span class="hljs-string">"projects/<span class="hljs-subst">#{params.id}</span>/repository/tags"</span>, <span class="hljs-function"><span class="hljs-params">(data)</span> =></span> fn data <span class="hljs-keyword">if</span> fn
<span class="hljs-built_in">module</span>.exports = <span class="hljs-function"><span class="hljs-params">(client)</span> -></span> <span class="hljs-keyword">new</span> Projects client</pre></div></div>
</li>
</ul>
</div>
</body>
</html>