001/*-
002 * #%L
003 * Smile CDR - CDR
004 * %%
005 * Copyright (C) 2016 - 2025 Smile CDR, Inc.
006 * %%
007 * All rights reserved.
008 * #L%
009 */
010package ca.cdr.api.security;
011
012import java.util.Arrays;
013import java.util.List;
014
015public class ScopeConstants {
016
017        public static final String SCOPE_OPENID = "openid";
018        public static final String SCOPE_PROFILE = "profile";
019        public static final String SCOPE_FHIR_USER = "fhirUser";
020        public static final String SMART_SCOPE_PATIENT_PREFIX = "patient/";
021        public static final String SMART_SCOPE_SYSTEM_PREFIX = "system/";
022        public static final String SMART_SCOPE_USER_PREFIX = "user/";
023        public static final String SMART_SCOPE_READ_PERMISSION = "read";
024
025        public static final String SMART_SCOPE_PATIENT_STAR_READ =
026                        SMART_SCOPE_PATIENT_PREFIX + "*." + SMART_SCOPE_READ_PERMISSION;
027        public static final String SMART_SCOPE_SYSTEM_STAR_READ =
028                        SMART_SCOPE_SYSTEM_PREFIX + "*." + SMART_SCOPE_READ_PERMISSION;
029        public static final String SMART_SCOPE_USER_STAR_READ =
030                        SMART_SCOPE_USER_PREFIX + "*." + SMART_SCOPE_READ_PERMISSION;
031        public static final String SMART_SCOPE_WRITE_PERMISSION = "write";
032        public static final String SMART_SCOPE_PATIENT_STAR_WRITE =
033                        SMART_SCOPE_PATIENT_PREFIX + "*." + SMART_SCOPE_WRITE_PERMISSION;
034        public static final String SMART_SCOPE_SYSTEM_STAR_WRITE =
035                        SMART_SCOPE_SYSTEM_PREFIX + "*." + SMART_SCOPE_WRITE_PERMISSION;
036        public static final String SMART_SCOPE_USER_STAR_WRITE =
037                        SMART_SCOPE_USER_PREFIX + "*." + SMART_SCOPE_WRITE_PERMISSION;
038        public static final String SCOPE_CDR_ALL_USER_AUTHORITIES = "cdr_all_user_authorities";
039        public static final String SCOPE_CDR_FHIR_DELETE = "cdr_fhir_delete";
040        public static final String SCOPE_CDR_FHIR_EXPUNGE = "cdr_fhir_expunge";
041        public static final String SCOPE_CDR_FHIR_VALIDATE = "cdr_fhir_validate";
042        public static final String SCOPE_CDR_MDM = "cdr_mdm";
043        public static final String SCOPE_EHR_LAUNCH = "launch";
044        public static final String SCOPE_STANDALONE_LAUNCH_PREFIX = "launch/";
045
046        public static final List<String> SUPPORTED_RESOURCE_OPERATIONS =
047                        Arrays.asList(SMART_SCOPE_READ_PERMISSION, SMART_SCOPE_WRITE_PERMISSION);
048        public static final List<String> SUPPORTED_SCOPE_PREFIXES =
049                        Arrays.asList(SMART_SCOPE_SYSTEM_PREFIX, SMART_SCOPE_PATIENT_PREFIX, SMART_SCOPE_USER_PREFIX);
050        public static final List<String> SUPPORTED_STAR_READ_SCOPES =
051                        Arrays.asList(SMART_SCOPE_SYSTEM_STAR_READ, SMART_SCOPE_PATIENT_STAR_READ, SMART_SCOPE_USER_STAR_READ);
052        public static final List<String> SUPPORTED_STAR_WRITE_SCOPES =
053                        Arrays.asList(SMART_SCOPE_SYSTEM_STAR_WRITE, SMART_SCOPE_PATIENT_STAR_WRITE, SMART_SCOPE_USER_STAR_WRITE);
054}