Source code for sanhe_confluence_sdk.methods.page.delete_page
# -*- coding: utf-8 -*-
import dataclasses
from httpx import Response
from func_args.api import REQ, OPT
from ...client import Confluence
from ..model import api_field, BaseRequest, PathParams, QueryParams, BaseResponse
# ------------------------------------------------------------------------------
# Input
# ------------------------------------------------------------------------------
[docs]
@dataclasses.dataclass(frozen=True)
class DeletePageRequestPathParams(PathParams):
id: int = api_field(REQ)
[docs]
@dataclasses.dataclass(frozen=True)
class DeletePageRequestQueryParams(QueryParams):
purge: bool = api_field(OPT)
draft: bool = api_field(OPT)
[docs]
@dataclasses.dataclass(frozen=True)
class DeletePageRequest(BaseRequest):
"""
See: https://developer.atlassian.com/cloud/confluence/rest/v2/api-group-page/#api-pages-id-delete
"""
path_params: DeletePageRequestPathParams = dataclasses.field(
default_factory=DeletePageRequestPathParams
)
query_params: DeletePageRequestQueryParams = dataclasses.field(
default_factory=DeletePageRequestQueryParams
)
@property
def _path(self) -> str:
return f"/pages/{self.path_params.id}"
[docs]
def sync(self, client: Confluence) -> Response:
"""
Execute the DELETE request.
Returns the httpx.Response object. A successful deletion returns
status code 204 (No Content).
"""
return self._sync_delete(DeletePageResponse, client)
# ------------------------------------------------------------------------------
# Output
# ------------------------------------------------------------------------------
[docs]
@dataclasses.dataclass(frozen=True)
class DeletePageResponse(BaseResponse):
"""response for deleting a page."""