import { BaseAttestationModel } from './BaseAttestationModel' ; import { InputClaimModel } from './InputClaimModel' ; import { TrustedIssuerModel } from './TrustedIssuerModel' ; /**
 * Model for defining Open Id Configuration for an Input contract
 */ export class IdTokenAttestationModel extends BaseAttestationModel { param configuration param client_id param redirect_uri param scope param mapping param encrypted param claims param required param id param issuers constructor ( public configuration ? , public client_id ? , public redirect_uri ? , public scope ? , mapping ? , encrypted = false , claims ? , required = false , id ? , public issuers ? ) { super ( mapping , encrypted , claims , required , id ) ; } /**
     * Gets the name of the attestation
     */ get name ( ) : string { return this . configuration ! ; } toJSON ( ) { const result = super . toJSON ( ) ; result . configuration = this . configuration ; result . client_id = this . client_id ; result . issuers = this . issuers ; result . redirect_uri = this . redirect_uri ; result . scope = this . scope ; return result ; } param input populateFrom ( input ) { super . populateFrom ( input ) ; this . configuration = input . configuration ; this . client_id = input . client_id ; this . redirect_uri = input . redirect_uri ; this . scope = input . scope ; if ( input . issuers ) { this . issuers = Array . from ( input . issuers , ( issuer ) => { const t = new TrustedIssuerModel ( ) ; t . populateFrom ( issuer ) ; return t ; } ) ; } } param claims protected createForInput ( claims ) { return new IdTokenAttestationModel ( this . configuration , this . client_id , this . redirect_uri , this . scope , undefined , this . encrypted , claims , this . required , undefined , this . issuers ) ; } }