public function postData()

in modules/quanthub_core/src/Controller/PowerBIEmbedController.php [62:87]


  public function postData($reportId, Request $request): JsonResponse | Response {
    if (!Uuid::isValid($reportId)) {
      return new Response(400);
    }

    $media_storage = $this->entityTypeManager->getStorage('media');
    $media_ids = $media_storage->getQuery()
      ->accessCheck(FALSE)
      ->condition('bundle', 'power_bi')
      ->condition('field_media_power_bi.report_id', $reportId)
      ->execute();
    if (empty($media_ids)) {
      return new Response(400);
    }

    try {
      $content = json_decode($request->getContent(), TRUE, 3, JSON_THROW_ON_ERROR);
      return new JsonResponse($this->powerBIEmbedConfigs->getPowerEmbedConfig(
        $reportId,
        !empty($content['extraDatasets']) ? $content['extraDatasets'] : ''
      ));
    }
    catch (\Exception) {
      return new Response(400);
    }
  }