@@ -82,43 +82,40 @@ func (h *ReplyHandler) Handle(ctx context.Context, content *MailContent, doer *u
8282		return  nil 
8383	}
8484
85- 	switch  r  :=  ref .(type ) {
86- 	case  * issues_model.Issue :
87- 		attachmentIDs  :=  make ([]string , 0 , len (content .Attachments ))
88- 		if  setting .Attachment .Enabled  {
89- 			for  _ , attachment  :=  range  content .Attachments  {
90- 				a , err  :=  attachment_service .UploadAttachment (ctx , bytes .NewReader (attachment .Content ), setting .Attachment .AllowedTypes , int64 (len (attachment .Content )), & repo_model.Attachment {
91- 					Name :       attachment .Name ,
92- 					UploaderID : doer .ID ,
93- 					RepoID :     issue .Repo .ID ,
94- 				})
95- 				if  err  !=  nil  {
96- 					if  upload .IsErrFileTypeForbidden (err ) {
97- 						log .Info ("Skipping disallowed attachment type: %s" , attachment .Name )
98- 						continue 
99- 					}
100- 					return  err 
85+ 	attachmentIDs  :=  make ([]string , 0 , len (content .Attachments ))
86+ 	if  setting .Attachment .Enabled  {
87+ 		for  _ , attachment  :=  range  content .Attachments  {
88+ 			a , err  :=  attachment_service .UploadAttachment (ctx , bytes .NewReader (attachment .Content ), setting .Attachment .AllowedTypes , int64 (len (attachment .Content )), & repo_model.Attachment {
89+ 				Name :       attachment .Name ,
90+ 				UploaderID : doer .ID ,
91+ 				RepoID :     issue .Repo .ID ,
92+ 			})
93+ 			if  err  !=  nil  {
94+ 				if  upload .IsErrFileTypeForbidden (err ) {
95+ 					log .Info ("Skipping disallowed attachment type: %s" , attachment .Name )
96+ 					continue 
10197				}
102- 				attachmentIDs   =   append ( attachmentIDs ,  a . UUID ) 
98+ 				return   err 
10399			}
100+ 			attachmentIDs  =  append (attachmentIDs , a .UUID )
104101		}
102+ 	}
105103
106- 		 if  content .Content  ==  ""  &&  len (attachmentIDs ) ==  0  {
107- 			 return  nil 
108- 		 }
104+ 	if  content .Content  ==  ""  &&  len (attachmentIDs ) ==  0  {
105+ 		return  nil 
106+ 	}
109107
110- 		_ , err  =  issue_service .CreateIssueComment (ctx , doer , issue .Repo , issue , content .Content , attachmentIDs )
108+ 	switch  r  :=  ref .(type ) {
109+ 	case  * issues_model.Issue :
110+ 		_ , err  :=  issue_service .CreateIssueComment (ctx , doer , issue .Repo , issue , content .Content , attachmentIDs )
111111		if  err  !=  nil  {
112112			return  fmt .Errorf ("CreateIssueComment failed: %w" , err )
113113		}
114114	case  * issues_model.Comment :
115115		comment  :=  r 
116116
117- 		if  content .Content  ==  ""  {
118- 			return  nil 
119- 		}
120- 
121- 		if  comment .Type  ==  issues_model .CommentTypeCode  {
117+ 		switch  comment .Type  {
118+ 		case  issues_model .CommentTypeCode :
122119			_ , err  :=  pull_service .CreateCodeComment (
123120				ctx ,
124121				doer ,
@@ -130,11 +127,16 @@ func (h *ReplyHandler) Handle(ctx context.Context, content *MailContent, doer *u
130127				false , // not pending review but a single review 
131128				comment .ReviewID ,
132129				"" ,
133- 				nil ,
130+ 				attachmentIDs ,
134131			)
135132			if  err  !=  nil  {
136133				return  fmt .Errorf ("CreateCodeComment failed: %w" , err )
137134			}
135+ 		default :
136+ 			_ , err  :=  issue_service .CreateIssueComment (ctx , doer , issue .Repo , issue , content .Content , attachmentIDs )
137+ 			if  err  !=  nil  {
138+ 				return  fmt .Errorf ("CreateIssueComment failed: %w" , err )
139+ 			}
138140		}
139141	}
140142	return  nil 
0 commit comments