123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398 |
- package dao
- import (
- "context"
- "time"
- "go-common/app/admin/ep/saga/model"
- pkgerr "github.com/pkg/errors"
- )
- /*-------------------------------------- commit ----------------------------------------*/
- // HasCommit ...
- func (d *Dao) HasCommit(projID int, commitID string) (total int, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsCommits{}).Where("project_id = ? AND commit_id = ?", projID, commitID).Count(&total).Error)
- return
- }
- // DelCommit ...
- func (d *Dao) DelCommit(projID int, commitID string) (err error) {
- return pkgerr.WithStack(d.db.Where("project_id = ? AND commit_id = ?", projID, commitID).Delete(&model.StatisticsCommits{}).Error)
- }
- // UpdateCommit ...
- func (d *Dao) UpdateCommit(projID int, commitID string, commit *model.StatisticsCommits) (err error) {
- return pkgerr.WithStack(d.db.Model(&model.StatisticsCommits{}).Where("project_id = ? AND commit_id = ?", projID, commitID).Update(commit).Error)
- }
- // CreateCommit ...
- func (d *Dao) CreateCommit(req *model.StatisticsCommits) (err error) {
- return pkgerr.WithStack(d.db.Create(req).Error)
- }
- // QueryCommitByID query commit info by ID
- func (d *Dao) QueryCommitByID(projID int, commitID string) (commit *model.StatisticsCommits, err error) {
- commit = &model.StatisticsCommits{}
- err = pkgerr.WithStack(d.db.Where("project_id = ? AND commit_id = ?", projID, commitID).First(commit).Error)
- return
- }
- // CountCommitByTime ...
- func (d *Dao) CountCommitByTime(projID int, since, until string) (total int, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsCommits{}).Where("project_id = ? AND created_at > ? AND created_at < ?", projID, since, until).Count(&total).Error)
- return
- }
- // QueryProjectCommits ...
- func (d *Dao) QueryProjectCommits(c context.Context, projectID int) (commits []*model.StatisticsCommits, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsCommits{}).Where("project_id = ?", projectID).Find(&commits).Error)
- return
- }
- /*-------------------------------------- issue ----------------------------------------*/
- // HasIssue ...
- func (d *Dao) HasIssue(projID, issueID int) (total int, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsIssues{}).Where("project_id = ? AND issue_id = ?", projID, issueID).Count(&total).Error)
- return
- }
- // UpdateIssue ...
- func (d *Dao) UpdateIssue(projID, issueID int, issue *model.StatisticsIssues) (err error) {
- return pkgerr.WithStack(d.db.Model(&model.StatisticsIssues{}).Where("project_id = ? AND issue_id = ?", projID, issueID).Update(issue).Error)
- }
- // CreateIssue ...
- func (d *Dao) CreateIssue(req *model.StatisticsIssues) (err error) {
- return pkgerr.WithStack(d.db.Create(req).Error)
- }
- /*-------------------------------------- runner ----------------------------------------*/
- // HasRunner ...
- func (d *Dao) HasRunner(projID, runnerID int) (total int, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsRunners{}).Where("project_id = ? AND runner_id = ?", projID, runnerID).Count(&total).Error)
- return
- }
- // UpdateRunner ...
- func (d *Dao) UpdateRunner(projID, runnerID int, runner *model.StatisticsRunners) (err error) {
- return pkgerr.WithStack(d.db.Model(&model.StatisticsRunners{}).Where("project_id = ? AND runner_id = ?", projID, runnerID).Update(runner).Error)
- }
- // CreateRunner ...
- func (d *Dao) CreateRunner(req *model.StatisticsRunners) (err error) {
- return pkgerr.WithStack(d.db.Create(req).Error)
- }
- /*-------------------------------------- job ----------------------------------------*/
- // HasJob ...
- func (d *Dao) HasJob(projID, jobID int) (total int, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsJobs{}).Where("project_id = ? AND job_id=?", projID, jobID).Count(&total).Error)
- return
- }
- // UpdateJob ...
- func (d *Dao) UpdateJob(projID, jobID int, runner *model.StatisticsJobs) (err error) {
- return pkgerr.WithStack(d.db.Model(&model.StatisticsJobs{}).Where("project_id = ? AND job_id = ?", projID, jobID).Update(runner).Error)
- }
- // CreateJob ...
- func (d *Dao) CreateJob(req *model.StatisticsJobs) (err error) {
- return pkgerr.WithStack(d.db.Create(req).Error)
- }
- // QueryJobsByTime ...
- func (d *Dao) QueryJobsByTime(projID int, req *model.ProjectJobRequest, since, until string) (total int, jobs []*model.StatisticsJobs, err error) {
- gDB := d.db.Model(&model.StatisticsJobs{}).Where("project_id = ? AND created_at > ? AND created_at < ?", projID, since, until)
- if req.Branch != "" {
- gDB = gDB.Where("ref = ?", req.Branch)
- }
- if req.User != "" {
- gDB = gDB.Where("user_name = ?", req.User)
- }
- if req.Machine != "" {
- gDB = gDB.Where("runner_description = ?", req.Machine)
- }
- if err = pkgerr.WithStack(gDB.Count(&total).Error); err != nil {
- return
- }
- if err = pkgerr.WithStack(gDB.Find(&jobs).Error); err != nil {
- return
- }
- return
- }
- /*-------------------------------------- note ----------------------------------------*/
- // HasNote ...
- func (d *Dao) HasNote(c context.Context, projectID, noteID int) (total int, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsNotes{}).Where("project_id = ? AND note_id = ?", projectID, noteID).Count(&total).Error)
- return
- }
- // UpdateNote ...
- func (d *Dao) UpdateNote(c context.Context, projectID, noteID int, note *model.StatisticsNotes) (err error) {
- return pkgerr.WithStack(d.db.Model(&model.StatisticsNotes{}).Where("project_id = ? AND note_id = ?", projectID, noteID).Update(note).Error)
- }
- // CreateNote ...
- func (d *Dao) CreateNote(c context.Context, note *model.StatisticsNotes) (err error) {
- return pkgerr.WithStack(d.db.Create(note).Error)
- }
- // NoteByMRIID ...
- func (d *Dao) NoteByMRIID(c context.Context, projectID, mrIID int) (notes []*model.StatisticsNotes, err error) {
- err = pkgerr.WithStack(d.db.Where("project_id = ? AND mr_iid = ? ", projectID, mrIID).Order("note_id desc").Find(¬es).Error)
- return
- }
- // NoteByID ...
- func (d *Dao) NoteByID(c context.Context, projectID, mrIID, noteID int) (note *model.StatisticsNotes, err error) {
- note = &model.StatisticsNotes{}
- err = pkgerr.WithStack(d.db.Where("project_id = ? AND mr_iid = ? AND note_id = ?", projectID, mrIID, noteID).First(note).Error)
- return
- }
- /*-------------------------------------- mr ----------------------------------------*/
- // CountMRByTime ...
- func (d *Dao) CountMRByTime(projID int, since, until string) (total int, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsMrs{}).Where("project_id = ? AND created_at > ? AND created_at < ?", projID, since, until).Count(&total).Error)
- return
- }
- // MRByProjectID query mr by projectID
- func (d *Dao) MRByProjectID(c context.Context, projectID int, since *time.Time, until *time.Time) (mrs []*model.StatisticsMrs, err error) {
- gDB := d.db.Model(&model.StatisticsMrs{}).Where("project_id = ? ", projectID)
- if since != nil || until != nil {
- gDB = gDB.Where("updated_at >= ? AND updated_at <= ?", since, until)
- }
- err = pkgerr.WithStack(gDB.Find(&mrs).Error)
- return
- }
- // HasMR ...
- func (d *Dao) HasMR(c context.Context, projectID, mrIID int) (total int, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsMrs{}).Where("project_id = ? AND mr_iid = ?", projectID, mrIID).Count(&total).Error)
- return
- }
- // UpdateMR update
- func (d *Dao) UpdateMR(c context.Context, projectID, mrIID int, mr *model.StatisticsMrs) (err error) {
- return pkgerr.WithStack(d.db.Model(&model.StatisticsMrs{}).Where("project_id = ? AND mr_iid = ?", projectID, mrIID).Update(mr).Error)
- }
- // CreateMR ...
- func (d *Dao) CreateMR(c context.Context, req *model.StatisticsMrs) (err error) {
- return pkgerr.WithStack(d.db.Create(req).Error)
- }
- /*-------------------------------------- aggMR ----------------------------------------*/
- // HasAggregateReviewer ...
- func (d *Dao) HasAggregateReviewer(c context.Context, projectID, mrIID, reviewerID, reviewID int) (total int, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.AggregateMrReviewer{}).Where("project_id = ? and mr_iid = ? and reviewer_id=? and review_id = ? ", projectID, mrIID, reviewerID, reviewID).Count(&total).Error)
- return
- }
- // UpdateAggregateReviewer ...
- func (d *Dao) UpdateAggregateReviewer(c context.Context, projectID, mrIID, reviewerID, reviewID int, aggregateReviewer *model.AggregateMrReviewer) (err error) {
- return pkgerr.WithStack(d.db.Model(&model.AggregateMrReviewer{}).Where("project_id = ? and mr_iid = ? and reviewer_id=? and review_id = ? ", projectID, mrIID, reviewerID, reviewID).Update(aggregateReviewer).Error)
- }
- // CreateAggregateReviewer ...
- func (d *Dao) CreateAggregateReviewer(c context.Context, req *model.AggregateMrReviewer) (err error) {
- return pkgerr.WithStack(d.db.Create(req).Error)
- }
- /*-------------------------------------- pipeline ----------------------------------------*/
- // HasPipeline ...
- func (d *Dao) HasPipeline(projID int, pipelineID int) (total int, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsPipeline{}).Where("project_id = ? AND pipeline_id = ?", projID, pipelineID).Count(&total).Error)
- return
- }
- // UpdatePipeline ...
- func (d *Dao) UpdatePipeline(projID int, pipelineID int, pipeline *model.StatisticsPipeline) (err error) {
- return pkgerr.WithStack(d.db.Model(&model.StatisticsPipeline{}).Where("project_id = ? AND pipeline_id = ?", projID, pipelineID).Update(pipeline).Error)
- }
- // CreatePipeline ...
- func (d *Dao) CreatePipeline(req *model.StatisticsPipeline) (err error) {
- return pkgerr.WithStack(d.db.Create(req).Error)
- }
- // QueryPipelinesByTime ...
- func (d *Dao) QueryPipelinesByTime(projID int, req *model.PipelineDataReq, since, until string) (total, statNum int, pipelines []*model.StatisticsPipeline, err error) {
- gDB := d.db.Model(&model.StatisticsPipeline{}).Where("project_id = ? AND created_at > ? AND created_at < ?", projID, since, until)
- if req.Branch != "" {
- gDB = gDB.Where("ref = ?", req.Branch)
- }
- if req.User != "" {
- gDB = gDB.Where("user = ?", req.User)
- }
- if err = pkgerr.WithStack(gDB.Count(&total).Error); err != nil {
- return
- }
- if req.State != "" {
- gDB = gDB.Where("status = ?", req.State)
- }
- if err = pkgerr.WithStack(gDB.Count(&statNum).Error); err != nil {
- return
- }
- if err = pkgerr.WithStack(gDB.Find(&pipelines).Error); err != nil {
- return
- }
- return
- }
- /*-------------------------------------- member ----------------------------------------*/
- // HasMember ...
- func (d *Dao) HasMember(c context.Context, projectID, memberID int) (total int, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsMembers{}).Where("project_id = ? AND member_id = ?", projectID, memberID).Count(&total).Error)
- return
- }
- // UpdateMember ...
- func (d *Dao) UpdateMember(c context.Context, projectID, memberID int, member *model.StatisticsMembers) (err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsMembers{}).Where("project_id = ? AND member_id = ?", projectID, memberID).Update(member).Error)
- return
- }
- // QueryMemberByID ...
- func (d *Dao) QueryMemberByID(c context.Context, projectID, memberID int) (member *model.StatisticsMembers, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsMembers{}).Where("project_id = ? AND member_id = ?", projectID, memberID).First(&member).Error)
- return
- }
- // CreateMember ...
- func (d *Dao) CreateMember(c context.Context, member *model.StatisticsMembers) (err error) {
- return pkgerr.WithStack(d.db.Create(member).Error)
- }
- /*-------------------------------------- emoji ----------------------------------------*/
- // HasMRAwardEmoji ...
- func (d *Dao) HasMRAwardEmoji(c context.Context, projectID, mrIID, awardEmojiID int) (total int, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsMRAwardEmojis{}).Where("project_id = ? and mr_iid = ? and award_emoji_id=? ", projectID, mrIID, awardEmojiID).Count(&total).Error)
- return
- }
- // UpdateMRAwardEmoji update
- func (d *Dao) UpdateMRAwardEmoji(c context.Context, projectID, mrIID, awardEmojiID int, awardEmoji *model.StatisticsMRAwardEmojis) (err error) {
- return pkgerr.WithStack(d.db.Model(&model.StatisticsMRAwardEmojis{}).Where("project_id = ? and mr_iid = ? and award_emoji_id=? ", projectID, mrIID, awardEmojiID).Update(awardEmoji).Error)
- }
- // CreateMRAwardEmoji ...
- func (d *Dao) CreateMRAwardEmoji(c context.Context, awardEmoji *model.StatisticsMRAwardEmojis) (err error) {
- return pkgerr.WithStack(d.db.Create(awardEmoji).Error)
- }
- // AwardEmojiByMRIID ...
- func (d *Dao) AwardEmojiByMRIID(c context.Context, projectID, mrIID int) (AwardEmojis []*model.StatisticsMRAwardEmojis, err error) {
- err = pkgerr.WithStack(d.db.Where("project_id = ? AND mr_iid = ? ", projectID, mrIID).Find(&AwardEmojis).Error)
- return
- }
- /*-------------------------------------- discussion ----------------------------------------*/
- // HasDiscussion ...
- func (d *Dao) HasDiscussion(c context.Context, projectID, mrIID int, discussionID string) (total int, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsDiscussions{}).Where("project_id = ? and mr_iid = ? and discussion_id=? ", projectID, mrIID, discussionID).Count(&total).Error)
- return
- }
- // UpdateDiscussion ...
- func (d *Dao) UpdateDiscussion(c context.Context, projectID, mrIID int, discussionID string, discussion *model.StatisticsDiscussions) (err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsDiscussions{}).Where("project_id = ? and mr_iid = ? and discussion_id=? ", projectID, mrIID, discussionID).Update(discussion).Error)
- return
- }
- // CreateDiscussion ...
- func (d *Dao) CreateDiscussion(c context.Context, discussion *model.StatisticsDiscussions) (err error) {
- return pkgerr.WithStack(d.db.Create(discussion).Error)
- }
- // DiscussionsByMRIID ...
- func (d *Dao) DiscussionsByMRIID(c context.Context, projectID, mrIID int) (discussions []*model.StatisticsDiscussions, err error) {
- err = pkgerr.WithStack(d.db.Where("project_id = ? AND mr_iid = ? ", projectID, mrIID).Find(&discussions).Error)
- return
- }
- /*-------------------------------------- Branch ----------------------------------------*/
- // DeleteProjectBranch ...
- func (d *Dao) DeleteProjectBranch(c context.Context, projectID int) error {
- return pkgerr.WithStack(d.db.Model(&model.StatisticsBranches{}).Where("project_id = ?", projectID).Update("is_deleted", model.BranchDeleted).Error)
- }
- // HasBranch is exist project branch info in database.
- func (d *Dao) HasBranch(c context.Context, projectID int, branchName string) (total int, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsBranches{}).Where("project_id = ? AND branch_name = ? ", projectID, branchName).Count(&total).Error)
- return
- }
- // UpdateBranch update
- func (d *Dao) UpdateBranch(c context.Context, projectID int, branchName string, branch *model.StatisticsBranches) error {
- return pkgerr.WithStack(d.db.Model(&model.StatisticsBranches{}).Where("project_id = ? AND branch_name = ? ", projectID, branchName).Save(branch).Error)
- }
- // CreateBranch query all the records in contact_infos
- func (d *Dao) CreateBranch(c context.Context, branch *model.StatisticsBranches) error {
- return pkgerr.WithStack(d.db.Create(branch).Error)
- }
- // QueryProjectBranch ...
- func (d *Dao) QueryProjectBranch(c context.Context, projectID int) (b []*model.StatisticsBranches, err error) {
- err = pkgerr.WithStack(d.db.Where("project_id = ? and is_deleted != ?", projectID, model.BranchDeleted).Find(&b).Error)
- return
- }
- // QueryFirstBranch ...
- func (d *Dao) QueryFirstBranch(c context.Context, projectID int, branchName string) (branch *model.StatisticsBranches, err error) {
- branch = &model.StatisticsBranches{}
- err = pkgerr.WithStack(d.db.Model(&model.StatisticsBranches{}).Where("project_id = ? AND branch_name = ? ", projectID, branchName).First(branch).Error)
- return
- }
- // DeleteAggregateBranch ...
- func (d *Dao) DeleteAggregateBranch(c context.Context, projectID int) error {
- return pkgerr.WithStack(d.db.Model(&model.AggregateBranches{}).Where("project_id = ?", projectID).Update("is_deleted", model.BranchDeleted).Error)
- }
- // HasAggregateBranch ...
- func (d *Dao) HasAggregateBranch(c context.Context, projectID int, branchName string) (total int, err error) {
- err = pkgerr.WithStack(d.db.Model(&model.AggregateBranches{}).Where("project_id = ? AND branch_name = ? ", projectID, branchName).Count(&total).Error)
- return
- }
- // UpdateAggregateBranch ...
- func (d *Dao) UpdateAggregateBranch(c context.Context, projectID int, branchName string, aggregateBranch *model.AggregateBranches) error {
- return pkgerr.WithStack(d.db.Model(&model.AggregateBranches{}).Where("project_id = ? AND branch_name = ?", projectID, branchName).Save(aggregateBranch).Error)
- }
- // CreateAggregateBranch ...
- func (d *Dao) CreateAggregateBranch(c context.Context, aggregateBranch *model.AggregateBranches) error {
- return pkgerr.WithStack(d.db.Create(aggregateBranch).Error)
- }
- // QueryFirstAggregateBranch ...
- func (d *Dao) QueryFirstAggregateBranch(c context.Context, projectID int, branchName string) (branch *model.AggregateBranches, err error) {
- branch = &model.AggregateBranches{}
- err = pkgerr.WithStack(d.db.Model(&model.AggregateBranches{}).Where("project_id = ? AND branch_name = ? ", projectID, branchName).First(branch).Error)
- return
- }
|