001package ca.cdr.api.model.json;
002
003/*
004 * #%L
005 * Smile CDR - CDR
006 * %%
007 * Copyright (C) 2016 - 2025 Smile CDR, Inc.
008 * %%
009 * All rights reserved.
010 * #L%
011 */
012
013// Created by claude-sonnet-4-20250514
014
015import ca.uhn.fhir.model.api.IModelJson;
016import com.fasterxml.jackson.annotation.JsonProperty;
017import io.swagger.v3.oas.annotations.media.Schema;
018
019import java.util.ArrayList;
020import java.util.List;
021
022/**
023 * Contains lists of available authorities (roles and permissions) that can be assigned to users
024 */
025@Schema(
026                name = "AvailableAuthoritiesList",
027                description = "Lists of available authorities (roles and permissions) that can be assigned to users")
028public class AvailableAuthoritiesListJson implements IModelJson {
029
030        @JsonProperty("roles")
031        @Schema(description = "Available roles that can be assigned to users")
032        private List<AvailableAuthorityJson> myRoles;
033
034        @JsonProperty("permissions")
035        @Schema(description = "Available permissions that can be assigned to users")
036        private List<AvailableAuthorityJson> myPermissions;
037
038        /**
039         * Constructor
040         */
041        public AvailableAuthoritiesListJson() {
042                super();
043        }
044
045        public List<AvailableAuthorityJson> getRoles() {
046                if (myRoles == null) {
047                        myRoles = new ArrayList<>();
048                }
049                return myRoles;
050        }
051
052        public AvailableAuthoritiesListJson setRoles(List<AvailableAuthorityJson> theRoles) {
053                myRoles = theRoles;
054                return this;
055        }
056
057        public List<AvailableAuthorityJson> getPermissions() {
058                if (myPermissions == null) {
059                        myPermissions = new ArrayList<>();
060                }
061                return myPermissions;
062        }
063
064        public AvailableAuthoritiesListJson setPermissions(List<AvailableAuthorityJson> thePermissions) {
065                myPermissions = thePermissions;
066                return this;
067        }
068}