mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Use User.ID instead of User.Name in ActivityPub API for Person IRI (#23823)
Thanks to @trwnh Close #23802 The ActivityPub id is an HTTPS URI that should remain constant, even if the user changes their name.
This commit is contained in:
		| @@ -29,6 +29,27 @@ func UserAssignmentWeb() func(ctx *context.Context) { | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // UserIDAssignmentAPI returns a middleware to handle context-user assignment for api routes | ||||
| func UserIDAssignmentAPI() func(ctx *context.APIContext) { | ||||
| 	return func(ctx *context.APIContext) { | ||||
| 		userID := ctx.ParamsInt64(":user-id") | ||||
|  | ||||
| 		if ctx.IsSigned && ctx.Doer.ID == userID { | ||||
| 			ctx.ContextUser = ctx.Doer | ||||
| 		} else { | ||||
| 			var err error | ||||
| 			ctx.ContextUser, err = user_model.GetUserByID(ctx, userID) | ||||
| 			if err != nil { | ||||
| 				if user_model.IsErrUserNotExist(err) { | ||||
| 					ctx.Error(http.StatusNotFound, "GetUserByID", err) | ||||
| 				} else { | ||||
| 					ctx.Error(http.StatusInternalServerError, "GetUserByID", err) | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // UserAssignmentAPI returns a middleware to handle context-user assignment for api routes | ||||
| func UserAssignmentAPI() func(ctx *context.APIContext) { | ||||
| 	return func(ctx *context.APIContext) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user