1010 DisableNodeResponseDto ,
1111 EnableNodeResponseDto ,
1212 GetAllNodesResponseDto ,
13+ GetAllNodesTagsResponseDto ,
1314 GetOneNodeResponseDto ,
1415 ReorderNodeRequestDto ,
1516 ReorderNodeResponseDto ,
1617 RestartAllNodesResponseDto ,
1718 RestartNodeResponseDto ,
1819 UpdateNodeRequestDto ,
1920 UpdateNodeResponseDto ,
20- RestartAllNodesRequestBodyDto ,
21+ RestartAllNodesRequestBodyDto ,
2122 ResetNodeTrafficRequestDto ,
22- ResetNodeTrafficResponseDto
23+ ResetNodeTrafficResponseDto ,
24+ ProfileModificationRequestDto ,
25+ ProfileModificationResponseDto ,
26+ NodesBulkActionsRequestDto ,
27+ NodesBulkActionsResponseDto ,
2328)
2429from remnawave .rapid import BaseController , delete , get , patch , post
2530
2631
2732class NodesController (BaseController ):
33+ @get ("/nodes/tags" , response_class = GetAllNodesTagsResponseDto )
34+ async def get_all_nodes_tags (
35+ self ,
36+ ) -> GetAllNodesTagsResponseDto :
37+ """Get all nodes tags"""
38+ ...
39+
2840 @post ("/nodes" , response_class = CreateNodeResponseDto )
2941 async def create_node (
3042 self ,
@@ -103,11 +115,35 @@ async def reorder_nodes(
103115 ) -> ReorderNodeResponseDto :
104116 """Reorder Nodes"""
105117 ...
118+
119+ @post ("/nodes/{uuid}/actions/reset-traffic" , response_class = ResetNodeTrafficResponseDto )
120+ async def reset_node_traffic (
121+ self ,
122+ uuid : Annotated [str , Path (description = "UUID of the node" )],
123+ ) -> ResetNodeTrafficResponseDto :
124+ """Reset traffic for individual node"""
125+ ...
106126
107127 @post ("/nodes/actions/reset-traffic" , response_class = ResetNodeTrafficResponseDto )
108128 async def reset_traffic_all_nodes (
109129 self ,
110130 body : Annotated [ResetNodeTrafficRequestDto , PydanticBody ()],
111131 ) -> ResetNodeTrafficResponseDto :
112132 """Reset Traffic All Nodes"""
133+ ...
134+
135+ @post ("/nodes/bulk-actions/profile-modification" , response_class = ProfileModificationResponseDto )
136+ async def profile_modification (
137+ self ,
138+ body : Annotated [ProfileModificationRequestDto , PydanticBody ()],
139+ ) -> ProfileModificationResponseDto :
140+ """Modify Inbounds & Profile for many nodes"""
141+ ...
142+
143+ @post ("/nodes/bulk-actions" , response_class = NodesBulkActionsResponseDto )
144+ async def nodes_bulk_actions (
145+ self ,
146+ body : Annotated [NodesBulkActionsRequestDto , PydanticBody ()],
147+ ) -> NodesBulkActionsResponseDto :
148+ """Perform actions for many nodes (ENABLE, DISABLE, RESTART, RESET_TRAFFIC)"""
113149 ...
0 commit comments