refactor: use string-backed enum for variant selection
This commit is contained in:
@ -6,4 +6,14 @@ namespace OCA\PrideFlags;
|
||||
|
||||
abstract class AppConstants {
|
||||
public const APP_ID = 'pride_flags';
|
||||
public enum Variants: string {
|
||||
case PRIDE = "Pride";
|
||||
case TRANS = "Trans Pride";
|
||||
case PAN = "Pansexual Pride";
|
||||
case BI = "Bisexual Pride";
|
||||
case ASEXUAL = "Asexual Pride";
|
||||
case LESBIAN = "Lesbian Pride";
|
||||
case NONBINARY = "Non-binary Pride";
|
||||
case NONE = "No customisation";
|
||||
}
|
||||
}
|
||||
|
@ -18,11 +18,16 @@ class AppSettings {
|
||||
}
|
||||
|
||||
public function setStringSetting($userId, string $key, string $value): void {
|
||||
$this->config->setUserValue(AppConstants::APP_ID, $userId, $key, $value);
|
||||
// Check for valid Variant here
|
||||
if (AppConstants\Variants::tryFrom($value) != null) {
|
||||
$this->config->setUserValue(AppConstants::APP_ID, $userId, $key, $value);
|
||||
}
|
||||
}
|
||||
|
||||
public function setAppStringSetting(string $key, string $value): void {
|
||||
$this->config->setAppValue(AppConstants::APP_ID, $key, $value);
|
||||
if (AppConstants\Variants::tryFrom($value) != null) {
|
||||
$this->config->setAppValue(AppConstants::APP_ID, $key, $value);
|
||||
}
|
||||
}
|
||||
|
||||
public function getAll($userId): array {
|
||||
|
Reference in New Issue
Block a user