eed0e630e6
chore: 删掉 17 个确认无人调用的端点(净 -472 行)
...
阶段 0 盘点时判为 CUT 的 17 条,当时只在代码里标了 DEPRECATED(2026-05-26),
没删。这次删掉:15 个视图类整体移除,2 条只删 URL。
## 为什么有两条只能删 URL
ProblemSetProblemAPI 和 ProblemSetProgressAPI **各有一条在用的路径**:
ProblemSetProblemAPI /problemset/<id>/problems 在用
/problemset/<id>/problems/<pid> 废弃
ProblemSetProgressAPI /problemset/progress 在用
/problemset/<id>/progress 废弃
删类会直接搞挂"看题单题目"和"加入题单"。清单里记的是**路径**不是视图类,
这个区别不看一眼就动手会出事。
## 核实过程
不敢只信清单 —— 今天已经因为"读过文档还是漏了盲点"栽过一次(前端 /api2 前缀
漏改 5 处)。所以:
1. 用 ast(不是正则)建「视图类 → 它的所有 URL」映射,判定哪些类的全部 URL
都废弃。正则版把 B 组算成 0 个,而我明知至少有 2 个 —— 那种"看起来干净"的
结果最危险。
2. DEPRECATED 检测最初往前多看一行,把上一条的行内注释算到了下一条头上,
于是 /hitokoto、/profile、/reset_password 被误判成废弃。这三个明显在用,
才发现范围错了。
3. 按端点字符串精确搜整个 ojnext(覆盖 http.get、原生 fetch、独立 axios、
模板插值),16/16 确认无调用。**并且用 5 个明确在用的端点反测了检测器本身** ——
未经验证的检测器报"全部无调用"是没有意义的。
## 验证
起本地 Django + PostgreSQL 实跑 33 条断言,全过:
- 保留的端点还能用(13 条,含那两个"类保留"的路径,加入题单确认真的成功)
- 删掉的端点确实 404(17 条)
- reverse() 也解析不到了(3 条)
`ruff check .` 全绿(顺手清掉 44 个因此变成未使用的 import)。
## 一个差点造成的意外
脚本无条件重写所有 urls.py,把 class_pk/ 和 message/ 下三个 **CRLF** 文件
静默转成了 LF —— 内容没变但整文件显示为改动。已原样恢复,最终 diff 是
纯删除,零意外改动。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-08 06:59:00 -06:00
5cc5c64625
feat(submission): register /api/format_code route and fix CSRF exemption
...
Task 4: Register the FormatCodeAPI view to the /api/format_code endpoint.
Also fix: Make FormatCodeAPI extend CSRFExemptAPIView instead of APIView
so that the manual verification curl commands receive JSON responses
(login-required error) instead of HTML 403 Forbidden responses. This is
necessary for the view to work with the @login_required decorator which
expects to return JSON errors, not be blocked by CSRF middleware.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-14 07:57:24 -06:00
57c0572fd9
async
2026-05-26 21:25:26 -06:00
028ea6e5f9
fmt
2026-04-23 13:57:56 -06:00
450ee800f3
update
2025-04-14 12:41:00 +08:00
025276002d
在前台添加今日提交数
2025-04-14 12:36:46 +08:00
yuetsh
c497d511dc
refactor
2024-07-01 12:17:43 +08:00
6cf7087339
update Django to v5
2024-06-05 17:40:45 +08:00
zema1
45953b8f80
submission exists api
2017-11-23 19:11:12 +08:00
zema1
d650252a1a
separate contest submission and regular submission
2017-09-30 10:26:54 +08:00
zemal
0e96b7c2a8
更换cache使用方式
2017-08-15 20:32:14 +08:00
zemal
14b850c652
完成ACM ContestProblem相关判题逻辑
...
contest,submission等表默认-create_time排序
2017-08-01 16:52:48 +08:00
zemal
35f6c9c4a7
添加submission_list 和 submission details API
2017-07-05 21:09:14 +08:00
zemal
91eb7b5bb6
fix ci
2017-07-04 18:03:45 +08:00
zemal
12ee85ef8f
修改submission api
2017-07-04 17:32:50 +08:00
Chiaki
bc6d80d745
Daily commit
2017-05-15 13:09:54 +08:00
Chiaki
65f9c7f52b
Add submission module
2017-05-08 17:29:01 +08:00