Skip to content

Commit 91363e4

Browse files
Use post_clar capability in new API format
1 parent 1a0057e commit 91363e4

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

webapp/src/Controller/API/AccessController.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@ public function getStatusAction(Request $request): Access
8282
$submissionsProperties[] = 'files';
8383
}
8484

85+
/** @var CcsApiVersion $ccsApiVersion */
86+
$ccsApiVersion = $this->config->get('ccs_api_version');
87+
8588
$capabilities = [];
8689

8790
// Add capabilities
@@ -91,7 +94,11 @@ public function getStatusAction(Request $request): Access
9194
}
9295
if ($this->dj->checkrole('team') && $this->dj->getUser()->getTeam()) {
9396
$capabilities[] = 'team_submit';
94-
$capabilities[] = 'team_clar';
97+
if ($ccsApiVersion->usePostClar()) {
98+
$capabilities[] = 'post_clar';
99+
} else {
100+
$capabilities[] = 'team_clar';
101+
}
95102
}
96103
if ($this->dj->checkrole('api_writer')) {
97104
$capabilities[] = 'proxy_submit';
@@ -100,9 +107,6 @@ public function getStatusAction(Request $request): Access
100107
$capabilities[] = 'admin_clar';
101108
}
102109

103-
/** @var CcsApiVersion $ccsApiVersion */
104-
$ccsApiVersion = $this->config->get('ccs_api_version');
105-
106110
return new Access(
107111
capabilities: $capabilities,
108112
endpoints: [

webapp/src/Utils/CcsApiVersion.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,12 @@ public function useRelTimes(): bool
3232
default => true,
3333
};
3434
}
35+
36+
public function usePostClar(): bool
37+
{
38+
return match ($this) {
39+
self::Format_2020_03, self::Format_2023_06 => false,
40+
default => true,
41+
};
42+
}
3543
}

webapp/tests/Unit/Controller/API/AccessControllerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public function testAccessAsAdmin(): void
2222
$access = $this->verifyApiJsonResponse('GET', $url, 200, 'admin');
2323
self::assertArrayHasKey('capabilities', $access);
2424
self::assertSame(
25-
['contest_start', 'contest_thaw', 'team_submit', 'team_clar', 'proxy_submit', 'proxy_clar', 'admin_submit', 'admin_clar'],
25+
['contest_start', 'contest_thaw', 'team_submit', 'post_clar', 'proxy_submit', 'proxy_clar', 'admin_submit', 'admin_clar'],
2626
$access['capabilities']
2727
);
2828

0 commit comments

Comments
 (0)