package main import ( "encoding/json" "net/http" ) type apiResponse struct { Success bool `json:"success"` Data any `json:"data"` Error *apiError `json:"error"` } type apiError struct { Code string `json:"code"` Message string `json:"message"` } func writeSuccess(w http.ResponseWriter, status int, data any) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(status) json.NewEncoder(w).Encode(apiResponse{Success: true, Data: data, Error: nil}) } func writeError(w http.ResponseWriter, status int, code, message string) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(status) json.NewEncoder(w).Encode(apiResponse{Success: false, Data: nil, Error: &apiError{Code: code, Message: message}}) }