feat(Api pages/name/md): manage several levels
This commit is contained in:
parent
eb364c285b
commit
38dea6765b
@ -37,7 +37,10 @@ class SeacmsAppPlugin extends AbstractPicoPlugin implements LateApiAware
|
|||||||
'POST pages/(.*)/create' => 'createPage', // TODO only define for POST
|
'POST pages/(.*)/create' => 'createPage', // TODO only define for POST
|
||||||
'GET pages' => 'apiPagesBase',
|
'GET pages' => 'apiPagesBase',
|
||||||
'GET pages/(.*)' => 'apiPageBase',
|
'GET pages/(.*)' => 'apiPageBase',
|
||||||
'GET pages/(.*)/md' => 'apiPageAsMd'
|
'GET pages/(.*)/md' => 'apiPageAsMd',
|
||||||
|
'GET pages/(.*)/(.*)/md' => 'apiPageAsMd2Levels',
|
||||||
|
'GET pages/(.*)/(.*)/(.*)/md' => 'apiPageAsMd3Levels',
|
||||||
|
'GET pages/(.*)/(.*)/(.*)/(.*)/md' => 'apiPageAsMd4Levels',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,11 +103,37 @@ class SeacmsAppPlugin extends AbstractPicoPlugin implements LateApiAware
|
|||||||
$pages = $this->getPico()->getPages();
|
$pages = $this->getPico()->getPages();
|
||||||
if (array_key_exists($pageName,$pages)){
|
if (array_key_exists($pageName,$pages)){
|
||||||
|
|
||||||
return new MdResponse(200,$pages[$pageName]['raw_content']);
|
return new MdResponse(200,$pages[$pageName]['raw_content'],[
|
||||||
|
'Content-Disposition' => 'inline; filename="'.str_replace('/','-',$pageName).'.md"'
|
||||||
|
]);
|
||||||
} else {
|
} else {
|
||||||
return new JsonResponse(404,['code'=>404,'reason'=>"Page '$pageName' has not been found !"]);
|
return new JsonResponse(404,['code'=>404,'reason'=>"Page '$pageName' has not been found !"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* method to see page as md
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function apiPageAsMd2Levels(string $folder1,string $pageName): JsonResponse
|
||||||
|
{
|
||||||
|
return $this->apiPageAsMd("$folder1/$pageName");
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* method to see page as md
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function apiPageAsMd3Levels(string $folder1,string $folder2,string $pageName): JsonResponse
|
||||||
|
{
|
||||||
|
return $this->apiPageAsMd("$folder1/$folder2/$pageName");
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* method to see page as md
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function apiPageAsMd4Levels(string $folder1,string $folder2,string $folder3,string $pageName): JsonResponse
|
||||||
|
{
|
||||||
|
return $this->apiPageAsMd("$folder1/$folder2/$folder3/$pageName");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user