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 io.swagger.v3.oas.annotations.media.Schema; 023import tools.jackson.databind.annotation.JsonDeserialize; 024import tools.jackson.databind.annotation.JsonSerialize; 025 026import java.util.Date; 027import java.util.List; 028 029/** 030 * The developer portal's view of one appSphere application: the response body of the Developer Portal's 031 * get-application endpoint, and a hook parameter of 032 * {@link ca.cdr.api.fhir.interceptor.CdrPointcut#AG_OAUTH2_CLIENT_SECRET_REGENERATED}. 033 */ 034public class AGPortalJson extends AbstractModelJson { 035 public AGIdentifierJson identifier; 036 037 @Schema(description = "Application being registered") 038 public AGApplicationJson application; 039 040 @Schema(description = "Developer profile at the time of registration") 041 public AGProfileJson profile; 042 043 @Schema(description = "Information to help users search for and find the application.") 044 public List<String> classification; 045 046 public List<String> prerequisites; 047 048 @Schema(description = "SMART scopes required for the application.") 049 public List<AGScopeJson> scopes; 050 051 @Schema(description = "OIDC details") 052 public AGOauthJson oauth; 053 054 @JsonSerialize(using = JsonDateSerializer.class) 055 @JsonDeserialize(using = JsonDateDeserializer.class) 056 public Date createdDate; 057 058 @Schema(description = "Application icon (base64 encoded)") 059 public String icon; 060 061 public AGIdentifierJson attestationIdentifier; 062 063 @Schema(description = "Notes for the reviewer to help them evaluate submissions") 064 public String registrationNote; 065 066 @Schema(description = "Metadata associated with registration") 067 public List<AGMetaDataJson> metaDataValues; 068 069 public List<String> countryIsoCodeAlpha2; 070 071 @Schema(description = "Current Developer profile associated with registration") 072 public AGProfileJson currentProfile; 073}