• Jump To … +
    ApiBase.coffee ApiBaseHTTP.coffee ApiV3.coffee BaseModel.coffee Groups.coffee Issues.coffee ProjectDeployKeys.coffee ProjectHooks.coffee ProjectIssues.coffee ProjectMembers.coffee ProjectMergeRequests.coffee ProjectMilestones.coffee ProjectRepository.coffee Projects.coffee Users.coffee Utils.coffee index.coffee
  • ProjectIssues.coffee

  • ¶
    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