diff --git a/src/API/Model/Version.php b/src/API/Model/Version.php index 178c30d6..c50de8a1 100644 --- a/src/API/Model/Version.php +++ b/src/API/Model/Version.php @@ -20,7 +20,7 @@ use JMS\Serializer\Annotation as Serializer; class Version { /** - * Kimai Version, eg. "1.9" + * Kimai Version, eg. "1.14" * * @var string * @@ -29,6 +29,18 @@ class Version * @Serializer\Type(name="string") */ protected $version = Constants::VERSION; + /** + * Kimai Version as integer, eg. 11400 + * + * Follows the same logic as PHP_VERSION_ID, see https://www.php.net/manual/de/function.phpversion.php + * + * @var int + * + * @Serializer\Expose() + * @Serializer\Groups({"Default"}) + * @Serializer\Type(name="integer") + */ + protected $versionId = Constants::VERSION_ID; /** * Candidate: either "prod" or "dev" * diff --git a/src/Constants.php b/src/Constants.php index 26ca516b..f8d40cfd 100644 --- a/src/Constants.php +++ b/src/Constants.php @@ -17,11 +17,15 @@ class Constants /** * The current release version */ - public const VERSION = '1.13'; + public const VERSION = '1.14'; + /** + * The current release: major * 10000 + minor * 100 + patch + */ + public const VERSION_ID = 11400; /** * The current release status, either "stable" or "dev" */ - public const STATUS = 'stable'; + public const STATUS = 'dev'; /** * The software name */ diff --git a/tests/API/StatusControllerTest.php b/tests/API/StatusControllerTest.php index d1720444..eca44f1d 100644 --- a/tests/API/StatusControllerTest.php +++ b/tests/API/StatusControllerTest.php @@ -46,12 +46,14 @@ class StatusControllerTest extends APIControllerBaseTest $this->assertIsArray($result); $this->assertArrayHasKey('version', $result); + $this->assertArrayHasKey('versionId', $result); $this->assertArrayHasKey('candidate', $result); $this->assertArrayHasKey('semver', $result); $this->assertArrayHasKey('name', $result); $this->assertArrayHasKey('copyright', $result); $this->assertSame(Constants::VERSION, $result['version']); + $this->assertSame(Constants::VERSION_ID, $result['versionId']); $this->assertEquals(Constants::STATUS, $result['candidate']); $this->assertEquals(Constants::VERSION . '-' . Constants::STATUS, $result['semver']); $this->assertEquals(Constants::NAME, $result['name']); diff --git a/tests/ConstantsTest.php b/tests/ConstantsTest.php new file mode 100644 index 00000000..ac7accee --- /dev/null +++ b/tests/ConstantsTest.php @@ -0,0 +1,34 @@ +