Class AdminController

java.lang.Object
br.com.vantroba.bi.transporte.powersync.AdminController

@Controller("/api/transporte/admin") public class AdminController extends Object
Endpoints administrativos: hoje, apenas o "reset" da replicação PowerSync.

Separado de TransporteController — endpoints destrutivos têm pattern de auth e log diferentes; juntar polui a API pública.

  • Constructor Details

    • AdminController

      public AdminController(ResetarPowersyncService service, AppConfig app)
      Cria o controller de operações administrativas.
      Parameters:
      service - serviço de reset da replicação PowerSync
      app - configuração app.* (URL base para montar o link de acompanhamento)
  • Method Details

    • reset

      @Post(value="/resetar-powersync", consumes="application/json") @Secured("ROLE_API") public io.micronaut.http.HttpResponse<ResetarPowersyncResponse> reset(@Header("X-Confirm-Nuke") @Nullable String confirmHeader, @Header("X-Operator-Id") @Nullable String operatorHeader, @QueryValue("wait_secs") @Nullable @Positive @Positive Integer waitSecs, @Body @Nullable @Valid @Valid ResetarPowersyncRequest body)
      Dispara o reset da replicação PowerSync de forma assíncrona e retorna o status inicial.
      Parameters:
      confirmHeader - valor do header X-Confirm-Nuke para confirmação defensiva
      operatorHeader - identificação opcional do operador (X-Operator-Id)
      waitSecs - tempo de espera opcional, em segundos, antes de executar
      body - corpo opcional com o motivo da operação
      Returns:
      resposta 202 com o id e o link de acompanhamento do reset
    • status

      @Get("/resetar-powersync/{id}") @Secured("ROLE_API") public io.micronaut.http.HttpResponse<ResetarPowersyncStatusResponse> status(@PathVariable long id)
      Consulta o status detalhado de uma execução de reset.
      Parameters:
      id - identificador da execução de reset
      Returns:
      resposta 200 com o status detalhado da execução
    • listar

      @Get("/resetar-powersync") @Secured("ROLE_API") public io.micronaut.data.model.Page<ResetarPowersyncStatusResponse> listar(io.micronaut.data.model.Pageable pageable)
      Lista as execuções de reset paginadas, das mais recentes para as mais antigas.
      Parameters:
      pageable - page (a partir de 0) e size da query; o tamanho padrão e o teto vêm de micronaut.data.pageable.*
      Returns:
      o Page do micronaut-data: conteúdo da página, total e posição