• 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
  • ProjectMergeRequests.coffee

  • ¶
    BaseModel = require '../BaseModel'
    Utils = require '../Utils'
    
    class ProjectMergeRequests extends BaseModel
      list: (projectId, params={}, fn = null) =>
        if 'function' is typeof params
          fn = params
          params={}
    
        params.page ?= 1
        params.per_page ?= 100
    
        @debug "Projects::mergerequests()"
        @get "projects/#{Utils.parseProjectId projectId}/merge_requests", params, (data) => fn data if fn
    
      show: (projectId, mergerequestId, fn = null) =>
        @debug "Projects::mergerequest()"
        @get "projects/#{Utils.parseProjectId projectId}/merge_request/#{parseInt mergerequestId}", (data) => fn data if fn
    
      add: (projectId, sourceBranch, targetBranch, assigneeId, title, fn = null) =>
        @debug "Projects::addMergeRequest()"
        params =
          id:            Utils.parseProjectId projectId
          source_branch: sourceBranch
          target_branch: targetBranch
          assignee_id:   parseInt assigneeId
          title:         title
        @post "projects/#{Utils.parseProjectId projectId}/merge_requests", params, (data) => fn data if fn
    
      update: (projectId, mergerequestId, params, fn = null) =>
        @debug "Projects::saveMergeRequest()"
    
        params.id = Utils.parseProjectId projectId;
        params.merge_request_id = parseInt mergerequestId;
    
        @put "projects/#{Utils.parseProjectId projectId}/merge_request/#{parseInt mergerequestId}", params, (data) => fn data if fn
    
      comment: (projectId, mergerequestId, note, fn = null) =>
        @debug "Projects::commentMergeRequest()"
        params =
          id:               Utils.parseProjectId projectId
          merge_request_id: parseInt mergerequestId
          note:             note
        @post "projects/#{Utils.parseProjectId projectId}/merge_request/#{parseInt mergerequestId}/comments", params, (data) => fn data if fn
    
    module.exports = (client) -> new ProjectMergeRequests client