View Javadoc
1   /*
2    * The coLAB project
3    * Copyright (C) 2022-2023 AlbaSim, MEI, HEIG-VD, HES-SO
4    *
5    * Licensed under the MIT License
6    */
7   package ch.colabproject.colab.api.rest.monitoring;
8   
9   import ch.colabproject.colab.api.model.monitoring.CronJobLog;
10  import ch.colabproject.colab.api.persistence.jpa.monitoring.CronJobLogDao;
11  import ch.colabproject.colab.generator.model.annotations.AdminResource;
12  import ch.colabproject.colab.generator.model.annotations.AuthenticationRequired;
13  import org.slf4j.Logger;
14  import org.slf4j.LoggerFactory;
15  
16  import javax.inject.Inject;
17  import javax.ws.rs.Consumes;
18  import javax.ws.rs.GET;
19  import javax.ws.rs.Path;
20  import javax.ws.rs.Produces;
21  import javax.ws.rs.core.MediaType;
22  import java.util.List;
23  
24  /**
25   * REST CronJobLog controller
26   *
27   * @author mikkelvestergaard
28   */
29  @Path("cronJobLogs")
30  @Consumes(MediaType.APPLICATION_JSON)
31  @Produces(MediaType.APPLICATION_JSON)
32  @AuthenticationRequired
33  public class CronJobLogRestEndpoint {
34  
35      /**
36       * logger
37       */
38      private static final Logger logger = LoggerFactory.getLogger(CronJobLogRestEndpoint.class);
39  
40      /**
41       * CronJobLog persistence handler
42       */
43      @Inject
44      private CronJobLogDao cronJobLogDao;
45  
46      /**
47       * Get all cron job logs
48       *
49       * @return list of all cron job logs
50       */
51      @GET
52      @AdminResource
53      public List<CronJobLog> getAllCronJobLogs() {
54          logger.debug("get all cron job logs");
55          return cronJobLogDao.findAllCronJobLogs();
56      }
57  }