From 2cdb8f60aede43d37b7b7f6889b332163d3c2af8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E7=82=9C=E7=BF=94?= <2307953404@qq.com>
Date: Tue, 5 Nov 2024 23:00:30 +0800
Subject: [PATCH] m
---
asg_form/Controllers/Team/Team_http.cs | 51 +++++++++++++++++++++++---
1 file changed, 46 insertions(+), 5 deletions(-)
diff --git a/asg_form/Controllers/Team/Team_http.cs b/asg_form/Controllers/Team/Team_http.cs
index b1a7738..22e2253 100644
--- a/asg_form/Controllers/Team/Team_http.cs
+++ b/asg_form/Controllers/Team/Team_http.cs
@@ -272,7 +272,7 @@ namespace asg_form.Controllers.Team
4 => query.OrderByDescending(m => m.time),
_ => query
};
- if (this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "nbadmin"))
+ if (this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "nbadmin")|| this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
{
try
{
@@ -299,11 +299,14 @@ namespace asg_form.Controllers.Team
var results = await query
.Skip((page - 1) * limit)
.Take(limit)
- .Select(f => new
+ .Select(f => new AdminTeamFind
{
- formId = f.Id,
- teamName = f.team_name,
- voteOfLikes = f.piaoshu,
+ form = new form
+ {
+ Id = f.Id,
+ team_name = f.team_name,
+ piaoshu = f.piaoshu,
+ },
roles = findRolesByFormId(f.Id)
})
.ToListAsync();
@@ -318,7 +321,45 @@ namespace asg_form.Controllers.Team
}
}
}
+ ///
+ /// 新的删除战队口
+ ///
+ [Route("api/v2/form/delete")]
+ [HttpDelete]
+ [Authorize]
+ public async Task> DeleteFormById(long formId)
+ {
+ if (!this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "nbadmin")|| !this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "admin"))
+ {
+ return BadRequest(new error_mb { code = 400, message = "无权访问" });
+ }
+ using (var db = new TestDbContext())
+ {
+ try
+ {
+ var rolesToDelete = db.Roles.Where(r => r.form.Id == formId).ToList();
+ if (rolesToDelete.Any())
+ {
+ db.Roles.RemoveRange(rolesToDelete);
+ }
+
+ var formToDelete = await db.Forms.FindAsync(formId);
+ if (formToDelete == null)
+ {
+ return NotFound(new { code = 404, message = "表单未找到" });
+ }
+ db.Forms.Remove(formToDelete);
+ await db.SaveChangesAsync();
+
+ return Ok(new { code = 200, message = "删除成功" });
+ }
+ catch (Exception ex)
+ {
+ return StatusCode(500, new { code = 500, message = "服务器错误", error = ex.Message });
+ }
+ }
+ }
}