Skip to content

Commit 403502c

Browse files
committed
feat(testing): add conversion provider to testing app
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
1 parent 2fd9e12 commit 403502c

File tree

4 files changed

+44
-0
lines changed

4 files changed

+44
-0
lines changed

apps/testing/composer/composer/autoload_classmap.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
'OCA\\Testing\\Controller\\ConfigController' => $baseDir . '/../lib/Controller/ConfigController.php',
1313
'OCA\\Testing\\Controller\\LockingController' => $baseDir . '/../lib/Controller/LockingController.php',
1414
'OCA\\Testing\\Controller\\RateLimitTestController' => $baseDir . '/../lib/Controller/RateLimitTestController.php',
15+
'OCA\\Testing\\Conversion\\ConversionProvider' => $baseDir . '/../lib/Conversion/ConversionProvider.php',
1516
'OCA\\Testing\\Listener\\GetDeclarativeSettingsValueListener' => $baseDir . '/../lib/Listener/GetDeclarativeSettingsValueListener.php',
1617
'OCA\\Testing\\Listener\\RegisterDeclarativeSettingsListener' => $baseDir . '/../lib/Listener/RegisterDeclarativeSettingsListener.php',
1718
'OCA\\Testing\\Listener\\SetDeclarativeSettingsValueListener' => $baseDir . '/../lib/Listener/SetDeclarativeSettingsValueListener.php',

apps/testing/composer/composer/autoload_static.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ class ComposerStaticInitTesting
2727
'OCA\\Testing\\Controller\\ConfigController' => __DIR__ . '/..' . '/../lib/Controller/ConfigController.php',
2828
'OCA\\Testing\\Controller\\LockingController' => __DIR__ . '/..' . '/../lib/Controller/LockingController.php',
2929
'OCA\\Testing\\Controller\\RateLimitTestController' => __DIR__ . '/..' . '/../lib/Controller/RateLimitTestController.php',
30+
'OCA\\Testing\\Conversion\\ConversionProvider' => __DIR__ . '/..' . '/../lib/Conversion/ConversionProvider.php',
3031
'OCA\\Testing\\Listener\\GetDeclarativeSettingsValueListener' => __DIR__ . '/..' . '/../lib/Listener/GetDeclarativeSettingsValueListener.php',
3132
'OCA\\Testing\\Listener\\RegisterDeclarativeSettingsListener' => __DIR__ . '/..' . '/../lib/Listener/RegisterDeclarativeSettingsListener.php',
3233
'OCA\\Testing\\Listener\\SetDeclarativeSettingsValueListener' => __DIR__ . '/..' . '/../lib/Listener/SetDeclarativeSettingsValueListener.php',

apps/testing/lib/AppInfo/Application.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
namespace OCA\Testing\AppInfo;
88

99
use OCA\Testing\AlternativeHomeUserBackend;
10+
use OCA\Testing\Conversion\ConversionProvider;
1011
use OCA\Testing\Listener\GetDeclarativeSettingsValueListener;
1112
use OCA\Testing\Listener\RegisterDeclarativeSettingsListener;
1213
use OCA\Testing\Listener\SetDeclarativeSettingsValueListener;
@@ -49,6 +50,8 @@ public function register(IRegistrationContext $context): void {
4950
$context->registerTaskProcessingProvider(FakeTranscribeProvider::class);
5051
$context->registerTaskProcessingProvider(FakeContextWriteProvider::class);
5152

53+
$context->registerConversionProvider(ConversionProvider::class);
54+
5255
$context->registerDeclarativeSettings(DeclarativeSettingsForm::class);
5356
$context->registerEventListener(DeclarativeSettingsRegisterFormEvent::class, RegisterDeclarativeSettingsListener::class);
5457
$context->registerEventListener(DeclarativeSettingsGetValueEvent::class, GetDeclarativeSettingsValueListener::class);
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
/**
6+
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
7+
* SPDX-License-Identifier: AGPL-3.0-or-later
8+
*/
9+
10+
namespace OCA\Testing\Conversion;
11+
12+
use OCP\Conversion\ConversionMimeTuple;
13+
use OCP\Conversion\IConversionProvider;
14+
use OCP\Files\File;
15+
16+
class ConversionProvider implements IConversionProvider {
17+
18+
public function getName(): string {
19+
return 'testing';
20+
}
21+
22+
public function getSupportedMimeTypes(): array {
23+
$jpegConversions = new ConversionMimeTuple('image/jpeg', [
24+
'image/png',
25+
]);
26+
27+
return [$jpegConversions];
28+
}
29+
30+
public function convertFile(File $file, string $targetMimeType): mixed {
31+
$image = imagecreatefromstring($file->getContent());
32+
33+
imagepalettetotruecolor($image);
34+
35+
ob_start();
36+
imagepng($image);
37+
return ob_get_clean();
38+
}
39+
}

0 commit comments

Comments
 (0)