diff --git a/api/handlers/network_client_handlers.go b/api/handlers/network_client_handlers.go index f7744590..69aa269d 100644 --- a/api/handlers/network_client_handlers.go +++ b/api/handlers/network_client_handlers.go @@ -3,6 +3,7 @@ package handlers import ( "net/http" + "github.com/urnetwork/server/controller" "github.com/urnetwork/server/model" "github.com/urnetwork/server/router" ) @@ -15,6 +16,10 @@ func RemoveNetworkClient(w http.ResponseWriter, r *http.Request) { router.WrapWithInputRequireAuth(model.RemoveNetworkClient, w, r) } +func RemoveNetwork(w http.ResponseWriter, r *http.Request) { + router.WrapRequireAuth(controller.NetworkRemove, w, r) +} + func NetworkClients(w http.ResponseWriter, r *http.Request) { router.WrapRequireAuth(model.GetNetworkClients, w, r) } diff --git a/api/main.go b/api/main.go index c0797113..030f7925 100644 --- a/api/main.go +++ b/api/main.go @@ -65,6 +65,7 @@ Options: router.NewRoute("POST", "/auth/upgrade-guest", handlers.UpgradeGuest), router.NewRoute("POST", "/network/auth-client", handlers.AuthNetworkClient), router.NewRoute("POST", "/network/remove-client", handlers.RemoveNetworkClient), + router.NewRoute("POST", "/network/remove", handlers.RemoveNetwork), router.NewRoute("GET", "/network/clients", handlers.NetworkClients), router.NewRoute("GET", "/network/provider-locations", handlers.NetworkGetProviderLocations), router.NewRoute("POST", "/network/find-provider-locations", handlers.NetworkFindProviderLocations), diff --git a/controller/network_controller.go b/controller/network_controller.go index 20f2bc61..47741a6f 100644 --- a/controller/network_controller.go +++ b/controller/network_controller.go @@ -126,3 +126,12 @@ func UpgradeFromGuest( return result, err } + +type NetworkRemoveResult struct{} + +func NetworkRemove(session *session.ClientSession) (*NetworkRemoveResult, error) { + + model.RemoveNetwork(session.Ctx, session.ByJwt.NetworkId) + + return &NetworkRemoveResult{}, nil +} diff --git a/model/account_model.go b/model/account_model.go index 42b3dad4..26a671f0 100644 --- a/model/account_model.go +++ b/model/account_model.go @@ -194,6 +194,9 @@ func FindNetworksByUserAuth(ctx context.Context, userAuth string) ([]*FindNetwor func RemoveNetwork(ctx context.Context, networkId server.Id) { server.Tx(ctx, func(tx server.PgTx) { + + // TODO: Remove network user wallets + server.RaisePgResult(tx.Exec( ctx, `