mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-08-09 17:27:34 +00:00
updated repo struct
This commit is contained in:
parent
564e029c17
commit
2b269d0e54
@ -108,10 +108,8 @@ func (g *GitHub) Repo(u *common.User, owner, name string) (*common.Repo, error)
|
|||||||
repo.Link = *repo_.HTMLURL
|
repo.Link = *repo_.HTMLURL
|
||||||
repo.Private = *repo_.Private
|
repo.Private = *repo_.Private
|
||||||
repo.Clone = *repo_.CloneURL
|
repo.Clone = *repo_.CloneURL
|
||||||
|
repo.Branch = "master"
|
||||||
|
|
||||||
if repo_.Language != nil {
|
|
||||||
repo.Language = *repo_.Language
|
|
||||||
}
|
|
||||||
if repo_.DefaultBranch != nil {
|
if repo_.DefaultBranch != nil {
|
||||||
repo.Branch = *repo_.DefaultBranch
|
repo.Branch = *repo_.DefaultBranch
|
||||||
}
|
}
|
||||||
@ -264,7 +262,6 @@ func (g *GitHub) push(r *http.Request) (*common.Hook, error) {
|
|||||||
repo.Link = hook.Repo.HTMLURL
|
repo.Link = hook.Repo.HTMLURL
|
||||||
repo.Private = hook.Repo.Private
|
repo.Private = hook.Repo.Private
|
||||||
repo.Clone = hook.Repo.CloneURL
|
repo.Clone = hook.Repo.CloneURL
|
||||||
repo.Language = hook.Repo.Language
|
|
||||||
repo.Branch = hook.Repo.DefaultBranch
|
repo.Branch = hook.Repo.DefaultBranch
|
||||||
|
|
||||||
commit := &common.Commit{}
|
commit := &common.Commit{}
|
||||||
@ -315,9 +312,7 @@ func (g *GitHub) pullRequest(r *http.Request) (*common.Hook, error) {
|
|||||||
repo.Link = *hook.Repo.HTMLURL
|
repo.Link = *hook.Repo.HTMLURL
|
||||||
repo.Private = *hook.Repo.Private
|
repo.Private = *hook.Repo.Private
|
||||||
repo.Clone = *hook.Repo.CloneURL
|
repo.Clone = *hook.Repo.CloneURL
|
||||||
if hook.Repo.Language != nil {
|
repo.Branch = "master"
|
||||||
repo.Language = *hook.Repo.Language
|
|
||||||
}
|
|
||||||
if hook.Repo.DefaultBranch != nil {
|
if hook.Repo.DefaultBranch != nil {
|
||||||
repo.Branch = *hook.Repo.DefaultBranch
|
repo.Branch = *hook.Repo.DefaultBranch
|
||||||
}
|
}
|
||||||
|
@ -132,11 +132,6 @@ func RunBuild(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
keys := &common.Keypair{
|
|
||||||
Public: repo.PublicKey,
|
|
||||||
Private: repo.PrivateKey,
|
|
||||||
}
|
|
||||||
|
|
||||||
user, err := store.User(repo.UserID)
|
user, err := store.User(repo.UserID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Fail(404, err)
|
c.Fail(404, err)
|
||||||
@ -189,7 +184,7 @@ func RunBuild(c *gin.Context) {
|
|||||||
User: user,
|
User: user,
|
||||||
Repo: repo,
|
Repo: repo,
|
||||||
Commit: commit,
|
Commit: commit,
|
||||||
Keys: keys,
|
Keys: repo.Keys,
|
||||||
Netrc: netrc,
|
Netrc: netrc,
|
||||||
Yaml: raw,
|
Yaml: raw,
|
||||||
Plugins: conf.Plugins,
|
Plugins: conf.Plugins,
|
||||||
|
@ -68,11 +68,11 @@ func PostHook(c *gin.Context) {
|
|||||||
log.Warnf("ignoring hook. repo %s has no owner.", repo.FullName)
|
log.Warnf("ignoring hook. repo %s has no owner.", repo.FullName)
|
||||||
c.Writer.WriteHeader(204)
|
c.Writer.WriteHeader(204)
|
||||||
return
|
return
|
||||||
case !repo.PostCommit && hook.Commit.PullRequest != "":
|
case !repo.Hooks.Push && hook.Commit.PullRequest != "":
|
||||||
log.Infof("ignoring hook. repo %s is disabled.", repo.FullName)
|
log.Infof("ignoring hook. repo %s is disabled.", repo.FullName)
|
||||||
c.Writer.WriteHeader(204)
|
c.Writer.WriteHeader(204)
|
||||||
return
|
return
|
||||||
case !repo.PullRequest && hook.Commit.PullRequest == "":
|
case !repo.Hooks.PullRequest && hook.Commit.PullRequest == "":
|
||||||
log.Warnf("ignoring hook. repo %s is disabled for pull requests.", repo.FullName)
|
log.Warnf("ignoring hook. repo %s is disabled for pull requests.", repo.FullName)
|
||||||
c.Writer.WriteHeader(204)
|
c.Writer.WriteHeader(204)
|
||||||
return
|
return
|
||||||
@ -117,10 +117,6 @@ func PostHook(c *gin.Context) {
|
|||||||
Environment: axis,
|
Environment: axis,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
keys := &common.Keypair{
|
|
||||||
Public: repo.PublicKey,
|
|
||||||
Private: repo.PrivateKey,
|
|
||||||
}
|
|
||||||
|
|
||||||
netrc, err := remote.Netrc(user)
|
netrc, err := remote.Netrc(user)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -155,7 +151,7 @@ func PostHook(c *gin.Context) {
|
|||||||
User: user,
|
User: user,
|
||||||
Repo: repo,
|
Repo: repo,
|
||||||
Commit: commit,
|
Commit: commit,
|
||||||
Keys: keys,
|
Keys: repo.Keys,
|
||||||
Netrc: netrc,
|
Netrc: netrc,
|
||||||
Yaml: raw,
|
Yaml: raw,
|
||||||
Plugins: conf.Plugins,
|
Plugins: conf.Plugins,
|
||||||
|
@ -66,9 +66,7 @@ func GetRepo(c *gin.Context) {
|
|||||||
// and keypair data.
|
// and keypair data.
|
||||||
if perm.Push {
|
if perm.Push {
|
||||||
data.Params = repo.Params
|
data.Params = repo.Params
|
||||||
data.Keypair = &common.Keypair{
|
data.Keypair = repo.Keys
|
||||||
Public: repo.PublicKey,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// check to see if the user is subscribing to the repo
|
// check to see if the user is subscribing to the repo
|
||||||
data.Starred, _ = store.Starred(user, repo)
|
data.Starred, _ = store.Starred(user, repo)
|
||||||
@ -98,10 +96,10 @@ func PutRepo(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if in.PostCommit != nil {
|
if in.PostCommit != nil {
|
||||||
repo.PostCommit = *in.PostCommit
|
repo.Hooks.Push = *in.PostCommit
|
||||||
}
|
}
|
||||||
if in.PullRequest != nil {
|
if in.PullRequest != nil {
|
||||||
repo.PullRequest = *in.PullRequest
|
repo.Hooks.PullRequest = *in.PullRequest
|
||||||
}
|
}
|
||||||
if in.Trusted != nil && user.Admin {
|
if in.Trusted != nil && user.Admin {
|
||||||
repo.Trusted = *in.Trusted
|
repo.Trusted = *in.Trusted
|
||||||
@ -118,9 +116,7 @@ func PutRepo(c *gin.Context) {
|
|||||||
|
|
||||||
data := repoResp{repo, perm, nil, nil, false}
|
data := repoResp{repo, perm, nil, nil, false}
|
||||||
data.Params = repo.Params
|
data.Params = repo.Params
|
||||||
data.Keypair = &common.Keypair{
|
data.Keypair = repo.Keys
|
||||||
Public: repo.PublicKey,
|
|
||||||
}
|
|
||||||
data.Starred, _ = store.Starred(user, repo)
|
data.Starred, _ = store.Starred(user, repo)
|
||||||
|
|
||||||
c.JSON(200, data)
|
c.JSON(200, data)
|
||||||
@ -208,8 +204,9 @@ func PostRepo(c *gin.Context) {
|
|||||||
// set the repository owner to the
|
// set the repository owner to the
|
||||||
// currently authenticated user.
|
// currently authenticated user.
|
||||||
r.UserID = user.ID
|
r.UserID = user.ID
|
||||||
r.PostCommit = true
|
r.Hooks = new(common.Hooks)
|
||||||
r.PullRequest = true
|
r.Hooks.Push = true
|
||||||
|
r.Hooks.PullRequest = true
|
||||||
r.Timeout = 60 // 1 hour default build time
|
r.Timeout = 60 // 1 hour default build time
|
||||||
r.Self = fmt.Sprintf(
|
r.Self = fmt.Sprintf(
|
||||||
"%s/%s",
|
"%s/%s",
|
||||||
@ -223,16 +220,13 @@ func PostRepo(c *gin.Context) {
|
|||||||
c.Fail(400, err)
|
c.Fail(400, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
r.PublicKey = string(sshutil.MarshalPublicKey(&key.PublicKey))
|
r.Keys = new(common.Keypair)
|
||||||
r.PrivateKey = string(sshutil.MarshalPrivateKey(key))
|
r.Keys.Public = string(sshutil.MarshalPublicKey(&key.PublicKey))
|
||||||
keypair := &common.Keypair{
|
r.Keys.Private = string(sshutil.MarshalPrivateKey(key))
|
||||||
Public: r.PublicKey,
|
|
||||||
Private: r.PrivateKey,
|
|
||||||
}
|
|
||||||
|
|
||||||
// activate the repository before we make any
|
// activate the repository before we make any
|
||||||
// local changes to the database.
|
// local changes to the database.
|
||||||
err = remote.Activate(user, r, keypair, link)
|
err = remote.Activate(user, r, r.Keys, link)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Fail(500, err)
|
c.Fail(500, err)
|
||||||
return
|
return
|
||||||
|
@ -47,27 +47,25 @@ CREATE TABLE IF NOT EXISTS users (
|
|||||||
|
|
||||||
var repoTable = `
|
var repoTable = `
|
||||||
CREATE TABLE IF NOT EXISTS repos (
|
CREATE TABLE IF NOT EXISTS repos (
|
||||||
repo_id INTEGER PRIMARY KEY AUTOINCREMENT
|
repo_id INTEGER PRIMARY KEY AUTOINCREMENT
|
||||||
,repo_user_id INTEGER
|
,repo_user_id INTEGER
|
||||||
,repo_owner VARCHAR(255)
|
,repo_owner VARCHAR(255)
|
||||||
,repo_name VARCHAR(255)
|
,repo_name VARCHAR(255)
|
||||||
,repo_full_name VARCHAR(1024)
|
,repo_full_name VARCHAR(1024)
|
||||||
,repo_token VARCHAR(255)
|
,repo_self VARCHAR(1024)
|
||||||
,repo_language VARCHAR(255)
|
,repo_link VARCHAR(1024)
|
||||||
,repo_branch VARCHAR(255)
|
,repo_clone VARCHAR(1024)
|
||||||
,repo_private BOOLEAN
|
,repo_branch VARCHAR(255)
|
||||||
,repo_trusted BOOLEAN
|
,repo_private BOOLEAN
|
||||||
,repo_self VARCHAR(1024)
|
,repo_trusted BOOLEAN
|
||||||
,repo_link VARCHAR(1024)
|
,repo_timeout INTEGER
|
||||||
,repo_clone VARCHAR(1024)
|
,repo_keys_public BLOB
|
||||||
,repo_post_commit BOOLEAN
|
,repo_keys_private BLOB
|
||||||
,repo_pull_request BOOLEAN
|
,repo_hooks_pull_request BOOLEAN
|
||||||
,repo_public_key BLOB
|
,repo_hooks_push BOOLEAN
|
||||||
,repo_private_key BLOB
|
,repo_hooks_tags BOOLEAN
|
||||||
,repo_params BLOB
|
,repo_params BLOB
|
||||||
,repo_timeout INTEGER
|
|
||||||
,repo_created INTEGER
|
|
||||||
,repo_updated INTEGER
|
|
||||||
,UNIQUE(repo_owner, repo_name)
|
,UNIQUE(repo_owner, repo_name)
|
||||||
,UNIQUE(repo_full_name)
|
,UNIQUE(repo_full_name)
|
||||||
);
|
);
|
||||||
|
@ -2,7 +2,6 @@ package builtin
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/drone/drone/pkg/types"
|
"github.com/drone/drone/pkg/types"
|
||||||
)
|
)
|
||||||
@ -35,14 +34,11 @@ func (db *Repostore) RepoList(user *types.User) ([]*types.Repo, error) {
|
|||||||
|
|
||||||
// AddRepo inserts a repo in the datastore.
|
// AddRepo inserts a repo in the datastore.
|
||||||
func (db *Repostore) AddRepo(repo *types.Repo) error {
|
func (db *Repostore) AddRepo(repo *types.Repo) error {
|
||||||
repo.Created = time.Now().UTC().Unix()
|
|
||||||
repo.Updated = time.Now().UTC().Unix()
|
|
||||||
return createRepo(db, rebind(stmtRepoInsert), repo)
|
return createRepo(db, rebind(stmtRepoInsert), repo)
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetRepo updates a repo in the datastore.
|
// SetRepo updates a repo in the datastore.
|
||||||
func (db *Repostore) SetRepo(repo *types.Repo) error {
|
func (db *Repostore) SetRepo(repo *types.Repo) error {
|
||||||
repo.Updated = time.Now().UTC().Unix()
|
|
||||||
return updateRepo(db, rebind(stmtRepoUpdate), repo)
|
return updateRepo(db, rebind(stmtRepoUpdate), repo)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,27 +52,24 @@ func (db *Repostore) DelRepo(repo *types.Repo) error {
|
|||||||
// with permissions for the given User ID.
|
// with permissions for the given User ID.
|
||||||
const repoListQuery = `
|
const repoListQuery = `
|
||||||
SELECT
|
SELECT
|
||||||
r.repo_id
|
repo_id
|
||||||
,r.repo_user_id
|
,repo_user_id
|
||||||
,r.repo_owner
|
,repo_owner
|
||||||
,r.repo_name
|
,repo_name
|
||||||
,r.repo_full_name
|
,repo_full_name
|
||||||
,r.repo_token
|
,repo_self
|
||||||
,r.repo_language
|
,repo_link
|
||||||
,r.repo_private
|
,repo_clone
|
||||||
,r.repo_self
|
,repo_branch
|
||||||
,r.repo_link
|
,repo_private
|
||||||
,r.repo_clone
|
,repo_trusted
|
||||||
,r.repo_branch
|
,repo_timeout
|
||||||
,r.repo_timeout
|
,repo_keys_public
|
||||||
,r.repo_trusted
|
,repo_keys_private
|
||||||
,r.repo_post_commit
|
,repo_hooks_pull_request
|
||||||
,r.repo_pull_request
|
,repo_hooks_push
|
||||||
,r.repo_public_key
|
,repo_hooks_tags
|
||||||
,r.repo_private_key
|
,repo_params
|
||||||
,r.repo_created
|
|
||||||
,r.repo_updated
|
|
||||||
,r.repo_params
|
|
||||||
FROM
|
FROM
|
||||||
repos r
|
repos r
|
||||||
,stars s
|
,stars s
|
||||||
|
@ -40,40 +40,38 @@ func createRepo(db repoDB, query string, v *Repo) error {
|
|||||||
var v3 string
|
var v3 string
|
||||||
var v4 string
|
var v4 string
|
||||||
var v5 string
|
var v5 string
|
||||||
var v6 bool
|
var v6 string
|
||||||
var v7 string
|
var v7 string
|
||||||
var v8 string
|
var v8 bool
|
||||||
var v9 string
|
var v9 bool
|
||||||
var v10 string
|
var v10 int64
|
||||||
var v11 int64
|
var v11 string
|
||||||
var v12 bool
|
var v12 string
|
||||||
var v13 bool
|
var v13 bool
|
||||||
var v14 bool
|
var v14 bool
|
||||||
var v15 string
|
var v15 bool
|
||||||
var v16 string
|
var v16 []byte
|
||||||
var v17 int64
|
|
||||||
var v18 int64
|
|
||||||
var v19 []byte
|
|
||||||
v0 = v.UserID
|
v0 = v.UserID
|
||||||
v1 = v.Owner
|
v1 = v.Owner
|
||||||
v2 = v.Name
|
v2 = v.Name
|
||||||
v3 = v.FullName
|
v3 = v.FullName
|
||||||
v4 = v.Token
|
v4 = v.Self
|
||||||
v5 = v.Language
|
v5 = v.Link
|
||||||
v6 = v.Private
|
v6 = v.Clone
|
||||||
v7 = v.Self
|
v7 = v.Branch
|
||||||
v8 = v.Link
|
v8 = v.Private
|
||||||
v9 = v.Clone
|
v9 = v.Trusted
|
||||||
v10 = v.Branch
|
v10 = v.Timeout
|
||||||
v11 = v.Timeout
|
if v.Keys != nil {
|
||||||
v12 = v.Trusted
|
v11 = v.Keys.Public
|
||||||
v13 = v.PostCommit
|
v12 = v.Keys.Private
|
||||||
v14 = v.PullRequest
|
}
|
||||||
v15 = v.PublicKey
|
if v.Hooks != nil {
|
||||||
v16 = v.PrivateKey
|
v13 = v.Hooks.PullRequest
|
||||||
v17 = v.Created
|
v14 = v.Hooks.Push
|
||||||
v18 = v.Updated
|
v15 = v.Hooks.Tags
|
||||||
v19, _ = json.Marshal(v.Params)
|
}
|
||||||
|
v16, _ = json.Marshal(v.Params)
|
||||||
|
|
||||||
res, err := db.Exec(query,
|
res, err := db.Exec(query,
|
||||||
&v0,
|
&v0,
|
||||||
@ -93,9 +91,6 @@ func createRepo(db repoDB, query string, v *Repo) error {
|
|||||||
&v14,
|
&v14,
|
||||||
&v15,
|
&v15,
|
||||||
&v16,
|
&v16,
|
||||||
&v17,
|
|
||||||
&v18,
|
|
||||||
&v19,
|
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -113,41 +108,39 @@ func updateRepo(db repoDB, query string, v *Repo) error {
|
|||||||
var v4 string
|
var v4 string
|
||||||
var v5 string
|
var v5 string
|
||||||
var v6 string
|
var v6 string
|
||||||
var v7 bool
|
var v7 string
|
||||||
var v8 string
|
var v8 string
|
||||||
var v9 string
|
var v9 bool
|
||||||
var v10 string
|
var v10 bool
|
||||||
var v11 string
|
var v11 int64
|
||||||
var v12 int64
|
var v12 string
|
||||||
var v13 bool
|
var v13 string
|
||||||
var v14 bool
|
var v14 bool
|
||||||
var v15 bool
|
var v15 bool
|
||||||
var v16 string
|
var v16 bool
|
||||||
var v17 string
|
var v17 []byte
|
||||||
var v18 int64
|
|
||||||
var v19 int64
|
|
||||||
var v20 []byte
|
|
||||||
v0 = v.ID
|
v0 = v.ID
|
||||||
v1 = v.UserID
|
v1 = v.UserID
|
||||||
v2 = v.Owner
|
v2 = v.Owner
|
||||||
v3 = v.Name
|
v3 = v.Name
|
||||||
v4 = v.FullName
|
v4 = v.FullName
|
||||||
v5 = v.Token
|
v5 = v.Self
|
||||||
v6 = v.Language
|
v6 = v.Link
|
||||||
v7 = v.Private
|
v7 = v.Clone
|
||||||
v8 = v.Self
|
v8 = v.Branch
|
||||||
v9 = v.Link
|
v9 = v.Private
|
||||||
v10 = v.Clone
|
v10 = v.Trusted
|
||||||
v11 = v.Branch
|
v11 = v.Timeout
|
||||||
v12 = v.Timeout
|
if v.Keys != nil {
|
||||||
v13 = v.Trusted
|
v12 = v.Keys.Public
|
||||||
v14 = v.PostCommit
|
v13 = v.Keys.Private
|
||||||
v15 = v.PullRequest
|
}
|
||||||
v16 = v.PublicKey
|
if v.Hooks != nil {
|
||||||
v17 = v.PrivateKey
|
v14 = v.Hooks.PullRequest
|
||||||
v18 = v.Created
|
v15 = v.Hooks.Push
|
||||||
v19 = v.Updated
|
v16 = v.Hooks.Tags
|
||||||
v20, _ = json.Marshal(v.Params)
|
}
|
||||||
|
v17, _ = json.Marshal(v.Params)
|
||||||
|
|
||||||
_, err := db.Exec(query,
|
_, err := db.Exec(query,
|
||||||
&v1,
|
&v1,
|
||||||
@ -167,9 +160,6 @@ func updateRepo(db repoDB, query string, v *Repo) error {
|
|||||||
&v15,
|
&v15,
|
||||||
&v16,
|
&v16,
|
||||||
&v17,
|
&v17,
|
||||||
&v18,
|
|
||||||
&v19,
|
|
||||||
&v20,
|
|
||||||
&v0,
|
&v0,
|
||||||
)
|
)
|
||||||
return err
|
return err
|
||||||
@ -183,20 +173,17 @@ func scanRepo(row *sql.Row) (*Repo, error) {
|
|||||||
var v4 string
|
var v4 string
|
||||||
var v5 string
|
var v5 string
|
||||||
var v6 string
|
var v6 string
|
||||||
var v7 bool
|
var v7 string
|
||||||
var v8 string
|
var v8 string
|
||||||
var v9 string
|
var v9 bool
|
||||||
var v10 string
|
var v10 bool
|
||||||
var v11 string
|
var v11 int64
|
||||||
var v12 int64
|
var v12 string
|
||||||
var v13 bool
|
var v13 string
|
||||||
var v14 bool
|
var v14 bool
|
||||||
var v15 bool
|
var v15 bool
|
||||||
var v16 string
|
var v16 bool
|
||||||
var v17 string
|
var v17 []byte
|
||||||
var v18 int64
|
|
||||||
var v19 int64
|
|
||||||
var v20 []byte
|
|
||||||
|
|
||||||
err := row.Scan(
|
err := row.Scan(
|
||||||
&v0,
|
&v0,
|
||||||
@ -217,9 +204,6 @@ func scanRepo(row *sql.Row) (*Repo, error) {
|
|||||||
&v15,
|
&v15,
|
||||||
&v16,
|
&v16,
|
||||||
&v17,
|
&v17,
|
||||||
&v18,
|
|
||||||
&v19,
|
|
||||||
&v20,
|
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -231,22 +215,21 @@ func scanRepo(row *sql.Row) (*Repo, error) {
|
|||||||
v.Owner = v2
|
v.Owner = v2
|
||||||
v.Name = v3
|
v.Name = v3
|
||||||
v.FullName = v4
|
v.FullName = v4
|
||||||
v.Token = v5
|
v.Self = v5
|
||||||
v.Language = v6
|
v.Link = v6
|
||||||
v.Private = v7
|
v.Clone = v7
|
||||||
v.Self = v8
|
v.Branch = v8
|
||||||
v.Link = v9
|
v.Private = v9
|
||||||
v.Clone = v10
|
v.Trusted = v10
|
||||||
v.Branch = v11
|
v.Timeout = v11
|
||||||
v.Timeout = v12
|
v.Keys = &Keypair{}
|
||||||
v.Trusted = v13
|
v.Keys.Public = v12
|
||||||
v.PostCommit = v14
|
v.Keys.Private = v13
|
||||||
v.PullRequest = v15
|
v.Hooks = &Hooks{}
|
||||||
v.PublicKey = v16
|
v.Hooks.PullRequest = v14
|
||||||
v.PrivateKey = v17
|
v.Hooks.Push = v15
|
||||||
v.Created = v18
|
v.Hooks.Tags = v16
|
||||||
v.Updated = v19
|
json.Unmarshal(v17, &v.Params)
|
||||||
json.Unmarshal(v20, &v.Params)
|
|
||||||
|
|
||||||
return v, nil
|
return v, nil
|
||||||
}
|
}
|
||||||
@ -262,20 +245,17 @@ func scanRepos(rows *sql.Rows) ([]*Repo, error) {
|
|||||||
var v4 string
|
var v4 string
|
||||||
var v5 string
|
var v5 string
|
||||||
var v6 string
|
var v6 string
|
||||||
var v7 bool
|
var v7 string
|
||||||
var v8 string
|
var v8 string
|
||||||
var v9 string
|
var v9 bool
|
||||||
var v10 string
|
var v10 bool
|
||||||
var v11 string
|
var v11 int64
|
||||||
var v12 int64
|
var v12 string
|
||||||
var v13 bool
|
var v13 string
|
||||||
var v14 bool
|
var v14 bool
|
||||||
var v15 bool
|
var v15 bool
|
||||||
var v16 string
|
var v16 bool
|
||||||
var v17 string
|
var v17 []byte
|
||||||
var v18 int64
|
|
||||||
var v19 int64
|
|
||||||
var v20 []byte
|
|
||||||
err = rows.Scan(
|
err = rows.Scan(
|
||||||
&v0,
|
&v0,
|
||||||
&v1,
|
&v1,
|
||||||
@ -295,9 +275,6 @@ func scanRepos(rows *sql.Rows) ([]*Repo, error) {
|
|||||||
&v15,
|
&v15,
|
||||||
&v16,
|
&v16,
|
||||||
&v17,
|
&v17,
|
||||||
&v18,
|
|
||||||
&v19,
|
|
||||||
&v20,
|
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return vv, err
|
return vv, err
|
||||||
@ -309,22 +286,21 @@ func scanRepos(rows *sql.Rows) ([]*Repo, error) {
|
|||||||
v.Owner = v2
|
v.Owner = v2
|
||||||
v.Name = v3
|
v.Name = v3
|
||||||
v.FullName = v4
|
v.FullName = v4
|
||||||
v.Token = v5
|
v.Self = v5
|
||||||
v.Language = v6
|
v.Link = v6
|
||||||
v.Private = v7
|
v.Clone = v7
|
||||||
v.Self = v8
|
v.Branch = v8
|
||||||
v.Link = v9
|
v.Private = v9
|
||||||
v.Clone = v10
|
v.Trusted = v10
|
||||||
v.Branch = v11
|
v.Timeout = v11
|
||||||
v.Timeout = v12
|
v.Keys = &Keypair{}
|
||||||
v.Trusted = v13
|
v.Keys.Public = v12
|
||||||
v.PostCommit = v14
|
v.Keys.Private = v13
|
||||||
v.PullRequest = v15
|
v.Hooks = &Hooks{}
|
||||||
v.PublicKey = v16
|
v.Hooks.PullRequest = v14
|
||||||
v.PrivateKey = v17
|
v.Hooks.Push = v15
|
||||||
v.Created = v18
|
v.Hooks.Tags = v16
|
||||||
v.Updated = v19
|
json.Unmarshal(v17, &v.Params)
|
||||||
json.Unmarshal(v20, &v.Params)
|
|
||||||
vv = append(vv, v)
|
vv = append(vv, v)
|
||||||
}
|
}
|
||||||
return vv, rows.Err()
|
return vv, rows.Err()
|
||||||
@ -337,21 +313,18 @@ SELECT
|
|||||||
,repo_owner
|
,repo_owner
|
||||||
,repo_name
|
,repo_name
|
||||||
,repo_full_name
|
,repo_full_name
|
||||||
,repo_token
|
|
||||||
,repo_language
|
|
||||||
,repo_private
|
|
||||||
,repo_self
|
,repo_self
|
||||||
,repo_link
|
,repo_link
|
||||||
,repo_clone
|
,repo_clone
|
||||||
,repo_branch
|
,repo_branch
|
||||||
,repo_timeout
|
,repo_private
|
||||||
,repo_trusted
|
,repo_trusted
|
||||||
,repo_post_commit
|
,repo_timeout
|
||||||
,repo_pull_request
|
,repo_keys_public
|
||||||
,repo_public_key
|
,repo_keys_private
|
||||||
,repo_private_key
|
,repo_hooks_pull_request
|
||||||
,repo_created
|
,repo_hooks_push
|
||||||
,repo_updated
|
,repo_hooks_tags
|
||||||
,repo_params
|
,repo_params
|
||||||
FROM repos
|
FROM repos
|
||||||
`
|
`
|
||||||
@ -363,21 +336,18 @@ SELECT
|
|||||||
,repo_owner
|
,repo_owner
|
||||||
,repo_name
|
,repo_name
|
||||||
,repo_full_name
|
,repo_full_name
|
||||||
,repo_token
|
|
||||||
,repo_language
|
|
||||||
,repo_private
|
|
||||||
,repo_self
|
,repo_self
|
||||||
,repo_link
|
,repo_link
|
||||||
,repo_clone
|
,repo_clone
|
||||||
,repo_branch
|
,repo_branch
|
||||||
,repo_timeout
|
,repo_private
|
||||||
,repo_trusted
|
,repo_trusted
|
||||||
,repo_post_commit
|
,repo_timeout
|
||||||
,repo_pull_request
|
,repo_keys_public
|
||||||
,repo_public_key
|
,repo_keys_private
|
||||||
,repo_private_key
|
,repo_hooks_pull_request
|
||||||
,repo_created
|
,repo_hooks_push
|
||||||
,repo_updated
|
,repo_hooks_tags
|
||||||
,repo_params
|
,repo_params
|
||||||
FROM repos
|
FROM repos
|
||||||
LIMIT ? OFFSET ?
|
LIMIT ? OFFSET ?
|
||||||
@ -390,26 +360,47 @@ SELECT
|
|||||||
,repo_owner
|
,repo_owner
|
||||||
,repo_name
|
,repo_name
|
||||||
,repo_full_name
|
,repo_full_name
|
||||||
,repo_token
|
|
||||||
,repo_language
|
|
||||||
,repo_private
|
|
||||||
,repo_self
|
,repo_self
|
||||||
,repo_link
|
,repo_link
|
||||||
,repo_clone
|
,repo_clone
|
||||||
,repo_branch
|
,repo_branch
|
||||||
,repo_timeout
|
,repo_private
|
||||||
,repo_trusted
|
,repo_trusted
|
||||||
,repo_post_commit
|
,repo_timeout
|
||||||
,repo_pull_request
|
,repo_keys_public
|
||||||
,repo_public_key
|
,repo_keys_private
|
||||||
,repo_private_key
|
,repo_hooks_pull_request
|
||||||
,repo_created
|
,repo_hooks_push
|
||||||
,repo_updated
|
,repo_hooks_tags
|
||||||
,repo_params
|
,repo_params
|
||||||
FROM repos
|
FROM repos
|
||||||
WHERE repo_id = ?
|
WHERE repo_id = ?
|
||||||
`
|
`
|
||||||
|
|
||||||
|
const stmtRepoSelectRepoUserId = `
|
||||||
|
SELECT
|
||||||
|
repo_id
|
||||||
|
,repo_user_id
|
||||||
|
,repo_owner
|
||||||
|
,repo_name
|
||||||
|
,repo_full_name
|
||||||
|
,repo_self
|
||||||
|
,repo_link
|
||||||
|
,repo_clone
|
||||||
|
,repo_branch
|
||||||
|
,repo_private
|
||||||
|
,repo_trusted
|
||||||
|
,repo_timeout
|
||||||
|
,repo_keys_public
|
||||||
|
,repo_keys_private
|
||||||
|
,repo_hooks_pull_request
|
||||||
|
,repo_hooks_push
|
||||||
|
,repo_hooks_tags
|
||||||
|
,repo_params
|
||||||
|
FROM repos
|
||||||
|
WHERE repo_user_id = ?
|
||||||
|
`
|
||||||
|
|
||||||
const stmtRepoSelectRepoOwnerName = `
|
const stmtRepoSelectRepoOwnerName = `
|
||||||
SELECT
|
SELECT
|
||||||
repo_id
|
repo_id
|
||||||
@ -417,21 +408,18 @@ SELECT
|
|||||||
,repo_owner
|
,repo_owner
|
||||||
,repo_name
|
,repo_name
|
||||||
,repo_full_name
|
,repo_full_name
|
||||||
,repo_token
|
|
||||||
,repo_language
|
|
||||||
,repo_private
|
|
||||||
,repo_self
|
,repo_self
|
||||||
,repo_link
|
,repo_link
|
||||||
,repo_clone
|
,repo_clone
|
||||||
,repo_branch
|
,repo_branch
|
||||||
,repo_timeout
|
,repo_private
|
||||||
,repo_trusted
|
,repo_trusted
|
||||||
,repo_post_commit
|
,repo_timeout
|
||||||
,repo_pull_request
|
,repo_keys_public
|
||||||
,repo_public_key
|
,repo_keys_private
|
||||||
,repo_private_key
|
,repo_hooks_pull_request
|
||||||
,repo_created
|
,repo_hooks_push
|
||||||
,repo_updated
|
,repo_hooks_tags
|
||||||
,repo_params
|
,repo_params
|
||||||
FROM repos
|
FROM repos
|
||||||
WHERE repo_owner = ?
|
WHERE repo_owner = ?
|
||||||
@ -445,49 +433,48 @@ SELECT
|
|||||||
,repo_owner
|
,repo_owner
|
||||||
,repo_name
|
,repo_name
|
||||||
,repo_full_name
|
,repo_full_name
|
||||||
,repo_token
|
|
||||||
,repo_language
|
|
||||||
,repo_private
|
|
||||||
,repo_self
|
,repo_self
|
||||||
,repo_link
|
,repo_link
|
||||||
,repo_clone
|
,repo_clone
|
||||||
,repo_branch
|
,repo_branch
|
||||||
,repo_timeout
|
,repo_private
|
||||||
,repo_trusted
|
,repo_trusted
|
||||||
,repo_post_commit
|
,repo_timeout
|
||||||
,repo_pull_request
|
,repo_keys_public
|
||||||
,repo_public_key
|
,repo_keys_private
|
||||||
,repo_private_key
|
,repo_hooks_pull_request
|
||||||
,repo_created
|
,repo_hooks_push
|
||||||
,repo_updated
|
,repo_hooks_tags
|
||||||
,repo_params
|
,repo_params
|
||||||
FROM repos
|
FROM repos
|
||||||
WHERE repo_full_name = ?
|
WHERE repo_full_name = ?
|
||||||
`
|
`
|
||||||
|
|
||||||
|
const stmtRepoSelectCount = `
|
||||||
|
SELECT count(1)
|
||||||
|
FROM repos
|
||||||
|
`
|
||||||
|
|
||||||
const stmtRepoInsert = `
|
const stmtRepoInsert = `
|
||||||
INSERT INTO repos (
|
INSERT INTO repos (
|
||||||
repo_user_id
|
repo_user_id
|
||||||
,repo_owner
|
,repo_owner
|
||||||
,repo_name
|
,repo_name
|
||||||
,repo_full_name
|
,repo_full_name
|
||||||
,repo_token
|
|
||||||
,repo_language
|
|
||||||
,repo_private
|
|
||||||
,repo_self
|
,repo_self
|
||||||
,repo_link
|
,repo_link
|
||||||
,repo_clone
|
,repo_clone
|
||||||
,repo_branch
|
,repo_branch
|
||||||
,repo_timeout
|
,repo_private
|
||||||
,repo_trusted
|
,repo_trusted
|
||||||
,repo_post_commit
|
,repo_timeout
|
||||||
,repo_pull_request
|
,repo_keys_public
|
||||||
,repo_public_key
|
,repo_keys_private
|
||||||
,repo_private_key
|
,repo_hooks_pull_request
|
||||||
,repo_created
|
,repo_hooks_push
|
||||||
,repo_updated
|
,repo_hooks_tags
|
||||||
,repo_params
|
,repo_params
|
||||||
) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
|
) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
|
||||||
`
|
`
|
||||||
|
|
||||||
const stmtRepoUpdate = `
|
const stmtRepoUpdate = `
|
||||||
@ -496,21 +483,18 @@ UPDATE repos SET
|
|||||||
,repo_owner = ?
|
,repo_owner = ?
|
||||||
,repo_name = ?
|
,repo_name = ?
|
||||||
,repo_full_name = ?
|
,repo_full_name = ?
|
||||||
,repo_token = ?
|
|
||||||
,repo_language = ?
|
|
||||||
,repo_private = ?
|
|
||||||
,repo_self = ?
|
,repo_self = ?
|
||||||
,repo_link = ?
|
,repo_link = ?
|
||||||
,repo_clone = ?
|
,repo_clone = ?
|
||||||
,repo_branch = ?
|
,repo_branch = ?
|
||||||
,repo_timeout = ?
|
,repo_private = ?
|
||||||
,repo_trusted = ?
|
,repo_trusted = ?
|
||||||
,repo_post_commit = ?
|
,repo_timeout = ?
|
||||||
,repo_pull_request = ?
|
,repo_keys_public = ?
|
||||||
,repo_public_key = ?
|
,repo_keys_private = ?
|
||||||
,repo_private_key = ?
|
,repo_hooks_pull_request = ?
|
||||||
,repo_created = ?
|
,repo_hooks_push = ?
|
||||||
,repo_updated = ?
|
,repo_hooks_tags = ?
|
||||||
,repo_params = ?
|
,repo_params = ?
|
||||||
WHERE repo_id = ?
|
WHERE repo_id = ?
|
||||||
`
|
`
|
||||||
@ -527,25 +511,26 @@ CREATE TABLE IF NOT EXISTS repos (
|
|||||||
,repo_owner VARCHAR
|
,repo_owner VARCHAR
|
||||||
,repo_name VARCHAR
|
,repo_name VARCHAR
|
||||||
,repo_full_name VARCHAR
|
,repo_full_name VARCHAR
|
||||||
,repo_token VARCHAR
|
|
||||||
,repo_language VARCHAR
|
|
||||||
,repo_private BOOLEAN
|
|
||||||
,repo_self VARCHAR
|
,repo_self VARCHAR
|
||||||
,repo_link VARCHAR
|
,repo_link VARCHAR
|
||||||
,repo_clone VARCHAR
|
,repo_clone VARCHAR
|
||||||
,repo_branch VARCHAR
|
,repo_branch VARCHAR
|
||||||
,repo_timeout INTEGER
|
,repo_private BOOLEAN
|
||||||
,repo_trusted BOOLEAN
|
,repo_trusted BOOLEAN
|
||||||
,repo_post_commit BOOLEAN
|
,repo_timeout INTEGER
|
||||||
,repo_pull_request BOOLEAN
|
,repo_keys_public VARCHAR
|
||||||
,repo_public_key VARCHAR
|
,repo_keys_private VARCHAR
|
||||||
,repo_private_key VARCHAR
|
,repo_hooks_pull_requestBOOLEAN
|
||||||
,repo_created INTEGER
|
,repo_hooks_push BOOLEAN
|
||||||
,repo_updated INTEGER
|
,repo_hooks_tags BOOLEAN
|
||||||
,repo_params BLOB
|
,repo_params BLOB
|
||||||
);
|
);
|
||||||
`
|
`
|
||||||
|
|
||||||
|
const stmtRepoRepoUserIdIndex = `
|
||||||
|
CREATE INDEX IF NOT EXISTS ix_repo_user_id ON repos (repo_user_id);
|
||||||
|
`
|
||||||
|
|
||||||
const stmtRepoRepoOwnerNameIndex = `
|
const stmtRepoRepoOwnerNameIndex = `
|
||||||
CREATE UNIQUE INDEX IF NOT EXISTS ux_repo_owner_name ON repos (repo_owner,repo_name);
|
CREATE UNIQUE INDEX IF NOT EXISTS ux_repo_owner_name ON repos (repo_owner,repo_name);
|
||||||
`
|
`
|
||||||
|
@ -16,11 +16,3 @@ type Netrc struct {
|
|||||||
Login string `json:"login"`
|
Login string `json:"login"`
|
||||||
Password string `json:"user"`
|
Password string `json:"user"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Keypair represents an RSA public and private key
|
|
||||||
// assigned to a repository. It may be used to clone
|
|
||||||
// private repositories, or as a deployment key.
|
|
||||||
type Keypair struct {
|
|
||||||
Public string `json:"public,omitempty"`
|
|
||||||
Private string `json:"private,omitempty"`
|
|
||||||
}
|
|
||||||
|
@ -1,28 +1,31 @@
|
|||||||
package types
|
package types
|
||||||
|
|
||||||
type Repo struct {
|
type Repo struct {
|
||||||
ID int64 `meddler:"repo_id,pk" json:"id"`
|
ID int64 `meddler:"repo_id,pk" json:"id"`
|
||||||
UserID int64 `meddler:"repo_user_id" json:"-" sql:"index:ix_repo_user_id"`
|
UserID int64 `meddler:"repo_user_id" json:"-" sql:"index:ix_repo_user_id"`
|
||||||
Owner string `meddler:"repo_owner" json:"owner" sql:"unique:ux_repo_owner_name"`
|
Owner string `meddler:"repo_owner" json:"owner" sql:"unique:ux_repo_owner_name"`
|
||||||
Name string `meddler:"repo_name" json:"name" sql:"unique:ux_repo_owner_name"`
|
Name string `meddler:"repo_name" json:"name" sql:"unique:ux_repo_owner_name"`
|
||||||
FullName string `meddler:"repo_full_name" json:"full_name" sql:"unique:ux_repo_full_name"`
|
FullName string `meddler:"repo_full_name" json:"full_name" sql:"unique:ux_repo_full_name"`
|
||||||
Token string `meddler:"repo_token" json:"-"`
|
Self string `meddler:"repo_self" json:"self_url"`
|
||||||
Language string `meddler:"repo_language" json:"language"`
|
Link string `meddler:"repo_link" json:"link_url"`
|
||||||
Private bool `meddler:"repo_private" json:"private"`
|
Clone string `meddler:"repo_clone" json:"clone_url"`
|
||||||
Self string `meddler:"repo_self" json:"self_url"`
|
Branch string `meddler:"repo_branch" json:"default_branch"`
|
||||||
Link string `meddler:"repo_link" json:"link_url"`
|
Private bool `meddler:"repo_private" json:"private"`
|
||||||
Clone string `meddler:"repo_clone" json:"clone_url"`
|
Trusted bool `meddler:"repo_trusted" json:"trusted"`
|
||||||
Branch string `meddler:"repo_branch" json:"default_branch"`
|
Timeout int64 `meddler:"repo_timeout" json:"timeout"`
|
||||||
Timeout int64 `meddler:"repo_timeout" json:"timeout"`
|
|
||||||
Trusted bool `meddler:"repo_trusted" json:"trusted"`
|
|
||||||
PostCommit bool `meddler:"repo_post_commit" json:"post_commits"`
|
|
||||||
PullRequest bool `meddler:"repo_pull_request" json:"pull_requests"`
|
|
||||||
PublicKey string `meddler:"repo_public_key" json:"-"`
|
|
||||||
PrivateKey string `meddler:"repo_private_key" json:"-"`
|
|
||||||
Created int64 `meddler:"repo_created" json:"created_at"`
|
|
||||||
Updated int64 `meddler:"repo_updated" json:"updated_at"`
|
|
||||||
|
|
||||||
Params map[string]string `meddler:"repo_params,json" json:"-"`
|
Keys *Keypair `json:"-"`
|
||||||
|
Hooks *Hooks `json:"hooks"`
|
||||||
|
|
||||||
|
// Perms are the current user's permissions to push,
|
||||||
|
// pull, and administer this repository. The permissions
|
||||||
|
// are sourced from the version control system (ie GitHub)
|
||||||
|
Perms *Perm `json:"perms,omitempty" sql:"-"`
|
||||||
|
|
||||||
|
// Params are private environment parameters that are
|
||||||
|
// considered secret and are therefore stored external
|
||||||
|
// to the source code repository inside Drone.
|
||||||
|
Params map[string]string `json:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type RepoLite struct {
|
type RepoLite struct {
|
||||||
@ -49,7 +52,21 @@ type RepoCommit struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Perm struct {
|
type Perm struct {
|
||||||
Pull bool `json:"pull"`
|
Pull bool `json:"pull" sql:"-"`
|
||||||
Push bool `json:"push"`
|
Push bool `json:"push" sql:"-"`
|
||||||
Admin bool `json:"admin"`
|
Admin bool `json:"admin" sql:"-"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type Hooks struct {
|
||||||
|
PullRequest bool `json:"pull_request"`
|
||||||
|
Push bool `json:"push"`
|
||||||
|
Tags bool `json:"tags"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Keypair represents an RSA public and private key
|
||||||
|
// assigned to a repository. It may be used to clone
|
||||||
|
// private repositories, or as a deployment key.
|
||||||
|
type Keypair struct {
|
||||||
|
Public string `json:"public,omitempty"`
|
||||||
|
Private string `json:"private,omitempty"`
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user