Remnawave_python-sdk/remnawave/controllers/subscriptions_template.py

63 lines
No EOL
2.3 KiB
Python

from typing import Annotated
from rapid_api_client.annotations import Path, PydanticBody
from remnawave.enums import TemplateType
from remnawave.models import (
CreateSubscriptionTemplateRequestDto,
CreateSubscriptionTemplateResponseDto,
DeleteSubscriptionTemplateResponseDto,
GetTemplateResponseDto,
GetTemplatesResponseDto,
ReorderSubscriptionTemplatesRequestDto,
ReorderSubscriptionTemplatesResponseDto,
UpdateTemplateRequestDto,
UpdateTemplateResponseDto,
)
from remnawave.rapid import BaseController, delete, get, patch, post
class SubscriptionsTemplateController(BaseController):
@get("/subscription-templates", response_class=GetTemplatesResponseDto)
async def get_all_templates(self) -> GetTemplatesResponseDto:
"""Get all subscription templates (without content)"""
...
@post("/subscription-templates", response_class=CreateSubscriptionTemplateResponseDto)
async def create_template(
self,
body: Annotated[CreateSubscriptionTemplateRequestDto, PydanticBody()],
) -> CreateSubscriptionTemplateResponseDto:
"""Create subscription template"""
...
@patch("/subscription-templates", response_class=UpdateTemplateResponseDto)
async def update_template(
self,
body: Annotated[UpdateTemplateRequestDto, PydanticBody()],
) -> UpdateTemplateResponseDto:
"""Update subscription template"""
...
@get("/subscription-templates/{uuid}", response_class=GetTemplateResponseDto)
async def get_template_by_uuid(
self,
uuid: Annotated[str, Path(description="Template UUID")],
) -> GetTemplateResponseDto:
"""Get subscription template by uuid"""
...
@delete("/subscription-templates/{uuid}", response_class=DeleteSubscriptionTemplateResponseDto)
async def delete_template(
self,
uuid: Annotated[str, Path(description="Template UUID")],
) -> DeleteSubscriptionTemplateResponseDto:
"""Delete subscription template"""
...
@post("/subscription-templates/actions/reorder", response_class=ReorderSubscriptionTemplatesResponseDto)
async def reorder_templates(
self,
body: Annotated[ReorderSubscriptionTemplatesRequestDto, PydanticBody()],
) -> ReorderSubscriptionTemplatesResponseDto:
"""Reorder subscription templates"""
...