Coverage for src/lexigram/admin/controllers/resource/routes.py: 0%
23 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-24 23:18 +0800
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-24 23:18 +0800
1"""Route registration for the resource controller."""
3from __future__ import annotations
5from typing import Any
7from lexigram.admin.controllers.resource.meta import ResourceMeta
10class ResourceRouteMixin:
11 """Route registration."""
13 # Host attributes provided by sibling mixins on ResourceController.
14 meta: ResourceMeta
16 list_view: Any
17 create_form: Any
18 create: Any
19 bulk_action: Any
20 bulk_delete_confirm: Any
21 bulk_purge_confirm: Any
22 bulk_restore_confirm: Any
23 import_example: Any
24 import_report: Any
25 detail: Any
26 edit_form: Any
27 delete_confirm: Any
28 update: Any
29 delete: Any
31 def get_routes(self) -> list:
32 """Get Starlette routes for this controller."""
33 from starlette.routing import Route
35 prefix = f"/{self.meta.name}"
37 return [
38 Route(prefix, self.list_view, methods=["GET"]),
39 Route(f"{prefix}/create", self.create_form, methods=["GET"]),
40 Route(prefix, self.create, methods=["POST"]),
41 Route(f"{prefix}/bulk", self.bulk_action, methods=["POST"]),
42 Route(
43 f"{prefix}/bulk-delete-confirm",
44 self.bulk_delete_confirm,
45 methods=["GET"],
46 ),
47 Route(
48 f"{prefix}/bulk-purge-confirm",
49 self.bulk_purge_confirm,
50 methods=["GET"],
51 ),
52 Route(
53 f"{prefix}/bulk-restore-confirm",
54 self.bulk_restore_confirm,
55 methods=["GET"],
56 ),
57 Route(f"{prefix}/import-example", self.import_example, methods=["GET"]),
58 Route(f"{prefix}/import-report", self.import_report, methods=["GET"]),
59 Route(f"{prefix}/{{id}}", self.detail, methods=["GET"]),
60 Route(f"{prefix}/{{id}}/edit", self.edit_form, methods=["GET"]),
61 Route(
62 f"{prefix}/{{id}}/delete-confirm", self.delete_confirm, methods=["GET"]
63 ),
64 Route(f"{prefix}/{{id}}", self.update, methods=["PUT", "POST"]),
65 Route(f"{prefix}/{{id}}", self.delete, methods=["DELETE"]),
66 ]