[BugFix] remove nil inserts in models (#11096)
* Fix InsertReleases Nil Insert on Attachments * FIX "No element on slice when insert" & smal refactor * again * impruve * rm useles newline * Apply suggestions from code review Co-Authored-By: zeripath <art27@cantab.net> * process insert as a whole Co-authored-by: zeripath <art27@cantab.net>
This commit is contained in:
		
							parent
							
								
									0010fde8a2
								
							
						
					
					
						commit
						12960b9d18
					
				
					 2 changed files with 32 additions and 17 deletions
				
			
		|  | @ -64,15 +64,20 @@ func insertIssue(sess *xorm.Session, issue *Issue) error { | ||||||
| 		}) | 		}) | ||||||
| 		labelIDs = append(labelIDs, label.ID) | 		labelIDs = append(labelIDs, label.ID) | ||||||
| 	} | 	} | ||||||
| 	if _, err := sess.Insert(issueLabels); err != nil { | 	if len(issueLabels) > 0 { | ||||||
| 		return err | 		if _, err := sess.Insert(issueLabels); err != nil { | ||||||
|  | 			return err | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	for _, reaction := range issue.Reactions { | 	for _, reaction := range issue.Reactions { | ||||||
| 		reaction.IssueID = issue.ID | 		reaction.IssueID = issue.ID | ||||||
| 	} | 	} | ||||||
| 	if _, err := sess.Insert(issue.Reactions); err != nil { | 
 | ||||||
| 		return err | 	if len(issue.Reactions) > 0 { | ||||||
|  | 		if _, err := sess.Insert(issue.Reactions); err != nil { | ||||||
|  | 			return err | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	cols := make([]string, 0) | 	cols := make([]string, 0) | ||||||
|  | @ -151,8 +156,10 @@ func InsertIssueComments(comments []*Comment) error { | ||||||
| 			reaction.IssueID = comment.IssueID | 			reaction.IssueID = comment.IssueID | ||||||
| 			reaction.CommentID = comment.ID | 			reaction.CommentID = comment.ID | ||||||
| 		} | 		} | ||||||
| 		if _, err := sess.Insert(comment.Reactions); err != nil { | 		if len(comment.Reactions) > 0 { | ||||||
| 			return err | 			if _, err := sess.Insert(comment.Reactions); err != nil { | ||||||
|  | 				return err | ||||||
|  | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | @ -196,12 +203,14 @@ func InsertReleases(rels ...*Release) error { | ||||||
| 			return err | 			return err | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		for i := 0; i < len(rel.Attachments); i++ { | 		if len(rel.Attachments) > 0 { | ||||||
| 			rel.Attachments[i].ReleaseID = rel.ID | 			for i := range rel.Attachments { | ||||||
| 		} | 				rel.Attachments[i].ReleaseID = rel.ID | ||||||
|  | 			} | ||||||
| 
 | 
 | ||||||
| 		if _, err := sess.NoAutoTime().Insert(rel.Attachments); err != nil { | 			if _, err := sess.NoAutoTime().Insert(rel.Attachments); err != nil { | ||||||
| 			return err | 				return err | ||||||
|  | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -393,13 +393,16 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error { | ||||||
| 		iss = append(iss, &is) | 		iss = append(iss, &is) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	err := models.InsertIssues(iss...) | 	if len(iss) > 0 { | ||||||
| 	if err != nil { | 		if err := models.InsertIssues(iss...); err != nil { | ||||||
| 		return err | 			return err | ||||||
| 	} | 		} | ||||||
| 	for _, is := range iss { | 
 | ||||||
| 		g.issues.Store(is.Index, is.ID) | 		for _, is := range iss { | ||||||
|  | 			g.issues.Store(is.Index, is.ID) | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -478,6 +481,9 @@ func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error { | ||||||
| 		cms = append(cms, &cm) | 		cms = append(cms, &cm) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	if len(cms) == 0 { | ||||||
|  | 		return nil | ||||||
|  | 	} | ||||||
| 	return models.InsertIssueComments(cms) | 	return models.InsertIssueComments(cms) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue