001package ca.cdr.api.model.json.appgallery.common;
002
003/*
004 * #%L
005 * Smile CDR - CDR
006 * %%
007 * Copyright (C) 2016 - 2024 Smile CDR, Inc.
008 * %%
009 * All rights reserved.
010 * #L%
011 */
012
013import ca.cdr.api.model.json.AbstractModelJson;
014import io.swagger.v3.oas.annotations.media.Schema;
015
016import java.util.List;
017
018public class AGApplicationJson extends AbstractModelJson {
019        @Schema(description = "Name of the App")
020        public String name;
021
022        @Schema(description = "The URL where the App?s download sites can be found.")
023        public String homeUrl;
024
025        @Schema(description = "URL used to perform a standalone web app launch from the app gallery")
026        public String launchUrl;
027
028        @Schema(description = "Short description of the application")
029        public String shortDesc;
030
031        @Schema(description = "Long description of the application")
032        public String longDesc;
033
034        @Schema(description = "The default URL to which users are redirected upon successful authentication.")
035        public String oauthRedirectUrl;
036
037        @Schema(description = "The URL of a webpage describing the App?s privacy policy.")
038        public String privacyPolicyUrl;
039
040        @Schema(description = "The URL of a webpage describing the App?s terms of service.")
041        public String termsOfServiceUrl;
042
043        @Schema(description = "Status of the application (Live, Suspended, ect...)")
044        public String status;
045
046        @Schema(description = "Whether the attestation has been accepted")
047        public boolean attestationAccepted;
048
049        @Schema(description = "Application version")
050        public long version;
051
052        @Schema(description = "Client Required to Authenticate")
053        public boolean confidential;
054
055        @Schema(description = "Whether the application should be considered a 'backend service'")
056        public boolean backendService;
057
058        @Schema(description = "Additional URLs required for the app to work.")
059        public List<String> otherOauthRedirectUrls;
060
061        @Schema(description = "OIDC client authentication details")
062        public AGConfidentialInfoJson confidentialInfo;
063
064        @Schema(
065                        description =
066                                        "OIDC client permissions needed for this application to work. Permissions requiring arguments are excluded, except FHIR_OP_INITIATE_BULK_DATA_EXPORT. If present, this permission enables bulk transfer for the application.")
067        public AGPermissionJson permission;
068}