diff --git a/helper/helper/fido.py b/helper/helper/fido.py index 3a81b3cf..e3d71149 100644 --- a/helper/helper/fido.py +++ b/helper/helper/fido.py @@ -401,8 +401,10 @@ class FingerprintNode(RpcNode): self.bio.set_name(self.template_id, name) self.name = name self.refresh() + return dict() @action def delete(self, params, event, signal): self.bio.remove_enrollment(self.template_id) self.refresh() + return dict() diff --git a/helper/helper/piv.py b/helper/helper/piv.py index 0a5c933b..f1b9c198 100644 --- a/helper/helper/piv.py +++ b/helper/helper/piv.py @@ -135,11 +135,18 @@ class PivNode(RpcNode): pin_attempts = self.session.get_pin_attempts() metadata = None + try: + self.session.get_bio_metadata() + supports_bio = True + except NotSupportedError: + supports_bio = False + return dict( version=self.session.version, authenticated=self._authenticated, derived_key=self._pivman_data.has_derived_key, stored_key=self._pivman_data.has_stored_key, + supports_bio=supports_bio, chuid=self._get_object(OBJECT_ID.CHUID), ccc=self._get_object(OBJECT_ID.CAPABILITY), pin_attempts=pin_attempts, diff --git a/lib/app/models.freezed.dart b/lib/app/models.freezed.dart index 7b15fb31..37629fcb 100644 --- a/lib/app/models.freezed.dart +++ b/lib/app/models.freezed.dart @@ -20,7 +20,9 @@ mixin _$YubiKeyData { String get name => throw _privateConstructorUsedError; DeviceInfo get info => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + /// Create a copy of YubiKeyData + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $YubiKeyDataCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -47,6 +49,8 @@ class _$YubiKeyDataCopyWithImpl<$Res, $Val extends YubiKeyData> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of YubiKeyData + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -70,6 +74,8 @@ class _$YubiKeyDataCopyWithImpl<$Res, $Val extends YubiKeyData> ) as $Val); } + /// Create a copy of YubiKeyData + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $DeviceNodeCopyWith<$Res> get node { @@ -78,6 +84,8 @@ class _$YubiKeyDataCopyWithImpl<$Res, $Val extends YubiKeyData> }); } + /// Create a copy of YubiKeyData + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $DeviceInfoCopyWith<$Res> get info { @@ -111,6 +119,8 @@ class __$$YubiKeyDataImplCopyWithImpl<$Res> _$YubiKeyDataImpl _value, $Res Function(_$YubiKeyDataImpl) _then) : super(_value, _then); + /// Create a copy of YubiKeyData + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -165,7 +175,9 @@ class _$YubiKeyDataImpl implements _YubiKeyData { @override int get hashCode => Object.hash(runtimeType, node, name, info); - @JsonKey(ignore: true) + /// Create a copy of YubiKeyData + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$YubiKeyDataImplCopyWith<_$YubiKeyDataImpl> get copyWith => @@ -183,8 +195,11 @@ abstract class _YubiKeyData implements YubiKeyData { String get name; @override DeviceInfo get info; + + /// Create a copy of YubiKeyData + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$YubiKeyDataImplCopyWith<_$YubiKeyDataImpl> get copyWith => throw _privateConstructorUsedError; } @@ -238,7 +253,9 @@ mixin _$DeviceNode { }) => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + /// Create a copy of DeviceNode + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $DeviceNodeCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -262,6 +279,8 @@ class _$DeviceNodeCopyWithImpl<$Res, $Val extends DeviceNode> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of DeviceNode + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -302,6 +321,8 @@ class __$$UsbYubiKeyNodeImplCopyWithImpl<$Res> _$UsbYubiKeyNodeImpl _value, $Res Function(_$UsbYubiKeyNodeImpl) _then) : super(_value, _then); + /// Create a copy of DeviceNode + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -330,6 +351,8 @@ class __$$UsbYubiKeyNodeImplCopyWithImpl<$Res> )); } + /// Create a copy of DeviceNode + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $DeviceInfoCopyWith<$Res>? get info { @@ -376,7 +399,9 @@ class _$UsbYubiKeyNodeImpl extends UsbYubiKeyNode { @override int get hashCode => Object.hash(runtimeType, path, name, pid, info); - @JsonKey(ignore: true) + /// Create a copy of DeviceNode + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$UsbYubiKeyNodeImplCopyWith<_$UsbYubiKeyNodeImpl> get copyWith => @@ -463,8 +488,11 @@ abstract class UsbYubiKeyNode extends DeviceNode { String get name; UsbPid get pid; DeviceInfo? get info; + + /// Create a copy of DeviceNode + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$UsbYubiKeyNodeImplCopyWith<_$UsbYubiKeyNodeImpl> get copyWith => throw _privateConstructorUsedError; } @@ -488,6 +516,8 @@ class __$$NfcReaderNodeImplCopyWithImpl<$Res> _$NfcReaderNodeImpl _value, $Res Function(_$NfcReaderNodeImpl) _then) : super(_value, _then); + /// Create a copy of DeviceNode + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -534,7 +564,9 @@ class _$NfcReaderNodeImpl extends NfcReaderNode { @override int get hashCode => Object.hash(runtimeType, path, name); - @JsonKey(ignore: true) + /// Create a copy of DeviceNode + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$NfcReaderNodeImplCopyWith<_$NfcReaderNodeImpl> get copyWith => @@ -618,8 +650,11 @@ abstract class NfcReaderNode extends DeviceNode { DevicePath get path; @override String get name; + + /// Create a copy of DeviceNode + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$NfcReaderNodeImplCopyWith<_$NfcReaderNodeImpl> get copyWith => throw _privateConstructorUsedError; } @@ -636,7 +671,9 @@ mixin _$ActionItem { Key? get key => throw _privateConstructorUsedError; Feature? get feature => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + /// Create a copy of ActionItem + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $ActionItemCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -669,6 +706,8 @@ class _$ActionItemCopyWithImpl<$Res, $Val extends ActionItem> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of ActionItem + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -751,6 +790,8 @@ class __$$ActionItemImplCopyWithImpl<$Res> _$ActionItemImpl _value, $Res Function(_$ActionItemImpl) _then) : super(_value, _then); + /// Create a copy of ActionItem + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -867,7 +908,9 @@ class _$ActionItemImpl implements _ActionItem { int get hashCode => Object.hash(runtimeType, icon, title, subtitle, shortcut, trailing, intent, actionStyle, key, feature); - @JsonKey(ignore: true) + /// Create a copy of ActionItem + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$ActionItemImplCopyWith<_$ActionItemImpl> get copyWith => @@ -904,8 +947,11 @@ abstract class _ActionItem implements ActionItem { Key? get key; @override Feature? get feature; + + /// Create a copy of ActionItem + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$ActionItemImplCopyWith<_$ActionItemImpl> get copyWith => throw _privateConstructorUsedError; } @@ -917,7 +963,9 @@ mixin _$WindowState { bool get active => throw _privateConstructorUsedError; bool get hidden => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + /// Create a copy of WindowState + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $WindowStateCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -941,6 +989,8 @@ class _$WindowStateCopyWithImpl<$Res, $Val extends WindowState> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of WindowState + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -989,6 +1039,8 @@ class __$$WindowStateImplCopyWithImpl<$Res> _$WindowStateImpl _value, $Res Function(_$WindowStateImpl) _then) : super(_value, _then); + /// Create a copy of WindowState + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1057,7 +1109,9 @@ class _$WindowStateImpl implements _WindowState { int get hashCode => Object.hash(runtimeType, focused, visible, active, hidden); - @JsonKey(ignore: true) + /// Create a copy of WindowState + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$WindowStateImplCopyWith<_$WindowStateImpl> get copyWith => @@ -1079,8 +1133,11 @@ abstract class _WindowState implements WindowState { bool get active; @override bool get hidden; + + /// Create a copy of WindowState + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$WindowStateImplCopyWith<_$WindowStateImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1098,8 +1155,12 @@ mixin _$KeyCustomization { @_ColorConverter() Color? get color => throw _privateConstructorUsedError; + /// Serializes this KeyCustomization to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of KeyCustomization + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $KeyCustomizationCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -1126,6 +1187,8 @@ class _$KeyCustomizationCopyWithImpl<$Res, $Val extends KeyCustomization> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of KeyCustomization + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1172,6 +1235,8 @@ class __$$KeyCustomizationImplCopyWithImpl<$Res> $Res Function(_$KeyCustomizationImpl) _then) : super(_value, _then); + /// Create a copy of KeyCustomization + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1232,11 +1297,13 @@ class _$KeyCustomizationImpl implements _KeyCustomization { (identical(other.color, color) || other.color == color)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, serial, name, color); - @JsonKey(ignore: true) + /// Create a copy of KeyCustomization + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$KeyCustomizationImplCopyWith<_$KeyCustomizationImpl> get copyWith => @@ -1271,8 +1338,11 @@ abstract class _KeyCustomization implements KeyCustomization { @JsonKey(includeIfNull: false) @_ColorConverter() Color? get color; + + /// Create a copy of KeyCustomization + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$KeyCustomizationImplCopyWith<_$KeyCustomizationImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/lib/core/models.freezed.dart b/lib/core/models.freezed.dart index 545c06be..5fe34579 100644 --- a/lib/core/models.freezed.dart +++ b/lib/core/models.freezed.dart @@ -20,7 +20,9 @@ mixin _$Version { int get minor => throw _privateConstructorUsedError; int get patch => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + /// Create a copy of Version + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $VersionCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -42,6 +44,8 @@ class _$VersionCopyWithImpl<$Res, $Val extends Version> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of Version + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -84,6 +88,8 @@ class __$$VersionImplCopyWithImpl<$Res> _$VersionImpl _value, $Res Function(_$VersionImpl) _then) : super(_value, _then); + /// Create a copy of Version + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -140,7 +146,9 @@ class _$VersionImpl extends _Version { @override int get hashCode => Object.hash(runtimeType, major, minor, patch); - @JsonKey(ignore: true) + /// Create a copy of Version + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$VersionImplCopyWith<_$VersionImpl> get copyWith => @@ -158,8 +166,11 @@ abstract class _Version extends Version { int get minor; @override int get patch; + + /// Create a copy of Version + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$VersionImplCopyWith<_$VersionImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/lib/desktop/models.freezed.dart b/lib/desktop/models.freezed.dart index 1f14af4f..b346e8a5 100644 --- a/lib/desktop/models.freezed.dart +++ b/lib/desktop/models.freezed.dart @@ -81,8 +81,13 @@ mixin _$RpcResponse { required TResult orElse(), }) => throw _privateConstructorUsedError; + + /// Serializes this RpcResponse to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of RpcResponse + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $RpcResponseCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -106,6 +111,8 @@ class _$RpcResponseCopyWithImpl<$Res, $Val extends RpcResponse> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of RpcResponse + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -139,6 +146,8 @@ class __$$SuccessImplCopyWithImpl<$Res> _$SuccessImpl _value, $Res Function(_$SuccessImpl) _then) : super(_value, _then); + /// Create a copy of RpcResponse + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -203,14 +212,16 @@ class _$SuccessImpl implements Success { const DeepCollectionEquality().equals(other._flags, _flags)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, const DeepCollectionEquality().hash(_body), const DeepCollectionEquality().hash(_flags)); - @JsonKey(ignore: true) + /// Create a copy of RpcResponse + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SuccessImplCopyWith<_$SuccessImpl> get copyWith => @@ -306,8 +317,11 @@ abstract class Success implements RpcResponse { @override Map get body; List get flags; + + /// Create a copy of RpcResponse + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SuccessImplCopyWith<_$SuccessImpl> get copyWith => throw _privateConstructorUsedError; } @@ -331,6 +345,8 @@ class __$$SignalImplCopyWithImpl<$Res> _$SignalImpl _value, $Res Function(_$SignalImpl) _then) : super(_value, _then); + /// Create a copy of RpcResponse + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -388,12 +404,14 @@ class _$SignalImpl implements Signal { const DeepCollectionEquality().equals(other._body, _body)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, status, const DeepCollectionEquality().hash(_body)); - @JsonKey(ignore: true) + /// Create a copy of RpcResponse + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SignalImplCopyWith<_$SignalImpl> get copyWith => @@ -489,8 +507,11 @@ abstract class Signal implements RpcResponse { String get status; @override Map get body; + + /// Create a copy of RpcResponse + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SignalImplCopyWith<_$SignalImpl> get copyWith => throw _privateConstructorUsedError; } @@ -514,6 +535,8 @@ class __$$RpcErrorImplCopyWithImpl<$Res> _$RpcErrorImpl _value, $Res Function(_$RpcErrorImpl) _then) : super(_value, _then); + /// Create a copy of RpcResponse + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -579,12 +602,14 @@ class _$RpcErrorImpl implements RpcError { const DeepCollectionEquality().equals(other._body, _body)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, status, message, const DeepCollectionEquality().hash(_body)); - @JsonKey(ignore: true) + /// Create a copy of RpcResponse + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$RpcErrorImplCopyWith<_$RpcErrorImpl> get copyWith => @@ -682,8 +707,11 @@ abstract class RpcError implements RpcResponse { String get message; @override Map get body; + + /// Create a copy of RpcResponse + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$RpcErrorImplCopyWith<_$RpcErrorImpl> get copyWith => throw _privateConstructorUsedError; } @@ -697,8 +725,12 @@ mixin _$RpcState { String get version => throw _privateConstructorUsedError; bool get isAdmin => throw _privateConstructorUsedError; + /// Serializes this RpcState to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of RpcState + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $RpcStateCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -721,6 +753,8 @@ class _$RpcStateCopyWithImpl<$Res, $Val extends RpcState> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of RpcState + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -759,6 +793,8 @@ class __$$RpcStateImplCopyWithImpl<$Res> _$RpcStateImpl _value, $Res Function(_$RpcStateImpl) _then) : super(_value, _then); + /// Create a copy of RpcState + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -805,11 +841,13 @@ class _$RpcStateImpl implements _RpcState { (identical(other.isAdmin, isAdmin) || other.isAdmin == isAdmin)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, version, isAdmin); - @JsonKey(ignore: true) + /// Create a copy of RpcState + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$RpcStateImplCopyWith<_$RpcStateImpl> get copyWith => @@ -834,8 +872,11 @@ abstract class _RpcState implements RpcState { String get version; @override bool get isAdmin; + + /// Create a copy of RpcState + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$RpcStateImplCopyWith<_$RpcStateImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/lib/fido/models.freezed.dart b/lib/fido/models.freezed.dart index 298fe0ae..211a52b9 100644 --- a/lib/fido/models.freezed.dart +++ b/lib/fido/models.freezed.dart @@ -24,8 +24,12 @@ mixin _$FidoState { bool get unlocked => throw _privateConstructorUsedError; int? get pinRetries => throw _privateConstructorUsedError; + /// Serializes this FidoState to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of FidoState + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $FidoStateCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -48,6 +52,8 @@ class _$FidoStateCopyWithImpl<$Res, $Val extends FidoState> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of FidoState + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -91,6 +97,8 @@ class __$$FidoStateImplCopyWithImpl<$Res> _$FidoStateImpl _value, $Res Function(_$FidoStateImpl) _then) : super(_value, _then); + /// Create a copy of FidoState + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -158,12 +166,14 @@ class _$FidoStateImpl extends _FidoState { other.pinRetries == pinRetries)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, const DeepCollectionEquality().hash(_info), unlocked, pinRetries); - @JsonKey(ignore: true) + /// Create a copy of FidoState + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$FidoStateImplCopyWith<_$FidoStateImpl> get copyWith => @@ -193,8 +203,11 @@ abstract class _FidoState extends FidoState { bool get unlocked; @override int? get pinRetries; + + /// Create a copy of FidoState + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$FidoStateImplCopyWith<_$FidoStateImpl> get copyWith => throw _privateConstructorUsedError; } @@ -256,6 +269,9 @@ class _$PinResultCopyWithImpl<$Res, $Val extends PinResult> final $Val _value; // ignore: unused_field final $Res Function($Val) _then; + + /// Create a copy of PinResult + /// with the given fields replaced by the non-null parameter values. } /// @nodoc @@ -272,6 +288,9 @@ class __$$PinSuccessImplCopyWithImpl<$Res> __$$PinSuccessImplCopyWithImpl( _$PinSuccessImpl _value, $Res Function(_$PinSuccessImpl) _then) : super(_value, _then); + + /// Create a copy of PinResult + /// with the given fields replaced by the non-null parameter values. } /// @nodoc @@ -379,6 +398,8 @@ class __$$PinFailureImplCopyWithImpl<$Res> _$PinFailureImpl _value, $Res Function(_$PinFailureImpl) _then) : super(_value, _then); + /// Create a copy of PinResult + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -392,6 +413,8 @@ class __$$PinFailureImplCopyWithImpl<$Res> )); } + /// Create a copy of PinResult + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $FidoPinFailureReasonCopyWith<$Res> get reason { @@ -425,7 +448,9 @@ class _$PinFailureImpl implements _PinFailure { @override int get hashCode => Object.hash(runtimeType, reason); - @JsonKey(ignore: true) + /// Create a copy of PinResult + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$PinFailureImplCopyWith<_$PinFailureImpl> get copyWith => @@ -498,7 +523,10 @@ abstract class _PinFailure implements PinResult { factory _PinFailure(final FidoPinFailureReason reason) = _$PinFailureImpl; FidoPinFailureReason get reason; - @JsonKey(ignore: true) + + /// Create a copy of PinResult + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) _$$PinFailureImplCopyWith<_$PinFailureImpl> get copyWith => throw _privateConstructorUsedError; } @@ -562,6 +590,9 @@ class _$FidoPinFailureReasonCopyWithImpl<$Res, final $Val _value; // ignore: unused_field final $Res Function($Val) _then; + + /// Create a copy of FidoPinFailureReason + /// with the given fields replaced by the non-null parameter values. } /// @nodoc @@ -581,6 +612,8 @@ class __$$FidoInvalidPinImplCopyWithImpl<$Res> _$FidoInvalidPinImpl _value, $Res Function(_$FidoInvalidPinImpl) _then) : super(_value, _then); + /// Create a copy of FidoPinFailureReason + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -628,7 +661,9 @@ class _$FidoInvalidPinImpl implements FidoInvalidPin { @override int get hashCode => Object.hash(runtimeType, retries, authBlocked); - @JsonKey(ignore: true) + /// Create a copy of FidoPinFailureReason + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$FidoInvalidPinImplCopyWith<_$FidoInvalidPinImpl> get copyWith => @@ -704,7 +739,10 @@ abstract class FidoInvalidPin implements FidoPinFailureReason { int get retries; bool get authBlocked; - @JsonKey(ignore: true) + + /// Create a copy of FidoPinFailureReason + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) _$$FidoInvalidPinImplCopyWith<_$FidoInvalidPinImpl> get copyWith => throw _privateConstructorUsedError; } @@ -723,6 +761,9 @@ class __$$FidoWeakPinImplCopyWithImpl<$Res> __$$FidoWeakPinImplCopyWithImpl( _$FidoWeakPinImpl _value, $Res Function(_$FidoWeakPinImpl) _then) : super(_value, _then); + + /// Create a copy of FidoPinFailureReason + /// with the given fields replaced by the non-null parameter values. } /// @nodoc @@ -820,8 +861,12 @@ mixin _$Fingerprint { String get templateId => throw _privateConstructorUsedError; String? get name => throw _privateConstructorUsedError; + /// Serializes this Fingerprint to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of Fingerprint + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $FingerprintCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -845,6 +890,8 @@ class _$FingerprintCopyWithImpl<$Res, $Val extends Fingerprint> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of Fingerprint + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -883,6 +930,8 @@ class __$$FingerprintImplCopyWithImpl<$Res> _$FingerprintImpl _value, $Res Function(_$FingerprintImpl) _then) : super(_value, _then); + /// Create a copy of Fingerprint + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -930,11 +979,13 @@ class _$FingerprintImpl extends _Fingerprint { (identical(other.name, name) || other.name == name)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, templateId, name); - @JsonKey(ignore: true) + /// Create a copy of Fingerprint + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$FingerprintImplCopyWith<_$FingerprintImpl> get copyWith => @@ -960,8 +1011,11 @@ abstract class _Fingerprint extends Fingerprint { String get templateId; @override String? get name; + + /// Create a copy of Fingerprint + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$FingerprintImplCopyWith<_$FingerprintImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1030,6 +1084,9 @@ class _$FingerprintEventCopyWithImpl<$Res, $Val extends FingerprintEvent> final $Val _value; // ignore: unused_field final $Res Function($Val) _then; + + /// Create a copy of FingerprintEvent + /// with the given fields replaced by the non-null parameter values. } /// @nodoc @@ -1049,6 +1106,8 @@ class __$$EventCaptureImplCopyWithImpl<$Res> _$EventCaptureImpl _value, $Res Function(_$EventCaptureImpl) _then) : super(_value, _then); + /// Create a copy of FingerprintEvent + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1088,7 +1147,9 @@ class _$EventCaptureImpl implements _EventCapture { @override int get hashCode => Object.hash(runtimeType, remaining); - @JsonKey(ignore: true) + /// Create a copy of FingerprintEvent + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$EventCaptureImplCopyWith<_$EventCaptureImpl> get copyWith => @@ -1167,7 +1228,10 @@ abstract class _EventCapture implements FingerprintEvent { factory _EventCapture(final int remaining) = _$EventCaptureImpl; int get remaining; - @JsonKey(ignore: true) + + /// Create a copy of FingerprintEvent + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) _$$EventCaptureImplCopyWith<_$EventCaptureImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1191,6 +1255,8 @@ class __$$EventCompleteImplCopyWithImpl<$Res> _$EventCompleteImpl _value, $Res Function(_$EventCompleteImpl) _then) : super(_value, _then); + /// Create a copy of FingerprintEvent + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1204,6 +1270,8 @@ class __$$EventCompleteImplCopyWithImpl<$Res> )); } + /// Create a copy of FingerprintEvent + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $FingerprintCopyWith<$Res> get fingerprint { @@ -1238,7 +1306,9 @@ class _$EventCompleteImpl implements _EventComplete { @override int get hashCode => Object.hash(runtimeType, fingerprint); - @JsonKey(ignore: true) + /// Create a copy of FingerprintEvent + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$EventCompleteImplCopyWith<_$EventCompleteImpl> get copyWith => @@ -1317,7 +1387,10 @@ abstract class _EventComplete implements FingerprintEvent { factory _EventComplete(final Fingerprint fingerprint) = _$EventCompleteImpl; Fingerprint get fingerprint; - @JsonKey(ignore: true) + + /// Create a copy of FingerprintEvent + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) _$$EventCompleteImplCopyWith<_$EventCompleteImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1339,6 +1412,8 @@ class __$$EventErrorImplCopyWithImpl<$Res> _$EventErrorImpl _value, $Res Function(_$EventErrorImpl) _then) : super(_value, _then); + /// Create a copy of FingerprintEvent + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1377,7 +1452,9 @@ class _$EventErrorImpl implements _EventError { @override int get hashCode => Object.hash(runtimeType, code); - @JsonKey(ignore: true) + /// Create a copy of FingerprintEvent + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$EventErrorImplCopyWith<_$EventErrorImpl> get copyWith => @@ -1456,7 +1533,10 @@ abstract class _EventError implements FingerprintEvent { factory _EventError(final int code) = _$EventErrorImpl; int get code; - @JsonKey(ignore: true) + + /// Create a copy of FingerprintEvent + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) _$$EventErrorImplCopyWith<_$EventErrorImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1473,8 +1553,12 @@ mixin _$FidoCredential { String get userName => throw _privateConstructorUsedError; String? get displayName => throw _privateConstructorUsedError; + /// Serializes this FidoCredential to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of FidoCredential + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $FidoCredentialCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -1503,6 +1587,8 @@ class _$FidoCredentialCopyWithImpl<$Res, $Val extends FidoCredential> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of FidoCredential + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1561,6 +1647,8 @@ class __$$FidoCredentialImplCopyWithImpl<$Res> _$FidoCredentialImpl _value, $Res Function(_$FidoCredentialImpl) _then) : super(_value, _then); + /// Create a copy of FidoCredential + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1639,12 +1727,14 @@ class _$FidoCredentialImpl implements _FidoCredential { other.displayName == displayName)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, rpId, credentialId, userId, userName, displayName); - @JsonKey(ignore: true) + /// Create a copy of FidoCredential + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$FidoCredentialImplCopyWith<_$FidoCredentialImpl> get copyWith => @@ -1680,8 +1770,11 @@ abstract class _FidoCredential implements FidoCredential { String get userName; @override String? get displayName; + + /// Create a copy of FidoCredential + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$FidoCredentialImplCopyWith<_$FidoCredentialImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/lib/fido/views/fingerprints_screen.dart b/lib/fido/views/fingerprints_screen.dart index fae73a35..97b24f3a 100644 --- a/lib/fido/views/fingerprints_screen.dart +++ b/lib/fido/views/fingerprints_screen.dart @@ -30,6 +30,7 @@ import '../../app/views/app_list_item.dart'; import '../../app/views/app_page.dart'; import '../../app/views/message_page.dart'; import '../../app/views/message_page_not_initialized.dart'; +import '../../core/models.dart'; import '../../core/state.dart'; import '../../exception/no_data_exception.dart'; import '../../management/models.dart'; @@ -44,6 +45,14 @@ import 'key_actions.dart'; import 'pin_dialog.dart'; import 'pin_entry_form.dart'; +List _getCapabilities(YubiKeyData deviceData) => [ + Capability.fido2, + if (deviceData.info.config.enabledCapabilities[Transport.usb]! & + Capability.piv.value != + 0) + Capability.piv + ]; + class FingerprintsScreen extends ConsumerWidget { final YubiKeyData deviceData; @@ -52,10 +61,11 @@ class FingerprintsScreen extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { final l10n = AppLocalizations.of(context)!; + final capabilities = _getCapabilities(deviceData); return ref.watch(fidoStateProvider(deviceData.node.path)).when( loading: () => AppPage( title: l10n.s_fingerprints, - capabilities: const [Capability.fido2], + capabilities: capabilities, centered: true, delayedContent: true, builder: (context, _) => const CircularProgressIndicator(), @@ -64,7 +74,7 @@ class FingerprintsScreen extends ConsumerWidget { if (error is NoDataException) { return MessagePageNotInitialized( title: l10n.s_fingerprints, - capabilities: const [Capability.fido2], + capabilities: capabilities, ); } final enabled = deviceData @@ -73,7 +83,7 @@ class FingerprintsScreen extends ConsumerWidget { if (Capability.fido2.value & enabled == 0) { return MessagePage( title: l10n.s_fingerprints, - capabilities: const [Capability.fido2], + capabilities: capabilities, header: l10n.s_fido_disabled, message: l10n.l_webauthn_req_fido2, ); @@ -85,17 +95,17 @@ class FingerprintsScreen extends ConsumerWidget { }, data: (fidoState) { return fidoState.unlocked - ? _FidoUnlockedPage(deviceData.node, fidoState) - : _FidoLockedPage(deviceData.node, fidoState); + ? _FidoUnlockedPage(deviceData, fidoState) + : _FidoLockedPage(deviceData, fidoState); }); } } class _FidoLockedPage extends ConsumerWidget { - final DeviceNode node; + final YubiKeyData deviceData; final FidoState state; - const _FidoLockedPage(this.node, this.state); + const _FidoLockedPage(this.deviceData, this.state); @override Widget build(BuildContext context, WidgetRef ref) { @@ -103,6 +113,14 @@ class _FidoLockedPage extends ConsumerWidget { final hasFeature = ref.watch(featureProvider); final hasActions = hasFeature(features.actions); + final capabilities = [ + Capability.fido2, + if (deviceData.info.config.enabledCapabilities[Transport.usb]! & + Capability.piv.value != + 0) + Capability.piv + ]; + if (!state.hasPin) { return MessagePage( actionsBuilder: (context, expanded) => [ @@ -112,13 +130,14 @@ class _FidoLockedPage extends ConsumerWidget { onPressed: () async { await showBlurDialog( context: context, - builder: (context) => FidoPinDialog(node.path, state)); + builder: (context) => + FidoPinDialog(deviceData.node.path, state)); }, avatar: const Icon(Symbols.pin), ) ], title: l10n.s_fingerprints, - capabilities: const [Capability.fido2], + capabilities: capabilities, header: l10n.s_fingerprints_get_started, message: l10n.p_set_fingerprints_desc, keyActionsBuilder: hasActions ? _buildActions : null, @@ -129,7 +148,7 @@ class _FidoLockedPage extends ConsumerWidget { if (state.forcePinChange) { return MessagePage( title: l10n.s_fingerprints, - capabilities: const [Capability.fido2], + capabilities: capabilities, header: l10n.s_pin_change_required, message: l10n.l_pin_change_required_desc, keyActionsBuilder: hasActions ? _buildActions : null, @@ -141,7 +160,8 @@ class _FidoLockedPage extends ConsumerWidget { onPressed: () async { await showBlurDialog( context: context, - builder: (context) => FidoPinDialog(node.path, state)); + builder: (context) => + FidoPinDialog(deviceData.node.path, state)); }, avatar: const Icon(Symbols.pin), ) @@ -151,25 +171,26 @@ class _FidoLockedPage extends ConsumerWidget { return AppPage( title: l10n.s_fingerprints, - capabilities: const [Capability.fido2], + capabilities: capabilities, keyActionsBuilder: hasActions ? _buildActions : null, builder: (context, _) => Column( children: [ - PinEntryForm(state, node), + PinEntryForm(state, deviceData.node), ], ), ); } Widget _buildActions(BuildContext context) => - fingerprintsBuildActions(context, node, state, -1); + fingerprintsBuildActions(context, deviceData.node, state, -1); } class _FidoUnlockedPage extends ConsumerStatefulWidget { - final DeviceNode node; + final YubiKeyData deviceData; final FidoState state; - _FidoUnlockedPage(this.node, this.state) : super(key: ObjectKey(node.path)); + _FidoUnlockedPage(this.deviceData, this.state) + : super(key: ObjectKey(deviceData.node.path)); @override ConsumerState createState() => @@ -184,10 +205,12 @@ class _FidoUnlockedPageState extends ConsumerState<_FidoUnlockedPage> { final l10n = AppLocalizations.of(context)!; final hasFeature = ref.watch(featureProvider); final hasActions = hasFeature(features.actions); + final capabilities = _getCapabilities(widget.deviceData); - final data = ref.watch(fingerprintProvider(widget.node.path)).asData; + final data = + ref.watch(fingerprintProvider(widget.deviceData.node.path)).asData; if (data == null) { - return _buildLoadingPage(context); + return _buildLoadingPage(context, capabilities); } final fingerprints = data.value; if (fingerprints.isEmpty) { @@ -200,18 +223,18 @@ class _FidoUnlockedPageState extends ConsumerState<_FidoUnlockedPage> { await showBlurDialog( context: context, builder: (context) => - AddFingerprintDialog(widget.node.path)); + AddFingerprintDialog(widget.deviceData.node.path)); }, avatar: const Icon(Symbols.fingerprint), ) ], title: l10n.s_fingerprints, - capabilities: const [Capability.fido2], + capabilities: capabilities, header: l10n.s_fingerprints_get_started, message: l10n.l_add_one_or_more_fps, keyActionsBuilder: hasActions - ? (context) => - fingerprintsBuildActions(context, widget.node, widget.state, 0) + ? (context) => fingerprintsBuildActions( + context, widget.deviceData.node, widget.state, 0) : null, keyActionsBadge: fingerprintsShowActionsNotifier(widget.state), ); @@ -219,7 +242,7 @@ class _FidoUnlockedPageState extends ConsumerState<_FidoUnlockedPage> { final fingerprint = _selected; return FidoActions( - devicePath: widget.node.path, + devicePath: widget.deviceData.node.path, actions: (context) => { EscapeIntent: CallbackAction(onInvoke: (intent) { if (_selected != null) { @@ -266,7 +289,7 @@ class _FidoUnlockedPageState extends ConsumerState<_FidoUnlockedPage> { }, builder: (context) => AppPage( title: l10n.s_fingerprints, - capabilities: const [Capability.fido2], + capabilities: capabilities, detailViewBuilder: fingerprint != null ? (context) => Column( crossAxisAlignment: CrossAxisAlignment.stretch, @@ -306,8 +329,8 @@ class _FidoUnlockedPageState extends ConsumerState<_FidoUnlockedPage> { ) : null, keyActionsBuilder: hasActions - ? (context) => fingerprintsBuildActions( - context, widget.node, widget.state, fingerprints.length) + ? (context) => fingerprintsBuildActions(context, + widget.deviceData.node, widget.state, fingerprints.length) : null, keyActionsBadge: fingerprintsShowActionsNotifier(widget.state), builder: (context, expanded) { @@ -349,9 +372,11 @@ class _FidoUnlockedPageState extends ConsumerState<_FidoUnlockedPage> { ); } - Widget _buildLoadingPage(BuildContext context) => AppPage( + Widget _buildLoadingPage( + BuildContext context, List capabilities) => + AppPage( title: AppLocalizations.of(context)!.s_fingerprints, - capabilities: const [Capability.fido2], + capabilities: capabilities, centered: true, delayedContent: true, builder: (context, _) => const CircularProgressIndicator(), diff --git a/lib/fido/views/key_actions.dart b/lib/fido/views/key_actions.dart index 7d9ec81a..e3b485c2 100755 --- a/lib/fido/views/key_actions.dart +++ b/lib/fido/views/key_actions.dart @@ -54,7 +54,8 @@ Widget _fidoBuildActions(BuildContext context, DeviceNode node, FidoState state, final enterpriseAttestation = state.enterpriseAttestation; final showEnterpriseAttestation = enterpriseAttestation != null && !(state.alwaysUv && !state.hasPin) && - !(!state.unlocked && state.hasPin); + !(!state.unlocked && state.hasPin) && + fingerprints == null; final canEnableEnterpriseAttestation = enterpriseAttestation == false && showEnterpriseAttestation; diff --git a/lib/home/views/key_actions.dart b/lib/home/views/key_actions.dart index 19763ae8..69df8b30 100644 --- a/lib/home/views/key_actions.dart +++ b/lib/home/views/key_actions.dart @@ -58,7 +58,7 @@ Widget homeBuildActions( ? l10n.s_toggle_applications : l10n.s_toggle_interfaces, subtitle: interfacesLocked - ? 'Requires factory reset' // TODO: Replace with l10n + ? l10n.l_factory_reset_required : (deviceData.info.version.major > 4 ? l10n.l_toggle_applications_desc : l10n.l_toggle_interfaces_desc), diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 7c153ab6..cf4722b7 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -656,7 +656,9 @@ "p_subject_desc": null, "l_rfc4514_invalid": null, "rfc4514_examples": null, + "s_allow_fingerprint": null, "p_cert_options_desc": null, + "p_cert_options_bio_desc": null, "s_overwrite_slot": null, "p_overwrite_slot_desc": null, "@p_overwrite_slot_desc": { @@ -799,6 +801,7 @@ "s_reset": "Zurücksetzen", "s_factory_reset": "Werkseinstellungen", "l_factory_reset_desc": null, + "l_factory_reset_required": null, "l_oath_application_reset": "OATH Anwendung zurücksetzen", "l_fido_app_reset": "FIDO Anwendung zurückgesetzt", "l_reset_failed": "Fehler beim Zurücksetzen: {message}", diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 1a765cb6..80605b78 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -656,7 +656,9 @@ "p_subject_desc": "A distinguished name (DN) formatted in accordance to the RFC 4514 specification.", "l_rfc4514_invalid": "Invalid RFC 4514 format", "rfc4514_examples": "Examples:\nCN=Example Name\nCN=jsmith,DC=example,DC=net", + "s_allow_fingerprint": "Allow fingerprint", "p_cert_options_desc": "Key algorithm to use, output format, and expiration date (certificate only).", + "p_cert_options_bio_desc": "Key algorithm to use, output format, expiration date (certificate only), and if biometrics can be used instead of PIN.", "s_overwrite_slot": "Overwrite slot", "p_overwrite_slot_desc": "This will permanently overwrite existing content in slot {slot}.", "@p_overwrite_slot_desc": { @@ -799,6 +801,7 @@ "s_reset": "Reset", "s_factory_reset": "Factory reset", "l_factory_reset_desc": "Restore YubiKey defaults", + "l_factory_reset_required": "Factory reset required", "l_oath_application_reset": "OATH application reset", "l_fido_app_reset": "FIDO application reset", "l_reset_failed": "Error performing reset: {message}", diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index e9d32fc4..32782952 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -656,7 +656,9 @@ "p_subject_desc": "DN (nom distinctif) formaté conformément à la spécification RFC 4514.", "l_rfc4514_invalid": "Format RFC 4514 non valide", "rfc4514_examples": "Exemples\u00a0:\nCN=exemple de nom\nCN=jsmith,DC=exemple,DC=net", + "s_allow_fingerprint": null, "p_cert_options_desc": "Algorithme clé à utiliser, format de sortie et date d'expiration (certificat uniquement).", + "p_cert_options_bio_desc": null, "s_overwrite_slot": "Écraser slot", "p_overwrite_slot_desc": "Cela écrasera définitivement le contenu du slot {slot}.", "@p_overwrite_slot_desc": { @@ -799,6 +801,7 @@ "s_reset": "Réinitialiser", "s_factory_reset": "Réinitialisation usine", "l_factory_reset_desc": "Restaurer les paramètres par défaut de la YubiKey", + "l_factory_reset_required": null, "l_oath_application_reset": "Réinitialisation OATH", "l_fido_app_reset": "Réinitialisation FIDO", "l_reset_failed": "Erreur de réinitialisation\u00a0: {message}", diff --git a/lib/l10n/app_ja.arb b/lib/l10n/app_ja.arb index a6bc8b17..324d3746 100644 --- a/lib/l10n/app_ja.arb +++ b/lib/l10n/app_ja.arb @@ -656,7 +656,9 @@ "p_subject_desc": "RFC 4514仕様に準拠した形式の識別名(DN)。", "l_rfc4514_invalid": "無効なRFC 4514形式", "rfc4514_examples": "例:\nCN=Example Name CN=jsmith,DC=example,\nDC=net", + "s_allow_fingerprint": null, "p_cert_options_desc": "使用する鍵アルゴリズム、出力形式、および有効期限(証明書のみ)。", + "p_cert_options_bio_desc": null, "s_overwrite_slot": "スロットを上書き", "p_overwrite_slot_desc": "これにより、スロット{slot}内の既存コンテンツが完全に上書きされます。", "@p_overwrite_slot_desc": { @@ -799,6 +801,7 @@ "s_reset": "リセット", "s_factory_reset": "工場出荷時の状態にリセット", "l_factory_reset_desc": "YubiKey の既定値を復元", + "l_factory_reset_required": null, "l_oath_application_reset": "OATHアプリケーションのリセット", "l_fido_app_reset": "FIDOアプリケーションのリセット", "l_reset_failed": "リセットの実行エラー:{message}", diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index 85f8061b..2a9cd037 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -656,7 +656,9 @@ "p_subject_desc": "Nazwa wyróżniająca (DN) sformatowana zgodnie ze specyfikacją RFC 4514.", "l_rfc4514_invalid": "Nieprawidłowy format RFC 4514", "rfc4514_examples": "Przykłady:\nCN=Przykładowa Nazwa\nCN=jkowalski,DC=przyklad,DC=pl", + "s_allow_fingerprint": null, "p_cert_options_desc": "Algorytm klucza do użycia, format wyjściowy i data wygaśnięcia (tylko certyfikat).", + "p_cert_options_bio_desc": null, "s_overwrite_slot": "Nadpisz slot", "p_overwrite_slot_desc": "Spowoduje to trwałe nadpisanie istniejącej zawartości w slocie {slot}.", "@p_overwrite_slot_desc": { @@ -799,6 +801,7 @@ "s_reset": "Zresetuj", "s_factory_reset": "Ustawienia fabryczne", "l_factory_reset_desc": null, + "l_factory_reset_required": null, "l_oath_application_reset": "Reset funkcji OATH", "l_fido_app_reset": "Reset funkcji FIDO", "l_reset_failed": "Błąd podczas resetowania: {message}", diff --git a/lib/management/models.freezed.dart b/lib/management/models.freezed.dart index fd5dde32..30522cad 100644 --- a/lib/management/models.freezed.dart +++ b/lib/management/models.freezed.dart @@ -26,8 +26,12 @@ mixin _$DeviceConfig { int? get challengeResponseTimeout => throw _privateConstructorUsedError; int? get deviceFlags => throw _privateConstructorUsedError; + /// Serializes this DeviceConfig to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of DeviceConfig + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $DeviceConfigCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -55,6 +59,8 @@ class _$DeviceConfigCopyWithImpl<$Res, $Val extends DeviceConfig> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of DeviceConfig + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -107,6 +113,8 @@ class __$$DeviceConfigImplCopyWithImpl<$Res> _$DeviceConfigImpl _value, $Res Function(_$DeviceConfigImpl) _then) : super(_value, _then); + /// Create a copy of DeviceConfig + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -183,7 +191,7 @@ class _$DeviceConfigImpl implements _DeviceConfig { other.deviceFlags == deviceFlags)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, @@ -192,7 +200,9 @@ class _$DeviceConfigImpl implements _DeviceConfig { challengeResponseTimeout, deviceFlags); - @JsonKey(ignore: true) + /// Create a copy of DeviceConfig + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$DeviceConfigImplCopyWith<_$DeviceConfigImpl> get copyWith => @@ -224,8 +234,11 @@ abstract class _DeviceConfig implements DeviceConfig { int? get challengeResponseTimeout; @override int? get deviceFlags; + + /// Create a copy of DeviceConfig + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$DeviceConfigImplCopyWith<_$DeviceConfigImpl> get copyWith => throw _privateConstructorUsedError; } @@ -250,8 +263,12 @@ mixin _$DeviceInfo { int get fipsApproved => throw _privateConstructorUsedError; int get resetBlocked => throw _privateConstructorUsedError; + /// Serializes this DeviceInfo to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of DeviceInfo + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $DeviceInfoCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -290,6 +307,8 @@ class _$DeviceInfoCopyWithImpl<$Res, $Val extends DeviceInfo> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of DeviceInfo + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -358,6 +377,8 @@ class _$DeviceInfoCopyWithImpl<$Res, $Val extends DeviceInfo> ) as $Val); } + /// Create a copy of DeviceInfo + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $DeviceConfigCopyWith<$Res> get config { @@ -366,6 +387,8 @@ class _$DeviceInfoCopyWithImpl<$Res, $Val extends DeviceInfo> }); } + /// Create a copy of DeviceInfo + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $VersionCopyWith<$Res> get version { @@ -411,6 +434,8 @@ class __$$DeviceInfoImplCopyWithImpl<$Res> _$DeviceInfoImpl _value, $Res Function(_$DeviceInfoImpl) _then) : super(_value, _then); + /// Create a copy of DeviceInfo + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -565,7 +590,7 @@ class _$DeviceInfoImpl extends _DeviceInfo { other.resetBlocked == resetBlocked)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, @@ -582,7 +607,9 @@ class _$DeviceInfoImpl extends _DeviceInfo { fipsApproved, resetBlocked); - @JsonKey(ignore: true) + /// Create a copy of DeviceInfo + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$DeviceInfoImplCopyWith<_$DeviceInfoImpl> get copyWith => @@ -639,8 +666,11 @@ abstract class _DeviceInfo extends DeviceInfo { int get fipsApproved; @override int get resetBlocked; + + /// Create a copy of DeviceInfo + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$DeviceInfoImplCopyWith<_$DeviceInfoImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/lib/oath/models.freezed.dart b/lib/oath/models.freezed.dart index f0da383c..1b35f7e8 100644 --- a/lib/oath/models.freezed.dart +++ b/lib/oath/models.freezed.dart @@ -29,8 +29,12 @@ mixin _$OathCredential { int get period => throw _privateConstructorUsedError; bool get touchRequired => throw _privateConstructorUsedError; + /// Serializes this OathCredential to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of OathCredential + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $OathCredentialCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -61,6 +65,8 @@ class _$OathCredentialCopyWithImpl<$Res, $Val extends OathCredential> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of OathCredential + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -131,6 +137,8 @@ class __$$OathCredentialImplCopyWithImpl<$Res> _$OathCredentialImpl _value, $Res Function(_$OathCredentialImpl) _then) : super(_value, _then); + /// Create a copy of OathCredential + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -222,12 +230,14 @@ class _$OathCredentialImpl implements _OathCredential { other.touchRequired == touchRequired)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, deviceId, id, issuer, name, oathType, period, touchRequired); - @JsonKey(ignore: true) + /// Create a copy of OathCredential + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$OathCredentialImplCopyWith<_$OathCredentialImpl> get copyWith => @@ -270,8 +280,11 @@ abstract class _OathCredential implements OathCredential { int get period; @override bool get touchRequired; + + /// Create a copy of OathCredential + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$OathCredentialImplCopyWith<_$OathCredentialImpl> get copyWith => throw _privateConstructorUsedError; } @@ -286,8 +299,12 @@ mixin _$OathCode { int get validFrom => throw _privateConstructorUsedError; int get validTo => throw _privateConstructorUsedError; + /// Serializes this OathCode to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of OathCode + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $OathCodeCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -310,6 +327,8 @@ class _$OathCodeCopyWithImpl<$Res, $Val extends OathCode> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of OathCode + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -353,6 +372,8 @@ class __$$OathCodeImplCopyWithImpl<$Res> _$OathCodeImpl _value, $Res Function(_$OathCodeImpl) _then) : super(_value, _then); + /// Create a copy of OathCode + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -408,11 +429,13 @@ class _$OathCodeImpl implements _OathCode { (identical(other.validTo, validTo) || other.validTo == validTo)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, value, validFrom, validTo); - @JsonKey(ignore: true) + /// Create a copy of OathCode + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$OathCodeImplCopyWith<_$OathCodeImpl> get copyWith => @@ -440,8 +463,11 @@ abstract class _OathCode implements OathCode { int get validFrom; @override int get validTo; + + /// Create a copy of OathCode + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$OathCodeImplCopyWith<_$OathCodeImpl> get copyWith => throw _privateConstructorUsedError; } @@ -455,8 +481,12 @@ mixin _$OathPair { OathCredential get credential => throw _privateConstructorUsedError; OathCode? get code => throw _privateConstructorUsedError; + /// Serializes this OathPair to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of OathPair + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $OathPairCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -482,6 +512,8 @@ class _$OathPairCopyWithImpl<$Res, $Val extends OathPair> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of OathPair + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -500,6 +532,8 @@ class _$OathPairCopyWithImpl<$Res, $Val extends OathPair> ) as $Val); } + /// Create a copy of OathPair + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $OathCredentialCopyWith<$Res> get credential { @@ -508,6 +542,8 @@ class _$OathPairCopyWithImpl<$Res, $Val extends OathPair> }); } + /// Create a copy of OathPair + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $OathCodeCopyWith<$Res>? get code { @@ -545,6 +581,8 @@ class __$$OathPairImplCopyWithImpl<$Res> _$OathPairImpl _value, $Res Function(_$OathPairImpl) _then) : super(_value, _then); + /// Create a copy of OathPair + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -592,11 +630,13 @@ class _$OathPairImpl implements _OathPair { (identical(other.code, code) || other.code == code)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, credential, code); - @JsonKey(ignore: true) + /// Create a copy of OathPair + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$OathPairImplCopyWith<_$OathPairImpl> get copyWith => @@ -621,8 +661,11 @@ abstract class _OathPair implements OathPair { OathCredential get credential; @override OathCode? get code; + + /// Create a copy of OathPair + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$OathPairImplCopyWith<_$OathPairImpl> get copyWith => throw _privateConstructorUsedError; } @@ -640,8 +683,12 @@ mixin _$OathState { bool get locked => throw _privateConstructorUsedError; KeystoreState get keystore => throw _privateConstructorUsedError; + /// Serializes this OathState to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of OathState + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $OathStateCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -672,6 +719,8 @@ class _$OathStateCopyWithImpl<$Res, $Val extends OathState> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of OathState + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -710,6 +759,8 @@ class _$OathStateCopyWithImpl<$Res, $Val extends OathState> ) as $Val); } + /// Create a copy of OathState + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $VersionCopyWith<$Res> get version { @@ -747,6 +798,8 @@ class __$$OathStateImplCopyWithImpl<$Res> _$OathStateImpl _value, $Res Function(_$OathStateImpl) _then) : super(_value, _then); + /// Create a copy of OathState + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -833,12 +886,14 @@ class _$OathStateImpl extends _OathState { other.keystore == keystore)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, deviceId, version, hasKey, remembered, locked, keystore); - @JsonKey(ignore: true) + /// Create a copy of OathState + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$OathStateImplCopyWith<_$OathStateImpl> get copyWith => @@ -875,8 +930,11 @@ abstract class _OathState extends OathState { bool get locked; @override KeystoreState get keystore; + + /// Create a copy of OathState + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$OathStateImplCopyWith<_$OathStateImpl> get copyWith => throw _privateConstructorUsedError; } @@ -896,8 +954,12 @@ mixin _$CredentialData { int get period => throw _privateConstructorUsedError; int get counter => throw _privateConstructorUsedError; + /// Serializes this CredentialData to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of CredentialData + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $CredentialDataCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -929,6 +991,8 @@ class _$CredentialDataCopyWithImpl<$Res, $Val extends CredentialData> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of CredentialData + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1005,6 +1069,8 @@ class __$$CredentialDataImplCopyWithImpl<$Res> _$CredentialDataImpl _value, $Res Function(_$CredentialDataImpl) _then) : super(_value, _then); + /// Create a copy of CredentialData + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1115,12 +1181,14 @@ class _$CredentialDataImpl extends _CredentialData { (identical(other.counter, counter) || other.counter == counter)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, issuer, name, secret, oathType, hashAlgorithm, digits, period, counter); - @JsonKey(ignore: true) + /// Create a copy of CredentialData + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$CredentialDataImplCopyWith<_$CredentialDataImpl> get copyWith => @@ -1166,8 +1234,11 @@ abstract class _CredentialData extends CredentialData { int get period; @override int get counter; + + /// Create a copy of CredentialData + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$CredentialDataImplCopyWith<_$CredentialDataImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/lib/otp/models.freezed.dart b/lib/otp/models.freezed.dart index 205528cc..251c4843 100644 --- a/lib/otp/models.freezed.dart +++ b/lib/otp/models.freezed.dart @@ -23,8 +23,12 @@ mixin _$OtpState { bool get slot1Configured => throw _privateConstructorUsedError; bool get slot2Configured => throw _privateConstructorUsedError; + /// Serializes this OtpState to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of OtpState + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $OtpStateCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -47,6 +51,8 @@ class _$OtpStateCopyWithImpl<$Res, $Val extends OtpState> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of OtpState + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -85,6 +91,8 @@ class __$$OtpStateImplCopyWithImpl<$Res> _$OtpStateImpl _value, $Res Function(_$OtpStateImpl) _then) : super(_value, _then); + /// Create a copy of OtpState + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -134,12 +142,14 @@ class _$OtpStateImpl extends _OtpState { other.slot2Configured == slot2Configured)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, slot1Configured, slot2Configured); - @JsonKey(ignore: true) + /// Create a copy of OtpState + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$OtpStateImplCopyWith<_$OtpStateImpl> get copyWith => @@ -166,8 +176,11 @@ abstract class _OtpState extends OtpState { bool get slot1Configured; @override bool get slot2Configured; + + /// Create a copy of OtpState + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$OtpStateImplCopyWith<_$OtpStateImpl> get copyWith => throw _privateConstructorUsedError; } @@ -177,7 +190,9 @@ mixin _$OtpSlot { SlotId get slot => throw _privateConstructorUsedError; bool get isConfigured => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + /// Create a copy of OtpSlot + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $OtpSlotCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -199,6 +214,8 @@ class _$OtpSlotCopyWithImpl<$Res, $Val extends OtpSlot> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of OtpSlot + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -236,6 +253,8 @@ class __$$OtpSlotImplCopyWithImpl<$Res> _$OtpSlotImpl _value, $Res Function(_$OtpSlotImpl) _then) : super(_value, _then); + /// Create a copy of OtpSlot + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -283,7 +302,9 @@ class _$OtpSlotImpl implements _OtpSlot { @override int get hashCode => Object.hash(runtimeType, slot, isConfigured); - @JsonKey(ignore: true) + /// Create a copy of OtpSlot + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$OtpSlotImplCopyWith<_$OtpSlotImpl> get copyWith => @@ -299,8 +320,11 @@ abstract class _OtpSlot implements OtpSlot { SlotId get slot; @override bool get isConfigured; + + /// Create a copy of OtpSlot + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$OtpSlotImplCopyWith<_$OtpSlotImpl> get copyWith => throw _privateConstructorUsedError; } @@ -316,8 +340,12 @@ mixin _$SlotConfigurationOptions { bool? get requireTouch => throw _privateConstructorUsedError; bool? get appendCr => throw _privateConstructorUsedError; + /// Serializes this SlotConfigurationOptions to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of SlotConfigurationOptions + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $SlotConfigurationOptionsCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -342,6 +370,8 @@ class _$SlotConfigurationOptionsCopyWithImpl<$Res, // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of SlotConfigurationOptions + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -388,6 +418,8 @@ class __$$SlotConfigurationOptionsImplCopyWithImpl<$Res> $Res Function(_$SlotConfigurationOptionsImpl) _then) : super(_value, _then); + /// Create a copy of SlotConfigurationOptions + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -446,11 +478,13 @@ class _$SlotConfigurationOptionsImpl implements _SlotConfigurationOptions { other.appendCr == appendCr)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, digits8, requireTouch, appendCr); - @JsonKey(ignore: true) + /// Create a copy of SlotConfigurationOptions + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SlotConfigurationOptionsImplCopyWith<_$SlotConfigurationOptionsImpl> @@ -480,8 +514,11 @@ abstract class _SlotConfigurationOptions implements SlotConfigurationOptions { bool? get requireTouch; @override bool? get appendCr; + + /// Create a copy of SlotConfigurationOptions + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SlotConfigurationOptionsImplCopyWith<_$SlotConfigurationOptionsImpl> get copyWith => throw _privateConstructorUsedError; } @@ -570,8 +607,13 @@ mixin _$SlotConfiguration { required TResult orElse(), }) => throw _privateConstructorUsedError; + + /// Serializes this SlotConfiguration to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of SlotConfiguration + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $SlotConfigurationCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -597,6 +639,8 @@ class _$SlotConfigurationCopyWithImpl<$Res, $Val extends SlotConfiguration> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of SlotConfiguration + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -610,6 +654,8 @@ class _$SlotConfigurationCopyWithImpl<$Res, $Val extends SlotConfiguration> ) as $Val); } + /// Create a copy of SlotConfiguration + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $SlotConfigurationOptionsCopyWith<$Res>? get options { @@ -646,6 +692,8 @@ class __$$SlotConfigurationHotpImplCopyWithImpl<$Res> $Res Function(_$SlotConfigurationHotpImpl) _then) : super(_value, _then); + /// Create a copy of SlotConfiguration + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -699,11 +747,13 @@ class _$SlotConfigurationHotpImpl extends _SlotConfigurationHotp { (identical(other.options, options) || other.options == options)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, key, options); - @JsonKey(ignore: true) + /// Create a copy of SlotConfiguration + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SlotConfigurationHotpImplCopyWith<_$SlotConfigurationHotpImpl> @@ -818,8 +868,11 @@ abstract class _SlotConfigurationHotp extends SlotConfiguration { String get key; @override SlotConfigurationOptions? get options; + + /// Create a copy of SlotConfiguration + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SlotConfigurationHotpImplCopyWith<_$SlotConfigurationHotpImpl> get copyWith => throw _privateConstructorUsedError; } @@ -849,6 +902,8 @@ class __$$SlotConfigurationHmacSha1ImplCopyWithImpl<$Res> $Res Function(_$SlotConfigurationHmacSha1Impl) _then) : super(_value, _then); + /// Create a copy of SlotConfiguration + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -902,11 +957,13 @@ class _$SlotConfigurationHmacSha1Impl extends _SlotConfigurationHmacSha1 { (identical(other.options, options) || other.options == options)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, key, options); - @JsonKey(ignore: true) + /// Create a copy of SlotConfiguration + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SlotConfigurationHmacSha1ImplCopyWith<_$SlotConfigurationHmacSha1Impl> @@ -1022,8 +1079,11 @@ abstract class _SlotConfigurationHmacSha1 extends SlotConfiguration { String get key; @override SlotConfigurationOptions? get options; + + /// Create a copy of SlotConfiguration + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SlotConfigurationHmacSha1ImplCopyWith<_$SlotConfigurationHmacSha1Impl> get copyWith => throw _privateConstructorUsedError; } @@ -1056,6 +1116,8 @@ class __$$SlotConfigurationStaticPasswordImplCopyWithImpl<$Res> $Res Function(_$SlotConfigurationStaticPasswordImpl) _then) : super(_value, _then); + /// Create a copy of SlotConfiguration + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1124,12 +1186,14 @@ class _$SlotConfigurationStaticPasswordImpl (identical(other.options, options) || other.options == options)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, password, keyboardLayout, options); - @JsonKey(ignore: true) + /// Create a copy of SlotConfiguration + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SlotConfigurationStaticPasswordImplCopyWith< @@ -1248,8 +1312,11 @@ abstract class _SlotConfigurationStaticPassword extends SlotConfiguration { String get keyboardLayout; @override SlotConfigurationOptions? get options; + + /// Create a copy of SlotConfiguration + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SlotConfigurationStaticPasswordImplCopyWith< _$SlotConfigurationStaticPasswordImpl> get copyWith => throw _privateConstructorUsedError; @@ -1284,6 +1351,8 @@ class __$$SlotConfigurationYubiOtpImplCopyWithImpl<$Res> $Res Function(_$SlotConfigurationYubiOtpImpl) _then) : super(_value, _then); + /// Create a copy of SlotConfiguration + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1359,12 +1428,14 @@ class _$SlotConfigurationYubiOtpImpl extends _SlotConfigurationYubiOtp { (identical(other.options, options) || other.options == options)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, publicId, privateId, key, options); - @JsonKey(ignore: true) + /// Create a copy of SlotConfiguration + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SlotConfigurationYubiOtpImplCopyWith<_$SlotConfigurationYubiOtpImpl> @@ -1484,8 +1555,11 @@ abstract class _SlotConfigurationYubiOtp extends SlotConfiguration { String get key; @override SlotConfigurationOptions? get options; + + /// Create a copy of SlotConfiguration + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SlotConfigurationYubiOtpImplCopyWith<_$SlotConfigurationYubiOtpImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/lib/piv/models.dart b/lib/piv/models.dart index 12607adb..b07734cc 100644 --- a/lib/piv/models.dart +++ b/lib/piv/models.dart @@ -270,6 +270,7 @@ class PivState with _$PivState { required bool derivedKey, required bool storedKey, required int pinAttempts, + required bool supportsBio, String? chuid, String? ccc, PivStateMetadata? metadata, diff --git a/lib/piv/models.freezed.dart b/lib/piv/models.freezed.dart index 4344848f..0d968869 100644 --- a/lib/piv/models.freezed.dart +++ b/lib/piv/models.freezed.dart @@ -24,8 +24,12 @@ mixin _$PinMetadata { int get totalAttempts => throw _privateConstructorUsedError; int get attemptsRemaining => throw _privateConstructorUsedError; + /// Serializes this PinMetadata to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of PinMetadata + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $PinMetadataCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -49,6 +53,8 @@ class _$PinMetadataCopyWithImpl<$Res, $Val extends PinMetadata> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of PinMetadata + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -92,6 +98,8 @@ class __$$PinMetadataImplCopyWithImpl<$Res> _$PinMetadataImpl _value, $Res Function(_$PinMetadataImpl) _then) : super(_value, _then); + /// Create a copy of PinMetadata + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -150,12 +158,14 @@ class _$PinMetadataImpl implements _PinMetadata { other.attemptsRemaining == attemptsRemaining)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, defaultValue, totalAttempts, attemptsRemaining); - @JsonKey(ignore: true) + /// Create a copy of PinMetadata + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$PinMetadataImplCopyWith<_$PinMetadataImpl> get copyWith => @@ -182,8 +192,11 @@ abstract class _PinMetadata implements PinMetadata { int get totalAttempts; @override int get attemptsRemaining; + + /// Create a copy of PinMetadata + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$PinMetadataImplCopyWith<_$PinMetadataImpl> get copyWith => throw _privateConstructorUsedError; } @@ -247,6 +260,9 @@ class _$PinVerificationStatusCopyWithImpl<$Res, final $Val _value; // ignore: unused_field final $Res Function($Val) _then; + + /// Create a copy of PinVerificationStatus + /// with the given fields replaced by the non-null parameter values. } /// @nodoc @@ -263,6 +279,9 @@ class __$$PinSuccessImplCopyWithImpl<$Res> __$$PinSuccessImplCopyWithImpl( _$PinSuccessImpl _value, $Res Function(_$PinSuccessImpl) _then) : super(_value, _then); + + /// Create a copy of PinVerificationStatus + /// with the given fields replaced by the non-null parameter values. } /// @nodoc @@ -370,6 +389,8 @@ class __$$PinFailureImplCopyWithImpl<$Res> _$PinFailureImpl _value, $Res Function(_$PinFailureImpl) _then) : super(_value, _then); + /// Create a copy of PinVerificationStatus + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -383,6 +404,8 @@ class __$$PinFailureImplCopyWithImpl<$Res> )); } + /// Create a copy of PinVerificationStatus + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $PivPinFailureReasonCopyWith<$Res> get reason { @@ -416,7 +439,9 @@ class _$PinFailureImpl implements PinFailure { @override int get hashCode => Object.hash(runtimeType, reason); - @JsonKey(ignore: true) + /// Create a copy of PinVerificationStatus + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$PinFailureImplCopyWith<_$PinFailureImpl> get copyWith => @@ -489,7 +514,10 @@ abstract class PinFailure implements PinVerificationStatus { factory PinFailure(final PivPinFailureReason reason) = _$PinFailureImpl; PivPinFailureReason get reason; - @JsonKey(ignore: true) + + /// Create a copy of PinVerificationStatus + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) _$$PinFailureImplCopyWith<_$PinFailureImpl> get copyWith => throw _privateConstructorUsedError; } @@ -552,6 +580,9 @@ class _$PivPinFailureReasonCopyWithImpl<$Res, $Val extends PivPinFailureReason> final $Val _value; // ignore: unused_field final $Res Function($Val) _then; + + /// Create a copy of PivPinFailureReason + /// with the given fields replaced by the non-null parameter values. } /// @nodoc @@ -571,6 +602,8 @@ class __$$PivInvalidPinImplCopyWithImpl<$Res> _$PivInvalidPinImpl _value, $Res Function(_$PivInvalidPinImpl) _then) : super(_value, _then); + /// Create a copy of PivPinFailureReason + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -610,7 +643,9 @@ class _$PivInvalidPinImpl implements PivInvalidPin { @override int get hashCode => Object.hash(runtimeType, attemptsRemaining); - @JsonKey(ignore: true) + /// Create a copy of PivPinFailureReason + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$PivInvalidPinImplCopyWith<_$PivInvalidPinImpl> get copyWith => @@ -683,7 +718,10 @@ abstract class PivInvalidPin implements PivPinFailureReason { factory PivInvalidPin(final int attemptsRemaining) = _$PivInvalidPinImpl; int get attemptsRemaining; - @JsonKey(ignore: true) + + /// Create a copy of PivPinFailureReason + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) _$$PivInvalidPinImplCopyWith<_$PivInvalidPinImpl> get copyWith => throw _privateConstructorUsedError; } @@ -702,6 +740,9 @@ class __$$PivWeakPinImplCopyWithImpl<$Res> __$$PivWeakPinImplCopyWithImpl( _$PivWeakPinImpl _value, $Res Function(_$PivWeakPinImpl) _then) : super(_value, _then); + + /// Create a copy of PivPinFailureReason + /// with the given fields replaced by the non-null parameter values. } /// @nodoc @@ -801,8 +842,12 @@ mixin _$ManagementKeyMetadata { bool get defaultValue => throw _privateConstructorUsedError; TouchPolicy get touchPolicy => throw _privateConstructorUsedError; + /// Serializes this ManagementKeyMetadata to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of ManagementKeyMetadata + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $ManagementKeyMetadataCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -828,6 +873,8 @@ class _$ManagementKeyMetadataCopyWithImpl<$Res, // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of ManagementKeyMetadata + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -874,6 +921,8 @@ class __$$ManagementKeyMetadataImplCopyWithImpl<$Res> $Res Function(_$ManagementKeyMetadataImpl) _then) : super(_value, _then); + /// Create a copy of ManagementKeyMetadata + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -931,12 +980,14 @@ class _$ManagementKeyMetadataImpl implements _ManagementKeyMetadata { other.touchPolicy == touchPolicy)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, keyType, defaultValue, touchPolicy); - @JsonKey(ignore: true) + /// Create a copy of ManagementKeyMetadata + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$ManagementKeyMetadataImplCopyWith<_$ManagementKeyMetadataImpl> @@ -966,8 +1017,11 @@ abstract class _ManagementKeyMetadata implements ManagementKeyMetadata { bool get defaultValue; @override TouchPolicy get touchPolicy; + + /// Create a copy of ManagementKeyMetadata + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$ManagementKeyMetadataImplCopyWith<_$ManagementKeyMetadataImpl> get copyWith => throw _privateConstructorUsedError; } @@ -984,8 +1038,12 @@ mixin _$SlotMetadata { bool get generated => throw _privateConstructorUsedError; String get publicKey => throw _privateConstructorUsedError; + /// Serializes this SlotMetadata to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of SlotMetadata + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $SlotMetadataCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -1014,6 +1072,8 @@ class _$SlotMetadataCopyWithImpl<$Res, $Val extends SlotMetadata> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of SlotMetadata + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1072,6 +1132,8 @@ class __$$SlotMetadataImplCopyWithImpl<$Res> _$SlotMetadataImpl _value, $Res Function(_$SlotMetadataImpl) _then) : super(_value, _then); + /// Create a copy of SlotMetadata + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1147,12 +1209,14 @@ class _$SlotMetadataImpl implements _SlotMetadata { other.publicKey == publicKey)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash( runtimeType, keyType, pinPolicy, touchPolicy, generated, publicKey); - @JsonKey(ignore: true) + /// Create a copy of SlotMetadata + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$SlotMetadataImplCopyWith<_$SlotMetadataImpl> get copyWith => @@ -1187,8 +1251,11 @@ abstract class _SlotMetadata implements SlotMetadata { bool get generated; @override String get publicKey; + + /// Create a copy of SlotMetadata + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$SlotMetadataImplCopyWith<_$SlotMetadataImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1204,8 +1271,12 @@ mixin _$PivStateMetadata { PinMetadata get pinMetadata => throw _privateConstructorUsedError; PinMetadata get pukMetadata => throw _privateConstructorUsedError; + /// Serializes this PivStateMetadata to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of PivStateMetadata + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $PivStateMetadataCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -1236,6 +1307,8 @@ class _$PivStateMetadataCopyWithImpl<$Res, $Val extends PivStateMetadata> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of PivStateMetadata + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1259,6 +1332,8 @@ class _$PivStateMetadataCopyWithImpl<$Res, $Val extends PivStateMetadata> ) as $Val); } + /// Create a copy of PivStateMetadata + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $ManagementKeyMetadataCopyWith<$Res> get managementKeyMetadata { @@ -1268,6 +1343,8 @@ class _$PivStateMetadataCopyWithImpl<$Res, $Val extends PivStateMetadata> }); } + /// Create a copy of PivStateMetadata + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $PinMetadataCopyWith<$Res> get pinMetadata { @@ -1276,6 +1353,8 @@ class _$PivStateMetadataCopyWithImpl<$Res, $Val extends PivStateMetadata> }); } + /// Create a copy of PivStateMetadata + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $PinMetadataCopyWith<$Res> get pukMetadata { @@ -1314,6 +1393,8 @@ class __$$PivStateMetadataImplCopyWithImpl<$Res> $Res Function(_$PivStateMetadataImpl) _then) : super(_value, _then); + /// Create a copy of PivStateMetadata + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1374,12 +1455,14 @@ class _$PivStateMetadataImpl implements _PivStateMetadata { other.pukMetadata == pukMetadata)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, managementKeyMetadata, pinMetadata, pukMetadata); - @JsonKey(ignore: true) + /// Create a copy of PivStateMetadata + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$PivStateMetadataImplCopyWith<_$PivStateMetadataImpl> get copyWith => @@ -1409,8 +1492,11 @@ abstract class _PivStateMetadata implements PivStateMetadata { PinMetadata get pinMetadata; @override PinMetadata get pukMetadata; + + /// Create a copy of PivStateMetadata + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$PivStateMetadataImplCopyWith<_$PivStateMetadataImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1426,12 +1512,17 @@ mixin _$PivState { bool get derivedKey => throw _privateConstructorUsedError; bool get storedKey => throw _privateConstructorUsedError; int get pinAttempts => throw _privateConstructorUsedError; + bool get supportsBio => throw _privateConstructorUsedError; String? get chuid => throw _privateConstructorUsedError; String? get ccc => throw _privateConstructorUsedError; PivStateMetadata? get metadata => throw _privateConstructorUsedError; + /// Serializes this PivState to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of PivState + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $PivStateCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -1447,6 +1538,7 @@ abstract class $PivStateCopyWith<$Res> { bool derivedKey, bool storedKey, int pinAttempts, + bool supportsBio, String? chuid, String? ccc, PivStateMetadata? metadata}); @@ -1465,6 +1557,8 @@ class _$PivStateCopyWithImpl<$Res, $Val extends PivState> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of PivState + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1473,6 +1567,7 @@ class _$PivStateCopyWithImpl<$Res, $Val extends PivState> Object? derivedKey = null, Object? storedKey = null, Object? pinAttempts = null, + Object? supportsBio = null, Object? chuid = freezed, Object? ccc = freezed, Object? metadata = freezed, @@ -1498,6 +1593,10 @@ class _$PivStateCopyWithImpl<$Res, $Val extends PivState> ? _value.pinAttempts : pinAttempts // ignore: cast_nullable_to_non_nullable as int, + supportsBio: null == supportsBio + ? _value.supportsBio + : supportsBio // ignore: cast_nullable_to_non_nullable + as bool, chuid: freezed == chuid ? _value.chuid : chuid // ignore: cast_nullable_to_non_nullable @@ -1513,6 +1612,8 @@ class _$PivStateCopyWithImpl<$Res, $Val extends PivState> ) as $Val); } + /// Create a copy of PivState + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $VersionCopyWith<$Res> get version { @@ -1521,6 +1622,8 @@ class _$PivStateCopyWithImpl<$Res, $Val extends PivState> }); } + /// Create a copy of PivState + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $PivStateMetadataCopyWith<$Res>? get metadata { @@ -1548,6 +1651,7 @@ abstract class _$$PivStateImplCopyWith<$Res> bool derivedKey, bool storedKey, int pinAttempts, + bool supportsBio, String? chuid, String? ccc, PivStateMetadata? metadata}); @@ -1566,6 +1670,8 @@ class __$$PivStateImplCopyWithImpl<$Res> _$PivStateImpl _value, $Res Function(_$PivStateImpl) _then) : super(_value, _then); + /// Create a copy of PivState + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1574,6 +1680,7 @@ class __$$PivStateImplCopyWithImpl<$Res> Object? derivedKey = null, Object? storedKey = null, Object? pinAttempts = null, + Object? supportsBio = null, Object? chuid = freezed, Object? ccc = freezed, Object? metadata = freezed, @@ -1599,6 +1706,10 @@ class __$$PivStateImplCopyWithImpl<$Res> ? _value.pinAttempts : pinAttempts // ignore: cast_nullable_to_non_nullable as int, + supportsBio: null == supportsBio + ? _value.supportsBio + : supportsBio // ignore: cast_nullable_to_non_nullable + as bool, chuid: freezed == chuid ? _value.chuid : chuid // ignore: cast_nullable_to_non_nullable @@ -1624,6 +1735,7 @@ class _$PivStateImpl extends _PivState { required this.derivedKey, required this.storedKey, required this.pinAttempts, + required this.supportsBio, this.chuid, this.ccc, this.metadata}) @@ -1643,6 +1755,8 @@ class _$PivStateImpl extends _PivState { @override final int pinAttempts; @override + final bool supportsBio; + @override final String? chuid; @override final String? ccc; @@ -1651,7 +1765,7 @@ class _$PivStateImpl extends _PivState { @override String toString() { - return 'PivState(version: $version, authenticated: $authenticated, derivedKey: $derivedKey, storedKey: $storedKey, pinAttempts: $pinAttempts, chuid: $chuid, ccc: $ccc, metadata: $metadata)'; + return 'PivState(version: $version, authenticated: $authenticated, derivedKey: $derivedKey, storedKey: $storedKey, pinAttempts: $pinAttempts, supportsBio: $supportsBio, chuid: $chuid, ccc: $ccc, metadata: $metadata)'; } @override @@ -1668,18 +1782,22 @@ class _$PivStateImpl extends _PivState { other.storedKey == storedKey) && (identical(other.pinAttempts, pinAttempts) || other.pinAttempts == pinAttempts) && + (identical(other.supportsBio, supportsBio) || + other.supportsBio == supportsBio) && (identical(other.chuid, chuid) || other.chuid == chuid) && (identical(other.ccc, ccc) || other.ccc == ccc) && (identical(other.metadata, metadata) || other.metadata == metadata)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, version, authenticated, - derivedKey, storedKey, pinAttempts, chuid, ccc, metadata); + derivedKey, storedKey, pinAttempts, supportsBio, chuid, ccc, metadata); - @JsonKey(ignore: true) + /// Create a copy of PivState + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$PivStateImplCopyWith<_$PivStateImpl> get copyWith => @@ -1700,6 +1818,7 @@ abstract class _PivState extends PivState { required final bool derivedKey, required final bool storedKey, required final int pinAttempts, + required final bool supportsBio, final String? chuid, final String? ccc, final PivStateMetadata? metadata}) = _$PivStateImpl; @@ -1719,13 +1838,18 @@ abstract class _PivState extends PivState { @override int get pinAttempts; @override + bool get supportsBio; + @override String? get chuid; @override String? get ccc; @override PivStateMetadata? get metadata; + + /// Create a copy of PivState + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$PivStateImplCopyWith<_$PivStateImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1744,8 +1868,12 @@ mixin _$CertInfo { String get notValidAfter => throw _privateConstructorUsedError; String get fingerprint => throw _privateConstructorUsedError; + /// Serializes this CertInfo to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of CertInfo + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $CertInfoCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -1775,6 +1903,8 @@ class _$CertInfoCopyWithImpl<$Res, $Val extends CertInfo> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of CertInfo + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1845,6 +1975,8 @@ class __$$CertInfoImplCopyWithImpl<$Res> _$CertInfoImpl _value, $Res Function(_$CertInfoImpl) _then) : super(_value, _then); + /// Create a copy of CertInfo + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -1941,12 +2073,14 @@ class _$CertInfoImpl implements _CertInfo { other.fingerprint == fingerprint)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, keyType, subject, issuer, serial, notValidBefore, notValidAfter, fingerprint); - @JsonKey(ignore: true) + /// Create a copy of CertInfo + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$CertInfoImplCopyWith<_$CertInfoImpl> get copyWith => @@ -1987,8 +2121,11 @@ abstract class _CertInfo implements CertInfo { String get notValidAfter; @override String get fingerprint; + + /// Create a copy of CertInfo + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$CertInfoImplCopyWith<_$CertInfoImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2003,8 +2140,12 @@ mixin _$PivSlot { SlotMetadata? get metadata => throw _privateConstructorUsedError; CertInfo? get certInfo => throw _privateConstructorUsedError; + /// Serializes this PivSlot to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of PivSlot + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $PivSlotCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -2029,6 +2170,8 @@ class _$PivSlotCopyWithImpl<$Res, $Val extends PivSlot> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of PivSlot + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2052,6 +2195,8 @@ class _$PivSlotCopyWithImpl<$Res, $Val extends PivSlot> ) as $Val); } + /// Create a copy of PivSlot + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $SlotMetadataCopyWith<$Res>? get metadata { @@ -2064,6 +2209,8 @@ class _$PivSlotCopyWithImpl<$Res, $Val extends PivSlot> }); } + /// Create a copy of PivSlot + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $CertInfoCopyWith<$Res>? get certInfo { @@ -2100,6 +2247,8 @@ class __$$PivSlotImplCopyWithImpl<$Res> _$PivSlotImpl _value, $Res Function(_$PivSlotImpl) _then) : super(_value, _then); + /// Create a copy of PivSlot + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2156,11 +2305,13 @@ class _$PivSlotImpl implements _PivSlot { other.certInfo == certInfo)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, slot, metadata, certInfo); - @JsonKey(ignore: true) + /// Create a copy of PivSlot + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$PivSlotImplCopyWith<_$PivSlotImpl> get copyWith => @@ -2188,8 +2339,11 @@ abstract class _PivSlot implements PivSlot { SlotMetadata? get metadata; @override CertInfo? get certInfo; + + /// Create a copy of PivSlot + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$PivSlotImplCopyWith<_$PivSlotImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2251,6 +2405,8 @@ mixin _$PivExamineResult { required TResult orElse(), }) => throw _privateConstructorUsedError; + + /// Serializes this PivExamineResult to a JSON map. Map toJson() => throw _privateConstructorUsedError; } @@ -2270,6 +2426,9 @@ class _$PivExamineResultCopyWithImpl<$Res, $Val extends PivExamineResult> final $Val _value; // ignore: unused_field final $Res Function($Val) _then; + + /// Create a copy of PivExamineResult + /// with the given fields replaced by the non-null parameter values. } /// @nodoc @@ -2291,6 +2450,8 @@ class __$$ExamineResultImplCopyWithImpl<$Res> _$ExamineResultImpl _value, $Res Function(_$ExamineResultImpl) _then) : super(_value, _then); + /// Create a copy of PivExamineResult + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2314,6 +2475,8 @@ class __$$ExamineResultImplCopyWithImpl<$Res> )); } + /// Create a copy of PivExamineResult + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $CertInfoCopyWith<$Res>? get certInfo { @@ -2367,11 +2530,13 @@ class _$ExamineResultImpl implements _ExamineResult { other.certInfo == certInfo)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, password, keyType, certInfo); - @JsonKey(ignore: true) + /// Create a copy of PivExamineResult + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$ExamineResultImplCopyWith<_$ExamineResultImpl> get copyWith => @@ -2463,7 +2628,10 @@ abstract class _ExamineResult implements PivExamineResult { bool get password; KeyType? get keyType; CertInfo? get certInfo; - @JsonKey(ignore: true) + + /// Create a copy of PivExamineResult + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) _$$ExamineResultImplCopyWith<_$ExamineResultImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2482,6 +2650,9 @@ class __$$InvalidPasswordImplCopyWithImpl<$Res> __$$InvalidPasswordImplCopyWithImpl( _$InvalidPasswordImpl _value, $Res Function(_$InvalidPasswordImpl) _then) : super(_value, _then); + + /// Create a copy of PivExamineResult + /// with the given fields replaced by the non-null parameter values. } /// @nodoc @@ -2507,7 +2678,7 @@ class _$InvalidPasswordImpl implements _InvalidPassword { (other.runtimeType == runtimeType && other is _$InvalidPasswordImpl); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => runtimeType.hashCode; @@ -2661,6 +2832,9 @@ class _$PivGenerateParametersCopyWithImpl<$Res, final $Val _value; // ignore: unused_field final $Res Function($Val) _then; + + /// Create a copy of PivGenerateParameters + /// with the given fields replaced by the non-null parameter values. } /// @nodoc @@ -2677,6 +2851,9 @@ class __$$GeneratePublicKeyImplCopyWithImpl<$Res> __$$GeneratePublicKeyImplCopyWithImpl(_$GeneratePublicKeyImpl _value, $Res Function(_$GeneratePublicKeyImpl) _then) : super(_value, _then); + + /// Create a copy of PivGenerateParameters + /// with the given fields replaced by the non-null parameter values. } /// @nodoc @@ -2792,6 +2969,8 @@ class __$$GenerateCertificateImplCopyWithImpl<$Res> $Res Function(_$GenerateCertificateImpl) _then) : super(_value, _then); + /// Create a copy of PivGenerateParameters + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2848,7 +3027,9 @@ class _$GenerateCertificateImpl implements _GenerateCertificate { @override int get hashCode => Object.hash(runtimeType, subject, validFrom, validTo); - @JsonKey(ignore: true) + /// Create a copy of PivGenerateParameters + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$GenerateCertificateImplCopyWith<_$GenerateCertificateImpl> get copyWith => @@ -2937,7 +3118,10 @@ abstract class _GenerateCertificate implements PivGenerateParameters { String get subject; DateTime get validFrom; DateTime get validTo; - @JsonKey(ignore: true) + + /// Create a copy of PivGenerateParameters + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) _$$GenerateCertificateImplCopyWith<_$GenerateCertificateImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2959,6 +3143,8 @@ class __$$GenerateCsrImplCopyWithImpl<$Res> _$GenerateCsrImpl _value, $Res Function(_$GenerateCsrImpl) _then) : super(_value, _then); + /// Create a copy of PivGenerateParameters + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -2997,7 +3183,9 @@ class _$GenerateCsrImpl implements _GenerateCsr { @override int get hashCode => Object.hash(runtimeType, subject); - @JsonKey(ignore: true) + /// Create a copy of PivGenerateParameters + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$GenerateCsrImplCopyWith<_$GenerateCsrImpl> get copyWith => @@ -3080,7 +3268,10 @@ abstract class _GenerateCsr implements PivGenerateParameters { factory _GenerateCsr({required final String subject}) = _$GenerateCsrImpl; String get subject; - @JsonKey(ignore: true) + + /// Create a copy of PivGenerateParameters + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) _$$GenerateCsrImplCopyWith<_$GenerateCsrImpl> get copyWith => throw _privateConstructorUsedError; } @@ -3095,8 +3286,12 @@ mixin _$PivGenerateResult { String get publicKey => throw _privateConstructorUsedError; String? get result => throw _privateConstructorUsedError; + /// Serializes this PivGenerateResult to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of PivGenerateResult + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $PivGenerateResultCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -3120,6 +3315,8 @@ class _$PivGenerateResultCopyWithImpl<$Res, $Val extends PivGenerateResult> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of PivGenerateResult + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -3163,6 +3360,8 @@ class __$$PivGenerateResultImplCopyWithImpl<$Res> $Res Function(_$PivGenerateResultImpl) _then) : super(_value, _then); + /// Create a copy of PivGenerateResult + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -3220,11 +3419,13 @@ class _$PivGenerateResultImpl implements _PivGenerateResult { (identical(other.result, result) || other.result == result)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, generateType, publicKey, result); - @JsonKey(ignore: true) + /// Create a copy of PivGenerateResult + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$PivGenerateResultImplCopyWith<_$PivGenerateResultImpl> get copyWith => @@ -3254,8 +3455,11 @@ abstract class _PivGenerateResult implements PivGenerateResult { String get publicKey; @override String? get result; + + /// Create a copy of PivGenerateResult + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$PivGenerateResultImplCopyWith<_$PivGenerateResultImpl> get copyWith => throw _privateConstructorUsedError; } @@ -3270,8 +3474,12 @@ mixin _$PivImportResult { String? get publicKey => throw _privateConstructorUsedError; String? get certificate => throw _privateConstructorUsedError; + /// Serializes this PivImportResult to a JSON map. Map toJson() => throw _privateConstructorUsedError; - @JsonKey(ignore: true) + + /// Create a copy of PivImportResult + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) $PivImportResultCopyWith get copyWith => throw _privateConstructorUsedError; } @@ -3297,6 +3505,8 @@ class _$PivImportResultCopyWithImpl<$Res, $Val extends PivImportResult> // ignore: unused_field final $Res Function($Val) _then; + /// Create a copy of PivImportResult + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -3320,6 +3530,8 @@ class _$PivImportResultCopyWithImpl<$Res, $Val extends PivImportResult> ) as $Val); } + /// Create a copy of PivImportResult + /// with the given fields replaced by the non-null parameter values. @override @pragma('vm:prefer-inline') $SlotMetadataCopyWith<$Res>? get metadata { @@ -3355,6 +3567,8 @@ class __$$PivImportResultImplCopyWithImpl<$Res> _$PivImportResultImpl _value, $Res Function(_$PivImportResultImpl) _then) : super(_value, _then); + /// Create a copy of PivImportResult + /// with the given fields replaced by the non-null parameter values. @pragma('vm:prefer-inline') @override $Res call({ @@ -3415,12 +3629,14 @@ class _$PivImportResultImpl implements _PivImportResult { other.certificate == certificate)); } - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) @override int get hashCode => Object.hash(runtimeType, metadata, publicKey, certificate); - @JsonKey(ignore: true) + /// Create a copy of PivImportResult + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) @override @pragma('vm:prefer-inline') _$$PivImportResultImplCopyWith<_$PivImportResultImpl> get copyWith => @@ -3450,8 +3666,11 @@ abstract class _PivImportResult implements PivImportResult { String? get publicKey; @override String? get certificate; + + /// Create a copy of PivImportResult + /// with the given fields replaced by the non-null parameter values. @override - @JsonKey(ignore: true) + @JsonKey(includeFromJson: false, includeToJson: false) _$$PivImportResultImplCopyWith<_$PivImportResultImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/lib/piv/models.g.dart b/lib/piv/models.g.dart index 33dcde99..f32beaa3 100644 --- a/lib/piv/models.g.dart +++ b/lib/piv/models.g.dart @@ -114,6 +114,7 @@ _$PivStateImpl _$$PivStateImplFromJson(Map json) => derivedKey: json['derived_key'] as bool, storedKey: json['stored_key'] as bool, pinAttempts: (json['pin_attempts'] as num).toInt(), + supportsBio: json['supports_bio'] as bool, chuid: json['chuid'] as String?, ccc: json['ccc'] as String?, metadata: json['metadata'] == null @@ -128,6 +129,7 @@ Map _$$PivStateImplToJson(_$PivStateImpl instance) => 'derived_key': instance.derivedKey, 'stored_key': instance.storedKey, 'pin_attempts': instance.pinAttempts, + 'supports_bio': instance.supportsBio, 'chuid': instance.chuid, 'ccc': instance.ccc, 'metadata': instance.metadata, diff --git a/lib/piv/views/generate_key_dialog.dart b/lib/piv/views/generate_key_dialog.dart index 45f472eb..5d12de51 100644 --- a/lib/piv/views/generate_key_dialog.dart +++ b/lib/piv/views/generate_key_dialog.dart @@ -36,8 +36,9 @@ class GenerateKeyDialog extends ConsumerStatefulWidget { final DevicePath devicePath; final PivState pivState; final PivSlot pivSlot; - const GenerateKeyDialog(this.devicePath, this.pivState, this.pivSlot, - {super.key}); + final bool showMatch; + GenerateKeyDialog(this.devicePath, this.pivState, this.pivSlot, {super.key}) + : showMatch = pivSlot.slot != SlotId.cardAuth && pivState.supportsBio; @override ConsumerState createState() => @@ -53,6 +54,7 @@ class _GenerateKeyDialogState extends ConsumerState { late DateTime _validTo; late DateTime _validToDefault; late DateTime _validToMax; + late bool _allowMatch; bool _generating = false; @override @@ -64,6 +66,8 @@ class _GenerateKeyDialogState extends ConsumerState { _validToDefault = DateTime.utc(now.year + 1, now.month, now.day); _validTo = _validToDefault; _validToMax = DateTime.utc(now.year + 10, now.month, now.day); + + _allowMatch = widget.showMatch; } @override @@ -117,6 +121,7 @@ class _GenerateKeyDialogState extends ConsumerState { final result = await pivNotifier.generate( widget.pivSlot.slot, _keyType, + pinPolicy: getPinPolicy(widget.pivSlot.slot, _allowMatch), parameters: switch (_generateType) { GenerateType.publicKey => PivGenerateParameters.publicKey(), @@ -183,7 +188,9 @@ class _GenerateKeyDialogState extends ConsumerState { l10n.s_options, style: textTheme.bodyLarge, ), - Text(l10n.p_cert_options_desc), + Text(widget.showMatch + ? l10n.p_cert_options_bio_desc + : l10n.p_cert_options_desc), Wrap( crossAxisAlignment: WrapCrossAlignment.center, spacing: 4.0, @@ -238,6 +245,16 @@ class _GenerateKeyDialogState extends ConsumerState { } }, ), + if (widget.showMatch) + FilterChip( + label: Text(l10n.s_allow_fingerprint), + selected: _allowMatch, + onSelected: (value) { + setState(() { + _allowMatch = value; + }); + }, + ), ]), Padding( padding: const EdgeInsets.symmetric(vertical: 4), diff --git a/lib/piv/views/import_file_dialog.dart b/lib/piv/views/import_file_dialog.dart index f65a3e51..448caa3e 100644 --- a/lib/piv/views/import_file_dialog.dart +++ b/lib/piv/views/import_file_dialog.dart @@ -39,9 +39,10 @@ class ImportFileDialog extends ConsumerStatefulWidget { final PivState pivState; final PivSlot pivSlot; final File file; - const ImportFileDialog( - this.devicePath, this.pivState, this.pivSlot, this.file, - {super.key}); + final bool showMatch; + ImportFileDialog(this.devicePath, this.pivState, this.pivSlot, this.file, + {super.key}) + : showMatch = pivSlot.slot != SlotId.cardAuth && pivState.supportsBio; @override ConsumerState createState() => @@ -50,6 +51,7 @@ class ImportFileDialog extends ConsumerStatefulWidget { class _ImportFileDialogState extends ConsumerState { late String _data; + late bool _allowMatch; PivExamineResult? _state; String _password = ''; bool _passwordIsWrong = false; @@ -59,6 +61,8 @@ class _ImportFileDialogState extends ConsumerState { @override void initState() { super.initState(); + + _allowMatch = widget.showMatch; _init(); } @@ -214,9 +218,13 @@ class _ImportFileDialogState extends ConsumerState { )); await ref .read(pivSlotsProvider(widget.devicePath).notifier) - .import(widget.pivSlot.slot, _data, - password: - _password.isNotEmpty ? _password : null); + .import( + widget.pivSlot.slot, + _data, + password: _password.isNotEmpty ? _password : null, + pinPolicy: getPinPolicy( + widget.pivSlot.slot, _allowMatch), + ); await withContext( (context) async { Navigator.of(context).pop(true); @@ -284,6 +292,16 @@ class _ImportFileDialogState extends ConsumerState { ), ], ), + if (!unsupportedKey && widget.showMatch) + FilterChip( + label: Text(l10n.s_allow_fingerprint), + selected: _allowMatch, + onSelected: (value) { + setState(() { + _allowMatch = value; + }); + }, + ), ], if (certInfo != null) ...[ Text( diff --git a/lib/piv/views/utils.dart b/lib/piv/views/utils.dart index c0357d2a..05672e8e 100644 --- a/lib/piv/views/utils.dart +++ b/lib/piv/views/utils.dart @@ -29,3 +29,13 @@ List getSupportedKeyTypes(Version version, bool isFips) => [ KeyType.eccp256, KeyType.eccp384, ]; + +PinPolicy getPinPolicy(SlotId slot, bool match) { + if (match) { + if (slot == SlotId.signature) { + return PinPolicy.matchAlways; + } + return PinPolicy.matchOnce; + } + return PinPolicy.dfault; +}