refactor(instance): change instance deletion to use ID instead of name
- Update DBRemoveFrpcInstance to use instanceID for deletion - Modify DeleteInstanceHandler to accept and validate instanceID - Improve error messages for invalid instanceID format - Update logging to use instanceID instead of instanceName
This commit is contained in:
@@ -219,9 +219,15 @@ func DeleteInstanceHandler(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
instanceName := getStringFromMap(reqMap, "instanceName")
|
||||
if instanceName == "" {
|
||||
SendErrorResponse(w, http.StatusBadRequest, "instanceName is required")
|
||||
instanceIDStr := getStringFromMap(reqMap, "instanceID")
|
||||
if instanceIDStr == "" {
|
||||
SendErrorResponse(w, http.StatusBadRequest, "instanceID is required")
|
||||
return
|
||||
}
|
||||
|
||||
instanceID, err := strconv.Atoi(instanceIDStr)
|
||||
if err != nil {
|
||||
SendErrorResponse(w, http.StatusBadRequest, "Invalid instanceID format")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -246,10 +252,10 @@ func DeleteInstanceHandler(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
var instance FrpcInstance
|
||||
instance, err = DBQueryFrpcInstance(userID, instanceName)
|
||||
instance, err = DBQueryFrpcInstanceByID(instanceID)
|
||||
if err == sql.ErrNoRows {
|
||||
SendErrorResponse(w, http.StatusNotFound, "Instance not found")
|
||||
postLog.Error(fmt.Sprintf("[DeleteInstanceHandler] User %d tried to delete a not existed instance: %s", userID, instanceName))
|
||||
postLog.Error(fmt.Sprintf("[DeleteInstanceHandler] User %d tried to delete a not existed instance: %d", userID, instanceID))
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
@@ -259,8 +265,8 @@ func DeleteInstanceHandler(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
if instance.BootAtStart {
|
||||
if err := removeBootService(user.Username, instanceName); err != nil {
|
||||
postLog.Error(fmt.Sprintf("[DeleteInstanceHandler] Failed to remove boot service for instance %s: %v", instanceName, err))
|
||||
if err := removeBootService(user.Username, instance.Name); err != nil {
|
||||
postLog.Error(fmt.Sprintf("[DeleteInstanceHandler] Failed to remove boot service for instance %s: %v", instance.Name, err))
|
||||
SendErrorResponse(w, http.StatusInternalServerError, "Failed to remove boot service")
|
||||
return
|
||||
}
|
||||
@@ -274,16 +280,16 @@ func DeleteInstanceHandler(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
}
|
||||
|
||||
if err := DBRemoveFrpcInstance(userID, instanceName); err != nil {
|
||||
postLog.Error(fmt.Sprintf("[DeleteInstanceHandler] Failed to delete instance %s from database: %v", instanceName, err))
|
||||
if err := DBRemoveFrpcInstanceByID(instanceID); err != nil {
|
||||
postLog.Error(fmt.Sprintf("[DeleteInstanceHandler] Failed to delete instance %d from database: %v", instanceID, err))
|
||||
SendErrorResponse(w, http.StatusInternalServerError, "Failed to delete instance from database")
|
||||
return
|
||||
}
|
||||
|
||||
SendSuccessResponse(w, "Instance deleted successfully", map[string]interface{}{
|
||||
"name": instanceName,
|
||||
"id": instanceID,
|
||||
})
|
||||
postLog.Info(fmt.Sprintf("[DeleteInstanceHandler] Instance %s deleted successfully", instanceName))
|
||||
postLog.Info(fmt.Sprintf("[DeleteInstanceHandler] Instance %d deleted successfully", instanceID))
|
||||
}
|
||||
|
||||
func ModifyInstanceHandler(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
Reference in New Issue
Block a user