OfferCredential constructor
OfferCredential({
- String? id,
- String? replacementId,
- String? goalCode,
- String? comment,
- PreviewCredential? credentialPreview,
- List<
LdProofVcDetail> ? detail, - CredentialManifestAttachment? credentialManifest,
- VerifiablePresentation? fulfillment,
- String? replyUrl,
- List<
String> ? replyTo, - String? parentThreadId,
- String? threadId,
- String? from,
- List<
String> ? to, - DateTime? createdTime,
- DateTime? expiresTime,
- bool pleaseAck = false,
- FromPriorJWT? fromPrior,
- Map<
String, dynamic> ? additionalHeaders, - WebRedirect? webRedirect,
- ReturnRouteValue? returnRoute,
- DidcommMessageTyp? typ,
Implementation
OfferCredential(
{String? id,
this.replacementId,
this.goalCode,
this.comment,
this.credentialPreview,
this.detail,
this.credentialManifest,
this.fulfillment,
super.replyUrl,
super.replyTo,
super.parentThreadId,
super.threadId,
super.from,
List<String>? super.to,
super.createdTime,
super.expiresTime,
super.pleaseAck,
super.fromPrior,
super.additionalHeaders,
super.webRedirect,
super.returnRoute,
super.typ})
: super(
type: DidcommMessages.offerCredential,
id: id ?? Uuid().v4(),
body: {}) {
if (comment != null) body['comment'] = comment;
if (goalCode != null) body['goal_code'] = goalCode;
if (replacementId != null) body['replacement_id'] = replacementId;
if (credentialPreview != null) {
body['credential_preview'] = credentialPreview!.toJson();
}
if (detail != null) {
attachments = [];
for (var a in detail!) {
attachments!.add(Attachment(
data: AttachmentData(json: a.toJson()),
id: Uuid().v4(),
format: AttachmentFormat.ldProofVcDetail,
mediaType: 'application/json'));
}
}
if (credentialManifest != null) {
attachments ??= [];
attachments!.add(Attachment(
data: AttachmentData(json: credentialManifest!.toJson()),
id: Uuid().v4(),
format: AttachmentFormat.credentialManifest,
mediaType: 'application/json'));
}
if (fulfillment != null) {
attachments ??= [];
attachments!.add(Attachment(
data: AttachmentData(json: fulfillment!.toJson()),
id: Uuid().v4(),
format: AttachmentFormat.credentialFulfillment,
mediaType: 'application/json'));
}
}