vlw.se/api/update/GET.php

45 lines
No EOL
1,006 B
PHP

<?php
use \vlw\xEnum;
use Reflect\{Response, Path};
use Reflect\Rules\{Ruleset, Rules, Type};
use VLW\API\API;
use VLW\Helpers\GenerateTimeline;
require_once Path::root("src/API/API.php");
require_once Path::root("src/Helpers/GenerateTimeline.php");
enum ServiceEnum: string {
use xEnum;
case ALL = "all";
case TIMELINE = "timeline";
}
final class GET_Update extends API {
private const KEY_SERVICE = "service";
public function __construct() {
parent::__construct(new Ruleset()->GET([
new Rules(self::KEY_SERVICE)
->type(Type::ENUM, ServiceEnum::values())
->default(ServiceEnum::ALL->value)
]));
}
public function update_timeline(): bool {
return new GenerateTimeline()->generate();
}
public function main(): Response {
switch ($_GET[self::KEY_SERVICE]) {
case ServiceEnum::TIMELINE->value:
return new Response("OK");
case ServiceEnum::ALL->value:
default:
return new Response($this->update_timeline());
}
}
}