001package ca.cdr.api.model.json.appgallery.portal; 002 003/* 004 * #%L 005 * Smile CDR - CDR 006 * %% 007 * Copyright (C) 2016 - 2026 Smile CDR, Inc. 008 * %% 009 * All rights reserved. 010 * #L% 011 */ 012 013import ca.cdr.api.model.json.AbstractModelJson; 014import ca.cdr.api.model.json.JsonDateDeserializer; 015import ca.cdr.api.model.json.JsonDateSerializer; 016import ca.cdr.api.model.json.appgallery.common.AGApplicationJson; 017import ca.cdr.api.model.json.appgallery.common.AGIdentifierJson; 018import ca.cdr.api.model.json.appgallery.common.AGMetaDataJson; 019import ca.cdr.api.model.json.appgallery.common.AGOauthJson; 020import ca.cdr.api.model.json.appgallery.common.AGProfileJson; 021import ca.cdr.api.model.json.appgallery.common.AGScopeJson; 022import ca.cdr.api.model.json.jackson2deprecated.JsonDateDeserializerJacksonV2Deprecated; 023import ca.cdr.api.model.json.jackson2deprecated.JsonDateSerializerJacksonV2Deprecated; 024import io.swagger.v3.oas.annotations.media.Schema; 025import tools.jackson.databind.annotation.JsonDeserialize; 026import tools.jackson.databind.annotation.JsonSerialize; 027 028import java.util.Date; 029import java.util.List; 030 031/** 032 * The developer portal's view of one appSphere application: the response body of the Developer Portal's 033 * get-application endpoint, and a hook parameter of 034 * {@link ca.cdr.api.fhir.interceptor.CdrPointcut#AG_OAUTH2_CLIENT_SECRET_REGENERATED}. 035 */ 036public class AGPortalJson extends AbstractModelJson { 037 public AGIdentifierJson identifier; 038 039 @Schema(description = "Application being registered") 040 public AGApplicationJson application; 041 042 @Schema(description = "Developer profile at the time of registration") 043 public AGProfileJson profile; 044 045 @Schema(description = "Information to help users search for and find the application.") 046 public List<String> classification; 047 048 public List<String> prerequisites; 049 050 @Schema(description = "SMART scopes required for the application.") 051 public List<AGScopeJson> scopes; 052 053 @Schema(description = "OIDC details") 054 public AGOauthJson oauth; 055 056 @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = JsonDateSerializerJacksonV2Deprecated.class) 057 @JsonSerialize(using = JsonDateSerializer.class) 058 @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = JsonDateDeserializerJacksonV2Deprecated.class) 059 @JsonDeserialize(using = JsonDateDeserializer.class) 060 public Date createdDate; 061 062 @Schema(description = "Application icon (base64 encoded)") 063 public String icon; 064 065 public AGIdentifierJson attestationIdentifier; 066 067 @Schema(description = "Notes for the reviewer to help them evaluate submissions") 068 public String registrationNote; 069 070 @Schema(description = "Metadata associated with registration") 071 public List<AGMetaDataJson> metaDataValues; 072 073 public List<String> countryIsoCodeAlpha2; 074 075 @Schema(description = "Current Developer profile associated with registration") 076 public AGProfileJson currentProfile; 077}