v1.0.43 - use OCS controller

This commit is contained in:
2026-04-16 20:54:35 +02:00
parent 963e61d0c3
commit f847bc8a0a
4 changed files with 13 additions and 14 deletions

View File

@@ -4,7 +4,7 @@
<name>Minimal Profile</name>
<summary>Hides profile fields to create a minimal user profile</summary>
<description>Allows administrators to hide profile fields like pronouns, social links, etc.</description>
<version>1.0.42</version>
<version>1.0.43</version>
<licence>AGPL</licence>
<author>Your Name</author>
<namespace>MinimalProfile</namespace>

View File

@@ -1,6 +1,6 @@
<?php
return [
'routes' => [
'ocs' => [
['name' => 'api#getHiddenFields', 'url' => '/api/v1/hidden-fields', 'verb' => 'GET'],
],
];

View File

@@ -1,5 +1,5 @@
/**
* MinimalProfile v41 - API-based config
* MinimalProfile v42 - OCS API
*/
(function() {
'use strict';
@@ -8,7 +8,7 @@
return;
}
console.log('MinimalProfile v41: Starting');
console.log('MinimalProfile v42: Starting');
var map = {
'pronouns': '#account-property-pronouns',
@@ -36,22 +36,22 @@
function loadConfig() {
var xhr = new XMLHttpRequest();
xhr.open('GET', '/apps/minimalprofile/api/v1/hidden-fields', true);
xhr.open('GET', '/ocs/v2.php/apps/minimalprofile/api/v1/hidden-fields', true);
xhr.onload = function() {
if (xhr.status === 200) {
try {
var data = JSON.parse(xhr.responseText);
console.log('MinimalProfile v41: API returned', data.hiddenFields);
hideFields(data.hiddenFields);
console.log('MinimalProfile v42: API returned', data.ocs.data.hiddenFields);
hideFields(data.ocs.data.hiddenFields);
} catch(e) {
console.error('MinimalProfile v41: JSON parse error', e);
console.error('MinimalProfile v42: JSON parse error', e);
}
} else {
console.error('MinimalProfile v41: API failed', xhr.status);
console.error('MinimalProfile v42: API failed', xhr.status);
}
};
xhr.onerror = function() {
console.error('MinimalProfile v41: Network error');
console.error('MinimalProfile v42: Network error');
};
xhr.send();
}

View File

@@ -4,21 +4,20 @@ declare(strict_types=1);
namespace OCA\MinimalProfile\Controller;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\Attribute\PublicPage;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\OCSController;
use OCP\IConfig;
use OCP\IRequest;
class ApiController extends Controller {
class ApiController extends OCSController {
public function __construct(
string $appName,
IRequest $request,
private IConfig $config,
) {
parent::__construct($appName, $request);
parent::__construct('minimalprofile', $request);
}
#[NoCSRFRequired]