gitlab
Version:
GitLab API Nodejs library.
117 lines (93 loc) • 3.56 kB
text/coffeescript
BaseModel = require '../BaseModel'
Utils = require '../Utils'
class Projects extends BaseModel
init: =>
= 'ProjectMembers'
= 'ProjectHooks'
= 'ProjectIssues'
= 'ProjectLabels'
= 'ProjectRepository'
= 'ProjectMilestones'
= 'ProjectDeployKeys'
= 'ProjectMergeRequests'
= 'ProjectServices'
all: (params={}, fn=null) =>
if 'function' is typeof params
fn = params
params={}
"Projects::all()"
params.page ?= 1
params.per_page ?= 100
data = []
cb = (err, retData) =>
if err
return fn(retData || data) if fn
else if retData.length == params.per_page
"Recurse Projects::all()"
data = data.concat(retData)
params.page++
return "projects", params, cb
else
data = data.concat(retData)
return fn data if fn
"projects", params, cb
allAdmin: (params={}, fn=null) =>
if 'function' is typeof params
fn = params
params={}
"Projects::allAdmin()"
params.page ?= 1
params.per_page ?= 100
data = []
cb = (err, retData) =>
if err
return fn(retData || data) if fn
else if retData.length == params.per_page
"Recurse Projects::allAdmin()"
data = data.concat(retData)
params.page++
return "projects/all", params, cb
else
data = data.concat(retData)
return fn data if fn
"projects/all", params, cb
show: (projectId, fn=null) =>
"Projects::show()"
"projects/#{Utils.parseProjectId projectId}", (data) => fn data if fn
create: (params={}, fn=null) =>
"Projects::create()"
"projects", params, (data) -> fn data if fn
create_for_user: (params={}, fn=null) =>
"Projects::create_for_user()"
"projects/user/#{params.user_id}", params, (data) -> fn data if fn
edit: (projectId, params={}, fn=null) =>
"Projects::edit()"
"projects/#{Utils.parseProjectId projectId}", params, (data) -> fn data if fn
addMember: (params={}, fn=null) =>
"Projects::addMember()"
"projects/#{params.id}/members", params, (data) -> fn data if fn
editMember: (params={}, fn=null) =>
"Projects::editMember()"
"projects/#{params.id}/members/#{params.user_id}", params, (data) -> fn data if fn
listMembers: (params={}, fn=null) =>
"Projects::listMembers()"
"projects/#{params.id}/members", (data) -> fn data if fn
listCommits: (params={}, fn=null) =>
"Projects::listCommits()"
"projects/#{params.id}/repository/commits", params, (data) => fn data if fn
listTags: (params={}, fn=null) =>
"Projects::listTags()"
"projects/#{params.id}/repository/tags", (data) => fn data if fn
remove: (projectId, fn = null) =>
"Projects::remove()"
"projects/#{Utils.parseProjectId projectId}", (data) => fn data if fn
fork: (params={}, fn=null) =>
"Projects::fork()"
"projects/fork/#{params.id}", params, (data) -> fn data if fn
search: (projectName, params={}, fn=null) =>
if 'function' is typeof params
fn = params
params={}
"Projects::search()"
"projects/search/#{projectName}", params, (data) => fn data if fn
module.exports = (client) -> new Projects client