bitbucket code is mostly working
This commit is contained in:
parent
528fbb0f2c
commit
ac6133c922
5 changed files with 60 additions and 6 deletions
|
@ -199,14 +199,18 @@ func GetRepoKey(c *gin.Context) {
|
||||||
|
|
||||||
func DeleteRepo(c *gin.Context) {
|
func DeleteRepo(c *gin.Context) {
|
||||||
db := context.Database(c)
|
db := context.Database(c)
|
||||||
|
remote := context.Remote(c)
|
||||||
repo := session.Repo(c)
|
repo := session.Repo(c)
|
||||||
|
user := session.User(c)
|
||||||
|
|
||||||
err := model.DeleteRepo(db, repo)
|
err := model.DeleteRepo(db, repo)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.AbortWithError(http.StatusInternalServerError, err)
|
c.AbortWithError(http.StatusInternalServerError, err)
|
||||||
} else {
|
return
|
||||||
c.Writer.WriteHeader(http.StatusOK)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
remote.Deactivate(user, repo, httputil.GetURL(c.Request))
|
||||||
|
c.Writer.WriteHeader(http.StatusOK)
|
||||||
}
|
}
|
||||||
|
|
||||||
func PostSecure(c *gin.Context) {
|
func PostSecure(c *gin.Context) {
|
||||||
|
|
|
@ -10,7 +10,7 @@ type User struct {
|
||||||
Login string `json:"login" meddler:"user_login"`
|
Login string `json:"login" meddler:"user_login"`
|
||||||
Token string `json:"-" meddler:"user_token"`
|
Token string `json:"-" meddler:"user_token"`
|
||||||
Secret string `json:"-" meddler:"user_secret"`
|
Secret string `json:"-" meddler:"user_secret"`
|
||||||
Expiry int64 `json:"-" meddler:"user_expiry"`
|
Expiry int64 `json:"-" meddler:"-"`
|
||||||
Email string `json:"email" meddler:"user_email"`
|
Email string `json:"email" meddler:"user_email"`
|
||||||
Avatar string `json:"avatar_url" meddler:"user_avatar"`
|
Avatar string `json:"avatar_url" meddler:"user_avatar"`
|
||||||
Active bool `json:"active," meddler:"user_active"`
|
Active bool `json:"active," meddler:"user_active"`
|
||||||
|
|
|
@ -306,7 +306,10 @@ func (bb *Bitbucket) Activate(u *model.User, r *model.Repo, k *model.Key, link s
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if hookurl.Host == linkurl.Host {
|
if hookurl.Host == linkurl.Host {
|
||||||
client.DeleteHook(r.Owner, r.Name, hook.Uuid)
|
err = client.DeleteHook(r.Owner, r.Name, hook.Uuid)
|
||||||
|
if err != nil {
|
||||||
|
log.Errorf("unable to delete hook %s. %s", hookurl.Host, err)
|
||||||
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package bitbucket
|
package bitbucket
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"net/url"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/drone/drone/model"
|
"github.com/drone/drone/model"
|
||||||
|
@ -41,6 +42,14 @@ func convertRepo(from *Repo) *model.Repo {
|
||||||
repo.Clone = repo.Link
|
repo.Clone = repo.Link
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if bitbucket tries to automatically populate the user
|
||||||
|
// in the url we must strip it out.
|
||||||
|
clone, err := url.Parse(repo.Clone)
|
||||||
|
if err == nil {
|
||||||
|
clone.User = nil
|
||||||
|
repo.Clone = clone.String()
|
||||||
|
}
|
||||||
|
|
||||||
return &repo
|
return &repo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -116,13 +116,51 @@ type PushHook struct {
|
||||||
} `json:"push"`
|
} `json:"push"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PullRequestHook struct {
|
||||||
|
Actor Account `json:"actor"`
|
||||||
|
Repo Repo `json:"repository"`
|
||||||
|
PullRequest struct {
|
||||||
|
ID int `json:"id"`
|
||||||
|
Type string `json:"type"`
|
||||||
|
Reason string `json:"reason"`
|
||||||
|
Desc string `json:"description"`
|
||||||
|
Title string `json:"title"`
|
||||||
|
State string `json:"state"`
|
||||||
|
Links Links `json:"links"`
|
||||||
|
Created time.Time `json:"created_on"`
|
||||||
|
Updated time.Time `json:"updated_on"`
|
||||||
|
|
||||||
|
Source struct {
|
||||||
|
Repo Repo `json:"repsoitory"`
|
||||||
|
Commit struct {
|
||||||
|
Hash string `json:"hash"`
|
||||||
|
Links Links `json:"links"`
|
||||||
|
} `json:"commit"`
|
||||||
|
Branch struct {
|
||||||
|
Name string `json:"name"`
|
||||||
|
} `json:"branch"`
|
||||||
|
} `json:"source"`
|
||||||
|
|
||||||
|
Dest struct {
|
||||||
|
Repo Repo `json:"repsoitory"`
|
||||||
|
Commit struct {
|
||||||
|
Hash string `json:"hash"`
|
||||||
|
Links Links `json:"links"`
|
||||||
|
} `json:"commit"`
|
||||||
|
Branch struct {
|
||||||
|
Name string `json:"name"`
|
||||||
|
} `json:"branch"`
|
||||||
|
} `json:"destination"`
|
||||||
|
} `json:"pullrequest"`
|
||||||
|
}
|
||||||
|
|
||||||
type ListOpts struct {
|
type ListOpts struct {
|
||||||
Page int
|
Page int
|
||||||
PageLen int
|
PageLen int
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *ListOpts) Encode() string {
|
func (o *ListOpts) Encode() string {
|
||||||
params := new(url.Values)
|
params := url.Values{}
|
||||||
if o.Page != 0 {
|
if o.Page != 0 {
|
||||||
params.Set("page", strconv.Itoa(o.Page))
|
params.Set("page", strconv.Itoa(o.Page))
|
||||||
}
|
}
|
||||||
|
@ -139,7 +177,7 @@ type ListTeamOpts struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *ListTeamOpts) Encode() string {
|
func (o *ListTeamOpts) Encode() string {
|
||||||
params := new(url.Values)
|
params := url.Values{}
|
||||||
if o.Page != 0 {
|
if o.Page != 0 {
|
||||||
params.Set("page", strconv.Itoa(o.Page))
|
params.Set("page", strconv.Itoa(o.Page))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue