license: built full stack, test and documentation
This commit is contained in:
32
backend/app/Enums/LicenseKind.php
Normal file
32
backend/app/Enums/LicenseKind.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
/**
|
||||
* Natura della voce nella tabella `licenses`.
|
||||
*
|
||||
* Non tutto ciò che si applica a record e media è una licenza in senso
|
||||
* stretto: il Public Domain Mark è un *marchio* (dichiara uno stato
|
||||
* esistente, non concede diritti) e gli statement di RightsStatements.org
|
||||
* etichettano lo stato dei diritti senza concederne. La distinzione serve a
|
||||
* UI e download: solo le voci `License` hanno un testo legale da includere
|
||||
* nello zip dei media (colonna `file`).
|
||||
*/
|
||||
enum LicenseKind: string
|
||||
{
|
||||
case License = 'license';
|
||||
case Mark = 'mark';
|
||||
case RightsStatement = 'rights_statement';
|
||||
|
||||
/**
|
||||
* Etichetta leggibile per la UI (inglese: lingua ufficiale dell'applicazione).
|
||||
*/
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::License => 'License',
|
||||
self::Mark => 'Public domain mark',
|
||||
self::RightsStatement => 'Rights statement',
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user