github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/pkg/platform/api/buildplanner/request/mergecommit.go (about)

     1  package request
     2  
     3  import (
     4  	"github.com/ActiveState/cli/pkg/platform/api/buildplanner/types"
     5  )
     6  
     7  func MergeCommit(owner, project, targetRef, otherRef string, strategy types.MergeStrategy) *mergeCommit {
     8  	return &mergeCommit{map[string]interface{}{
     9  		"organization": owner,
    10  		"project":      project,
    11  		"targetRef":    targetRef,
    12  		"otherRef":     otherRef,
    13  		"strategy":     strategy,
    14  	}}
    15  }
    16  
    17  type mergeCommit struct {
    18  	vars map[string]interface{}
    19  }
    20  
    21  func (b *mergeCommit) Query() string {
    22  	return `
    23  mutation ($organization: String!, $project: String!, $targetRef: String!, $otherRef: String!, $strategy: MergeStrategy) {
    24    mergeCommit(input:{organization:$organization, project:$project, targetVcsRef:$targetRef, otherVcsRef:$otherRef, strategy:$strategy}) {
    25  		... on MergedCommit {
    26  			commit {
    27  				__typename
    28  				commitId
    29  			}
    30  		}
    31      ... on MergeConflict {
    32        __typename
    33        message
    34      }
    35      ... on FastForwardError {
    36        __typename
    37        message
    38      }
    39      ... on NoCommonBaseFound {
    40        __typename
    41        message
    42      }
    43      ... on NotFound {
    44        __typename
    45        message
    46        mayNeedAuthentication
    47      }
    48      ... on ParseError {
    49        __typename
    50        message
    51      }
    52      ... on ValidationError {
    53        __typename
    54        message
    55      }
    56      ... on Forbidden {
    57        __typename
    58        message
    59      }
    60      ... on HeadOnBranchMoved {
    61        __typename
    62        message
    63        commitId
    64        branchId
    65      }
    66      ... on NoChangeSinceLastCommit {
    67        __typename
    68        message
    69        commitId
    70      }
    71    }
    72  }
    73  `
    74  }
    75  
    76  func (b *mergeCommit) Vars() (map[string]interface{}, error) {
    77  	return b.vars, nil
    78  }