====== ProtectedPostApiController ====== **Layer:** ''Controller'' · **Source:** ''lib/controller/api/ProtectedPostApiController.php:25'' (lines 25–214) ---- class ProtectedPostApiController extends ApiController ======= Inheritance ======= ^ Relation ^ Type ^ Meaning ^ | extends | [[scriptlog:lib:controller:apicontroller|''ApiController'']] | parent class/interface | ======= Constants (0) ======= //None.// ======= Properties (0) ======= //None declared.// ======= Methods (5) ======= ^ Visibility ^ Method ^ Summary ^ Line ^ | public | ''__construct()'' | Constructor | 30 | | private | ''respondWithHtmxFallback()'' | Respond with HTMX fragment or API JSON, depending on request type. | 46 | | private | ''sendError()'' | Send an error response via HTMX or API JSON. | 70 | | public | ''unlock()'' | Unlock password-protected post | 87 | | public | ''verify()'' | Verify post password (lightweight check) | 172 | ======== __construct() ======== public function __construct() //lines 30–34 (5)// Constructor //Takes no parameters.// ======== respondWithHtmxFallback() ======== private function respondWithHtmxFallback($htmxFragment, $htmxData, $apiData = null, $statusCode = 200, $apiErrorCode = null) //lines 46–60 (15)// Respond with HTMX fragment or API JSON, depending on request type. ^ Parameter ^ Type ^ Default ^ Description ^ | ''$htmxFragment'' | ''(untyped)'' | //required// | //none// | | ''$htmxData'' | ''(untyped)'' | //required// | //none// | | ''$apiData'' | ''(untyped)'' | ''null'' | //none// | | ''$statusCode'' | ''(untyped)'' | ''200'' | //none// | | ''$apiErrorCode'' | ''(untyped)'' | ''null'' | //none// | **Returns:** ''(none declared)'' — bool True if HTMX response was sent ======== sendError() ======== private function sendError($message, $statusCode = 400, $errorCode = null) //lines 70–77 (8)// Send an error response via HTMX or API JSON. ^ Parameter ^ Type ^ Default ^ Description ^ | ''$message'' | ''(untyped)'' | //required// | //none// | | ''$statusCode'' | ''(untyped)'' | ''400'' | //none// | | ''$errorCode'' | ''(untyped)'' | ''null'' | //none// | **Returns:** ''(none declared)'' — void ======== unlock() ======== public function unlock($params = []) //lines 87–162 (76)// Unlock password-protected post POST /api/v1/posts/{id}/unlock ^ Parameter ^ Type ^ Default ^ Description ^ | ''$params'' | ''(untyped)'' | ''[]'' | URL parameters (post ID) | **Returns:** ''(none declared)'' — void ======== verify() ======== public function verify($params = []) //lines 172–213 (42)// Verify post password (lightweight check) POST /api/v1/posts/{id}/verify ^ Parameter ^ Type ^ Default ^ Description ^ | ''$params'' | ''(untyped)'' | ''[]'' | URL parameters (post ID) | **Returns:** ''(none declared)'' — void ======= Imports ======= ^ Alias ^ Fully-qualified name ^ | ''ApiController'' | [[scriptlog:lib:controller:apicontroller|''Scriptlog\Controller\ApiController'']] | | ''ApiResponse'' | [[scriptlog:lib:core:apiresponse|''Scriptlog\Core\ApiResponse'']] | ---- //This page is generated from source by 'tools/gendoc'. Edits will be overwritten.//