package com.rjconsultores.ventaboletos.rest;

import javax.annotation.security.RolesAllowed;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

import com.rjconsultores.ventaboletos.rest.bean.ParamsUltimaSincDispositivo;
import com.rjconsultores.ventaboletos.rest.service.UltimaSincronizacaoService;
import com.rjconsultores.ventaboletos.rest.service.exception.ServiceEmbarcadaException;
import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;

@Path("/ultimaSincronizacao")
public class UltimaSincronizacao {
	
	@POST
	@Consumes({ MediaType.APPLICATION_JSON })
	@RolesAllowed("EMBARCADA")
	@Produces({ MediaType.APPLICATION_JSON })
	public Response UltimaSincronizacaoDispositivo(ParamsUltimaSincDispositivo params) throws Exception {
		UltimaSincronizacaoService service = (UltimaSincronizacaoService) AppContext.getApplicationContext().getBean("ultimaSincronizacaoService");

		try {
			return Response.ok(service.registrarUltimaSincronizaco(params), MediaType.APPLICATION_JSON).build();
		} catch (ServiceEmbarcadaException e) {
			return Response.status(Response.Status.NOT_FOUND).entity(e.getMessage()).build();
		}
	}
}
