package io.oasp.gastronomy.restaurant.staffmanagement.service.api.rest; import java.util.List; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import io.oasp.gastronomy.restaurant.general.common.api.RestService; import io.oasp.gastronomy.restaurant.staffmanagement.logic.api.Staffmanagement; import io.oasp.gastronomy.restaurant.staffmanagement.logic.api.to.StaffMemberEto; import io.oasp.gastronomy.restaurant.staffmanagement.logic.api.to.StaffMemberSearchCriteriaTo; import io.oasp.module.jpa.common.api.to.PaginatedListTo; /** * * The service class for REST calls in order to execute the methods in {@link Staffmanagement}. * */ @Path("/staffmanagement/v1/staff") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public interface StaffmanagementRestService extends RestService { /** * @return a list of all {@link StaffMemberEto} * */ @GET @Path("/") @Deprecated List<StaffMemberEto> getAllStaffMember(); /** * @param login the login of a staff member * @return {@link StaffMemberEto} */ @GET @Path("/{login}") StaffMemberEto getStaffMember(@PathParam("login") String login); /** * @param staffMemberBo the staffMember to be updated as JSON */ @PUT @Path("/{login}") @Deprecated void updateStaffMember(StaffMemberEto staffMemberBo); /** * Calls {@link Staffmanagement#saveStaffMember}. * * @param staffMemberEto the staffMember to be created or updated * @return the saved {@link StaffMemberEto} */ @POST @Path("/") StaffMemberEto saveStaffMember(StaffMemberEto staffMemberEto); /** * @param login the login */ @DELETE @Path("/{login}") void deleteStaffMember(@PathParam("login") String login); /** * Delegates to {@link Staffmanagement#findStaffMemberEtos}. * * @param searchCriteriaTo the pagination and search criteria to be used for finding staffmembers. * @return the {@link PaginatedListTo list} of matching {@link StaffMemberEto}s. */ @Path("/search") @POST PaginatedListTo<StaffMemberEto> findStaffMembersByPost(StaffMemberSearchCriteriaTo searchCriteriaTo); }