package de.jottyfan.camporganizer.module.confirmation.confirmation;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import de.jottyfan.camporganizer.module.confirmation.confirmation.impl.BookingBean;
import de.jottyfan.camporganizer.module.confirmation.confirmation.impl.CampOverviewBean;

/**
 *
 * @author jotty
 *
 */
public interface IConfirmationService {
	/**
	 * get the user of this session
	 *
	 * @param request the request
	 * @return the username of the current user
	 */
	public String getCurrentUser(HttpServletRequest request);

	/**
	 * get a list of the camps and its booking status
	 *
	 * @param request the request
	 * @return the camp overview beans
	 */
	public List<CampOverviewBean> getCampOverview(HttpServletRequest request);

	/**
	 * get a list of bookings that have not yet been worked on
	 *
	 * @param request the request
	 * @return the list of untouched bookings
	 */
	public List<BookingBean> getUntouched(HttpServletRequest request);

	/**
	 * get a list of approved bookings
	 *
	 * @param request the request
	 * @return the list of approved bookings
	 */
	public List<BookingBean> getApproved(HttpServletRequest request);

	/**
	 * get a list of rejected bookings
	 *
	 * @param request the request
	 * @return the list of rejected bookings
	 */
	public List<BookingBean> getRejected(HttpServletRequest request);

	/**
	 * get the result of a search for needle in the database
	 *
	 * @param needle the needle; may be a name of anything
	 * @param linkURL the URL of the link for clicking on the found entity
	 * @param request the request
	 * @return the result in html format (for now)
	 */
	public String search(String needle, String linkURL, HttpServletRequest request);
}
