browser_development-8.x-1.x-dev/src/Controller/Api.php

src/Controller/Api.php
<?php

namespace Drupal\browser_development\Controller;

use Drupal\Core\Controller\ControllerBase;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\JsonResponse;


use Drupal\browser_development\Processing\Storage;
use Drupal\browser_development\Processing\ScssCompiler;
use Drupal\browser_development\Processing\LiveScssCompiler;

/**
 * Class API controller gives the editor an integration endpoint.
 *
 * @package Drupal\browser_development\Api
 */
class Api extends ControllerBase {

  /**
   * Returns template with Editor attached.
   *
   * @return \Symfony\Component\HttpFoundation\JsonResponse
   *   Template that needs to be returned.
   */
  public function getApi(Request $request) {
    $data = json_decode($request->getContent(), TRUE);

    if (json_last_error() !== 0) {
      return new JsonResponse([
        "api_response" => $this->t("Json request was not completed"),
      ]);
    }

    switch ($data) {
      case isset($data['live']):
        $lscObj = new LiveScssCompiler();
        $return = $lscObj->compiler($data);
        break;

      case isset($data['compiled']):
        Storage::setStorage($data);
        $scObj = new ScssCompiler();
        $return = $scObj->compiler($data);
        break;

      case isset($data['open']):
        $return = Storage::getStorage($data);
        break;

      default:
        $return = [
          "api_response" => $this->t("Request was not completed"),
        ];
    }

    return new JsonResponse($return);
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc