diff --git a/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockDataRepository.kt b/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockDataRepository.kt index a4e11d558f..f1bef8d0a3 100644 --- a/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockDataRepository.kt +++ b/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockDataRepository.kt @@ -438,6 +438,8 @@ class BlockDataRepository( override suspend fun debugLocalStore(path: String): String = remote.debugLocalStore(path) + override suspend fun debugSubscriptions(): List = remote.debugSubscriptions() + override suspend fun setObjectDetail( ctx: Id, key: String, diff --git a/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockRemote.kt b/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockRemote.kt index e6357da282..1c3f5493ac 100644 --- a/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockRemote.kt +++ b/data/src/main/java/com/anytypeio/anytype/data/auth/repo/block/BlockRemote.kt @@ -181,6 +181,8 @@ interface BlockRemote { suspend fun debugLocalStore(path: String): String + suspend fun debugSubscriptions(): List + suspend fun setObjectDetail( ctx: Id, key: String, diff --git a/domain/src/main/java/com/anytypeio/anytype/domain/block/repo/BlockRepository.kt b/domain/src/main/java/com/anytypeio/anytype/domain/block/repo/BlockRepository.kt index 12161f5b4f..2835ad3230 100644 --- a/domain/src/main/java/com/anytypeio/anytype/domain/block/repo/BlockRepository.kt +++ b/domain/src/main/java/com/anytypeio/anytype/domain/block/repo/BlockRepository.kt @@ -223,6 +223,8 @@ interface BlockRepository { suspend fun debugLocalStore(path: String): String + suspend fun debugSubscriptions(): List + suspend fun turnInto( context: Id, targets: List, diff --git a/middleware/src/main/java/com/anytypeio/anytype/middleware/block/BlockMiddleware.kt b/middleware/src/main/java/com/anytypeio/anytype/middleware/block/BlockMiddleware.kt index b907503990..69bc2094a3 100644 --- a/middleware/src/main/java/com/anytypeio/anytype/middleware/block/BlockMiddleware.kt +++ b/middleware/src/main/java/com/anytypeio/anytype/middleware/block/BlockMiddleware.kt @@ -397,8 +397,11 @@ class BlockMiddleware( override suspend fun debugObject(objectId: Id, path: String): String = middleware.debugObject(objectId = objectId, path = path) - override suspend fun debugLocalStore(path: String): String = - middleware.debugExportLocalStore(path) + override suspend fun debugLocalStore( + path: String + ): String = middleware.debugExportLocalStore(path) + + override suspend fun debugSubscriptions(): List = middleware.debugSubscriptions() override suspend fun turnInto( context: String, diff --git a/middleware/src/main/java/com/anytypeio/anytype/middleware/interactor/Middleware.kt b/middleware/src/main/java/com/anytypeio/anytype/middleware/interactor/Middleware.kt index 3db265db7c..ec1b69df8a 100644 --- a/middleware/src/main/java/com/anytypeio/anytype/middleware/interactor/Middleware.kt +++ b/middleware/src/main/java/com/anytypeio/anytype/middleware/interactor/Middleware.kt @@ -781,6 +781,15 @@ class Middleware @Inject constructor( return response.infos.toCoreModel() } + @Throws(Exception::class) + fun debugSubscriptions(): List { + val request = Rpc.Debug.Subscriptions.Request() + if (BuildConfig.DEBUG) logRequest(request) + val response = service.debugSubscriptions(request) + if (BuildConfig.DEBUG) logResponse(response) + return response.subscriptions + } + @Throws(Exception::class) fun debugObject(objectId: Id, path: String): String { val request = Rpc.Debug.Tree.Request( diff --git a/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareService.kt b/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareService.kt index 9b606ab274..741e074016 100644 --- a/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareService.kt +++ b/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareService.kt @@ -420,6 +420,10 @@ interface MiddlewareService { @Throws(Exception::class) fun debugExportLocalStore(request: Rpc.Debug.ExportLocalstore.Request): Rpc.Debug.ExportLocalstore.Response + + @Throws(Exception::class) + fun debugSubscriptions(request: Rpc.Debug.Subscriptions.Request): Rpc.Debug.Subscriptions.Response + //endregion //region WIDGETS commands diff --git a/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareServiceImplementation.kt b/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareServiceImplementation.kt index a11feb656f..13e01fcab4 100644 --- a/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareServiceImplementation.kt +++ b/middleware/src/main/java/com/anytypeio/anytype/middleware/service/MiddlewareServiceImplementation.kt @@ -579,6 +579,19 @@ class MiddlewareServiceImplementation @Inject constructor( } } + override fun debugSubscriptions(request: Rpc.Debug.Subscriptions.Request): Rpc.Debug.Subscriptions.Response { + val encoded = Service.debugSubscriptions( + Rpc.Debug.Subscriptions.Request.ADAPTER.encode(request) + ) + val response = Rpc.Debug.Subscriptions.Response.ADAPTER.decode(encoded) + val error = response.error + if (error != null && error.code != Rpc.Debug.Subscriptions.Response.Error.Code.NULL) { + throw Exception(error.description) + } else { + return response + } + } + override fun debugSpace(request: Rpc.Debug.SpaceSummary.Request): Rpc.Debug.SpaceSummary.Response { val encoded = Service.debugSpaceSummary(Rpc.Debug.SpaceSummary.Request.ADAPTER.encode(request)) val response = Rpc.Debug.SpaceSummary.Response.ADAPTER.decode(encoded)