Interface MongoAdminService

All Known Implementing Classes:
MongoAdminServiceImpl, MongoAdminServiceStub

public interface MongoAdminService
Operações administrativas no MongoDB do PowerSync.

Em dev (URI vazia), MongoAdminServiceStub é o bean ativo; quando a URI está configurada, MongoAdminServiceImpl assume com o driver real.

  • Method Summary

    Modifier and Type
    Method
    Description
    long
    Conta os documentos da collection bucket_data — o histórico de operações acumulado do PowerSync, métrica de "checkpoints" antes/depois do reset.
    long
    Tamanho em bytes do database (via dbStats.dataSize).
    Descobre o slot_name ativo lendo a metadata do PowerSync no próprio Mongo (collection sync_rules, doc com state='ACTIVE' e maior _id).
    dropDatabase(String uri, String dbName)
    Dropa o database.
  • Method Details

    • databaseSizeBytes

      long databaseSizeBytes(String uri, String dbName)
      Tamanho em bytes do database (via dbStats.dataSize).
      Parameters:
      uri - connection string MongoDB (vazia → 0)
      dbName - nome do database
      Returns:
      bytes; 0 se URI ausente
    • dropDatabase

      String dropDatabase(String uri, String dbName)
      Dropa o database. Operação irreversível.
      Parameters:
      uri - connection string MongoDB
      dbName - nome do database a ser dropado
      Returns:
      nome do database dropado (mesmo recebido), para gravar em audit
    • detectActiveSlotName

      String detectActiveSlotName(String uri, String dbName)
      Descobre o slot_name ativo lendo a metadata do PowerSync no próprio Mongo (collection sync_rules, doc com state='ACTIVE' e maior _id).

      Permite que o reset seja chamado sem hardcodar POWERSYNC_SLOT — o pareamento Mongo↔slot é descoberto em runtime, evitando confusão em PGs com múltiplos slots de PR builds e ambientes simultâneos.

      Parameters:
      uri - connection string MongoDB
      dbName - nome do database onde está a metadata do PowerSync
      Returns:
      nome do slot atual; nunca null — se não houver doc ACTIVE, lança.
      Throws:
      IllegalStateException - se collection ausente ou nenhum doc ACTIVE
    • countBucketData

      long countBucketData(String uri, String dbName)
      Conta os documentos da collection bucket_data — o histórico de operações acumulado do PowerSync, métrica de "checkpoints" antes/depois do reset.
      Parameters:
      uri - connection string MongoDB (vazia → 0)
      dbName - nome do database
      Returns:
      número de documentos; 0 se URI ausente ou collection inexistente