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 });
+ }
+ }
+ }
}