36 lines
1.0 KiB
C#
36 lines
1.0 KiB
C#
using System.Net;
|
|
using MySql.Data.MySqlClient;
|
|
|
|
namespace Server;
|
|
|
|
public class DeleteRoute : SecuredRoute
|
|
{
|
|
protected static void DeleteFromDB(
|
|
HttpListenerRequest request,
|
|
string table,
|
|
List<string> validParamNames,
|
|
bool requireId
|
|
)
|
|
// TODO should return error when it cant find the comment
|
|
{
|
|
// extract userid compare userid to the comment userid
|
|
string user_id = ExtractUserId(request);
|
|
var bodyParamValues = ExtractBody(request, validParamNames);
|
|
|
|
if (requireId && bodyParamValues["id"] is null)
|
|
throw new Exception("missing id");
|
|
|
|
validParamNames.Add("user_id");
|
|
bodyParamValues["user_id"] = user_id;
|
|
table += requireId ? " Where user_id=@user_id;" : " WHERE id=@id AND user_id=@user_id;";
|
|
MySqlCommand cmd = new("DELETE from " + table);
|
|
|
|
cmd = AddValuesToCmd(bodyParamValues, cmd);
|
|
|
|
using MySqlConnection conn = new(connectionString);
|
|
conn.Open();
|
|
cmd.Connection = conn;
|
|
cmd.ExecuteNonQuery();
|
|
}
|
|
}
|