BaseModel = require '../BaseModel'
Utils = require '../Utils'
class ProjectIssues extends BaseModel
list: (projectId, params = {}, fn = null) =>
@debug "ProjectIssues::issues()"
if 'function' is typeof params
fn = params
params = {}
params.page ?= 1
params.per_page ?= 100
do (->
data = []
cb = (err, retData) =>
if err
return fn data if fn
if retData.length == params.per_page
@debug "Recurse ProjectIssues::list()"
data = data.concat(retData)
params.page++
return @get "projects/#{Utils.parseProjectId projectId}/issues", params, cb
else
data = data.concat(retData)
return fn data if fn
@get "projects/#{Utils.parseProjectId projectId}/issues", params, cb
).bind(@)
module.exports = (client) -> new ProjectIssues client