fix: resolve CI linting issues for Astroglobe

Fix all ESLint, Stylelint, PHP CS Fixer, and Psalm workflow errors.

Changes:
- ESLint fixes:
  - Remove unused APP_NAME constant
  - Remove unused TextBoxOutline and TextBoxRemoveOutline components
  - Remove unused container variable in adminSettings.js
  - Auto-fix trailing commas, line breaks, attribute ordering
- PHP CS Fixer:
  - Add trailing commas after last function parameters
  - Convert double quotes to single quotes in log messages
  - Remove unused NoCSRFRequired import
  - Fix arrow function formatting
- Stylelint:
  - Update config to use @nextcloud/stylelint-config
  - Fix extends directive (was using non-existent package)
- Psalm workflow:
  - Fix jq object indexing (.include[0] instead of .[0])
  - Correctly extract OCP version from matrix output

All checks now pass locally.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Chris Coutinho
2025-12-15 22:05:14 +01:00
parent 5a6205476a
commit dfc81923ba
15 changed files with 109 additions and 88 deletions
+1 -1
View File
@@ -25,7 +25,7 @@ class IdpTokenRefresher {
public function __construct(
IConfig $config,
IClientService $clientService,
LoggerInterface $logger
LoggerInterface $logger,
) {
$this->config = $config;
$this->httpClient = $clientService->newClient();
+7 -7
View File
@@ -24,7 +24,7 @@ class McpServerClient {
public function __construct(
IClientService $clientService,
IConfig $config,
LoggerInterface $logger
LoggerInterface $logger,
) {
$this->httpClient = $clientService->newClient();
$this->config = $config;
@@ -85,7 +85,7 @@ class McpServerClient {
public function getUserSession(string $userId, string $token): array {
try {
$response = $this->httpClient->get(
$this->baseUrl . "/api/v1/users/" . urlencode($userId) . "/session",
$this->baseUrl . '/api/v1/users/' . urlencode($userId) . '/session',
[
'headers' => [
'Authorization' => 'Bearer ' . $token
@@ -120,7 +120,7 @@ class McpServerClient {
public function revokeUserAccess(string $userId, string $token): array {
try {
$response = $this->httpClient->post(
$this->baseUrl . "/api/v1/users/" . urlencode($userId) . "/revoke",
$this->baseUrl . '/api/v1/users/' . urlencode($userId) . '/revoke',
[
'headers' => [
'Authorization' => 'Bearer ' . $token
@@ -203,7 +203,7 @@ class McpServerClient {
int $limit = 10,
bool $includePca = true,
?array $docTypes = null,
?string $token = null
?string $token = null,
): array {
try {
$requestBody = [
@@ -284,7 +284,7 @@ class McpServerClient {
int $offset = 0,
string $algorithm = 'hybrid',
string $fusion = 'rrf',
float $scoreThreshold = 0.0
float $scoreThreshold = 0.0,
): array {
try {
$response = $this->httpClient->post(
@@ -416,7 +416,7 @@ class McpServerClient {
string $event,
string $uri,
?array $eventFilter,
string $token
string $token,
): array {
try {
$requestBody = [
@@ -549,7 +549,7 @@ class McpServerClient {
string $docId,
int $start,
int $end,
string $token
string $token,
): array {
try {
$response = $this->httpClient->get(
+3 -3
View File
@@ -22,7 +22,7 @@ class McpTokenStorage {
public function __construct(
IConfig $config,
ICrypto $crypto,
LoggerInterface $logger
LoggerInterface $logger,
) {
$this->config = $config;
$this->crypto = $crypto;
@@ -43,7 +43,7 @@ class McpTokenStorage {
string $userId,
string $accessToken,
string $refreshToken,
int $expiresAt
int $expiresAt,
): void {
try {
$tokenData = [
@@ -158,7 +158,7 @@ class McpTokenStorage {
*
* @param string $userId User ID
* @param callable|null $refreshCallback Callback to refresh token if expired
* Should accept (refreshToken) and return new token data
* Should accept (refreshToken) and return new token data
* @return string|null Access token, or null if not available
*/
public function getAccessToken(string $userId, ?callable $refreshCallback = null): ?string {
+11 -11
View File
@@ -12,24 +12,24 @@ namespace OCA\Astroglobe\Service;
*/
class WebhookPresets {
// File/Notes webhook events
public const FILE_EVENT_CREATED = "OCP\\Files\\Events\\Node\\NodeCreatedEvent";
public const FILE_EVENT_WRITTEN = "OCP\\Files\\Events\\Node\\NodeWrittenEvent";
public const FILE_EVENT_CREATED = 'OCP\\Files\\Events\\Node\\NodeCreatedEvent';
public const FILE_EVENT_WRITTEN = 'OCP\\Files\\Events\\Node\\NodeWrittenEvent';
// Use BeforeNodeDeletedEvent instead of NodeDeletedEvent to get node.id
// See: https://github.com/nextcloud/server/issues/56371
public const FILE_EVENT_DELETED = "OCP\\Files\\Events\\Node\\BeforeNodeDeletedEvent";
public const FILE_EVENT_DELETED = 'OCP\\Files\\Events\\Node\\BeforeNodeDeletedEvent';
// Calendar webhook events
public const CALENDAR_EVENT_CREATED = "OCP\\Calendar\\Events\\CalendarObjectCreatedEvent";
public const CALENDAR_EVENT_UPDATED = "OCP\\Calendar\\Events\\CalendarObjectUpdatedEvent";
public const CALENDAR_EVENT_DELETED = "OCP\\Calendar\\Events\\CalendarObjectDeletedEvent";
public const CALENDAR_EVENT_CREATED = 'OCP\\Calendar\\Events\\CalendarObjectCreatedEvent';
public const CALENDAR_EVENT_UPDATED = 'OCP\\Calendar\\Events\\CalendarObjectUpdatedEvent';
public const CALENDAR_EVENT_DELETED = 'OCP\\Calendar\\Events\\CalendarObjectDeletedEvent';
// Tables webhook events (Nextcloud 30+)
public const TABLES_EVENT_ROW_ADDED = "OCA\\Tables\\Event\\RowAddedEvent";
public const TABLES_EVENT_ROW_UPDATED = "OCA\\Tables\\Event\\RowUpdatedEvent";
public const TABLES_EVENT_ROW_DELETED = "OCA\\Tables\\Event\\RowDeletedEvent";
public const TABLES_EVENT_ROW_ADDED = 'OCA\\Tables\\Event\\RowAddedEvent';
public const TABLES_EVENT_ROW_UPDATED = 'OCA\\Tables\\Event\\RowUpdatedEvent';
public const TABLES_EVENT_ROW_DELETED = 'OCA\\Tables\\Event\\RowDeletedEvent';
// Forms webhook events (Nextcloud 30+)
public const FORMS_EVENT_FORM_SUBMITTED = "OCA\\Forms\\Events\\FormSubmittedEvent";
public const FORMS_EVENT_FORM_SUBMITTED = 'OCA\\Forms\\Events\\FormSubmittedEvent';
// NOTE: Deck and Contacts do NOT support webhooks
// Their event classes do not implement IWebhookCompatibleEvent interface.
@@ -163,7 +163,7 @@ class WebhookPresets {
}
return array_map(
fn($eventConfig) => $eventConfig['event'],
fn ($eventConfig) => $eventConfig['event'],
$preset['events']
);
}