mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 16:05:18 +00:00
29 lines
773 B
Dart
29 lines
773 B
Dart
part of 'metadata.dart';
|
|
|
|
enum PluginType { metadata }
|
|
|
|
enum PluginApis { webview, localstorage, timezone }
|
|
|
|
enum PluginAbilities { authentication }
|
|
|
|
@freezed
|
|
class PluginConfiguration with _$PluginConfiguration {
|
|
const PluginConfiguration._();
|
|
|
|
factory PluginConfiguration({
|
|
required PluginType type,
|
|
required String name,
|
|
required String description,
|
|
required String version,
|
|
required String author,
|
|
required String entryPoint,
|
|
@Default([]) List<PluginApis> apis,
|
|
@Default([]) List<PluginAbilities> abilities,
|
|
}) = _PluginConfiguration;
|
|
|
|
factory PluginConfiguration.fromJson(Map<String, dynamic> json) =>
|
|
_$PluginConfigurationFromJson(json);
|
|
|
|
String get slug => name.toLowerCase().replaceAll(RegExp(r'[^a-z0-9]+'), '-');
|
|
}
|