refactor: Moved external APIs out of node (#2069)

This commit is contained in:
Simon-Pierre Vivier 2023-09-22 09:36:46 -04:00 committed by GitHub
parent 02a814bd35
commit 3e72e83067
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
71 changed files with 121 additions and 115 deletions

View File

@ -217,11 +217,11 @@ proc stop*(cmb: Chat2MatterBridge) {.async.} =
when isMainModule:
import
../../../waku/common/utils/nat,
../../waku/node/message_cache,
../../waku/node/jsonrpc/debug/handlers as debug_api,
../../waku/node/jsonrpc/filter/handlers as filter_api,
../../waku/node/jsonrpc/relay/handlers as relay_api,
../../waku/node/jsonrpc/store/handlers as store_api
../../waku/waku_api/message_cache,
../../waku/waku_api/jsonrpc/debug/handlers as debug_api,
../../waku/waku_api/jsonrpc/filter/handlers as filter_api,
../../waku/waku_api/jsonrpc/relay/handlers as relay_api,
../../waku/waku_api/jsonrpc/store/handlers as store_api
proc startV2Rpc(node: WakuNode, rpcServer: RpcHttpServer, conf: Chat2MatterbridgeConf) {.raises: [Exception].} =

View File

@ -38,26 +38,25 @@ import
../../waku/waku_lightpush,
../../waku/waku_filter,
../../waku/waku_filter_v2,
../../waku/waku_filter_v2/client as waku_filter_client,
./wakunode2_validator_signed,
./internal_config,
./external_config
import
../../waku/node/message_cache,
../../waku/node/rest/server,
../../waku/node/rest/debug/handlers as rest_debug_api,
../../waku/node/rest/relay/handlers as rest_relay_api,
../../waku/node/rest/relay/topic_cache,
../../waku/node/rest/filter/legacy_handlers as rest_legacy_filter_api,
../../waku/node/rest/filter/handlers as rest_filter_api,
../../waku/node/rest/store/handlers as rest_store_api,
../../waku/node/rest/health/handlers as rest_health_api,
../../waku/node/rest/lightpush/handlers as rest_lightpush_api,
../../waku/node/jsonrpc/admin/handlers as rpc_admin_api,
../../waku/node/jsonrpc/debug/handlers as rpc_debug_api,
../../waku/node/jsonrpc/filter/handlers as rpc_filter_api,
../../waku/node/jsonrpc/relay/handlers as rpc_relay_api,
../../waku/node/jsonrpc/store/handlers as rpc_store_api
../../waku/waku_api/message_cache,
../../waku/waku_api/rest/server,
../../waku/waku_api/rest/debug/handlers as rest_debug_api,
../../waku/waku_api/rest/relay/handlers as rest_relay_api,
../../waku/waku_api/rest/relay/topic_cache,
../../waku/waku_api/rest/filter/legacy_handlers as rest_legacy_filter_api,
../../waku/waku_api/rest/filter/handlers as rest_filter_api,
../../waku/waku_api/rest/lightpush/handlers as rest_lightpush_api,
../../waku/waku_api/rest/store/handlers as rest_store_api,
../../waku/waku_api/rest/health/handlers as rest_health_api,
../../waku/waku_api/jsonrpc/admin/handlers as rpc_admin_api,
../../waku/waku_api/jsonrpc/debug/handlers as rpc_debug_api,
../../waku/waku_api/jsonrpc/filter/handlers as rpc_filter_api,
../../waku/waku_api/jsonrpc/relay/handlers as rpc_relay_api,
../../waku/waku_api/jsonrpc/store/handlers as rpc_store_api
logScope:
topics = "wakunode app"
@ -591,7 +590,8 @@ proc startRestServer(app: App, address: ValidIpAddress, port: Port, conf: WakuNo
## Store REST API
installStoreApiHandlers(server.router, app.node)
installLightPushRequestHandler(server.router, app.node)
## Light push API
rest_lightpush_api.installLightPushRequestHandler(server.router, app.node)
server.start()
info "Starting REST HTTP server", url = "http://" & $address & ":" & $port & "/"

View File

@ -6,7 +6,7 @@ import
chronicles
import
../../waku/waku_core,
../../waku/node/message_cache,
../../waku/waku_api/message_cache,
./testlib/common,
./testlib/wakucore

View File

@ -13,8 +13,8 @@ import
../../../waku/waku_core,
../../../waku/node/peer_manager,
../../../waku/waku_node,
../../../waku/node/jsonrpc/admin/handlers as admin_api,
../../../waku/node/jsonrpc/admin/client as admin_api_client,
../../../waku/waku_api/jsonrpc/admin/handlers as admin_api,
../../../waku/waku_api/jsonrpc/admin/client as admin_api_client,
../../../waku/waku_relay,
../../../waku/waku_archive,
../../../waku/waku_archive/driver/queue_driver,

View File

@ -11,8 +11,8 @@ import
import
../../../waku/node/peer_manager,
../../../waku/waku_node,
../../../waku/node/jsonrpc/debug/handlers as debug_api,
../../../waku/node/jsonrpc/debug/client as debug_api_client,
../../../waku/waku_api/jsonrpc/debug/handlers as debug_api,
../../../waku/waku_api/jsonrpc/debug/client as debug_api_client,
../testlib/common,
../testlib/wakucore,
../testlib/wakunode

View File

@ -11,9 +11,9 @@ import
../../../waku/waku_core,
../../../waku/node/peer_manager,
../../../waku/waku_node,
../../../waku/node/message_cache,
../../../waku/node/jsonrpc/filter/handlers as filter_api,
../../../waku/node/jsonrpc/filter/client as filter_api_client,
../../../waku/waku_api/message_cache,
../../../waku/waku_api/jsonrpc/filter/handlers as filter_api,
../../../waku/waku_api/jsonrpc/filter/client as filter_api_client,
../../../waku/waku_filter,
../../../waku/waku_filter/rpc,
../../../waku/waku_filter/client,

View File

@ -11,10 +11,10 @@ import
../../../waku/common/base64,
../../../waku/waku_core,
../../../waku/node/peer_manager,
../../../waku/node/message_cache,
../../../waku/waku_api/message_cache,
../../../waku/waku_node,
../../../waku/node/jsonrpc/relay/handlers as relay_api,
../../../waku/node/jsonrpc/relay/client as relay_api_client,
../../../waku/waku_api/jsonrpc/relay/handlers as relay_api,
../../../waku/waku_api/jsonrpc/relay/client as relay_api_client,
../../../waku/waku_core,
../../../waku/waku_relay,
../../../waku/waku_rln_relay,

View File

@ -11,8 +11,8 @@ import
../../../waku/waku_core,
../../../waku/node/peer_manager,
../../../waku/waku_node,
../../../waku/node/jsonrpc/store/handlers as store_api,
../../../waku/node/jsonrpc/store/client as store_api_client,
../../../waku/waku_api/jsonrpc/store/handlers as store_api,
../../../waku/waku_api/jsonrpc/store/client as store_api_client,
../../../waku/waku_archive,
../../../waku/waku_archive/driver/queue_driver,
../../../waku/waku_store,

View File

@ -11,11 +11,11 @@ import
import
../../waku/waku_node,
../../waku/node/waku_node as waku_node2, # TODO: Remove after moving `git_version` to the app code.
../../waku/node/rest/server,
../../waku/node/rest/client,
../../waku/node/rest/responses,
../../waku/node/rest/debug/handlers as debug_api,
../../waku/node/rest/debug/client as debug_api_client,
../../waku/waku_api/rest/server,
../../waku/waku_api/rest/client,
../../waku/waku_api/rest/responses,
../../waku/waku_api/rest/debug/handlers as debug_api,
../../waku/waku_api/rest/debug/client as debug_api_client,
../testlib/common,
../testlib/wakucore,
../testlib/wakunode

View File

@ -6,8 +6,8 @@ import
testutils/unittests,
json_serialization
import
../../waku/node/rest/serdes,
../../waku/node/rest/debug/types
../../waku/waku_api/rest/serdes,
../../waku/waku_api/rest/debug/types
suite "Waku v2 REST API - Debug - serialization":

View File

@ -8,24 +8,24 @@ import
presto, presto/client as presto_client,
libp2p/crypto/crypto
import
../../waku/node/message_cache,
../../waku/waku_api/message_cache,
../../waku/common/base64,
../../waku/waku_core,
../../waku/waku_node,
../../waku/node/peer_manager,
../../waku/waku_filter,
../../waku/node/rest/server,
../../waku/node/rest/client,
../../waku/node/rest/responses,
../../waku/node/rest/filter/types,
../../waku/node/rest/filter/handlers as filter_api,
../../waku/node/rest/filter/client as filter_api_client,
../../waku/waku_api/rest/server,
../../waku/waku_api/rest/client,
../../waku/waku_api/rest/responses,
../../waku/waku_api/rest/filter/types,
../../waku/waku_api/rest/filter/handlers as filter_api,
../../waku/waku_api/rest/filter/client as filter_api_client,
../../waku/waku_relay,
../../waku/waku_filter_v2/subscriptions,
../../waku/waku_filter_v2/common,
../../waku/node/rest/relay/topic_cache,
../../waku/node/rest/relay/handlers as relay_api,
../../waku/node/rest/relay/client as relay_api_client,
../../waku/waku_api/rest/relay/topic_cache,
../../waku/waku_api/rest/relay/handlers as relay_api,
../../waku/waku_api/rest/relay/client as relay_api_client,
../testlib/wakucore,
../testlib/wakunode

View File

@ -12,11 +12,11 @@ import
import
../../waku/waku_node,
../../waku/node/waku_node as waku_node2, # TODO: Remove after moving `git_version` to the app code.
../../waku/node/rest/server,
../../waku/node/rest/client,
../../waku/node/rest/responses,
../../waku/node/rest/health/handlers as health_api,
../../waku/node/rest/health/client as health_api_client,
../../waku/waku_api/rest/server,
../../waku/waku_api/rest/client,
../../waku/waku_api/rest/responses,
../../waku/waku_api/rest/health/handlers as health_api,
../../waku/waku_api/rest/health/client as health_api_client,
../../waku/waku_rln_relay,
../testlib/common,
../testlib/testutils,

View File

@ -8,18 +8,18 @@ import
presto, presto/client as presto_client,
libp2p/crypto/crypto
import
../../waku/node/message_cache,
../../waku/waku_api/message_cache,
../../waku/common/base64,
../../waku/waku_core,
../../waku/waku_node,
../../waku/node/peer_manager,
../../waku/waku_filter,
../../waku/node/rest/server,
../../waku/node/rest/client,
../../waku/node/rest/responses,
../../waku/node/rest/filter/types,
../../waku/node/rest/filter/legacy_handlers as filter_api,
../../waku/node/rest/filter/legacy_client as filter_api_client,
../../waku/waku_api/rest/server,
../../waku/waku_api/rest/client,
../../waku/waku_api/rest/responses,
../../waku/waku_api/rest/filter/types,
../../waku/waku_api/rest/filter/legacy_handlers as filter_api,
../../waku/waku_api/rest/filter/legacy_client as filter_api_client,
../../waku/waku_relay,
../testlib/wakucore,
../testlib/wakunode

View File

@ -9,18 +9,18 @@ import
libp2p/crypto/crypto
import
../../waku/node/message_cache,
../../waku/waku_api/message_cache,
../../waku/common/base64,
../../waku/waku_core,
../../waku/waku_node,
../../waku/node/peer_manager,
../../waku/waku_lightpush,
../../waku/node/rest/server,
../../waku/node/rest/client,
../../waku/node/rest/responses,
../../waku/node/rest/lightpush/types,
../../waku/node/rest/lightpush/handlers as lightpush_api,
../../waku/node/rest/lightpush/client as lightpush_api_client,
../../waku/waku_api/rest/server,
../../waku/waku_api/rest/client,
../../waku/waku_api/rest/responses,
../../waku/waku_api/rest/lightpush/types,
../../waku/waku_api/rest/lightpush/handlers as lightpush_api,
../../waku/waku_api/rest/lightpush/client as lightpush_api_client,
../../waku/waku_relay,
../testlib/wakucore,
../testlib/wakunode

View File

@ -11,13 +11,13 @@ import
../../waku/common/base64,
../../waku/waku_core,
../../waku/waku_node,
../../waku/node/rest/server,
../../waku/node/rest/client,
../../waku/node/rest/responses,
../../waku/node/rest/relay/types,
../../waku/node/rest/relay/handlers as relay_api,
../../waku/node/rest/relay/client as relay_api_client,
../../waku/node/rest/relay/topic_cache,
../../waku/waku_api/rest/server,
../../waku/waku_api/rest/client,
../../waku/waku_api/rest/responses,
../../waku/waku_api/rest/relay/types,
../../waku/waku_api/rest/relay/handlers as relay_api,
../../waku/waku_api/rest/relay/client as relay_api_client,
../../waku/waku_api/rest/relay/topic_cache,
../../waku/waku_relay,
../../../waku/waku_rln_relay,
../testlib/wakucore,

View File

@ -7,8 +7,8 @@ import
json_serialization
import
../../waku/common/base64,
../../waku/node/rest/serdes,
../../waku/node/rest/relay/types,
../../waku/waku_api/rest/serdes,
../../waku/waku_api/rest/relay/types,
../../waku/waku_core

View File

@ -6,8 +6,8 @@ import
unittest2,
json_serialization
import
../../waku/node/rest/serdes,
../../waku/node/rest/debug/types
../../waku/waku_api/rest/serdes,
../../waku/waku_api/rest/debug/types
# TODO: Decouple this test suite from the `debug_api` module by defining

View File

@ -14,12 +14,12 @@ import
../../../waku/waku_core/time,
../../../waku/waku_node,
../../../waku/node/peer_manager,
../../../waku/node/rest/server,
../../../waku/node/rest/client,
../../../waku/node/rest/responses,
../../../waku/node/rest/store/handlers as store_api,
../../../waku/node/rest/store/client as store_api_client,
../../../waku/node/rest/store/types,
../../../waku/waku_api/rest/server,
../../../waku/waku_api/rest/client,
../../../waku/waku_api/rest/responses,
../../../waku/waku_api/rest/store/handlers as store_api,
../../../waku/waku_api/rest/store/client as store_api_client,
../../../waku/waku_api/rest/store/types,
../../../waku/waku_archive,
../../../waku/waku_archive/driver/queue_driver,
../../../waku/waku_store as waku_store,

View File

@ -20,7 +20,6 @@ import
libp2p/protocols/connectivity/autonat/client,
libp2p/protocols/connectivity/autonat/service,
libp2p/protocols/rendezvous,
libp2p/nameresolving/nameresolver,
libp2p/builders,
libp2p/transports/tcptransport,
libp2p/transports/wstransport
@ -41,9 +40,7 @@ import
../waku_peer_exchange,
../waku_rln_relay,
./config,
./peer_manager,
./waku_switch,
./rest/relay/topic_cache
./peer_manager
declarePublicCounter waku_node_messages, "number of messages received", ["type"]

9
waku/waku_api.nim Normal file
View File

@ -0,0 +1,9 @@
import
./waku_api/message_cache,
./waku_api/rest,
./waku_api/json_rpc
export
message_cache,
rest,
jsonrpc

View File

@ -12,8 +12,8 @@ import
../../../waku_store,
../../../waku_filter,
../../../waku_relay,
../../peer_manager,
../../waku_node,
../../../waku_node,
../../../node/peer_manager,
./types

View File

@ -7,7 +7,7 @@ import
std/[os, strutils],
json_rpc/rpcclient
import
../../waku_node
../../../waku_node
template sourceDir: string = currentSourcePath.rsplit(DirSep, 1)[0]

View File

@ -7,7 +7,7 @@ import
chronicles,
json_rpc/rpcserver
import
../../waku_node
../../../waku_node
logScope:
topics = "waku node jsonrpc debug_api"

View File

@ -12,9 +12,10 @@ import
../../../waku_filter,
../../../waku_filter/rpc,
../../../waku_filter/client,
../../message_cache,
../../peer_manager,
../../waku_node
../../../waku_node,
../../../node/peer_manager,
../../message_cache
logScope:

View File

@ -15,7 +15,7 @@ import
../../../waku_relay,
../../../waku_rln_relay,
../../../waku_rln_relay/rln/wrappers,
../../waku_node,
../../../waku_node,
../../message_cache,
../message

View File

@ -11,8 +11,8 @@ import
../../../waku_core,
../../../waku_store,
../../../waku_store/rpc,
../../waku_node,
../../peer_manager,
../../../waku_node,
../../../node/peer_manager,
./types

View File

@ -8,7 +8,7 @@ import
json_serialization,
presto/route
import
../../waku_node,
../../../waku_node,
../responses,
../serdes,
./types

View File

@ -8,7 +8,7 @@ import
json_serialization,
json_serialization/std/options
import
../../waku_node,
../../../waku_node,
../serdes
#### Types

View File

@ -14,13 +14,13 @@ import
presto/common
import
../../../waku_core,
../../../waku_node,
../../../node/peer_manager,
../../../waku_filter,
../../../waku_filter_v2,
../../../waku_filter_v2/client as filter_protocol_client,
../../../waku_filter_v2/common as filter_protocol_type,
../../message_cache,
../../peer_manager,
../../waku_node,
../serdes,
../responses,
./types

View File

@ -15,9 +15,9 @@ import
../../../waku_core,
../../../waku_filter,
../../../waku_filter/client,
../../../node/peer_manager,
../../../waku_node,
../../message_cache,
../../peer_manager,
../../waku_node,
../serdes,
../responses,
./types

View File

@ -8,7 +8,7 @@ import
json_serialization,
presto/route
import
../../waku_node,
../../../waku_node,
../responses,
../serdes

View File

@ -15,8 +15,8 @@ import
import
../../../waku_core,
../../peer_manager,
../../waku_node,
../../waku/node/peer_manager,
../../../waku_node,
../../waku/waku_lightpush,
../serdes,
../responses,

View File

@ -12,7 +12,7 @@ import
presto/route,
presto/common
import
../../waku_node,
../../../waku_node,
../../../waku_relay/protocol,
../../../waku_rln_relay,
../../../waku_rln_relay/rln/wrappers,

View File

@ -11,11 +11,10 @@ import
json_serialization,
presto/route
import
../../../common/base64,
../../../waku_core,
../../../waku_store/common,
../../waku_node,
../../peer_manager,
../../../waku_node,
../../../node/peer_manager,
../responses,
../serdes,
./types