# fluent-boards/2.2.0/app/Http/Controllers/ImportController.php

FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration, version 2.2.0. 50 lines.

- Page: https://pluginprobe.com/plugins/fluent-boards/2.2.0/code/app/Http/Controllers/ImportController.php
- Raw: https://pluginprobe.com/plugins/fluent-boards/2.2.0/raw/app/Http/Controllers/ImportController.php
- Modified: 2026-10-12T13:32:28+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/fluent-boards/2.2.0/code/app/Http/Controllers/ImportController.php#L10-L20`.

```php
<?php

namespace FluentBoards\App\Http\Controllers;

use Exception;
use FluentBoards\Framework\Http\Request\Request;
use FluentBoards\App\Services\JsonImportService;

/** Expose administrator-only JSON import endpoints for the free plugin. */
class ImportController extends Controller
{
    /** Import a complete uploaded JSON export. */
    public function importFile(Request $request)
    {
        return $this->runImport('importFile', $request);
    }

    /** Stage one chunk of a JSON export. */
    public function uploadJsonChunk(Request $request)
    {
        return $this->runImport('uploadJsonChunk', $request);
    }

    /** Initialize or resume a paginated board import. */
    public function processJsonImport(Request $request)
    {
        return $this->runImport('processJsonImport', $request);
    }

    /** Delegate import work and translate validation failures into API errors. */
    private function runImport($method, Request $request)
    {
        $service = new JsonImportService(function ($source, $data) {
            return $this->importExternalSource($source, $data);
        });

        try {
            return $this->sendSuccess($service->$method($request));
        } catch (Exception $exception) {
            return $this->sendError(['message' => $exception->getMessage()], 422);
        }
    }

    /** Allow the Pro controller to supply third-party JSON importers. */
    protected function importExternalSource($source, $importData)
    {
        return null;
    }
}

```
