1 package net.avcompris.status.api;
2
3 import static net.avcompris.status.api.Permission.ANY;
4 import static net.avcompris.status.api.Permission.GET_ANY_STATUS;
5 import static net.avcompris.status.api.Permission.QUERY_ALL_STATUS;
6
7 import net.avcompris.commons3.api.exception.ServiceException;
8
9 public interface StatusService {
10
11 @Permissions(QUERY_ALL_STATUS)
12 ServicesStatus getServicesLiveStatus(String correlationId) throws ServiceException;
13
14 @Permissions(GET_ANY_STATUS)
15 ServiceStatus getServiceLiveStatus(String correlationId,
16 String serviceId
17 ) throws ServiceException;
18
19 @Permissions(GET_ANY_STATUS)
20 ServiceStatus getInlineServiceLiveStatus(String correlationId,
21 String serviceId,
22 InlineService inlineService
23 ) throws ServiceException;
24
25 @Permissions(QUERY_ALL_STATUS)
26 ServicesStatusHistory getServicesStatusHistory(String correlationId) throws ServiceException;
27
28 @Permissions(GET_ANY_STATUS)
29 ServiceStatusHistory getServiceStatusHistory(String correlationId,
30 String serviceId
31 ) throws ServiceException;
32
33 @Permissions(ANY)
34 StatusConfig getStatusConfig(String correlationId) throws ServiceException;
35 }