Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

package gov.va.vamf.scheduling.varutility.resource;

import gov.va.vamf.scheduling.varutility.domain.Institution;
import gov.va.vamf.scheduling.varutility.service.InstitutionService;
import gov.va.vamf.scheduling.varutility.utils.VarUtilityConstants;
import gov.va.vamf.security.v1.filters.JwtRbacRestricted;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.Authorization;
import io.swagger.annotations.AuthorizationScope;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.util.ArrayList;
import java.util.List;

@Component
@Path("/institutions")
@Api(value = "/institutions", description = "Institutions Service API")
@Scope("request")
public class InstitutionResource {

@Autowired
InstitutionService institutionService;

@GET
@JwtRbacRestricted("Staff")
@Path("/site/{site-code}")
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@ApiOperation(value = "Retrieves the institutions for a provided site code", authorizations = {
@Authorization(
value = VarUtilityConstants.RBAC_JWT_SECURITY_NAME,
scopes = {@AuthorizationScope(scope = "Staff", description = "Staff role")}
)
}, response = Institution.class, responseContainer = "List")
public List<Institution> fetchInstitutions(@ApiParam(value = "site code", required = true) @PathParam("site-code") String siteCode) {

List<Institution> institutions = institutionService.fetchInstitutionsBySiteCode(siteCode);

if (institutions == null) {
institutions = new ArrayList<>();
}

return institutions;
}
}