From 02c23838b7148a5f6682ae0efc5fe1a190e8b4a8 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Wed, 27 Mar 2024 20:51:09 +0545 Subject: [PATCH] Remove draft 12 #2538 --- .../profile/models/profile_setting.dart | 15 +++++++++++++++ packages/oidc4vc/lib/src/oidc4vc.dart | 18 +++++++++--------- .../oidc4vc/lib/src/oidc4vci_draft_type.dart | 6 ------ 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/lib/dashboard/profile/models/profile_setting.dart b/lib/dashboard/profile/models/profile_setting.dart index 329be57ea..6c34fd5a2 100644 --- a/lib/dashboard/profile/models/profile_setting.dart +++ b/lib/dashboard/profile/models/profile_setting.dart @@ -570,6 +570,11 @@ class CustomOidc4VcProfile extends Equatable { final String? clientSecret; final bool cryptoHolderBinding; final DidKeyType defaultDid; + //TODO(bibash): temporary solution to avoid who have chosen 12 + @JsonKey( + includeFromJson: true, + fromJson: oidc4vciDraftFromJson, + ) final OIDC4VCIDraftType oidc4vciDraft; final OIDC4VPDraftType oidc4vpDraft; final bool scope; @@ -585,6 +590,16 @@ class CustomOidc4VcProfile extends Equatable { Map toJson() => _$CustomOidc4VcProfileToJson(this); + static OIDC4VCIDraftType oidc4vciDraftFromJson(dynamic value) { + if (value == '11') { + return OIDC4VCIDraftType.draft11; + } else if (value == '12' || value == '13') { + return OIDC4VCIDraftType.draft13; + } else { + throw Exception(); + } + } + CustomOidc4VcProfile copyWith({ ClientAuthentication? clientAuthentication, bool? credentialManifestSupport, diff --git a/packages/oidc4vc/lib/src/oidc4vc.dart b/packages/oidc4vc/lib/src/oidc4vc.dart index 1c7a39b03..3a63a4d69 100644 --- a/packages/oidc4vc/lib/src/oidc4vc.dart +++ b/packages/oidc4vc/lib/src/oidc4vc.dart @@ -967,15 +967,15 @@ class OIDC4VC { credentialData['types'] = types; credentialData['format'] = format; - case OIDC4VCIDraftType.draft12: - if (types == null) { - throw Exception('CREDENTIAL_SUPPORT_DATA_ERROR'); - } - - credentialData['types'] = types; - if (credentialIdentifier != null) { - credentialData['credential_identifier'] = credentialIdentifier; - } + // case OIDC4VCIDraftType.draft12: + // if (types == null) { + // throw Exception('CREDENTIAL_SUPPORT_DATA_ERROR'); + // } + + // credentialData['types'] = types; + // if (credentialIdentifier != null) { + // credentialData['credential_identifier'] = credentialIdentifier; + // } case OIDC4VCIDraftType.draft13: credentialData['format'] = format; diff --git a/packages/oidc4vc/lib/src/oidc4vci_draft_type.dart b/packages/oidc4vc/lib/src/oidc4vci_draft_type.dart index 07d8da253..02addee0e 100644 --- a/packages/oidc4vc/lib/src/oidc4vci_draft_type.dart +++ b/packages/oidc4vc/lib/src/oidc4vci_draft_type.dart @@ -3,8 +3,6 @@ import 'package:json_annotation/json_annotation.dart'; enum OIDC4VCIDraftType { @JsonValue('11') draft11, - @JsonValue('12') - draft12, @JsonValue('13') draft13, } @@ -14,8 +12,6 @@ extension OIDC4VCIDraftTypeX on OIDC4VCIDraftType { switch (this) { case OIDC4VCIDraftType.draft11: return 'Draft 11'; - case OIDC4VCIDraftType.draft12: - return 'Draft 12 (Partial)'; case OIDC4VCIDraftType.draft13: return 'Draft 13'; } @@ -25,8 +21,6 @@ extension OIDC4VCIDraftTypeX on OIDC4VCIDraftType { switch (this) { case OIDC4VCIDraftType.draft11: return '11'; - case OIDC4VCIDraftType.draft12: - return '12'; case OIDC4VCIDraftType.draft13: return '13'; }