diff --git a/web/documentserver-example/php-laravel/app/Helpers/URL/FileURL.php b/web/documentserver-example/php-laravel/app/Helpers/URL/FileURL.php index d924920c..4daa1a2c 100644 --- a/web/documentserver-example/php-laravel/app/Helpers/URL/FileURL.php +++ b/web/documentserver-example/php-laravel/app/Helpers/URL/FileURL.php @@ -17,15 +17,15 @@ namespace App\Helpers\URL; -use App\Services\StorageConfig; +use App\OnlyOffice\Managers\SettingsManager; class FileURL extends URL { public static function download(string $filename, string $address = ''): string { - $config = app(StorageConfig::class); + $settings = app(SettingsManager::class); - return static::build($config->get('url.private'), 'files/download', [ + return static::build($settings->getSetting('url.storage.private'), 'files/download', [ 'fileName' => $filename, 'userAddress' => $address, ]); @@ -33,9 +33,9 @@ class FileURL extends URL public static function changes(string $filename, string $address, int $version): string { - $config = app(StorageConfig::class); + $settings = app(SettingsManager::class); - return static::build($config->get('url.private'), 'files/versions/changes', [ + return static::build($settings->getSetting('url.storage.private'), 'files/versions/changes', [ 'filename' => $filename, 'userAddress' => $address, 'version' => $version, @@ -44,9 +44,9 @@ class FileURL extends URL public static function previous(string $filename, string $address, int $version): string { - $config = app(StorageConfig::class); + $settings = app(SettingsManager::class); - return static::build($config->get('url.private'), 'files/versions/previous', [ + return static::build($settings->getSetting('url.storage.private'), 'files/versions/previous', [ 'filename' => $filename, 'userAddress' => $address, 'version' => $version, @@ -55,9 +55,9 @@ class FileURL extends URL public static function history(string $filename, string $address): string { - $config = app(StorageConfig::class); + $settings = app(SettingsManager::class); - return static::build($config->get('url.private'), 'files/download', [ + return static::build($settings->getSetting('url.storage.private'), 'files/download', [ 'fileName' => $filename, 'userAddress' => $address, ]); @@ -65,9 +65,9 @@ class FileURL extends URL public static function create(string $extension, string $user): string { - $config = app(StorageConfig::class); + $settings = app(SettingsManager::class); - return static::build($config->get('url.public'), 'editor', [ + return static::build($settings->getSetting('url.storage.public'), 'editor', [ 'fileExt' => $extension, 'user' => $user, ]); @@ -75,9 +75,9 @@ class FileURL extends URL public static function callback(string $filename, string $user): string { - $config = app(StorageConfig::class); + $settings = app(SettingsManager::class); - return static::build($config->get('url.private'), 'editor/track', [ + return static::build($settings->getSetting('url.storage.private'), 'editor/track', [ 'fileName' => $filename, 'userAddress' => $user, ]); diff --git a/web/documentserver-example/php-laravel/app/Helpers/URL/TemplateURL.php b/web/documentserver-example/php-laravel/app/Helpers/URL/TemplateURL.php index d5e553f5..c782dc91 100644 --- a/web/documentserver-example/php-laravel/app/Helpers/URL/TemplateURL.php +++ b/web/documentserver-example/php-laravel/app/Helpers/URL/TemplateURL.php @@ -17,13 +17,13 @@ namespace App\Helpers\URL; -use App\Services\StorageConfig; +use App\OnlyOffice\Managers\SettingsManager; class TemplateURL extends URL { public static function image(string $type) { - $config = app(StorageConfig::class); + $settings = app(SettingsManager::class); $name = 'file_docx.svg'; $name = match ($type) { @@ -33,6 +33,6 @@ class TemplateURL extends URL default => 'file_docx.svg', }; - return static::build($config->get('url.public'), "/images/$name"); + return static::build($settings->getSetting('url.storage.public'), "/images/$name"); } } diff --git a/web/documentserver-example/php-laravel/app/Http/Controllers/API/Files/ReferenceController.php b/web/documentserver-example/php-laravel/app/Http/Controllers/API/Files/ReferenceController.php index d0fe8d4e..8cc73a34 100644 --- a/web/documentserver-example/php-laravel/app/Http/Controllers/API/Files/ReferenceController.php +++ b/web/documentserver-example/php-laravel/app/Http/Controllers/API/Files/ReferenceController.php @@ -5,9 +5,8 @@ namespace App\Http\Controllers\API\Files; use App\Helpers\Path\PathInfo; use App\Helpers\URL\URL; use App\Http\Controllers\Controller; -use App\Services\JWT; -use App\Services\ServerConfig; -use App\Services\StorageConfig; +use App\OnlyOffice\Managers\JWTManager; +use App\OnlyOffice\Managers\SettingsManager; use App\UseCases\Document\Find\FindDocumentQuery; use App\UseCases\Document\Find\FindDocumentQueryHandler; use Exception; @@ -17,10 +16,10 @@ use Illuminate\Support\Str; class ReferenceController extends Controller { - public function get(Request $request, StorageConfig $storageConfig, ServerConfig $serverConfig, JWT $jwt) + public function get(Request $request, SettingsManager $settings, JWTManager $jwt) { - $storagePrivateUrl = $storageConfig->get('url.private'); - $storagePublicUrl = $storageConfig->get('url.public'); + $storagePrivateUrl = $settings->getSetting('url.storage.private'); + $storagePublicUrl = $settings->getSetting('url.storage.public'); $referenceData = $request->input('referenceData'); $link = $request->input('link'); $path = $request->input('path'); @@ -94,8 +93,8 @@ class ReferenceController extends Controller 'link' => "$storagePublicUrl/editor?fileID=$filename", ]; - if ($serverConfig->get('jwt.enabled')) { - $data['token'] = $jwt->encode($data); + if ($settings->getSetting('jwt.enabled')) { + $data['token'] = $jwt->encode($data, $settings->getSetting('jwt.secret')); } return response()->json($data); diff --git a/web/documentserver-example/php-laravel/app/Http/Controllers/EditorController.php b/web/documentserver-example/php-laravel/app/Http/Controllers/EditorController.php index 2622a405..4e32e370 100644 --- a/web/documentserver-example/php-laravel/app/Http/Controllers/EditorController.php +++ b/web/documentserver-example/php-laravel/app/Http/Controllers/EditorController.php @@ -22,9 +22,8 @@ use App\Helpers\Path\PathInfo; use App\Helpers\URL\FileURL; use App\Helpers\URL\TemplateURL; use App\Helpers\URL\URL; -use App\Services\JWT; -use App\Services\ServerConfig; -use App\Services\StorageConfig; +use App\OnlyOffice\Managers\JWTManager; +use App\OnlyOffice\Managers\SettingsManager; use App\UseCases\Common\Http\DownloadFileCommand; use App\UseCases\Common\Http\DownloadFileRequest; use App\UseCases\Docs\Command\ForceSaveCommad; @@ -58,12 +57,9 @@ use Illuminate\Support\Str; class EditorController extends Controller { - public function __construct( - private StorageConfig $storageConfig, - private ServerConfig $serverConfig, - ) {} + public function __construct(private SettingsManager $settings) {} - public function index(Request $request, JWT $jwt) + public function index(Request $request, JWTManager $jwt) { $request->validate([ 'fileUrl' => 'required_without_all:fileID,fileExt|string', @@ -85,8 +81,8 @@ class EditorController extends Controller $lang = $request->cookie('ulang', 'en'); $fileExt = $request->input('fileExt'); $withSample = $request->has('sample') && $request->sample === 'true'; - $storagePublicUrl = $this->storageConfig->get('url.public'); - $storagePrivateUrl = $this->storageConfig->get('url.private'); + $storagePublicUrl = $this->settings->getSetting('url.storage.public'); + $storagePrivateUrl = $this->settings->getSetting('url.storage.private'); $user = app(FindUserQueryHandler::class) ->__invoke(new FindUserQuery($userId)); @@ -226,14 +222,15 @@ class EditorController extends Controller } // check if the secret key to generate token exists - if ($this->serverConfig->get('jwt.enabled')) { - $config['token'] = $jwt->encode($config); // encode config into the token + if ($this->settings->getSetting('jwt.enabled')) { + // encode config into the token + $config['token'] = $jwt->encode($config, $this->settings->getSetting('jwt.secret')); // encode the dataInsertImage object into the token - $dataInsertImage['token'] = $jwt->encode($dataInsertImage); + $dataInsertImage['token'] = $jwt->encode($dataInsertImage, $this->settings->getSetting('jwt.secret')); // encode the dataDocument object into the token - $dataDocument['token'] = $jwt->encode($dataDocument); + $dataDocument['token'] = $jwt->encode($dataDocument, $this->settings->getSetting('jwt.secret')); // encode the dataSpreadsheet object into the token - $dataSpreadsheet['token'] = $jwt->encode($dataSpreadsheet); + $dataSpreadsheet['token'] = $jwt->encode($dataSpreadsheet, $this->settings->getSetting('jwt.secret')); } $historyLayout = ''; @@ -266,7 +263,7 @@ class EditorController extends Controller $editorConfig = [ 'fileName' => $file['filename'], 'docType' => $file['format']->type, - 'apiUrl' => $this->serverConfig->get('url.api'), + 'apiUrl' => $this->settings->getSetting('url.api'), 'dataInsertImage' => mb_strimwidth( json_encode($dataInsertImage), 1, @@ -325,7 +322,7 @@ class EditorController extends Controller $user = $data['users'][0]; $changes = null; - $url = Str::replace(URL::origin($url), $this->serverConfig->get('url.private'), $url); + $url = Str::replace(URL::origin($url), $this->settings->getSetting('url.server.private'), $url); $fileExtension = PathInfo::extension($filename); $downloadExtension = PathInfo::extension($url); @@ -354,7 +351,7 @@ class EditorController extends Controller if (array_key_exists('changesurl', $data)) { $changesUrl = $data['changesurl']; - $changesUrl = Str::replace(URL::origin($changesUrl), $this->serverConfig->get('url.private'), $changesUrl); + $changesUrl = Str::replace(URL::origin($changesUrl), $this->settings->getSetting('url.server.private'), $changesUrl); $changes = app(DownloadFileCommand::class) ->__invoke(new DownloadFileRequest(url: $changesUrl))['content']; @@ -390,7 +387,7 @@ class EditorController extends Controller $key = $data['key']; $user = $data['users'][0]; - $url = Str::replace(URL::origin($url), $this->serverConfig->get('url.private'), $url); + $url = Str::replace(URL::origin($url), $this->settings->getSetting('url.server.private'), $url); $fileExtension = PathInfo::extension($filename); $downloadExtension = PathInfo::extension($url); @@ -421,7 +418,7 @@ class EditorController extends Controller $formsDataUrl = $data['formsdataurl']; $formsDataUrl = Str::replace( URL::origin($formsDataUrl), - $this->serverConfig->get('url.private'), + $this->settings->getSetting('url.server.private'), $formsDataUrl ); diff --git a/web/documentserver-example/php-laravel/app/Http/Controllers/FileController.php b/web/documentserver-example/php-laravel/app/Http/Controllers/FileController.php index b45ce33d..1867b6f7 100644 --- a/web/documentserver-example/php-laravel/app/Http/Controllers/FileController.php +++ b/web/documentserver-example/php-laravel/app/Http/Controllers/FileController.php @@ -20,8 +20,8 @@ namespace App\Http\Controllers; use App\Helpers\Path\Path; use App\Helpers\Path\PathInfo; use App\Helpers\URL\URL; -use App\Services\ServerConfig; -use App\Services\StorageConfig; +use App\OnlyOffice\Managers\SettingsManager; +use App\Repositories\FormatRepository; use App\UseCases\Common\Http\DownloadFileCommand; use App\UseCases\Common\Http\DownloadFileRequest; use App\UseCases\Docs\Command\UpdateMetaCommand; @@ -48,8 +48,8 @@ use Illuminate\Support\Str; class FileController extends Controller { public function __construct( - private ServerConfig $serverConfig, - private StorageConfig $storageConfig, + private SettingsManager $settings, + private FormatRepository $formatRepository, ) {} public function index(Request $request) @@ -123,7 +123,7 @@ class FileController extends Controller $user = $request->input('user', ''); - $url = Str::replace(URL::origin($request->url), $this->serverConfig->get('url.private'), $request->url); + $url = Str::replace(URL::origin($request->url), $this->settings->getSetting('url.server.private'), $request->url); $downloadedFile = app(DownloadFileCommand::class) ->__invoke(new DownloadFileRequest(url: $url)); diff --git a/web/documentserver-example/php-laravel/app/Http/Controllers/IndexController.php b/web/documentserver-example/php-laravel/app/Http/Controllers/IndexController.php index 208de7ba..79bb8bf0 100644 --- a/web/documentserver-example/php-laravel/app/Http/Controllers/IndexController.php +++ b/web/documentserver-example/php-laravel/app/Http/Controllers/IndexController.php @@ -18,8 +18,7 @@ namespace App\Http\Controllers; use App\Helpers\URL\URL; -use App\Services\ServerConfig; -use App\Services\StorageConfig; +use App\OnlyOffice\Managers\SettingsManager; use App\UseCases\Document\Find\FindAllDocumentsQuery; use App\UseCases\Document\Find\FindAllDocumentsQueryHandler; use App\UseCases\Language\Find\FindAllLanguagesQueryHandler; @@ -30,12 +29,12 @@ use Illuminate\Support\Str; class IndexController extends Controller { - public function index(Request $request, ServerConfig $serverConfig, StorageConfig $storageConfig) + public function index(Request $request, SettingsManager $settings) { $directUrlEnabled = $request->has('directUrl') && $request->directUrl === 'true'; $directUrlArg = 'directUrl='.($directUrlEnabled ? 'true' : 'false'); - $preloaderUrl = $serverConfig->get('url.preloader'); + $preloaderUrl = $settings->getSetting('url.preloader'); $files = app(FindAllDocumentsQueryHandler::class) ->__invoke(new FindAllDocumentsQuery($request->ip())); @@ -49,7 +48,7 @@ class IndexController extends Controller foreach ($files as &$file) { $url = route('files.download', ['fileName' => urlencode($file['filename']), 'dmode' => true]); - $file['url'] = Str::replace(URL::origin($url), $storageConfig->get('url.public'), $url); + $file['url'] = Str::replace(URL::origin($url), $settings->getSetting('url.storage.public'), $url); } return view('index', [ diff --git a/web/documentserver-example/php-laravel/app/Http/Middleware/CheckAndDecodeJWTPayload.php b/web/documentserver-example/php-laravel/app/Http/Middleware/CheckAndDecodeJWTPayload.php index f57619c9..4795e0da 100644 --- a/web/documentserver-example/php-laravel/app/Http/Middleware/CheckAndDecodeJWTPayload.php +++ b/web/documentserver-example/php-laravel/app/Http/Middleware/CheckAndDecodeJWTPayload.php @@ -2,8 +2,8 @@ namespace App\Http\Middleware; -use App\Services\JWT; -use App\Services\ServerConfig; +use App\OnlyOffice\Managers\JWTManager; +use App\OnlyOffice\Managers\SettingsManager; use Closure; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; @@ -17,18 +17,17 @@ class CheckAndDecodeJWTPayload */ public function handle(Request $request, Closure $next): Response { - $config = app(ServerConfig::class); - $jwt = app(JWT::class); + $jwt = app(JWTManager::class); + $settings = app(SettingsManager::class); $payload = null; $embeded = $request->has('dmode'); - if ($config->get('jwt.enabled') && $embeded == null && $config->get('jwt.use_for_request')) { + if ($settings->getSetting('jwt.enabled') && $embeded == null && $settings->getSetting('jwt.use_for_request')) { if ($request->token) { - $payload = $jwt->decode($request->token); + $payload = $jwt->decode($request->token, $settings->getSetting('jwt.secret')); $payload = json_decode(json_encode($payload), true); - } elseif ($request->hasHeader($config->get('jwt.header'))) { - $payload = $jwt->decode($request->bearerToken()); - $payload = json_decode($payload); + } elseif ($request->hasHeader($settings->getSetting('jwt.header'))) { + $payload = $jwt->decode($request->bearerToken(), $settings->getSetting('jwt.secret')); } else { abort(499, 'Expected JWT token'); } diff --git a/web/documentserver-example/php-laravel/app/Http/Middleware/EnsureJWTTokenIsPresent.php b/web/documentserver-example/php-laravel/app/Http/Middleware/EnsureJWTTokenIsPresent.php index 2e02c57e..2091777c 100644 --- a/web/documentserver-example/php-laravel/app/Http/Middleware/EnsureJWTTokenIsPresent.php +++ b/web/documentserver-example/php-laravel/app/Http/Middleware/EnsureJWTTokenIsPresent.php @@ -2,8 +2,8 @@ namespace App\Http\Middleware; -use App\Services\JWT; -use App\Services\ServerConfig; +use App\OnlyOffice\Managers\JWTManager; +use App\OnlyOffice\Managers\SettingsManager; use Closure; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; @@ -17,13 +17,13 @@ class EnsureJWTTokenIsPresent */ public function handle(Request $request, Closure $next): Response { - $config = app(ServerConfig::class); - $jwt = app(JWT::class); + $jwt = app(JWTManager::class); + $settings = app(SettingsManager::class); $embeded = $request->has('dmode'); - if ($config->get('jwt.enabled') && $embeded == null && $config->get('jwt.use_for_request')) { - if ($request->hasHeader($config->get('jwt.header'))) { - $token = $jwt->decode($request->bearerToken()); + if ($settings->getSetting('jwt.enabled') && $embeded == null && $settings->getSetting('jwt.use_for_request')) { + if ($request->hasHeader($settings->getSetting('jwt.header'))) { + $token = $jwt->decode($request->bearerToken(), $settings->getSetting('jwt.secret')); if (empty($token)) { abort(498, 'Invalid JWT signature'); diff --git a/web/documentserver-example/php-laravel/app/Services/Config.php b/web/documentserver-example/php-laravel/app/Services/Config.php deleted file mode 100644 index af8ce1fc..00000000 --- a/web/documentserver-example/php-laravel/app/Services/Config.php +++ /dev/null @@ -1,41 +0,0 @@ -config; - - try { - foreach ($keys as $key) { - $result = $result[$key]; - } - } catch (Exception $e) { - $result = $default; - } - - return $result; - } -} diff --git a/web/documentserver-example/php-laravel/app/Services/Docs/Command/CommandRequest.php b/web/documentserver-example/php-laravel/app/Services/Docs/Command/CommandRequest.php index 4d29f9b3..7f8ed804 100644 --- a/web/documentserver-example/php-laravel/app/Services/Docs/Command/CommandRequest.php +++ b/web/documentserver-example/php-laravel/app/Services/Docs/Command/CommandRequest.php @@ -18,8 +18,8 @@ namespace App\Services\Docs\Command; use App\Exceptions\CommandServiceError; -use App\Services\JWT; -use App\Services\ServerConfig; +use App\OnlyOffice\Managers\JWTManager; +use App\OnlyOffice\Managers\SettingsManager; use Exception; use Illuminate\Support\Facades\Http; use Illuminate\Support\Str; @@ -28,29 +28,29 @@ class CommandRequest { private array $headers = []; - public function __construct(private ServerConfig $config, private JWT $jwt) {} + public function __construct(private SettingsManager $settings, private JWTManager $jwt) {} private function withJWTHeader(array $content): void { - $token = $this->jwt->encode(['payload' => $content]); - $this->headers = [$this->config->get('jwt.header') => "Bearer $token"]; + $token = $this->jwt->encode(['payload' => $content], $this->settings->getSetting('jwt.secret')); + $this->headers = [$this->settings->getSetting('jwt.header') => "Bearer $token"]; } public function send(array $content, ?string $key = null): mixed { - if ($this->config->get('jwt.enabled')) { + if ($this->settings->getSetting('jwt.enabled')) { $this->withJWTHeader($content); - $content['token'] = $this->jwt->encode($content); + $content['token'] = $this->jwt->encode($content, $this->settings->getSetting('jwt.secret')); } $client = Http::withHeaders($this->headers) ->asJson() ->acceptJson(); - $url = $this->config->get('url.command'); + $url = $this->settings->getSetting('url.command'); if (Str::of($url)->isUrl(['https']) - && ! $this->config->get('ssl_verify')) { + && ! $this->settings->getSetting('ssl_verify')) { $client = $client->withoutVerifying(); } diff --git a/web/documentserver-example/php-laravel/app/Services/Docs/Conversion/ConversionRequest.php b/web/documentserver-example/php-laravel/app/Services/Docs/Conversion/ConversionRequest.php index fdaa0740..9f34f318 100644 --- a/web/documentserver-example/php-laravel/app/Services/Docs/Conversion/ConversionRequest.php +++ b/web/documentserver-example/php-laravel/app/Services/Docs/Conversion/ConversionRequest.php @@ -19,8 +19,8 @@ namespace App\Services\Docs\Conversion; use App\Exceptions\ConversionError; use App\Exceptions\ConversionNotComplete; -use App\Services\JWT; -use App\Services\ServerConfig; +use App\OnlyOffice\Managers\JWTManager; +use App\OnlyOffice\Managers\SettingsManager; use Exception; use Illuminate\Support\Facades\Http; use Illuminate\Support\Str; @@ -29,31 +29,31 @@ class ConversionRequest { private array $headers = []; - public function __construct(private ServerConfig $config, private JWT $jwt) {} + public function __construct(private SettingsManager $settings, private JWTManager $jwt) {} private function withJWTHeader(array $content): void { - $token = $this->jwt->encode(['payload' => $content]); - $this->headers = [$this->config->get('jwt.header') => "Bearer $token"]; + $token = $this->jwt->encode(['payload' => $content], $this->settings->getSetting('jwt.secret')); + $this->headers = [$this->settings->getSetting('jwt.header') => "Bearer $token"]; } public function send(array $content, ?string $key = null): mixed { - if ($this->config->get('jwt.enabled')) { + if ($this->settings->getSetting('jwt.enabled')) { $this->withJWTHeader($content); - $content['token'] = $this->jwt->encode($content); + $content['token'] = $this->jwt->encode($content, $this->settings->getSetting('jwt.secret')); } $client = Http::withHeaders($this->headers) - ->timeout($this->config->get('conversion.timeout')) + ->timeout($this->settings->getSetting('conversion.timeout')) ->asJson() ->acceptJson(); - $url = $this->config->get('conversion.url'); + $url = $this->settings->getSetting('conversion.url'); if ( Str::of($url)->isUrl(['https']) - && ! $this->config->get('ssl_verify') + && ! $this->settings->getSetting('ssl_verify') ) { $client = $client->withoutVerifying(); } diff --git a/web/documentserver-example/php-laravel/app/Services/JWT.php b/web/documentserver-example/php-laravel/app/Services/JWT.php deleted file mode 100644 index bdb8bc7a..00000000 --- a/web/documentserver-example/php-laravel/app/Services/JWT.php +++ /dev/null @@ -1,64 +0,0 @@ -secret = $config->get('jwt.secret'); - $this->algorithm = $config->get('jwt.algorithm'); - } - - /** - * Encode a payload object into a token using a secret key - * - * @param array $payload - */ - public function encode(mixed $payload): string - { - return FirebaseJWT::encode($payload, $this->secret, $this->algorithm); - } - - /** - * Decode a token into a payload object using a secret key - * - * - * @return string - */ - public function decode(string $token) - { - try { - $payload = FirebaseJWT::decode( - $token, - new Key($this->secret, $this->algorithm), - ); - } catch (\UnexpectedValueException $e) { - $payload = ''; - } - - return $payload; - } -} diff --git a/web/documentserver-example/php-laravel/app/Services/ServerConfig.php b/web/documentserver-example/php-laravel/app/Services/ServerConfig.php deleted file mode 100644 index 5d2a9cb4..00000000 --- a/web/documentserver-example/php-laravel/app/Services/ServerConfig.php +++ /dev/null @@ -1,57 +0,0 @@ -config = [ - 'conversion' => [ - 'timeout' => env('DOCUMENT_SERVER_CONVERSION_TIMEOUT', 120 * 1000), - 'url' => $conversionUrl, - ], - - 'ssl_verify' => env('DOCUMENT_SERVER_SSL_VERIFY_PEER_MODE_ENABLED', false), - 'jwt' => [ - 'enabled' => $jwtSecret && $jwtUseForRequest, - 'secret' => $jwtSecret, - 'header' => env('DOCUMENT_SERVER_JWT_HEADER', 'Authorization'), - 'use_for_request' => $jwtUseForRequest, - 'algorithm' => env('DOCUMENT_SERVER_JWT_ALGORITHM', 'HS256'), - ], - 'url' => [ - 'api' => $apiUrl, - 'public' => $publicServerUrl, - 'private' => $privateServerUrl, - 'preloader' => $preloaderUrl, - 'command' => $commandUrl, - ], - ]; - } -} diff --git a/web/documentserver-example/php-laravel/app/Services/StorageConfig.php b/web/documentserver-example/php-laravel/app/Services/StorageConfig.php deleted file mode 100644 index 53479410..00000000 --- a/web/documentserver-example/php-laravel/app/Services/StorageConfig.php +++ /dev/null @@ -1,38 +0,0 @@ -schemeAndHttpHost()), '/'); - $privateStorageUrl = rtrim(env('DOCUMENT_STORAGE_PRIVATE_URL', $publicStorageUrl), '/'); - - $this->config = [ - 'url' => [ - 'private' => $privateStorageUrl, - 'public' => $publicStorageUrl, - ], - 'file' => [ - 'max_size' => env('DOCUMENT_STORAGE_MAXIMUM_FILE_SIZE', 5 * 1024 * 1024), - ], - ]; - } -} diff --git a/web/documentserver-example/php-laravel/app/UseCases/Docs/Conversion/ConvertCommand.php b/web/documentserver-example/php-laravel/app/UseCases/Docs/Conversion/ConvertCommand.php index 9e82cbad..f93befb0 100644 --- a/web/documentserver-example/php-laravel/app/UseCases/Docs/Conversion/ConvertCommand.php +++ b/web/documentserver-example/php-laravel/app/UseCases/Docs/Conversion/ConvertCommand.php @@ -23,18 +23,12 @@ use App\Helpers\Path\PathInfo; use App\Helpers\URL\FileURL; use App\Repositories\FormatRepository; use App\Services\Docs\Conversion\ConversionRequest; -use App\Services\JWT; -use App\Services\ServerConfig; use Exception; use Illuminate\Support\Str; class ConvertCommand { - public function __construct( - private ServerConfig $serverConfig, - private FormatRepository $formatRepository, - private JWT $jwt, - ) {} + public function __construct(private FormatRepository $formatRepository) {} public function __invoke(ConvertRequest $request): mixed { diff --git a/web/documentserver-example/php-laravel/app/UseCases/Document/Find/FindDocumentHistoryQueryHandler.php b/web/documentserver-example/php-laravel/app/UseCases/Document/Find/FindDocumentHistoryQueryHandler.php index a3814de2..475c05dc 100644 --- a/web/documentserver-example/php-laravel/app/UseCases/Document/Find/FindDocumentHistoryQueryHandler.php +++ b/web/documentserver-example/php-laravel/app/UseCases/Document/Find/FindDocumentHistoryQueryHandler.php @@ -4,15 +4,18 @@ namespace App\UseCases\Document\Find; use App\Helpers\Path\PathInfo; use App\Helpers\URL\FileURL; +use App\OnlyOffice\Managers\JWTManager; +use App\OnlyOffice\Managers\SettingsManager; use App\Repositories\UserRepository; use App\Repositories\VersionRepository; -use App\Services\JWT; class FindDocumentHistoryQueryHandler { public function __construct( private VersionRepository $versionRepository, private UserRepository $userRepository, + private SettingsManager $settings, + private JWTManager $jwt, ) {} public function __invoke(FindDocumentHistoryQuery $request): array @@ -59,7 +62,7 @@ class FindDocumentHistoryQueryHandler $item['url'] = FileURL::download( PathInfo::basename($request->filename), $request->userAddress ); - $item['token'] = app(JWT::class)->encode($item); + $item['token'] = $this->jwt->encode($item, $this->settings->getSetting('jwt.secret')); $history['history'][] = $item; } diff --git a/web/documentserver-example/php-laravel/app/UseCases/Forgotten/Find/FindAllForgottenFilesQueryHandler.php b/web/documentserver-example/php-laravel/app/UseCases/Forgotten/Find/FindAllForgottenFilesQueryHandler.php index 14cbcbaa..2b67e225 100644 --- a/web/documentserver-example/php-laravel/app/UseCases/Forgotten/Find/FindAllForgottenFilesQueryHandler.php +++ b/web/documentserver-example/php-laravel/app/UseCases/Forgotten/Find/FindAllForgottenFilesQueryHandler.php @@ -19,16 +19,16 @@ namespace App\UseCases\Forgotten\Find; use App\Helpers\Path\PathInfo; use App\Helpers\URL\URL; +use App\OnlyOffice\Managers\SettingsManager; use App\Repositories\FormatRepository; use App\Services\Docs\Command\ForgottenFileRequest; use App\Services\Docs\Command\ForgottenListRequest; -use App\Services\ServerConfig; use Illuminate\Support\Str; class FindAllForgottenFilesQueryHandler { public function __construct( - private ServerConfig $serverConfig, + private SettingsManager $settings, private FormatRepository $formatRepository, ) {} @@ -46,7 +46,7 @@ class FindAllForgottenFilesQueryHandler foreach ($filesList as $fileItem) { $url = $fileItem['url']; - $url = Str::replace(URL::origin($url), $this->serverConfig->get('url.public'), $url); + $url = Str::replace(URL::origin($url), $this->settings->getSetting('url.server.public'), $url); $files[] = [ 'key' => $fileItem['key'],