def METHOD_NAME(self, data: RecipeTimelineEventIn):
    # if the user id is not specified, use the currently-authenticated user
    data.user_id = data.user_id or self.user.id
    recipe = self.recipes_repo.get_one(data.recipe_id, "id")
    if not recipe:
        raise HTTPException(status_code=404, detail="recipe not found")
    event_data = data.cast(RecipeTimelineEventCreate)
    event = self.mixins.METHOD_NAME(event_data)
    self.publish_event(
        event_type=EventTypes.recipe_updated,
        document_data=EventRecipeTimelineEventData(
            operation=EventOperation.create, recipe_slug=recipe.slug, recipe_timeline_event_id=event.id
        ),
        message=self.t(
            "notifications.generic-updated-with-url",
            name=recipe.name,
            url=urls.recipe_url(recipe.slug, self.settings.BASE_URL),
        ),
    )
    return event