package api import ( "context" "fmt" "git.dragse.it/anthrove/e621-to-graph/internal/e621" "git.dragse.it/anthrove/e621-to-graph/internal/service" "git.dragse.it/anthrove/e621-to-graph/pkg/logic" log "github.com/sirupsen/logrus" "net/http" ) // ScapeUserFavourites is the handler for the user API func ScapeUserFavourites(ctx context.Context, graphConnection logic.GraphConnection, e621Client *e621.Client) func(response http.ResponseWriter, request *http.Request) { return func(w http.ResponseWriter, r *http.Request) { log.Println("Request") if r.Method != http.MethodPost { w.WriteHeader(http.StatusMethodNotAllowed) fmt.Fprintf(w, "Only POST requests are allowed") return } username := r.FormValue("username") if username == "" { w.WriteHeader(http.StatusBadRequest) fmt.Fprintf(w, "Username is required") return } // Perform further processing with the username go service.ScrapeUser(ctx, graphConnection, *e621Client, username) // Send a response w.WriteHeader(http.StatusOK) fmt.Fprintf(w, "Username %s processed successfully", username) } }