|
- package models
-
- import (
- "code.gitea.io/gitea/modules/timeutil"
- "fmt"
- "time"
- )
-
- type BlockChainCommitStatus int
-
- const (
- BlockChainCommitInit BlockChainCommitStatus = iota
- BlockChainCommitSuccess
- BlockChainCommitFailed
- )
-
- type BlockChain struct {
- ID int64 `xorm:"pk autoincr"`
- PrID int64 `xorm:"INDEX NOT NULL unique"`
- CommitID string `xorm:"INDEX NOT NULL unique"`
- Contributor string `xorm:"INDEX NOT NULL"`
- ContractAddress string `xorm:"INDEX NOT NULL"`
- Status BlockChainCommitStatus `xorm:"INDEX NOT NULL DEFAULT 0"`
- Amount int64 `xorm:"INDEX"`
- UserID int64 `xorm:"INDEX"`
- RepoID int64 `xorm:"INDEX"`
- TransactionHash string `xorm:"INDEX"`
- CreatedUnix timeutil.TimeStamp `xorm:"created"`
- UpdatedUnix timeutil.TimeStamp `xorm:"updated"`
- DeletedAt time.Time `xorm:"deleted"`
-
- User *User `xorm:"-"`
- Repo *Repository `xorm:"-"`
- }
-
- func getBlockChainByID(e Engine, id int64) (*BlockChain, error) {
- blockChain := new(BlockChain)
- has, err := e.ID(id).Get(blockChain)
- if err != nil {
- return nil, err
- } else if !has {
- return nil, fmt.Errorf("get block_chain by id failed(%d)", id)
- }
- return blockChain, nil
- }
-
- func GetBlockChainByID(id int64) (*BlockChain, error) {
- return getBlockChainByID(x, id)
- }
-
- func getBlockChainByPrID(e Engine, prId int64) (*BlockChain, error) {
- blockChain := new(BlockChain)
- has, err := e.Where("pr_id = ?", prId).Get(blockChain)
- if err != nil {
- return nil, err
- } else if !has {
- return nil, fmt.Errorf("get block_chain by pr_id failed(%d)", prId)
- }
- return blockChain, nil
- }
-
- func GetBlockChainByPrID(prId int64) (*BlockChain, error) {
- return getBlockChainByPrID(x, prId)
- }
-
- func getBlockChainByCommitID(e Engine, commitID string) (*BlockChain, error) {
- blockChain := new(BlockChain)
- has, err := e.Where("commit_id = ?", commitID).Get(blockChain)
- if err != nil {
- return nil, err
- } else if !has {
- return nil, fmt.Errorf("get block_chain by commitID failed(%s)", commitID)
- }
- return blockChain, nil
- }
-
- func GetBlockChainByCommitID(commitID string) (*BlockChain, error) {
- return getBlockChainByCommitID(x, commitID)
- }
-
- func updateBlockChainCols(e Engine, blockChain *BlockChain, cols ...string) error {
- _, err := e.ID(blockChain.ID).Cols(cols...).Update(blockChain)
- return err
- }
-
- func UpdateBlockChainCols(blockChain *BlockChain, cols ...string) error {
- return updateBlockChainCols(x, blockChain, cols...)
- }
-
- func GetBlockChainUnSuccessCommits() ([]*BlockChain, error) {
- blockChains := make([]*BlockChain, 0, 10)
- return blockChains, x.
- Where("status != ?", BlockChainCommitSuccess).
- Limit(100).
- Find(&blockChains)
- }
-
- func InsertBlockChain(blockChain *BlockChain) (_ *BlockChain, err error) {
-
- if _, err := x.Insert(blockChain); err != nil {
- return nil, err
- }
-
- return blockChain, nil
- }
|