@ -254,25 +254,8 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								CreatedUnix :   timeutil . TimeStamp ( release . Created . Unix ( ) ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							userid ,  ok  :=  g . userMap [ release . PublisherID ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							tp  :=  g . gitServiceType . Name ( )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  ! ok  &&  tp  !=  ""  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								var  err  error   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								userid ,  err  =  user_model . GetUserIDByExternalUserID ( tp ,  fmt . Sprintf ( "%v" ,  release . PublisherID ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									log . Error ( "GetUserIDByExternalUserID: %v" ,  err )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									g . userMap [ release . PublisherID ]  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								rel . PublisherID  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								rel . PublisherID  =  g . doer . ID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								rel . OriginalAuthor  =  release . PublisherName   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								rel . OriginalAuthorID  =  release . PublisherID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  err  :=  g . remapExternalUser ( release ,  & rel ) ;  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								return  err   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// calc NumCommits if no draft
   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -394,25 +377,8 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								UpdatedUnix :  timeutil . TimeStamp ( issue . Updated . Unix ( ) ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							userid ,  ok  :=  g . userMap [ issue . PosterID ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							tp  :=  g . gitServiceType . Name ( )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  ! ok  &&  tp  !=  ""  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								var  err  error   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								userid ,  err  =  user_model . GetUserIDByExternalUserID ( tp ,  fmt . Sprintf ( "%v" ,  issue . PosterID ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									log . Error ( "GetUserIDByExternalUserID: %v" ,  err )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									g . userMap [ issue . PosterID ]  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								is . PosterID  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								is . PosterID  =  g . doer . ID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								is . OriginalAuthor  =  issue . PosterName   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								is . OriginalAuthorID  =  issue . PosterID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  err  :=  g . remapExternalUser ( issue ,  & is ) ;  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								return  err   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  issue . Closed  !=  nil  {   
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -420,27 +386,12 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// add reactions
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							for  _ ,  reaction  :=  range  issue . Reactions  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								userid ,  ok  :=  g . userMap [ reaction . UserID ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  ! ok  &&  tp  !=  ""  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									var  err  error   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									userid ,  err  =  user_model . GetUserIDByExternalUserID ( tp ,  fmt . Sprintf ( "%v" ,  reaction . UserID ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									if  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										log . Error ( "GetUserIDByExternalUserID: %v" ,  err )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										g . userMap [ reaction . UserID ]  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								res  :=  models . Reaction {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									Type :         reaction . Content ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									CreatedUnix :  timeutil . TimeStampNow ( ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									res . UserID  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									res . UserID  =  g . doer . ID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									res . OriginalAuthorID  =  reaction . UserID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									res . OriginalAuthor  =  reaction . UserName   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  err  :=  g . remapExternalUser ( reaction ,  & res ) ;  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									return  err   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								is . Reactions  =  append ( is . Reactions ,  & res )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -477,19 +428,6 @@ func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								issue  =  issueInter . ( * models . Issue )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							userid ,  ok  :=  g . userMap [ comment . PosterID ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							tp  :=  g . gitServiceType . Name ( )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  ! ok  &&  tp  !=  ""  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								var  err  error   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								userid ,  err  =  user_model . GetUserIDByExternalUserID ( tp ,  fmt . Sprintf ( "%v" ,  comment . PosterID ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									log . Error ( "GetUserIDByExternalUserID: %v" ,  err )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									g . userMap [ comment . PosterID ]  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  comment . Created . IsZero ( )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								comment . Created  =  time . Unix ( int64 ( issue . CreatedUnix ) ,  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -505,37 +443,18 @@ func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								UpdatedUnix :  timeutil . TimeStamp ( comment . Updated . Unix ( ) ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								cm . PosterID  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								cm . PosterID  =  g . doer . ID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								cm . OriginalAuthor  =  comment . PosterName   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								cm . OriginalAuthorID  =  comment . PosterID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  err  :=  g . remapExternalUser ( comment ,  & cm ) ;  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								return  err   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// add reactions
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							for  _ ,  reaction  :=  range  comment . Reactions  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								userid ,  ok  :=  g . userMap [ reaction . UserID ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  ! ok  &&  tp  !=  ""  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									var  err  error   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									userid ,  err  =  user_model . GetUserIDByExternalUserID ( tp ,  fmt . Sprintf ( "%v" ,  reaction . UserID ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									if  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										log . Error ( "GetUserIDByExternalUserID: %v" ,  err )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										g . userMap [ reaction . UserID ]  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								res  :=  models . Reaction {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									Type :         reaction . Content ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									CreatedUnix :  timeutil . TimeStampNow ( ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									res . UserID  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									res . UserID  =  g . doer . ID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									res . OriginalAuthorID  =  reaction . UserID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									res . OriginalAuthor  =  reaction . UserName   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  err  :=  g . remapExternalUser ( reaction ,  & res ) ;  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									return  err   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								cm . Reactions  =  append ( cm . Reactions ,  & res )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -558,25 +477,8 @@ func (g *GiteaLocalUploader) CreatePullRequests(prs ...*base.PullRequest) error 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								return  err   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							userid ,  ok  :=  g . userMap [ pr . PosterID ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							tp  :=  g . gitServiceType . Name ( )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  ! ok  &&  tp  !=  ""  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								var  err  error   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								userid ,  err  =  user_model . GetUserIDByExternalUserID ( tp ,  fmt . Sprintf ( "%v" ,  pr . PosterID ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									log . Error ( "GetUserIDByExternalUserID: %v" ,  err )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									g . userMap [ pr . PosterID ]  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								gpr . Issue . PosterID  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								gpr . Issue . PosterID  =  g . doer . ID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								gpr . Issue . OriginalAuthor  =  pr . PosterName   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								gpr . Issue . OriginalAuthorID  =  pr . PosterID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  err  :=  g . remapExternalUser ( pr ,  gpr . Issue ) ;  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								return  err   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							gprs  =  append ( gprs ,  gpr )   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -736,51 +638,18 @@ func (g *GiteaLocalUploader) newPullRequest(pr *base.PullRequest) (*models.PullR 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							UpdatedUnix :  timeutil . TimeStamp ( pr . Updated . Unix ( ) ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						tp  :=  g . gitServiceType . Name ( )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						userid ,  ok  :=  g . userMap [ pr . PosterID ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						if  ! ok  &&  tp  !=  ""  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							var  err  error   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							userid ,  err  =  user_model . GetUserIDByExternalUserID ( tp ,  fmt . Sprintf ( "%v" ,  pr . PosterID ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								log . Error ( "GetUserIDByExternalUserID: %v" ,  err )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								g . userMap [ pr . PosterID ]  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							issue . PosterID  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							issue . PosterID  =  g . doer . ID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							issue . OriginalAuthor  =  pr . PosterName   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							issue . OriginalAuthorID  =  pr . PosterID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						if  err  :=  g . remapExternalUser ( pr ,  & issue ) ;  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							return  nil ,  err   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						// add reactions
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						for  _ ,  reaction  :=  range  pr . Reactions  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							userid ,  ok  :=  g . userMap [ reaction . UserID ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  ! ok  &&  tp  !=  ""  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								var  err  error   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								userid ,  err  =  user_model . GetUserIDByExternalUserID ( tp ,  fmt . Sprintf ( "%v" ,  reaction . UserID ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									log . Error ( "GetUserIDByExternalUserID: %v" ,  err )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									g . userMap [ reaction . UserID ]  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							res  :=  models . Reaction {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								Type :         reaction . Content ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								CreatedUnix :  timeutil . TimeStampNow ( ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								res . UserID  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								res . UserID  =  g . doer . ID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								res . OriginalAuthorID  =  reaction . UserID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								res . OriginalAuthor  =  reaction . UserName   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  err  :=  g . remapExternalUser ( reaction ,  & res ) ;  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								return  nil ,  err   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							issue . Reactions  =  append ( issue . Reactions ,  & res )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -843,19 +712,6 @@ func (g *GiteaLocalUploader) CreateReviews(reviews ...*base.Review) error { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								issue  =  issueInter . ( * models . Issue )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							userid ,  ok  :=  g . userMap [ review . ReviewerID ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							tp  :=  g . gitServiceType . Name ( )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  ! ok  &&  tp  !=  ""  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								var  err  error   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								userid ,  err  =  user_model . GetUserIDByExternalUserID ( tp ,  fmt . Sprintf ( "%v" ,  review . ReviewerID ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									log . Error ( "GetUserIDByExternalUserID: %v" ,  err )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									g . userMap [ review . ReviewerID ]  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  review . CreatedAt . IsZero ( )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								review . CreatedAt  =  time . Unix ( int64 ( issue . CreatedUnix ) ,  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -869,12 +725,8 @@ func (g *GiteaLocalUploader) CreateReviews(reviews ...*base.Review) error { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								UpdatedUnix :  timeutil . TimeStamp ( review . CreatedAt . Unix ( ) ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								cm . ReviewerID  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								cm . ReviewerID  =  g . doer . ID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								cm . OriginalAuthor  =  review . ReviewerName   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								cm . OriginalAuthorID  =  review . ReviewerID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  err  :=  g . remapExternalUser ( review ,  & cm ) ;  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								return  err   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// get pr
   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -926,7 +778,6 @@ func (g *GiteaLocalUploader) CreateReviews(reviews ...*base.Review) error { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								c  :=  models . Comment {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									Type :         models . CommentTypeCode ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									PosterID :     comment . PosterID ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									IssueID :      issue . ID ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									Content :      comment . Content ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									Line :         int64 ( line  +  comment . Position  -  1 ) ,   
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -937,12 +788,8 @@ func (g *GiteaLocalUploader) CreateReviews(reviews ...*base.Review) error { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									UpdatedUnix :  timeutil . TimeStamp ( comment . UpdatedAt . Unix ( ) ) ,   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									c . PosterID  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									c . PosterID  =  g . doer . ID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									c . OriginalAuthor  =  review . ReviewerName   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									c . OriginalAuthorID  =  review . ReviewerID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if  err  :=  g . remapExternalUser ( review ,  & c ) ;  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									return  err   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								cm . Comments  =  append ( cm . Comments ,  & c )   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -983,3 +830,24 @@ func (g *GiteaLocalUploader) Finish() error { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						g . repo . Status  =  repo_model . RepositoryReady   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						return  repo_model . UpdateRepositoryCols ( g . repo ,  "status" )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					func  ( g  * GiteaLocalUploader )  remapExternalUser ( source  user_model . ExternalUserMigrated ,  target  user_model . ExternalUserRemappable )  ( err  error )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						userid ,  ok  :=  g . userMap [ source . GetExternalID ( ) ]   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						tp  :=  g . gitServiceType . Name ( )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						if  ! ok  &&  tp  !=  ""  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							userid ,  err  =  user_model . GetUserIDByExternalUserID ( tp ,  fmt . Sprintf ( "%d" ,  source . GetExternalID ( ) ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  err  !=  nil  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								log . Error ( "GetUserIDByExternalUserID: %v" ,  err )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								g . userMap [ source . GetExternalID ( ) ]  =  userid   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						if  userid  >  0  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							err  =  target . RemapExternalUser ( "" ,  0 ,  userid )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  else  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							err  =  target . RemapExternalUser ( source . GetExternalName ( ) ,  source . GetExternalID ( ) ,  g . doer . ID )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						return   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					}