All Downloads are FREE. Search and download functionalities are using the official Maven repository.

one.credify.sdk.dto.VerifiedClaimsDto Maven / Gradle / Ivy

There is a newer version: v0.4.9
Show newest version
package one.credify.sdk.dto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.FieldDefaults;

import java.util.List;

@NoArgsConstructor
@Getter
@Setter
@FieldDefaults(level = AccessLevel.PRIVATE)
@JsonIgnoreProperties(ignoreUnknown = true)
public class VerifiedClaimsDto {
    Claims claims;
    Verification verification;

    public Evidence getEvidence() {
        if (verification == null) {
            return null;
        }
        if (verification.getEvidence() == null || verification.getEvidence().size() == 0) {
            return null;
        }
        return verification.getEvidence().get(0);
    }

    @NoArgsConstructor
    @Getter
    @Setter
    @FieldDefaults(level = AccessLevel.PRIVATE)
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Claims {
        Address address;
        String birthdate;
        String name;
        List nationalities;
    }

    @NoArgsConstructor
    @Getter
    @Setter
    @FieldDefaults(level = AccessLevel.PRIVATE)
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Address {
        String formatted;
        String locality;
        String region;
    }

    @NoArgsConstructor
    @Getter
    @Setter
    @FieldDefaults(level = AccessLevel.PRIVATE)
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Verification {
        List evidence;
        @JsonProperty("trust_framework")
        String trustFramework;
    }

    @NoArgsConstructor
    @Getter
    @Setter
    @FieldDefaults(level = AccessLevel.PRIVATE)
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Evidence {
        List attachments;
        @JsonProperty("document_details")
        DocumentDetail documentDetails;
        String type;
        Verifier verifier;
        @JsonProperty("validation_method")
        ValidationMethod validationMethod;
        @JsonProperty("verification_method")
        ValidationMethod verificationMethod;
    }

    @NoArgsConstructor
    @Getter
    @Setter
    @FieldDefaults(level = AccessLevel.PRIVATE)
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Attachment {
        String content;
        @JsonProperty("content_type")
        String contentType;
        String desc;
    }

    @NoArgsConstructor
    @Getter
    @Setter
    @FieldDefaults(level = AccessLevel.PRIVATE)
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Verifier {
        String organization;
        String txn;
    }

    @NoArgsConstructor
    @Getter
    @Setter
    @FieldDefaults(level = AccessLevel.PRIVATE)
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class ValidationMethod {
        String type;
    }

    @NoArgsConstructor
    @Getter
    @Setter
    @FieldDefaults(level = AccessLevel.PRIVATE)
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class DocumentDetail {
        @JsonProperty("date_of_expiry")
        String dateOfExpiry;
        @JsonProperty("date_of_issuance")
        String dateOfIssuance;
        @JsonProperty("document_number")
        String documentNumber;
        Issuer issuer;
        String type;
    }

    @NoArgsConstructor
    @Getter
    @Setter
    @FieldDefaults(level = AccessLevel.PRIVATE)
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Issuer {
        String name;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy