diff --git a/api/templates/emails/userActivation.de.html.twig b/api/templates/emails/userActivation.de.html.twig
index 78562f2e8b..572fdaba5d 100644
--- a/api/templates/emails/userActivation.de.html.twig
+++ b/api/templates/emails/userActivation.de.html.twig
@@ -1,8 +1,8 @@
-{% set preheader = 'Willkommen bei eCamp3' %}
+{% set preheader = 'Willkommen bei eCamp v3' %}
{% extends 'emails/baseLayout.twig' %}
{% block content %}
-
Willkommen bei eCamp3
+
Willkommen bei eCamp v3
Hallo {{ name }},
Du hast dich soeben für eCamp registriert.
diff --git a/api/templates/emails/userActivation.de.text.twig b/api/templates/emails/userActivation.de.text.twig
index 923fbaf43d..1d9542c331 100644
--- a/api/templates/emails/userActivation.de.text.twig
+++ b/api/templates/emails/userActivation.de.text.twig
@@ -1,4 +1,4 @@
-Willkommen bei eCamp3
+Willkommen bei eCamp v3
Hallo {{ name | raw }},
diff --git a/api/templates/emails/userActivation.en.html.twig b/api/templates/emails/userActivation.en.html.twig
index 76e86a2017..d0bf1bb4fd 100644
--- a/api/templates/emails/userActivation.en.html.twig
+++ b/api/templates/emails/userActivation.en.html.twig
@@ -1,8 +1,8 @@
-{% set preheader = 'Welcome to eCamp3' %}
+{% set preheader = 'Welcome to eCamp v3' %}
{% extends 'emails/baseLayout.twig' %}
{% block content %}
-
Welcome to eCamp3
+
Welcome to eCamp v3
Hi {{ name }},
We have just now received your registration for eCamp.
diff --git a/api/templates/emails/userActivation.en.text.twig b/api/templates/emails/userActivation.en.text.twig
index 163349f974..7a5f1b70bc 100644
--- a/api/templates/emails/userActivation.en.text.twig
+++ b/api/templates/emails/userActivation.en.text.twig
@@ -1,4 +1,4 @@
-Welcome to eCamp3
+Welcome to eCamp v3
We have just now received your registration for eCamp.
diff --git a/api/tests/Api/ECampApiTestCase.php b/api/tests/Api/ECampApiTestCase.php
index e89d1bb9d8..7ec5c7fcde 100644
--- a/api/tests/Api/ECampApiTestCase.php
+++ b/api/tests/Api/ECampApiTestCase.php
@@ -229,7 +229,7 @@ protected function delete(?BaseEntity $entity = null, ?User $user = null) {
return static::createClientWithCredentials($credentials)->request('DELETE', $this->endpoint.'/'.$entity->getId());
}
- protected function create(array $payload = null, ?User $user = null) {
+ protected function create(?array $payload = null, ?User $user = null) {
$credentials = null;
if (null !== $user) {
$credentials = ['email' => $user->getEmail()];
diff --git a/api/tests/Api/FirewallTest.php b/api/tests/Api/FirewallTest.php
new file mode 100644
index 0000000000..23fb030853
--- /dev/null
+++ b/api/tests/Api/FirewallTest.php
@@ -0,0 +1,115 @@
+enableProfiler();
+ $client->request('GET', $endpoint);
+
+ $collector = $client->getProfile()->getCollector('db');
+ /*
+ * 3 is:
+ * BEGIN TRANSACTION
+ * SAVEPOINT
+ * RELEASE SAVEPOINT
+ */
+ assertThat($collector->getQueryCount(), equalTo(3));
+ }
+
+ public static function getProtectedEnpoints(): array {
+ $protectedEnpoints = array_filter(self::getEndPoints(), function (string $endpoint) {
+ return self::isProtectedByFirewall($endpoint);
+ });
+
+ return ParametrizedTestHelper::asParameterTestSets($protectedEnpoints);
+ }
+
+ /**
+ * @throws ClientExceptionInterface
+ * @throws DecodingExceptionInterface
+ * @throws RedirectionExceptionInterface
+ * @throws ServerExceptionInterface
+ * @throws TransportExceptionInterface
+ */
+ #[DataProvider('getUnprotectedEnpoints')]
+ public function testUnprotectedEndpointsMayResultInQuery(string $endpoint) {
+ $client = self::createBasicClient();
+ $client->enableProfiler();
+ $client->request('GET', $endpoint);
+
+ $collector = $client->getProfile()->getCollector('db');
+ /*
+ * 3 is:
+ * BEGIN TRANSACTION
+ * SAVEPOINT
+ * RELEASE SAVEPOINT
+ */
+ assertThat($collector->getQueryCount(), greaterThanOrEqual(3));
+ }
+
+ public static function getUnprotectedEnpoints() {
+ $protectedEnpoints = array_filter(self::getEndPoints(), function (string $endpoint) {
+ return !self::isProtectedByFirewall($endpoint);
+ });
+
+ return ParametrizedTestHelper::asParameterTestSets($protectedEnpoints);
+ }
+
+ /**
+ * @throws RedirectionExceptionInterface
+ * @throws DecodingExceptionInterface
+ * @throws ClientExceptionInterface
+ * @throws TransportExceptionInterface
+ * @throws ServerExceptionInterface
+ */
+ private static function getEndPoints() {
+ static::bootKernel();
+ $client = static::createBasicClient();
+ $response = $client->request('GET', '/');
+
+ $responseArray = $response->toArray();
+ $onlyUrls = array_map(fn (array $item) => $item['href'], $responseArray['_links']);
+
+ return array_map(fn (string $uriTemplate) => preg_replace('/\\{[^}]*}/', '', $uriTemplate), $onlyUrls);
+ }
+
+ private static function isProtectedByFirewall(mixed $endpoint): bool {
+ return match ($endpoint) {
+ '/authentication_token' => false,
+ '/auth/google' => false,
+ '/auth/pbsmidata' => false,
+ '/auth/cevidb' => false,
+ '/auth/jubladb' => false,
+ '/auth/reset_password' => false,
+ '/content_types' => false,
+ '/invitations' => false,
+ default => true
+ };
+ }
+}
diff --git a/api/tests/Api/Invitations/AcceptInvitationTest.php b/api/tests/Api/Invitations/AcceptInvitationTest.php
index f97858c56e..307112e5bc 100644
--- a/api/tests/Api/Invitations/AcceptInvitationTest.php
+++ b/api/tests/Api/Invitations/AcceptInvitationTest.php
@@ -12,6 +12,9 @@
use Symfony\Contracts\HttpClient\Exception\ServerExceptionInterface;
use Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface;
+use function PHPUnit\Framework\assertThat;
+use function PHPUnit\Framework\greaterThanOrEqual;
+
/**
* @internal
*/
@@ -33,6 +36,33 @@ public function testAcceptInvitationFailsWhenNotLoggedIn() {
$this->assertResponseStatusCodeSame(401);
}
+ /**
+ * @throws TransportExceptionInterface
+ */
+ public function testAcceptInvitationDoesNotHitDBWhenNotLoggedIn() {
+ /** @var CampCollaboration $campCollaboration */
+ $campCollaboration = static::getFixture('campCollaboration2invitedCampUnrelated');
+ $client = static::createBasicClient();
+ $client->enableProfiler();
+ $client->request(
+ 'PATCH',
+ "/invitations/{$campCollaboration->inviteKey}/".Invitation::ACCEPT,
+ [
+ 'json' => [],
+ 'headers' => ['Content-Type' => 'application/merge-patch+json'],
+ ]
+ );
+
+ $collector = $client->getProfile()->getCollector('db');
+ /*
+ * 3 is:
+ * BEGIN TRANSACTION
+ * SAVEPOINT
+ * RELEASE SAVEPOINT
+ */
+ assertThat($collector->getQueryCount(), greaterThanOrEqual(3));
+ }
+
/**
* @throws RedirectionExceptionInterface
* @throws DecodingExceptionInterface
diff --git a/api/tests/Api/Invitations/InvitationGraphQLTest.php b/api/tests/Api/Invitations/InvitationGraphQLTest.php
index 6f1dc40087..12ae576756 100644
--- a/api/tests/Api/Invitations/InvitationGraphQLTest.php
+++ b/api/tests/Api/Invitations/InvitationGraphQLTest.php
@@ -37,14 +37,40 @@ public function testFindInvitationWhenNotLoggedIn() {
static::createClient()->request('GET', '/graphql?'.http_build_query(['query' => $query]));
+ $this->assertResponseStatusCodeSame(401);
+ }
+
+ /**
+ * @throws ClientExceptionInterface
+ * @throws DecodingExceptionInterface
+ * @throws RedirectionExceptionInterface
+ * @throws ServerExceptionInterface
+ * @throws TransportExceptionInterface
+ */
+ public function testFindInvitationWhenLoggedIn() {
+ /** @var CampCollaboration $campCollaboration */
+ $campCollaboration = static::getFixture('campCollaboration4invited');
+ $query = "
+ {
+ invitation(id: \"invitations/{$campCollaboration->inviteKey}/find\") {
+ campTitle
+ campId
+ userDisplayName
+ userAlreadyInCamp
+ }
+ }
+ ";
+
+ static::createClientWithCredentials()->request('GET', '/graphql?'.http_build_query(['query' => $query]));
+
$this->assertResponseStatusCodeSame(200);
$this->assertJsonContains([
'data' => [
'invitation' => [
'campId' => $campCollaboration->camp->getId(),
'campTitle' => $campCollaboration->camp->title,
- 'userDisplayName' => null,
- 'userAlreadyInCamp' => null,
+ 'userDisplayName' => 'Bi-Pi',
+ 'userAlreadyInCamp' => true,
],
],
]);
diff --git a/api/tests/Api/Profiles/ReadProfileTest.php b/api/tests/Api/Profiles/ReadProfileTest.php
index c7d94dd337..3c9528d388 100644
--- a/api/tests/Api/Profiles/ReadProfileTest.php
+++ b/api/tests/Api/Profiles/ReadProfileTest.php
@@ -12,7 +12,7 @@ class ReadProfileTest extends ECampApiTestCase {
public function testGetSingleProfileIsDeniedForAnonymousUser() {
$user = static::getFixture('user1manager');
static::createBasicClient()->request('GET', '/profiles/'.$user->getId());
- $this->assertResponseStatusCodeSame(404);
+ $this->assertResponseStatusCodeSame(401);
}
public function testGetSingleProfileIsDeniedForUnrelatedUser() {
diff --git a/api/tests/Api/Profiles/UpdateProfileTest.php b/api/tests/Api/Profiles/UpdateProfileTest.php
index 1826388a2a..2270e3da14 100644
--- a/api/tests/Api/Profiles/UpdateProfileTest.php
+++ b/api/tests/Api/Profiles/UpdateProfileTest.php
@@ -15,7 +15,7 @@ public function testPatchProfileIsDeniedForAnonymousProfile() {
static::createBasicClient()->request('PATCH', '/profiles/'.$user->getId(), ['json' => [
'nickname' => 'Linux',
], 'headers' => ['Content-Type' => 'application/merge-patch+json']]);
- $this->assertResponseStatusCodeSame(404);
+ $this->assertResponseStatusCodeSame(401);
}
public function testPatchProfileIsDeniedForRelatedProfile() {
diff --git a/api/tests/Api/ResetPassword/ResetPasswordTest.php b/api/tests/Api/ResetPassword/ResetPasswordTest.php
index ea7c4156bf..5e5d087a25 100644
--- a/api/tests/Api/ResetPassword/ResetPasswordTest.php
+++ b/api/tests/Api/ResetPassword/ResetPasswordTest.php
@@ -31,7 +31,7 @@ public function testPostResetPasswordResetsPasswordForAnonymousUser() {
self::assertEmailCount(1);
$mailerMessage = self::getMailerMessage();
self::assertEmailAddressContains($mailerMessage, 'To', $user->getEmail());
- self::assertEmailHeaderSame($mailerMessage, 'subject', '[eCamp3] Password reset');
+ self::assertEmailHeaderSame($mailerMessage, 'subject', '[eCamp v3] Password reset');
self::assertEmailHtmlBodyContains($mailerMessage, $user->getDisplayName());
self::assertEmailHtmlBodyContains($mailerMessage, 'http://localhost:3000/reset-password/');
diff --git a/api/tests/Api/ResetPassword/UpdatePasswordTest.php b/api/tests/Api/ResetPassword/UpdatePasswordTest.php
index 435219fbec..b06c6efc94 100644
--- a/api/tests/Api/ResetPassword/UpdatePasswordTest.php
+++ b/api/tests/Api/ResetPassword/UpdatePasswordTest.php
@@ -5,7 +5,10 @@
use App\Entity\User;
use App\Security\ReCaptcha\ReCaptchaWrapper;
use App\Tests\Api\ECampApiTestCase;
+use Doctrine\ORM\NonUniqueResultException;
+use Doctrine\ORM\NoResultException;
use ReCaptcha\Response;
+use Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface;
/**
* @internal
@@ -96,6 +99,66 @@ public function testPatchResetPasswordValidatesUnreasonablyLongPassword() {
]);
}
+ /**
+ * @throws NonUniqueResultException
+ * @throws TransportExceptionInterface
+ * @throws NoResultException
+ */
+ public function testPatchResetPasswordActivatesUser() {
+ $this->mockRecaptcha();
+ $this->getEntityManager()->createQueryBuilder()
+ ->update(User::class, 'u')
+ ->set('u.state', ':state')
+ ->where('u.id = :id')
+ ->setParameter('state', User::STATE_REGISTERED)
+ ->setParameter('id', $this->user->getId())
+ ->getQuery()
+ ->execute()
+ ;
+
+ $this->client->request(
+ 'POST',
+ '/authentication_token',
+ [
+ 'json' => [
+ 'identifier' => $this->user->getEmail(),
+ 'password' => 'test',
+ ],
+ ]
+ );
+
+ $this->assertResponseStatusCodeSame(401);
+
+ $newPassword = 'new_password';
+ $this->client->request(
+ 'PATCH',
+ '/auth/reset_password/'.$this->passwordResetKey,
+ [
+ 'json' => [
+ 'password' => $newPassword,
+ ],
+ 'headers' => [
+ 'Content-Type' => 'application/merge-patch+json',
+ ],
+ ]
+ );
+
+ $this->assertResponseStatusCodeSame(200);
+
+ $this->client->request(
+ 'POST',
+ '/authentication_token',
+ [
+ 'json' => [
+ 'identifier' => $this->user->getEmail(),
+ 'password' => $newPassword,
+ ],
+ ]
+ );
+
+ $this->assertResponseStatusCodeSame(204);
+ }
+
protected function mockRecaptcha($shouldReturnSuccess = true) {
$container = static::getContainer();
$recaptcha = $this->createMock(ReCaptchaWrapper::class);
diff --git a/api/tests/Api/SnapshotTests/__snapshots__/ResponseSnapshotTest__testOpenApiSpecMatchesSnapshot__1.yml b/api/tests/Api/SnapshotTests/__snapshots__/ResponseSnapshotTest__testOpenApiSpecMatchesSnapshot__1.yml
index 4e96ef437b..8fbf21b48c 100644
--- a/api/tests/Api/SnapshotTests/__snapshots__/ResponseSnapshotTest__testOpenApiSpecMatchesSnapshot__1.yml
+++ b/api/tests/Api/SnapshotTests/__snapshots__/ResponseSnapshotTest__testOpenApiSpecMatchesSnapshot__1.yml
@@ -21,7 +21,6 @@ components:
description: 'The camp to which this activity belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
category:
@@ -30,7 +29,6 @@ components:
of the activity, and is used for marking similar activities. Must be in the same camp as the activity.
example: /categories/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentNodes:
description: 'All the content nodes that make up the tree of programme content.'
@@ -56,7 +54,6 @@ components:
description: 'The current assigned ProgressLabel.'
example: /progress_labels/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -66,7 +63,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
scheduleEntries:
description: "The list of points in time when this activity's programme will be carried out."
@@ -105,7 +101,6 @@ components:
description: 'The camp to which this activity belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
category:
@@ -114,7 +109,6 @@ components:
of the activity, and is used for marking similar activities. Must be in the same camp as the activity.
example: /categories/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentNodes:
description: 'All the content nodes that make up the tree of programme content.'
@@ -142,7 +136,6 @@ components:
$ref: '#/components/schemas/ActivityProgressLabel-read_Activity.ActivityProgressLabel_Activity.ActivityResponsibles_Activity.ScheduleEntries'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
rootContentNode:
$ref: '#/components/schemas/ColumnLayout-read_Activity.ActivityProgressLabel_Activity.ActivityResponsibles_Activity.ScheduleEntries'
@@ -150,7 +143,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
scheduleEntries:
items:
@@ -182,7 +174,6 @@ components:
description: 'The camp to which this activity belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
category:
@@ -191,7 +182,6 @@ components:
$ref: '#/components/schemas/Category-read_Activity.Category_Activity.ActivityProgressLabel_Activity.ActivityResponsibles_Activity.ScheduleEntries_Activity.ContentNodes'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
contentNodes:
description: 'All the content nodes that make up the tree of programme content.'
@@ -219,7 +209,6 @@ components:
$ref: '#/components/schemas/ActivityProgressLabel-read_Activity.Category_Activity.ActivityProgressLabel_Activity.ActivityResponsibles_Activity.ScheduleEntries_Activity.ContentNodes'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
rootContentNode:
$ref: '#/components/schemas/ColumnLayout-read_Activity.Category_Activity.ActivityProgressLabel_Activity.ActivityResponsibles_Activity.ScheduleEntries_Activity.ContentNodes'
@@ -227,7 +216,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
scheduleEntries:
items:
@@ -262,7 +250,6 @@ components:
description: 'The camp to which this activity belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
category:
@@ -271,7 +258,6 @@ components:
of the activity, and is used for marking similar activities. Must be in the same camp as the activity.
example: /categories/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentNodes:
description: 'All the content nodes that make up the tree of programme content.'
@@ -297,7 +283,6 @@ components:
description: 'The current assigned ProgressLabel.'
example: /progress_labels/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -307,7 +292,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
scheduleEntries:
description: "The list of points in time when this activity's programme will be carried out."
@@ -343,7 +327,6 @@ components:
of the activity, and is used for marking similar activities. Must be in the same camp as the activity.
example: /categories/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
location:
description: "The physical location where this activity's programme will be carried out."
@@ -354,7 +337,6 @@ components:
description: 'The current assigned ProgressLabel.'
example: /progress_labels/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -378,13 +360,11 @@ components:
of the activity, and is used for marking similar activities. Must be in the same camp as the activity.
example: /categories/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
copyActivitySource:
description: 'Copy Contents from this Source-Activity.'
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -397,7 +377,6 @@ components:
description: 'The current assigned ProgressLabel.'
example: /progress_labels/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -448,7 +427,6 @@ components:
description: 'The camp to which this activity belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
category:
@@ -457,7 +435,6 @@ components:
of the activity, and is used for marking similar activities. Must be in the same camp as the activity.
example: /categories/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentNodes:
description: 'All the content nodes that make up the tree of programme content.'
@@ -483,7 +460,6 @@ components:
description: 'The current assigned ProgressLabel.'
example: /progress_labels/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -493,7 +469,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
scheduleEntries:
description: "The list of points in time when this activity's programme will be carried out."
@@ -541,7 +516,6 @@ components:
description: 'The camp to which this activity belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
category:
@@ -550,7 +524,6 @@ components:
of the activity, and is used for marking similar activities. Must be in the same camp as the activity.
example: /categories/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentNodes:
description: 'All the content nodes that make up the tree of programme content.'
@@ -578,7 +551,6 @@ components:
$ref: '#/components/schemas/ActivityProgressLabel.jsonhal-read_Activity.ActivityProgressLabel_Activity.ActivityResponsibles_Activity.ScheduleEntries'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
rootContentNode:
$ref: '#/components/schemas/ColumnLayout.jsonhal-read_Activity.ActivityProgressLabel_Activity.ActivityResponsibles_Activity.ScheduleEntries'
@@ -586,7 +558,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
scheduleEntries:
items:
@@ -627,7 +598,6 @@ components:
description: 'The camp to which this activity belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
category:
@@ -636,7 +606,6 @@ components:
$ref: '#/components/schemas/Category.jsonhal-read_Activity.Category_Activity.ActivityProgressLabel_Activity.ActivityResponsibles_Activity.ScheduleEntries_Activity.ContentNodes'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
contentNodes:
description: 'All the content nodes that make up the tree of programme content.'
@@ -664,7 +633,6 @@ components:
$ref: '#/components/schemas/ActivityProgressLabel.jsonhal-read_Activity.Category_Activity.ActivityProgressLabel_Activity.ActivityResponsibles_Activity.ScheduleEntries_Activity.ContentNodes'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
rootContentNode:
$ref: '#/components/schemas/ColumnLayout.jsonhal-read_Activity.Category_Activity.ActivityProgressLabel_Activity.ActivityResponsibles_Activity.ScheduleEntries_Activity.ContentNodes'
@@ -672,7 +640,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
scheduleEntries:
items:
@@ -707,7 +674,6 @@ components:
description: 'The camp to which this activity belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
category:
@@ -716,7 +682,6 @@ components:
of the activity, and is used for marking similar activities. Must be in the same camp as the activity.
example: /categories/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentNodes:
description: 'All the content nodes that make up the tree of programme content.'
@@ -742,7 +707,6 @@ components:
description: 'The current assigned ProgressLabel.'
example: /progress_labels/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -752,7 +716,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
scheduleEntries:
description: "The list of points in time when this activity's programme will be carried out."
@@ -797,13 +760,11 @@ components:
of the activity, and is used for marking similar activities. Must be in the same camp as the activity.
example: /categories/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
copyActivitySource:
description: 'Copy Contents from this Source-Activity.'
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -816,7 +777,6 @@ components:
description: 'The current assigned ProgressLabel.'
example: /progress_labels/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -881,7 +841,6 @@ components:
description: 'The camp to which this activity belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
category:
@@ -890,7 +849,6 @@ components:
of the activity, and is used for marking similar activities. Must be in the same camp as the activity.
example: /categories/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentNodes:
description: 'All the content nodes that make up the tree of programme content.'
@@ -916,7 +874,6 @@ components:
description: 'The current assigned ProgressLabel.'
example: /progress_labels/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -926,7 +883,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
scheduleEntries:
description: "The list of points in time when this activity's programme will be carried out."
@@ -971,7 +927,6 @@ components:
description: 'The camp to which this activity belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
category:
@@ -980,7 +935,6 @@ components:
of the activity, and is used for marking similar activities. Must be in the same camp as the activity.
example: /categories/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentNodes:
description: 'All the content nodes that make up the tree of programme content.'
@@ -1008,7 +962,6 @@ components:
$ref: '#/components/schemas/ActivityProgressLabel.jsonld-read_Activity.ActivityProgressLabel_Activity.ActivityResponsibles_Activity.ScheduleEntries'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
rootContentNode:
$ref: '#/components/schemas/ColumnLayout.jsonld-read_Activity.ActivityProgressLabel_Activity.ActivityResponsibles_Activity.ScheduleEntries'
@@ -1016,7 +969,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
scheduleEntries:
items:
@@ -1071,7 +1023,6 @@ components:
description: 'The camp to which this activity belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
category:
@@ -1080,7 +1031,6 @@ components:
$ref: '#/components/schemas/Category.jsonld-read_Activity.Category_Activity.ActivityProgressLabel_Activity.ActivityResponsibles_Activity.ScheduleEntries_Activity.ContentNodes'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
contentNodes:
description: 'All the content nodes that make up the tree of programme content.'
@@ -1108,7 +1058,6 @@ components:
$ref: '#/components/schemas/ActivityProgressLabel.jsonld-read_Activity.Category_Activity.ActivityProgressLabel_Activity.ActivityResponsibles_Activity.ScheduleEntries_Activity.ContentNodes'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
rootContentNode:
$ref: '#/components/schemas/ColumnLayout.jsonld-read_Activity.Category_Activity.ActivityProgressLabel_Activity.ActivityResponsibles_Activity.ScheduleEntries_Activity.ContentNodes'
@@ -1116,7 +1065,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
scheduleEntries:
items:
@@ -1174,7 +1122,6 @@ components:
description: 'The camp to which this activity belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
category:
@@ -1183,7 +1130,6 @@ components:
of the activity, and is used for marking similar activities. Must be in the same camp as the activity.
example: /categories/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentNodes:
description: 'All the content nodes that make up the tree of programme content.'
@@ -1209,7 +1155,6 @@ components:
description: 'The current assigned ProgressLabel.'
example: /progress_labels/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -1219,7 +1164,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
scheduleEntries:
description: "The list of points in time when this activity's programme will be carried out."
@@ -1255,13 +1199,11 @@ components:
of the activity, and is used for marking similar activities. Must be in the same camp as the activity.
example: /categories/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
copyActivitySource:
description: 'Copy Contents from this Source-Activity.'
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -1274,7 +1216,6 @@ components:
description: 'The current assigned ProgressLabel.'
example: /progress_labels/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -1310,7 +1251,6 @@ components:
description: 'The camp to which this label belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -1339,7 +1279,6 @@ components:
description: 'The camp to which this label belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -1368,7 +1307,6 @@ components:
description: 'The camp to which this label belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -1417,7 +1355,6 @@ components:
description: 'The camp to which this label belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
position:
default: -1
@@ -1451,7 +1388,6 @@ components:
description: 'The camp to which this label belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -1480,7 +1416,6 @@ components:
description: 'The camp to which this label belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -1509,7 +1444,6 @@ components:
description: 'The camp to which this label belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -1549,7 +1483,6 @@ components:
description: 'The camp to which this label belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
position:
default: -1
@@ -1597,7 +1530,6 @@ components:
description: 'The camp to which this label belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -1649,7 +1581,6 @@ components:
description: 'The camp to which this label belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -1701,7 +1632,6 @@ components:
description: 'The camp to which this label belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -1732,7 +1662,6 @@ components:
description: 'The camp to which this label belongs.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
position:
default: -1
@@ -1755,13 +1684,11 @@ components:
description: 'The activity that the person is responsible for.'
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
campCollaboration:
description: 'The person that is responsible. Must be a collaborator in the same camp as the activity.'
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -1781,13 +1708,11 @@ components:
description: 'The activity that the person is responsible for.'
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
campCollaboration:
description: 'The person that is responsible. Must be a collaborator in the same camp as the activity.'
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -1807,13 +1732,11 @@ components:
description: 'The activity that the person is responsible for.'
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
campCollaboration:
description: 'The person that is responsible. Must be a collaborator in the same camp as the activity.'
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -1833,13 +1756,11 @@ components:
description: 'The activity that the person is responsible for.'
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
campCollaboration:
description: 'The person that is responsible. Must be a collaborator in the same camp as the activity.'
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
required:
- activity
@@ -1862,13 +1783,11 @@ components:
description: 'The activity that the person is responsible for.'
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
campCollaboration:
description: 'The person that is responsible. Must be a collaborator in the same camp as the activity.'
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -1888,13 +1807,11 @@ components:
description: 'The activity that the person is responsible for.'
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
campCollaboration:
description: 'The person that is responsible. Must be a collaborator in the same camp as the activity.'
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -1914,13 +1831,11 @@ components:
description: 'The activity that the person is responsible for.'
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
campCollaboration:
description: 'The person that is responsible. Must be a collaborator in the same camp as the activity.'
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -1949,13 +1864,11 @@ components:
description: 'The activity that the person is responsible for.'
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
campCollaboration:
description: 'The person that is responsible. Must be a collaborator in the same camp as the activity.'
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
required:
- activity
@@ -1992,13 +1905,11 @@ components:
description: 'The activity that the person is responsible for.'
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
campCollaboration:
description: 'The person that is responsible. Must be a collaborator in the same camp as the activity.'
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -2041,13 +1952,11 @@ components:
description: 'The activity that the person is responsible for.'
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
campCollaboration:
description: 'The person that is responsible. Must be a collaborator in the same camp as the activity.'
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -2090,13 +1999,11 @@ components:
description: 'The activity that the person is responsible for.'
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
campCollaboration:
description: 'The person that is responsible. Must be a collaborator in the same camp as the activity.'
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -2116,13 +2023,11 @@ components:
description: 'The activity that the person is responsible for.'
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
campCollaboration:
description: 'The person that is responsible. Must be a collaborator in the same camp as the activity.'
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
required:
- activity
@@ -2215,7 +2120,6 @@ components:
leaves the camp.
example: 'https://example.com/'
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
id:
@@ -2412,7 +2316,6 @@ components:
leaves the camp.
example: 'https://example.com/'
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
id:
@@ -2598,7 +2501,6 @@ components:
leaves the camp.
example: 'https://example.com/'
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
id:
@@ -2791,7 +2693,6 @@ components:
leaves the camp.
example: 'https://example.com/'
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
id:
@@ -2937,7 +2838,6 @@ components:
description: 'The prototype camp that will be used as a template to create this camp.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -3220,7 +3120,6 @@ components:
leaves the camp.
example: 'https://example.com/'
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
id:
@@ -3426,7 +3325,6 @@ components:
leaves the camp.
example: 'https://example.com/'
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
id:
@@ -3612,7 +3510,6 @@ components:
leaves the camp.
example: 'https://example.com/'
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
id:
@@ -3805,7 +3702,6 @@ components:
leaves the camp.
example: 'https://example.com/'
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
id:
@@ -3960,7 +3856,6 @@ components:
description: 'The prototype camp that will be used as a template to create this camp.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -4155,7 +4050,6 @@ components:
leaves the camp.
example: 'https://example.com/'
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
id:
@@ -4375,7 +4269,6 @@ components:
leaves the camp.
example: 'https://example.com/'
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
id:
@@ -4584,7 +4477,6 @@ components:
leaves the camp.
example: 'https://example.com/'
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
id:
@@ -4800,7 +4692,6 @@ components:
leaves the camp.
example: 'https://example.com/'
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type: string
id:
@@ -4946,7 +4837,6 @@ components:
description: 'The prototype camp that will be used as a template to create this camp.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -5039,7 +4929,6 @@ components:
description: 'The camp that the collaborator is part of. Cannot be changed once the campCollaboration is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -5085,7 +4974,6 @@ components:
description: 'The person that is collaborating in the camp. Cannot be changed once the campCollaboration is established.'
example: /users/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -5102,7 +4990,6 @@ components:
description: 'The camp that the collaborator is part of. Cannot be changed once the campCollaboration is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -5150,7 +5037,6 @@ components:
$ref: '#/components/schemas/User-read_Camp.Periods_Period.Days_Camp.CampCollaborations_CampCollaboration.User'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
required:
- camp
@@ -5167,7 +5053,6 @@ components:
$ref: '#/components/schemas/Camp-read_CampCollaboration.Camp_CampCollaboration.User'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -5215,7 +5100,6 @@ components:
$ref: '#/components/schemas/User-read_CampCollaboration.Camp_CampCollaboration.User'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
required:
- camp
@@ -5234,7 +5118,6 @@ components:
description: 'The camp that the collaborator is part of. Cannot be changed once the campCollaboration is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
inviteEmail:
description: |-
@@ -5264,7 +5147,6 @@ components:
description: 'The person that is collaborating in the camp. Cannot be changed once the campCollaboration is established.'
example: /users/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -5318,7 +5200,6 @@ components:
description: 'The camp that the collaborator is part of. Cannot be changed once the campCollaboration is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -5364,7 +5245,6 @@ components:
description: 'The person that is collaborating in the camp. Cannot be changed once the campCollaboration is established.'
example: /users/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -5381,7 +5261,6 @@ components:
description: 'The camp that the collaborator is part of. Cannot be changed once the campCollaboration is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -5429,7 +5308,6 @@ components:
$ref: '#/components/schemas/User.jsonhal-read_Camp.Periods_Period.Days_Camp.CampCollaborations_CampCollaboration.User'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
required:
- camp
@@ -5455,7 +5333,6 @@ components:
$ref: '#/components/schemas/Camp.jsonhal-read_CampCollaboration.Camp_CampCollaboration.User'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -5503,7 +5380,6 @@ components:
$ref: '#/components/schemas/User.jsonhal-read_CampCollaboration.Camp_CampCollaboration.User'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
required:
- camp
@@ -5527,7 +5403,6 @@ components:
description: 'The camp that the collaborator is part of. Cannot be changed once the campCollaboration is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
inviteEmail:
description: |-
@@ -5557,7 +5432,6 @@ components:
description: 'The person that is collaborating in the camp. Cannot be changed once the campCollaboration is established.'
example: /users/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -5596,7 +5470,6 @@ components:
description: 'The camp that the collaborator is part of. Cannot be changed once the campCollaboration is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -5642,7 +5515,6 @@ components:
description: 'The person that is collaborating in the camp. Cannot be changed once the campCollaboration is established.'
example: /users/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -5682,7 +5554,6 @@ components:
description: 'The camp that the collaborator is part of. Cannot be changed once the campCollaboration is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -5730,7 +5601,6 @@ components:
$ref: '#/components/schemas/User.jsonld-read_Camp.Periods_Period.Days_Camp.CampCollaborations_CampCollaboration.User'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
required:
- camp
@@ -5770,7 +5640,6 @@ components:
$ref: '#/components/schemas/Camp.jsonld-read_CampCollaboration.Camp_CampCollaboration.User'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -5818,7 +5687,6 @@ components:
$ref: '#/components/schemas/User.jsonld-read_CampCollaboration.Camp_CampCollaboration.User'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
required:
- camp
@@ -5833,7 +5701,6 @@ components:
description: 'The camp that the collaborator is part of. Cannot be changed once the campCollaboration is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
inviteEmail:
description: |-
@@ -5863,7 +5730,6 @@ components:
description: 'The person that is collaborating in the camp. Cannot be changed once the campCollaboration is established.'
example: /users/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -5883,7 +5749,6 @@ components:
description: 'The camp to which this category belongs. May not be changed once the category is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
color:
description: 'The color of the activities in this category, as a hex color string.'
@@ -5939,7 +5804,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
short:
description: |-
@@ -5964,7 +5828,6 @@ components:
description: 'The camp to which this category belongs. May not be changed once the category is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
color:
description: 'The color of the activities in this category, as a hex color string.'
@@ -6020,7 +5883,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
short:
description: |-
@@ -6049,7 +5911,6 @@ components:
description: 'The camp to which this category belongs. May not be changed once the category is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
color:
description: 'The color of the activities in this category, as a hex color string.'
@@ -6102,7 +5963,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
short:
description: |-
@@ -6131,7 +5991,6 @@ components:
description: 'The camp to which this category belongs. May not be changed once the category is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
color:
description: 'The color of the activities in this category, as a hex color string.'
@@ -6257,7 +6116,6 @@ components:
description: 'The camp to which this category belongs. May not be changed once the category is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
color:
description: 'The color of the activities in this category, as a hex color string.'
@@ -6313,7 +6171,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
short:
description: |-
@@ -6338,7 +6195,6 @@ components:
description: 'The camp to which this category belongs. May not be changed once the category is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
color:
description: 'The color of the activities in this category, as a hex color string.'
@@ -6394,7 +6250,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
short:
description: |-
@@ -6432,7 +6287,6 @@ components:
description: 'The camp to which this category belongs. May not be changed once the category is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
color:
description: 'The color of the activities in this category, as a hex color string.'
@@ -6485,7 +6339,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
short:
description: |-
@@ -6523,7 +6376,6 @@ components:
description: 'The camp to which this category belongs. May not be changed once the category is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
color:
description: 'The color of the activities in this category, as a hex color string.'
@@ -6608,7 +6460,6 @@ components:
description: 'The camp to which this category belongs. May not be changed once the category is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
color:
description: 'The color of the activities in this category, as a hex color string.'
@@ -6664,7 +6515,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
short:
description: |-
@@ -6712,7 +6562,6 @@ components:
description: 'The camp to which this category belongs. May not be changed once the category is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
color:
description: 'The color of the activities in this category, as a hex color string.'
@@ -6768,7 +6617,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
short:
description: |-
@@ -6820,7 +6668,6 @@ components:
description: 'The camp to which this category belongs. May not be changed once the category is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
color:
description: 'The color of the activities in this category, as a hex color string.'
@@ -6873,7 +6720,6 @@ components:
The programme contents, organized as a tree of content nodes. The root content node cannot be
exchanged, but all the contents attached to it can.
example: /content_nodes/1a2b3c4d
- 'owl:maxCardinality': 1
readOnly: true
short:
description: |-
@@ -6902,7 +6748,6 @@ components:
description: 'The camp to which this category belongs. May not be changed once the category is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
color:
description: 'The color of the activities in this category, as a hex color string.'
@@ -6972,7 +6817,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -7016,7 +6860,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -7033,7 +6876,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -7073,7 +6915,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -7117,7 +6958,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -7134,7 +6974,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -7174,7 +7013,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -7218,7 +7056,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -7235,7 +7072,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -7275,7 +7111,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -7319,7 +7154,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -7336,7 +7170,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -7376,7 +7209,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -7420,7 +7252,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -7437,7 +7268,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -7468,7 +7298,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
default: '{"columns":[{"slot":"1","width":6},{"slot":"2","width":6}]}'
@@ -7501,7 +7330,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -7562,7 +7390,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -7615,7 +7442,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -7659,7 +7485,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -7676,7 +7501,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -7716,7 +7540,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -7760,7 +7583,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -7777,7 +7599,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -7817,7 +7638,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -7861,7 +7681,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -7878,7 +7697,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -7918,7 +7736,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -7962,7 +7779,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -7979,7 +7795,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -8019,7 +7834,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -8063,7 +7877,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -8080,7 +7893,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -8120,7 +7932,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
default: '{"columns":[{"slot":"1","width":6},{"slot":"2","width":6}]}'
@@ -8153,7 +7964,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -8222,7 +8032,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -8266,7 +8075,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -8283,7 +8091,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -8346,7 +8153,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -8390,7 +8196,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -8407,7 +8212,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -8470,7 +8274,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -8514,7 +8317,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -8531,7 +8333,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -8594,7 +8395,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -8638,7 +8438,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -8655,7 +8454,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -8718,7 +8516,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -8762,7 +8559,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -8779,7 +8575,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -8810,7 +8605,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
default: '{"columns":[{"slot":"1","width":6},{"slot":"2","width":6}]}'
@@ -8843,7 +8637,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -8894,7 +8687,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -8932,7 +8724,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -8949,7 +8740,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -8988,7 +8778,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -9026,7 +8815,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -9043,7 +8831,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -9082,7 +8869,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -9120,7 +8906,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -9137,7 +8922,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -9190,7 +8974,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -9228,7 +9011,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -9245,7 +9027,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -9284,7 +9065,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -9322,7 +9102,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -9339,7 +9118,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -9378,7 +9156,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -9416,7 +9193,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -9433,7 +9209,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -9483,7 +9258,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -9521,7 +9295,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -9538,7 +9311,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -9600,7 +9372,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -9638,7 +9409,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -9655,7 +9425,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -9717,7 +9486,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -9755,7 +9523,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -9772,7 +9539,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -10121,7 +9887,6 @@ components:
description: 'The time period that this day belongs to.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntries:
description: "All scheduleEntries in this day's period which overlap with this day (using midnight as cutoff)."
@@ -10186,7 +9951,6 @@ components:
description: 'The time period that this day belongs to.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntries:
description: "All scheduleEntries in this day's period which overlap with this day (using midnight as cutoff)."
@@ -10251,7 +10015,6 @@ components:
description: 'The time period that this day belongs to.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntries:
description: "All scheduleEntries in this day's period which overlap with this day (using midnight as cutoff)."
@@ -10316,7 +10079,6 @@ components:
description: 'The time period that this day belongs to.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntries:
description: "All scheduleEntries in this day's period which overlap with this day (using midnight as cutoff)."
@@ -10390,7 +10152,6 @@ components:
description: 'The time period that this day belongs to.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntries:
description: "All scheduleEntries in this day's period which overlap with this day (using midnight as cutoff)."
@@ -10455,7 +10216,6 @@ components:
description: 'The time period that this day belongs to.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntries:
description: "All scheduleEntries in this day's period which overlap with this day (using midnight as cutoff)."
@@ -10543,7 +10303,6 @@ components:
description: 'The time period that this day belongs to.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntries:
description: "All scheduleEntries in this day's period which overlap with this day (using midnight as cutoff)."
@@ -10631,7 +10390,6 @@ components:
description: 'The time period that this day belongs to.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntries:
description: "All scheduleEntries in this day's period which overlap with this day (using midnight as cutoff)."
@@ -10719,7 +10477,6 @@ components:
description: 'The time period that this day belongs to.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntries:
description: "All scheduleEntries in this day's period which overlap with this day (using midnight as cutoff)."
@@ -10751,13 +10508,11 @@ components:
description: "The person that is responsible. Must belong to the same camp as the day's period."
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which the person is responsible.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -10777,13 +10532,11 @@ components:
description: "The person that is responsible. Must belong to the same camp as the day's period."
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which the person is responsible.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -10803,13 +10556,11 @@ components:
description: "The person that is responsible. Must belong to the same camp as the day's period."
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which the person is responsible.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
required:
- campCollaboration
@@ -10832,13 +10583,11 @@ components:
description: "The person that is responsible. Must belong to the same camp as the day's period."
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which the person is responsible.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -10858,13 +10607,11 @@ components:
description: "The person that is responsible. Must belong to the same camp as the day's period."
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which the person is responsible.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -10893,13 +10640,11 @@ components:
description: "The person that is responsible. Must belong to the same camp as the day's period."
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which the person is responsible.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
required:
- campCollaboration
@@ -10936,13 +10681,11 @@ components:
description: "The person that is responsible. Must belong to the same camp as the day's period."
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which the person is responsible.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -10985,13 +10728,11 @@ components:
description: "The person that is responsible. Must belong to the same camp as the day's period."
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which the person is responsible.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
id:
description: 'An internal, unique, randomly generated identifier of this entity.'
@@ -11011,13 +10752,11 @@ components:
description: "The person that is responsible. Must belong to the same camp as the day's period."
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which the person is responsible.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
required:
- campCollaboration
@@ -11184,13 +10923,11 @@ components:
responsible to prepare and bring the item to the camp.
example: /material_lists/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
materialNode:
description: 'The content node to which this item belongs, if it does not belong to a period.'
example: /content_node/material_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -11198,7 +10935,6 @@ components:
description: 'The period to which this item belongs, if it does not belong to a content node.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -11233,13 +10969,11 @@ components:
responsible to prepare and bring the item to the camp.
example: /material_lists/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
materialNode:
description: 'The content node to which this item belongs, if it does not belong to a period.'
example: /content_node/material_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -11247,7 +10981,6 @@ components:
description: 'The period to which this item belongs, if it does not belong to a content node.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -11294,13 +11027,11 @@ components:
responsible to prepare and bring the item to the camp.
example: /material_lists/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
materialNode:
description: 'The content node to which this item belongs, if it does not belong to a period.'
example: /content_node/material_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -11308,7 +11039,6 @@ components:
description: 'The period to which this item belongs, if it does not belong to a content node.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -11353,13 +11083,11 @@ components:
responsible to prepare and bring the item to the camp.
example: /material_lists/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
materialNode:
description: 'The content node to which this item belongs, if it does not belong to a period.'
example: /content_node/material_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -11367,7 +11095,6 @@ components:
description: 'The period to which this item belongs, if it does not belong to a content node.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -11432,13 +11159,11 @@ components:
responsible to prepare and bring the item to the camp.
example: /material_lists/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
materialNode:
description: 'The content node to which this item belongs, if it does not belong to a period.'
example: /content_node/material_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -11446,7 +11171,6 @@ components:
description: 'The period to which this item belongs, if it does not belong to a content node.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -11482,13 +11206,11 @@ components:
responsible to prepare and bring the item to the camp.
example: /material_lists/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
materialNode:
description: 'The content node to which this item belongs, if it does not belong to a period.'
example: /content_node/material_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -11496,7 +11218,6 @@ components:
description: 'The period to which this item belongs, if it does not belong to a content node.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -11527,13 +11248,11 @@ components:
description: 'The camp this material list belongs to.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
campCollaboration:
description: 'The campCollaboration this material list belongs to.'
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -11595,7 +11314,6 @@ components:
description: 'The camp this material list belongs to.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
name:
description: 'The human readable name of the material list.'
@@ -11627,13 +11345,11 @@ components:
description: 'The camp this material list belongs to.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
campCollaboration:
description: 'The campCollaboration this material list belongs to.'
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -11688,7 +11404,6 @@ components:
description: 'The camp this material list belongs to.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
name:
description: 'The human readable name of the material list.'
@@ -11734,13 +11449,11 @@ components:
description: 'The camp this material list belongs to.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
campCollaboration:
description: 'The campCollaboration this material list belongs to.'
example: /camp_collaborations/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -11786,7 +11499,6 @@ components:
description: 'The camp this material list belongs to.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
name:
description: 'The human readable name of the material list.'
@@ -11819,7 +11531,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -11861,7 +11572,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -11878,7 +11588,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -11909,7 +11618,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
description: |-
@@ -11936,7 +11644,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -11990,7 +11697,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -12042,7 +11748,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -12084,7 +11789,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -12101,7 +11805,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -12141,7 +11844,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
description: |-
@@ -12168,7 +11870,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -12236,7 +11937,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -12278,7 +11978,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -12295,7 +11994,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -12326,7 +12024,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
description: |-
@@ -12353,7 +12050,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -12398,7 +12094,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -12442,7 +12137,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -12459,7 +12153,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -12489,7 +12182,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
description: |-
@@ -12522,7 +12214,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -12582,7 +12273,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -12635,7 +12325,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -12679,7 +12368,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -12696,7 +12384,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -12735,7 +12422,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
description: |-
@@ -12768,7 +12454,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -12836,7 +12521,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -12880,7 +12564,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -12897,7 +12580,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -12927,7 +12609,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
description: |-
@@ -12960,7 +12641,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -12995,7 +12675,6 @@ components:
description: 'The camp that this time period belongs to. Cannot be changed once the period is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentNodes:
description: 'All the content nodes used in some activity which is carried out (has a schedule entry) in this period.'
@@ -13088,7 +12767,6 @@ components:
description: 'The camp that this time period belongs to. Cannot be changed once the period is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentNodes:
description: 'All the content nodes used in some activity which is carried out (has a schedule entry) in this period.'
@@ -13181,7 +12859,6 @@ components:
$ref: '#/components/schemas/Camp-read_Period.Camp_Period.Days'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
contentNodes:
description: 'All the content nodes used in some activity which is carried out (has a schedule entry) in this period.'
@@ -13310,7 +12987,6 @@ components:
description: 'The camp that this time period belongs to. Cannot be changed once the period is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
description:
description: 'A free text name for the period. Useful to distinguish multiple periods in the same camp.'
@@ -13364,7 +13040,6 @@ components:
description: 'The camp that this time period belongs to. Cannot be changed once the period is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentNodes:
description: 'All the content nodes used in some activity which is carried out (has a schedule entry) in this period.'
@@ -13457,7 +13132,6 @@ components:
description: 'The camp that this time period belongs to. Cannot be changed once the period is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentNodes:
description: 'All the content nodes used in some activity which is carried out (has a schedule entry) in this period.'
@@ -13559,7 +13233,6 @@ components:
$ref: '#/components/schemas/Camp.jsonhal-read_Period.Camp_Period.Days'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
contentNodes:
description: 'All the content nodes used in some activity which is carried out (has a schedule entry) in this period.'
@@ -13659,7 +13332,6 @@ components:
description: 'The camp that this time period belongs to. Cannot be changed once the period is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
description:
description: 'A free text name for the period. Useful to distinguish multiple periods in the same camp.'
@@ -13727,7 +13399,6 @@ components:
description: 'The camp that this time period belongs to. Cannot be changed once the period is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentNodes:
description: 'All the content nodes used in some activity which is carried out (has a schedule entry) in this period.'
@@ -13843,7 +13514,6 @@ components:
description: 'The camp that this time period belongs to. Cannot be changed once the period is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentNodes:
description: 'All the content nodes used in some activity which is carried out (has a schedule entry) in this period.'
@@ -13959,7 +13629,6 @@ components:
$ref: '#/components/schemas/Camp.jsonld-read_Period.Camp_Period.Days'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
contentNodes:
description: 'All the content nodes used in some activity which is carried out (has a schedule entry) in this period.'
@@ -14050,7 +13719,6 @@ components:
description: 'The camp that this time period belongs to. Cannot be changed once the period is created.'
example: /camps/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
description:
description: 'A free text name for the period. Useful to distinguish multiple periods in the same camp.'
@@ -14157,7 +13825,6 @@ components:
user:
example: /users/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -14234,7 +13901,6 @@ components:
user:
example: /users/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -14451,7 +14117,6 @@ components:
user:
example: /users/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -14528,7 +14193,6 @@ components:
user:
example: /users/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -14697,7 +14361,6 @@ components:
user:
example: /users/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -14797,7 +14460,6 @@ components:
user:
example: /users/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -15072,7 +14734,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -15119,7 +14780,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -15136,7 +14796,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -15167,7 +14826,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
default: '{"items":[{"slot":"main"},{"slot":"aside-top"},{"slot":"aside-bottom"}]}'
@@ -15203,7 +14861,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -15267,7 +14924,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -15320,7 +14976,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -15367,7 +15022,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -15384,7 +15038,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -15424,7 +15077,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
default: '{"items":[{"slot":"main"},{"slot":"aside-top"},{"slot":"aside-bottom"}]}'
@@ -15460,7 +15112,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -15529,7 +15180,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -15576,7 +15226,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -15593,7 +15242,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -15624,7 +15272,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
default: '{"items":[{"slot":"main"},{"slot":"aside-top"},{"slot":"aside-bottom"}]}'
@@ -15660,7 +15307,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -15698,13 +15344,11 @@ components:
once the schedule entry is created.
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which this schedule entry starts.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -15747,13 +15391,13 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntryNumber:
description: |-
The cardinal number of this schedule entry, when chronologically ordering all
- schedule entries that start on the same day. I.e. if the schedule entry is the
- second entry on a given day, its number will be 2.
+ schedule entries WITH THE SAME NUMBERING STYLE that start on the same day. I.e. if
+ the schedule entry is the second entry with roman numbering on a given day, its
+ number will be 2.
example: '2'
readOnly: true
type: integer
@@ -15787,13 +15431,11 @@ components:
once the schedule entry is created.
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which this schedule entry starts.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -15837,13 +15479,13 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntryNumber:
description: |-
The cardinal number of this schedule entry, when chronologically ordering all
- schedule entries that start on the same day. I.e. if the schedule entry is the
- second entry on a given day, its number will be 2.
+ schedule entries WITH THE SAME NUMBERING STYLE that start on the same day. I.e. if
+ the schedule entry is the second entry with roman numbering on a given day, its
+ number will be 2.
example: '2'
readOnly: true
type: integer
@@ -15878,13 +15520,11 @@ components:
once the schedule entry is created.
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which this schedule entry starts.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -15928,13 +15568,13 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntryNumber:
description: |-
The cardinal number of this schedule entry, when chronologically ordering all
- schedule entries that start on the same day. I.e. if the schedule entry is the
- second entry on a given day, its number will be 2.
+ schedule entries WITH THE SAME NUMBERING STYLE that start on the same day. I.e. if
+ the schedule entry is the second entry with roman numbering on a given day, its
+ number will be 2.
example: '2'
readOnly: true
type: integer
@@ -15971,13 +15611,11 @@ components:
$ref: '#/components/schemas/Activity-read_ScheduleEntry.Activity'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
day:
description: 'The day on which this schedule entry starts.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -16021,13 +15659,13 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntryNumber:
description: |-
The cardinal number of this schedule entry, when chronologically ordering all
- schedule entries that start on the same day. I.e. if the schedule entry is the
- second entry on a given day, its number will be 2.
+ schedule entries WITH THE SAME NUMBERING STYLE that start on the same day. I.e. if
+ the schedule entry is the second entry with roman numbering on a given day, its
+ number will be 2.
example: '2'
readOnly: true
type: integer
@@ -16078,7 +15716,6 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
start:
description: 'Start date and time of the schedule entry.'
@@ -16112,7 +15749,6 @@ components:
once the schedule entry is created.
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
end:
description: 'End date and time of the schedule entry.'
@@ -16134,7 +15770,6 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
start:
description: 'Start date and time of the schedule entry.'
@@ -16178,13 +15813,11 @@ components:
once the schedule entry is created.
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which this schedule entry starts.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -16227,13 +15860,13 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntryNumber:
description: |-
The cardinal number of this schedule entry, when chronologically ordering all
- schedule entries that start on the same day. I.e. if the schedule entry is the
- second entry on a given day, its number will be 2.
+ schedule entries WITH THE SAME NUMBERING STYLE that start on the same day. I.e. if
+ the schedule entry is the second entry with roman numbering on a given day, its
+ number will be 2.
example: '2'
readOnly: true
type: integer
@@ -16267,13 +15900,11 @@ components:
once the schedule entry is created.
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which this schedule entry starts.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -16317,13 +15948,13 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntryNumber:
description: |-
The cardinal number of this schedule entry, when chronologically ordering all
- schedule entries that start on the same day. I.e. if the schedule entry is the
- second entry on a given day, its number will be 2.
+ schedule entries WITH THE SAME NUMBERING STYLE that start on the same day. I.e. if
+ the schedule entry is the second entry with roman numbering on a given day, its
+ number will be 2.
example: '2'
readOnly: true
type: integer
@@ -16358,13 +15989,11 @@ components:
once the schedule entry is created.
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which this schedule entry starts.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -16408,13 +16037,13 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntryNumber:
description: |-
The cardinal number of this schedule entry, when chronologically ordering all
- schedule entries that start on the same day. I.e. if the schedule entry is the
- second entry on a given day, its number will be 2.
+ schedule entries WITH THE SAME NUMBERING STYLE that start on the same day. I.e. if
+ the schedule entry is the second entry with roman numbering on a given day, its
+ number will be 2.
example: '2'
readOnly: true
type: integer
@@ -16460,13 +16089,11 @@ components:
$ref: '#/components/schemas/Activity.jsonhal-read_ScheduleEntry.Activity'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
day:
description: 'The day on which this schedule entry starts.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -16510,13 +16137,13 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntryNumber:
description: |-
The cardinal number of this schedule entry, when chronologically ordering all
- schedule entries that start on the same day. I.e. if the schedule entry is the
- second entry on a given day, its number will be 2.
+ schedule entries WITH THE SAME NUMBERING STYLE that start on the same day. I.e. if
+ the schedule entry is the second entry with roman numbering on a given day, its
+ number will be 2.
example: '2'
readOnly: true
type: integer
@@ -16562,7 +16189,6 @@ components:
once the schedule entry is created.
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
end:
description: 'End date and time of the schedule entry.'
@@ -16584,7 +16210,6 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
start:
description: 'Start date and time of the schedule entry.'
@@ -16642,13 +16267,11 @@ components:
once the schedule entry is created.
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which this schedule entry starts.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -16691,13 +16314,13 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntryNumber:
description: |-
The cardinal number of this schedule entry, when chronologically ordering all
- schedule entries that start on the same day. I.e. if the schedule entry is the
- second entry on a given day, its number will be 2.
+ schedule entries WITH THE SAME NUMBERING STYLE that start on the same day. I.e. if
+ the schedule entry is the second entry with roman numbering on a given day, its
+ number will be 2.
example: '2'
readOnly: true
type: integer
@@ -16754,13 +16377,11 @@ components:
once the schedule entry is created.
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which this schedule entry starts.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -16804,13 +16425,13 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntryNumber:
description: |-
The cardinal number of this schedule entry, when chronologically ordering all
- schedule entries that start on the same day. I.e. if the schedule entry is the
- second entry on a given day, its number will be 2.
+ schedule entries WITH THE SAME NUMBERING STYLE that start on the same day. I.e. if
+ the schedule entry is the second entry with roman numbering on a given day, its
+ number will be 2.
example: '2'
readOnly: true
type: integer
@@ -16868,13 +16489,11 @@ components:
once the schedule entry is created.
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
day:
description: 'The day on which this schedule entry starts.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -16918,13 +16537,13 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntryNumber:
description: |-
The cardinal number of this schedule entry, when chronologically ordering all
- schedule entries that start on the same day. I.e. if the schedule entry is the
- second entry on a given day, its number will be 2.
+ schedule entries WITH THE SAME NUMBERING STYLE that start on the same day. I.e. if
+ the schedule entry is the second entry with roman numbering on a given day, its
+ number will be 2.
example: '2'
readOnly: true
type: integer
@@ -16984,13 +16603,11 @@ components:
$ref: '#/components/schemas/Activity.jsonld-read_ScheduleEntry.Activity'
-
type: 'null'
- 'owl:maxCardinality': 1
readOnly: true
day:
description: 'The day on which this schedule entry starts.'
example: /days/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -17034,13 +16651,13 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
scheduleEntryNumber:
description: |-
The cardinal number of this schedule entry, when chronologically ordering all
- schedule entries that start on the same day. I.e. if the schedule entry is the
- second entry on a given day, its number will be 2.
+ schedule entries WITH THE SAME NUMBERING STYLE that start on the same day. I.e. if
+ the schedule entry is the second entry with roman numbering on a given day, its
+ number will be 2.
example: '2'
readOnly: true
type: integer
@@ -17077,7 +16694,6 @@ components:
once the schedule entry is created.
example: /activities/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
end:
description: 'End date and time of the schedule entry.'
@@ -17099,7 +16715,6 @@ components:
description: 'The time period which this schedule entry is part of. Must belong to the same camp as the activity.'
example: /periods/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
start:
description: 'Start date and time of the schedule entry.'
@@ -17142,7 +16757,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -17183,7 +16797,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -17200,7 +16813,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -17231,7 +16843,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
default: '{"html":""}'
@@ -17261,7 +16872,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -17319,7 +16929,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -17372,7 +16981,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -17413,7 +17021,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -17430,7 +17037,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -17470,7 +17076,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
default: '{"html":""}'
@@ -17500,7 +17105,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -17569,7 +17173,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -17610,7 +17213,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -17627,7 +17229,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -17658,7 +17259,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
default: '{"html":""}'
@@ -17688,7 +17288,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -17734,7 +17333,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -17779,7 +17377,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -17796,7 +17393,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -17826,7 +17422,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
description: |-
@@ -17860,7 +17455,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -17921,7 +17515,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -17974,7 +17567,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -18019,7 +17611,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -18036,7 +17627,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -18075,7 +17665,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
description: |-
@@ -18109,7 +17698,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -18177,7 +17765,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
contentTypeName:
description: 'The name of the content type of this content node. Read-only, for convenience.'
@@ -18222,7 +17809,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -18239,7 +17825,6 @@ components:
content node is the root.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
readOnly: true
type:
- 'null'
@@ -18269,7 +17854,6 @@ components:
in a content node. The content type may not be changed once the content node is created.
example: /content_types/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type: string
data:
description: |-
@@ -18303,7 +17887,6 @@ components:
as the new parent is in the same camp as the old one.
example: /content_nodes/1a2b3c4d
format: iri-reference
- 'owl:maxCardinality': 1
type:
- 'null'
- string
@@ -18368,7 +17951,6 @@ components:
nickname: Bi-Pi
surname: Baden-Powell
format: iri-reference
- 'owl:maxCardinality': 1
type: string
type: object
User-read_Camp.Periods_Period.Days_Camp.CampCollaborations_CampCollaboration.User:
@@ -18396,7 +17978,6 @@ components:
nickname: Bi-Pi
surname: Baden-Powell
format: iri-reference
- 'owl:maxCardinality': 1
type: string
type: object
User-read_CampCollaboration.Camp_CampCollaboration.User:
@@ -18424,7 +18005,6 @@ components:
nickname: Bi-Pi
surname: Baden-Powell
format: iri-reference
- 'owl:maxCardinality': 1
type: string
type: object
User-read_User.create:
@@ -18448,7 +18028,6 @@ components:
type: string
profile:
$ref: '#/components/schemas/Profile-read_User.create'
- 'owl:maxCardinality': 1
readOnly: true
required:
- profile
@@ -18498,7 +18077,6 @@ components:
language: en
nickname: Bi-Pi
surname: Baden-Powell
- 'owl:maxCardinality': 1
recaptchaToken:
description: 'ReCaptchaToken used on Register-View.'
type:
@@ -18545,7 +18123,6 @@ components:
nickname: Bi-Pi
surname: Baden-Powell
format: iri-reference
- 'owl:maxCardinality': 1
type: string
type: object
User.jsonhal-read_Camp.Periods_Period.Days_Camp.CampCollaborations_CampCollaboration.User:
@@ -18573,7 +18150,6 @@ components:
nickname: Bi-Pi
surname: Baden-Powell
format: iri-reference
- 'owl:maxCardinality': 1
type: string
type: object
User.jsonhal-read_CampCollaboration.Camp_CampCollaboration.User:
@@ -18601,7 +18177,6 @@ components:
nickname: Bi-Pi
surname: Baden-Powell
format: iri-reference
- 'owl:maxCardinality': 1
type: string
type: object
User.jsonhal-read_User.create:
@@ -18634,7 +18209,6 @@ components:
type: string
profile:
$ref: '#/components/schemas/Profile.jsonhal-read_User.create'
- 'owl:maxCardinality': 1
readOnly: true
required:
- profile
@@ -18674,7 +18248,6 @@ components:
language: en
nickname: Bi-Pi
surname: Baden-Powell
- 'owl:maxCardinality': 1
recaptchaToken:
description: 'ReCaptchaToken used on Register-View.'
type:
@@ -18735,7 +18308,6 @@ components:
nickname: Bi-Pi
surname: Baden-Powell
format: iri-reference
- 'owl:maxCardinality': 1
type: string
type: object
User.jsonld-read_Camp.Periods_Period.Days_Camp.CampCollaborations_CampCollaboration.User:
@@ -18786,7 +18358,6 @@ components:
nickname: Bi-Pi
surname: Baden-Powell
format: iri-reference
- 'owl:maxCardinality': 1
type: string
type: object
User.jsonld-read_CampCollaboration.Camp_CampCollaboration.User:
@@ -18837,7 +18408,6 @@ components:
nickname: Bi-Pi
surname: Baden-Powell
format: iri-reference
- 'owl:maxCardinality': 1
type: string
type: object
User.jsonld-read_User.create:
@@ -18884,7 +18454,6 @@ components:
type: string
profile:
$ref: '#/components/schemas/Profile.jsonld-read_User.create'
- 'owl:maxCardinality': 1
readOnly: true
required:
- profile
@@ -18915,7 +18484,6 @@ components:
language: en
nickname: Bi-Pi
surname: Baden-Powell
- 'owl:maxCardinality': 1
recaptchaToken:
description: 'ReCaptchaToken used on Register-View.'
type:
diff --git a/api/tests/Api/Users/ReadUserTest.php b/api/tests/Api/Users/ReadUserTest.php
index e84aad8ad5..23a1f308dd 100644
--- a/api/tests/Api/Users/ReadUserTest.php
+++ b/api/tests/Api/Users/ReadUserTest.php
@@ -22,7 +22,7 @@ public function testGetSingleUserIsDeniedForAnonymousUser() {
public function testGetUnknownUserReturns404ForAnonymousUser() {
static::createBasicClient()->request('GET', '/users/1');
- $this->assertResponseStatusCodeSame(404);
+ $this->assertResponseStatusCodeSame(401);
}
public function testGetUnknownUserReturns404() {
diff --git a/api/tests/Integration/Serializer/Normalizer/TranslationConstraintViolationListNormalizerIntegrationTest.php b/api/tests/Integration/Serializer/Normalizer/TranslationConstraintViolationListNormalizerIntegrationTest.php
index 2dcc4627bc..00e3849a4d 100644
--- a/api/tests/Integration/Serializer/Normalizer/TranslationConstraintViolationListNormalizerIntegrationTest.php
+++ b/api/tests/Integration/Serializer/Normalizer/TranslationConstraintViolationListNormalizerIntegrationTest.php
@@ -48,7 +48,7 @@ public function testAddsTranslationKeyAndParameters(string $format) {
$result = $this->translationConstraintViolationListNormalizer->normalize(
$constraintViolationList,
$format,
- []
+ ['api_error_resource' => true]
);
self::assertArraySubset(['violations' => [
@@ -95,7 +95,7 @@ public function testAddsTranslations(string $format) {
$result = $this->translationConstraintViolationListNormalizer->normalize(
$constraintViolationList,
$format,
- []
+ ['api_error_resource' => true]
);
self::assertArraySubset(['violations' => [
@@ -210,8 +210,8 @@ public static function getConstraintViolations(): array {
class MyConstraint extends Constraint {
public function __construct(
- array $options = null,
- array $groups = null,
+ ?array $options = null,
+ ?array $groups = null,
$payload = null
) {
parent::__construct($options ?? [], $groups, $payload);
diff --git a/api/tests/Service/MailServiceTest.php b/api/tests/Service/MailServiceTest.php
index ecf962176a..14846bfaa7 100644
--- a/api/tests/Service/MailServiceTest.php
+++ b/api/tests/Service/MailServiceTest.php
@@ -52,7 +52,7 @@ public function testSendInviteToCampMailDeChScout() {
self::assertEmailCount(1);
$mailerMessage = self::getMailerMessage(0);
self::assertEmailAddressContains($mailerMessage, 'To', self::INVITE_MAIL);
- self::assertEmailHeaderSame($mailerMessage, 'subject', '[eCamp3] Du wurdest ins Lager "some camp" eingeladen');
+ self::assertEmailHeaderSame($mailerMessage, 'subject', '[eCamp v3] Du wurdest ins Lager "some camp" eingeladen');
self::assertEmailHtmlBodyContains($mailerMessage, $this->camp->name);
self::assertEmailHtmlBodyContains($mailerMessage, $this->user->getDisplayName());
@@ -89,7 +89,7 @@ public function testSendUserActivationMailDeChScout() {
self::assertEmailCount(1);
$mailerMessage = self::getMailerMessage(0);
self::assertEmailAddressContains($mailerMessage, 'To', self::INVITE_MAIL);
- self::assertEmailHeaderSame($mailerMessage, 'subject', 'Willkommen bei eCamp3');
+ self::assertEmailHeaderSame($mailerMessage, 'subject', 'Willkommen bei eCamp v3');
self::assertEmailHtmlBodyContains($mailerMessage, 'Willkommen');
self::assertEmailHtmlBodyContains($mailerMessage, self::INVITE_KEY);
@@ -106,7 +106,7 @@ public function testSendUserActivationMailFr() {
self::assertEmailCount(1);
$mailerMessage = self::getMailerMessage(0);
self::assertEmailAddressContains($mailerMessage, 'To', self::INVITE_MAIL);
- self::assertEmailHeaderSame($mailerMessage, 'subject', 'Welcome to eCamp3');
+ self::assertEmailHeaderSame($mailerMessage, 'subject', 'Welcome to eCamp v3');
self::assertEmailHtmlBodyContains($mailerMessage, 'Welcome');
self::assertEmailHtmlBodyContains($mailerMessage, self::INVITE_KEY);
@@ -140,7 +140,7 @@ public function testSendResetPasswordMailDeChScout() {
self::assertEmailCount(1);
$mailerMessage = self::getMailerMessage(0);
self::assertEmailAddressContains($mailerMessage, 'To', self::INVITE_MAIL);
- self::assertEmailHeaderSame($mailerMessage, 'subject', '[eCamp3] Passwort zurücksetzen');
+ self::assertEmailHeaderSame($mailerMessage, 'subject', '[eCamp v3] Passwort zurücksetzen');
self::assertEmailHtmlBodyContains($mailerMessage, 'Passwort zurücksetzen');
self::assertEmailHtmlBodyContains($mailerMessage, 'reset-password/some-id');
@@ -176,7 +176,7 @@ public function testSendEmailVerificationMail() {
self::assertEmailCount(1);
$mailerMessage = self::getMailerMessage(0);
self::assertEmailAddressContains($mailerMessage, 'To', self::INVITE_MAIL);
- self::assertEmailHeaderSame($mailerMessage, 'subject', '[eCamp3] E-Mail-Adresse verifizieren');
+ self::assertEmailHeaderSame($mailerMessage, 'subject', '[eCamp v3] E-Mail-Adresse verifizieren');
self::assertEmailHtmlBodyContains($mailerMessage, 'Wir haben die Anfrage erhalten, deine E-Mail-Adresse bei eCamp zu ändern.');
self::assertEmailHtmlBodyContains($mailerMessage, 'profile/verify-mail/some-id');
diff --git a/api/tests/State/ResetPasswordUpdateProcessorTest.php b/api/tests/State/ResetPasswordUpdateProcessorTest.php
index c36eb76b0f..d171061f3b 100644
--- a/api/tests/State/ResetPasswordUpdateProcessorTest.php
+++ b/api/tests/State/ResetPasswordUpdateProcessorTest.php
@@ -9,6 +9,7 @@
use App\Security\ReCaptcha\ReCaptchaWrapper;
use App\State\ResetPasswordUpdateProcessor;
use Doctrine\ORM\EntityManagerInterface;
+use PHPUnit\Framework\Attributes\TestWith;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
use ReCaptcha\Response;
@@ -144,6 +145,7 @@ public function testUpdateWithCorrectResetKey() {
;
$user = new User();
$user->passwordResetKeyHash = 'resetKey';
+ $user->state = User::STATE_REGISTERED;
$this->userRepository->expects(self::once())
->method('loadUserByIdentifier')
@@ -167,5 +169,42 @@ public function testUpdateWithCorrectResetKey() {
self::assertThat($user->password, self::equalTo(md5('newPassword')));
self::assertThat($user->passwordResetKeyHash, self::isEmpty());
+ self::assertThat($user->state, self::equalTo(User::STATE_ACTIVATED));
+ }
+
+ #[TestWith([User::STATE_DELETED])]
+ #[TestWith([User::STATE_ACTIVATED])]
+ public function testUpdateWithCorrectResetKeyDoesNotChangeActivatedOrDeletedUsers(string $state) {
+ $this->recaptchaResponse->expects(self::once())
+ ->method('isSuccess')
+ ->willReturn(true)
+ ;
+ $user = new User();
+ $user->passwordResetKeyHash = 'resetKey';
+ $user->state = $state;
+
+ $this->userRepository->expects(self::once())
+ ->method('loadUserByIdentifier')
+ ->with(self::EMAIL)
+ ->willReturn($user)
+ ;
+ $this->pwHasher->expects(self::once())
+ ->method('verify')
+ ->willReturn(true)
+ ;
+ $this->pwHasher->expects(self::once())
+ ->method('hash')
+ ->willReturnCallback(fn ($raw) => md5($raw))
+ ;
+
+ $this->resetPassword->id = base64_encode(self::EMAIL.'#myKey');
+ $this->resetPassword->recaptchaToken = 'token';
+ $this->resetPassword->password = 'newPassword';
+
+ $this->processor->process($this->resetPassword, new Patch());
+
+ self::assertThat($user->password, self::equalTo(md5('newPassword')));
+ self::assertThat($user->passwordResetKeyHash, self::isEmpty());
+ self::assertThat($user->state, self::equalTo($state));
}
}
diff --git a/api/translations/email+intl-icu.de.json b/api/translations/email+intl-icu.de.json
index 12dc0cc5c7..08097db216 100644
--- a/api/translations/email+intl-icu.de.json
+++ b/api/translations/email+intl-icu.de.json
@@ -1,14 +1,14 @@
{
"inviteToCamp": {
- "subject": "[eCamp3] Du wurdest ins Lager \"{campName}\" eingeladen"
+ "subject": "[eCamp v3] Du wurdest ins Lager \"{campName}\" eingeladen"
},
"userActivation": {
- "subject": "Willkommen bei eCamp3"
+ "subject": "Willkommen bei eCamp v3"
},
"passwordReset": {
- "subject": "[eCamp3] Passwort zurücksetzen"
+ "subject": "[eCamp v3] Passwort zurücksetzen"
},
"emailVerification": {
- "subject": "[eCamp3] E-Mail-Adresse verifizieren"
+ "subject": "[eCamp v3] E-Mail-Adresse verifizieren"
}
}
\ No newline at end of file
diff --git a/api/translations/email+intl-icu.en.json b/api/translations/email+intl-icu.en.json
index ac419d19bc..df5e61e81e 100644
--- a/api/translations/email+intl-icu.en.json
+++ b/api/translations/email+intl-icu.en.json
@@ -1,14 +1,14 @@
{
"inviteToCamp": {
- "subject": "[eCamp3] You were invited to collaborate in camp \"{campName}\""
+ "subject": "[eCamp v3] You were invited to collaborate in camp \"{campName}\""
},
"userActivation": {
- "subject": "Welcome to eCamp3"
+ "subject": "Welcome to eCamp v3"
},
"passwordReset": {
- "subject": "[eCamp3] Password reset"
+ "subject": "[eCamp v3] Password reset"
},
"emailVerification": {
- "subject": "[eCamp3] Verify email address"
+ "subject": "[eCamp v3] Verify email address"
}
}
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index 3257013130..2c9b607c41 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -2,7 +2,7 @@ version: '3.9'
services:
frontend:
- image: node:20.11.0
+ image: node:20.11.1
container_name: 'ecamp3-frontend'
ports:
- '9229:9229' # jest debug
@@ -94,7 +94,7 @@ services:
- ./api/public:/srv/api/public:ro
pdf:
- image: node:20.11.0
+ image: node:20.11.1
container_name: 'ecamp3-pdf'
stdin_open: true
tty: true
@@ -113,7 +113,7 @@ services:
- CI=${CI}
print:
- image: node:20.11.0
+ image: node:20.11.1
container_name: 'ecamp3-print'
user: ${USER_ID:-1000}
volumes:
@@ -164,7 +164,7 @@ services:
restart: on-failure
browserless:
- image: browserless/chrome:1.61.0-puppeteer-21.4.1
+ image: browserless/chrome:1.61.1-puppeteer-21.9.0
container_name: 'ecamp3-browserless'
ports:
- '3010:3000'
@@ -179,7 +179,7 @@ services:
- FUNCTION_ENABLE_INCOGNITO_MODE=true
e2e:
- image: cypress/included:13.6.3
+ image: cypress/included:13.7.1
profiles: ['e2e']
container_name: 'ecamp3-e2e'
environment:
@@ -192,7 +192,7 @@ services:
working_dir: /e2e
translation:
- image: node:20.11.0
+ image: node:20.11.1
profiles: ['translation']
container_name: 'ecamp3-translation'
volumes:
diff --git a/e2e/package-lock.json b/e2e/package-lock.json
index bfa1f6d917..5c26226241 100644
--- a/e2e/package-lock.json
+++ b/e2e/package-lock.json
@@ -6,11 +6,11 @@
"": {
"name": "@ecamp3/e2e",
"devDependencies": {
- "cypress": "13.6.3",
+ "cypress": "13.7.1",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-cypress": "2.15.1",
"eslint-plugin-prettier": "5.1.3",
- "prettier": "3.2.2"
+ "prettier": "3.2.5"
}
},
"node_modules/@aashutoshrathi/word-wrap": {
@@ -132,9 +132,9 @@
}
},
"node_modules/@eslint/js": {
- "version": "8.56.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
- "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
+ "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
"dev": true,
"peer": true,
"engines": {
@@ -216,9 +216,9 @@
}
},
"node_modules/@pkgr/core": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.0.tgz",
- "integrity": "sha512-Zwq5OCzuwJC2jwqmpEQt7Ds1DTi6BWSwoGkbb1n9pO3hzb35BoJELx7c0T23iDkBGkh2e7tvOtjF3tr3OaQHDQ==",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz",
+ "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==",
"dev": true,
"engines": {
"node": "^12.20.0 || ^14.18.0 || >=16.0.0"
@@ -228,9 +228,9 @@
}
},
"node_modules/@types/node": {
- "version": "18.19.7",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.7.tgz",
- "integrity": "sha512-IGRJfoNX10N/PfrReRZ1br/7SQ+2vF/tK3KXNwzXz82D32z5dMQEoOlFew18nLSN+vMNcLY4GrKfzwi/yWI8/w==",
+ "version": "20.11.30",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz",
+ "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==",
"dev": true,
"optional": true,
"dependencies": {
@@ -473,7 +473,8 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"node_modules/base64-js": {
"version": "1.5.1",
@@ -521,6 +522,7 @@
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
+ "peer": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -569,14 +571,19 @@
}
},
"node_modules/call-bind": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
- "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"dev": true,
"dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.1",
- "set-function-length": "^1.1.1"
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -672,9 +679,9 @@
}
},
"node_modules/cli-table3": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz",
- "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==",
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.4.tgz",
+ "integrity": "sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==",
"dev": true,
"dependencies": {
"string-width": "^4.2.0"
@@ -760,7 +767,8 @@
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"node_modules/core-util-is": {
"version": "1.0.2",
@@ -783,9 +791,9 @@
}
},
"node_modules/cypress": {
- "version": "13.6.3",
- "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.3.tgz",
- "integrity": "sha512-d/pZvgwjAyZsoyJ3FOsJT5lDsqnxQ/clMqnNc++rkHjbkkiF2h9s0JsZSyyH4QXhVFW3zPFg82jD25roFLOdZA==",
+ "version": "13.7.1",
+ "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.7.1.tgz",
+ "integrity": "sha512-4u/rpFNxOFCoFX/Z5h+uwlkBO4mWzAjveURi3vqdSu56HPvVdyGTxGw4XKGWt399Y1JwIn9E1L9uMXQpc0o55w==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
@@ -796,7 +804,7 @@
"arch": "^2.2.0",
"blob-util": "^2.0.2",
"bluebird": "^3.7.2",
- "buffer": "^5.6.0",
+ "buffer": "^5.7.1",
"cachedir": "^2.3.0",
"chalk": "^4.1.0",
"check-more-types": "^2.24.0",
@@ -814,7 +822,7 @@
"figures": "^3.2.0",
"fs-extra": "^9.1.0",
"getos": "^3.2.1",
- "is-ci": "^3.0.0",
+ "is-ci": "^3.0.1",
"is-installed-globally": "~0.4.0",
"lazy-ass": "^1.6.0",
"listr2": "^3.8.3",
@@ -882,17 +890,20 @@
"peer": true
},
"node_modules/define-data-property": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
- "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
"dev": true,
"dependencies": {
- "get-intrinsic": "^1.2.1",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0"
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
},
"engines": {
"node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/delayed-stream": {
@@ -955,6 +966,27 @@
"node": ">=8.6"
}
},
+ "node_modules/es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/escape-string-regexp": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -969,17 +1001,17 @@
}
},
"node_modules/eslint": {
- "version": "8.56.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
- "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
+ "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
"dev": true,
"peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.56.0",
- "@humanwhocodes/config-array": "^0.11.13",
+ "@eslint/js": "8.57.0",
+ "@humanwhocodes/config-array": "^0.11.14",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
"@ungap/structured-clone": "^1.2.0",
@@ -1276,9 +1308,9 @@
"peer": true
},
"node_modules/fastq": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz",
- "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==",
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
"dev": true,
"peer": true,
"dependencies": {
@@ -1364,9 +1396,9 @@
}
},
"node_modules/flatted": {
- "version": "3.2.9",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
- "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
"dev": true,
"peer": true
},
@@ -1412,7 +1444,8 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"node_modules/function-bind": {
"version": "1.1.2",
@@ -1424,16 +1457,20 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
- "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
"dev": true,
"dependencies": {
+ "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
"hasown": "^2.0.0"
},
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -1476,6 +1513,7 @@
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dev": true,
+ "peer": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -1569,21 +1607,21 @@
}
},
"node_modules/has-property-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
- "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"dev": true,
"dependencies": {
- "get-intrinsic": "^1.2.2"
+ "es-define-property": "^1.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
"dev": true,
"engines": {
"node": ">= 0.4"
@@ -1605,9 +1643,9 @@
}
},
"node_modules/hasown": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
- "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.2"
@@ -1660,9 +1698,9 @@
]
},
"node_modules/ignore": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
- "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
"dev": true,
"peer": true,
"engines": {
@@ -1710,6 +1748,7 @@
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"dev": true,
+ "peer": true,
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@@ -1719,7 +1758,8 @@
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"node_modules/ini": {
"version": "2.0.0",
@@ -2133,6 +2173,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "peer": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -2306,6 +2347,7 @@
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
"dev": true,
+ "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -2351,9 +2393,9 @@
}
},
"node_modules/prettier": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.2.tgz",
- "integrity": "sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A==",
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz",
+ "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==",
"dev": true,
"bin": {
"prettier": "bin/prettier.cjs"
@@ -2521,9 +2563,9 @@
}
},
"node_modules/rfdc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
- "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz",
+ "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==",
"dev": true
},
"node_modules/rimraf": {
@@ -2531,6 +2573,7 @@
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
+ "peer": true,
"dependencies": {
"glob": "^7.1.3"
},
@@ -2601,9 +2644,9 @@
"dev": true
},
"node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -2616,16 +2659,17 @@
}
},
"node_modules/set-function-length": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz",
- "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
"dev": true,
"dependencies": {
- "define-data-property": "^1.1.1",
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.2",
+ "get-intrinsic": "^1.2.4",
"gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.1"
+ "has-property-descriptors": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -2653,14 +2697,18 @@
}
},
"node_modules/side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
+ "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4",
+ "object-inspect": "^1.13.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -2813,15 +2861,12 @@
"dev": true
},
"node_modules/tmp": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
- "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
+ "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==",
"dev": true,
- "dependencies": {
- "rimraf": "^3.0.0"
- },
"engines": {
- "node": ">=8.17.0"
+ "node": ">=14.14"
}
},
"node_modules/tough-cookie": {
diff --git a/e2e/package.json b/e2e/package.json
index 991c6f6e76..f85ad87489 100644
--- a/e2e/package.json
+++ b/e2e/package.json
@@ -12,11 +12,11 @@
"lint:check:prettier": "prettier --check --ignore-path .gitignore **/*.{js,json,md}"
},
"devDependencies": {
- "cypress": "13.6.3",
+ "cypress": "13.7.1",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-cypress": "2.15.1",
"eslint-plugin-prettier": "5.1.3",
- "prettier": "3.2.2"
+ "prettier": "3.2.5"
},
"eslintConfig": {
"root": true,
@@ -30,6 +30,7 @@
"plugin:prettier/recommended"
],
"rules": {
+ "prefer-const": "error",
"prettier/prettier": "error"
}
}
diff --git a/e2e/specs/nuxtPrint.cy.js b/e2e/specs/nuxtPrint.cy.js
index 99f450b7bf..e9938c0b04 100644
--- a/e2e/specs/nuxtPrint.cy.js
+++ b/e2e/specs/nuxtPrint.cy.js
@@ -11,7 +11,7 @@ describe('Nuxt print test', () => {
const campUri = body._links.items[1].href
const camp = body._embedded.items[1]
- let printConfig = {
+ const printConfig = {
language: 'en',
documentName: 'camp',
camp: campUri,
diff --git a/frontend/index.html b/frontend/index.html
index 23f9cadfe8..34044dc6c4 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -29,7 +29,7 @@
-