<?php

use Slim\Views\Twig;

class SettingsAPI
{
  public function __construct()
  {
  }

  public static function handleSettingsTask($request, $args, $body = null)
  {
    $task = $args["fourth"];
    switch ($task) {
      case "publish":
        $render = new Render();
        $render->renderTags();
        $render->renderArchive();
        $render->renderPages();

        $result = [
          "message" => "Site Rendered. GOOD EFFORT",
          "type" => "TASK_NONE",
        ];

        break;
      case "add-avatar":
        $result = ImagesAPI::uploadImage($request, "avatar");
        break;
      case "add-feature-background":
        $result = ImagesAPI::uploadImage($request, "background");
        break;
      case "sync":
        Settings::sync($body);
        $result = [
          "message" => "Settings Synced. You're doing great!",
          "type" => "settingsUpdated",
        ];
        break;
      case "nav-sync":
        Settings::navSync($body);
        $result = [
          "message" => "Navigation updated. Very slick!",
          "type" => "menuUpdated",
        ];
        break;
      default:
        $result = [
          "message" => "Hm, no task. That's unfortunate",
          "type" => "TASK_NONE",
        ];
        break;
    }

    return $result;
  }

  public static function createBackup()
  {
    $result = Maintenance::makeBackup();
    return $result;
  }
}