Files
casadoc/public/userportal/api/document-templates.php
2026-07-27 21:04:07 +03:00

35 lines
1.1 KiB
PHP

<?php
require __DIR__ . '/_bootstrap.php';
/**
* @OA\Get(
* path="/document-templates.php",
* tags={"Reference"},
* summary="Document templates reference",
* security={{"bearerAuth":{}}},
* @OA\Parameter(name="slug", in="query", @OA\Schema(type="string"), description="filter by pages.slug"),
* @OA\Response(response=200, description="OK", @OA\JsonContent(
* @OA\Property(property="data", type="array", @OA\Items(ref="#/components/schemas/DocumentTemplate"))
* )),
* @OA\Response(response=401, ref="#/components/responses/Unauthorized")
* )
*/
require_method('GET');
require_auth($pdo);
$slug = query('slug');
$sql = 'SELECT d.*, s.section_name
FROM documents d
LEFT JOIN sections s ON s.idsections = d.idsections';
$params = [];
if ($slug !== null && $slug !== '') {
$sql .= ' JOIN pages p ON p.idpages = d.page_id WHERE p.slug = ?';
$params[] = $slug;
}
$sql .= ' ORDER BY s.section_name, d.document_name';
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
json_data(array_map('present_document_template', $stmt->fetchAll()));