Skip to content

Commit 60809e1

Browse files
committed
enh(PersonalSettings): Add a section listing the configured backends
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
1 parent fc33b3d commit 60809e1

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

lib/Settings/Personal.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use OCP\AppFramework\Services\IInitialState;
88
use OCP\IConfig;
99
use OCP\Settings\ISettings;
10+
use OCP\TaskProcessing\Exception\Exception;
1011
use OCP\TaskProcessing\IManager as ITaskProcessingManager;
1112
use OCP\TaskProcessing\TaskTypes\AudioToText;
1213
use OCP\TaskProcessing\TaskTypes\TextToImage;
@@ -57,6 +58,17 @@ public function getForm(): TemplateResponse {
5758
'speech_to_text_picker_enabled' => $speechToTextPickerEnabled,
5859
];
5960
$this->initialStateService->provideInitialState('config', $userConfig);
61+
62+
$availableProviders = [];
63+
foreach ($availableTaskTypes as $taskTypeId => $availableTaskType) {
64+
try {
65+
$provider = $this->taskProcessingManager->getPreferredProvider($taskTypeId);
66+
$availableProviders[$availableTaskType['name']] = $provider->getName();
67+
} catch (Exception $e) {
68+
// pass
69+
}
70+
}
71+
$this->initialStateService->provideInitialState('availableProviders', $availableProviders);
6072
return new TemplateResponse(Application::APP_ID, 'personalSettings');
6173
}
6274

src/components/PersonalSettings.vue

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,15 @@
3939
{{ t('assistant', 'No suitable providers are available. They must first be enabled by your administrator.') }}
4040
</span>
4141
</div>
42+
<div v-else>
43+
<h3>{{ t('assistant', 'Configured Backends') }}</h3>
44+
<p>{{ t('assistant', 'The following services are used as backends for Nextcloud Assistant:') }}</p>
45+
<ul>
46+
<li v-for="(providerName, taskName) in providers" :key="taskName">
47+
{{ t('assistant', '{providerName} for {taskName}', {providerName, taskName}) }}
48+
</li>
49+
</ul>
50+
</div>
4251
</div>
4352
</div>
4453
</template>
@@ -68,6 +77,7 @@ export default {
6877
data() {
6978
return {
7079
state: loadState('assistant', 'config'),
80+
providers: loadState('assistant', 'availableProviders'),
7181
}
7282
},
7383

0 commit comments

Comments
 (0)