瀏覽代碼

add /organizr/page api endpoint

CauseFX 4 年之前
父節點
當前提交
11fa8c8422
共有 1 個文件被更改,包括 44 次插入0 次删除
  1. 44 0
      api/v2/routes/organizr.php

+ 44 - 0
api/v2/routes/organizr.php

@@ -0,0 +1,44 @@
+<?php
+$app->get('/organizr/{page}[/{var1}[/{var2}]]', function ($request, $response, $args) {
+	/**
+	 * @OA\Get(
+	 *     tags={"page"},
+	 *     path="/api/v2/organizr/{page}",
+	 *     summary="Get HTML for Organizr Pages",
+	 *     @OA\Parameter(
+	 *      name="page",
+	 *      description="Page to get",
+	 *      @OA\Schema(
+	 *          type="string"
+	 *      ),
+	 *      in="path",
+	 *      required=true
+	 *      ),
+	 *     @OA\Response(
+	 *      response="200",
+	 *      description="Success",
+	 *      @OA\JsonContent(ref="#/components/schemas/get-html"),
+	 *     ),
+	 *     @OA\Response(response="401",description="Unauthorized"),
+	 *     security={{ "api_key":{} }}
+	 * )
+	 */
+	$Organizr = ($request->getAttribute('Organizr')) ?? new Organizr();
+	$_GET['organizr'] = true;
+	$_GET['vars'] = $args;
+	$page = null;
+	if ($Organizr->checkRoute($request)) {
+		$page = $Organizr->getPage($args['page']);
+	}
+	if ($page) {
+		$response->getBody()->write($page);
+		return $response
+			->withHeader('Content-Type', 'text/html;charset=UTF-8')
+			->withStatus($GLOBALS['responseCode']);
+	} else {
+		$response->getBody()->write(jsonE($GLOBALS['api']));
+		return $response
+			->withHeader('Content-Type', 'application/json;charset=UTF-8')
+			->withStatus($GLOBALS['responseCode']);
+	}
+});