diff --git a/knotserver/xrpc/delete_repo.go b/knotserver/xrpc/delete_repo.go index 4df09d6f..7e27b4e9 100644 --- a/knotserver/xrpc/delete_repo.go +++ b/knotserver/xrpc/delete_repo.go @@ -99,7 +99,7 @@ func (x *Xrpc) DeleteRepo(w http.ResponseWriter, r *http.Request) { return } - if rbacErr := x.Enforcer.RemoveRepo(did, rbac.ThisServer, repoDid); rbacErr != nil { + if rbacErr := x.Enforcer.WipeRepoPolicies(rbac.ThisServer, repoDid); rbacErr != nil { l.Error("failed to delete repo from enforcer", "error", rbacErr.Error()) writeError(w, xrpcerr.GenericError(rbacErr), http.StatusInternalServerError) return diff --git a/knotserver/xrpc/set_default_branch.go b/knotserver/xrpc/set_default_branch.go index 82db89c8..9af514d5 100644 --- a/knotserver/xrpc/set_default_branch.go +++ b/knotserver/xrpc/set_default_branch.go @@ -17,8 +17,6 @@ import ( xrpcerr "tangled.org/core/xrpc/errors" ) -const ActorDid string = "ActorDid" - func (x *Xrpc) SetDefaultBranch(w http.ResponseWriter, r *http.Request) { l := x.Logger fail := func(e xrpcerr.XrpcError) { diff --git a/knotserver/xrpc/version.go b/knotserver/xrpc/version.go index 2e4c6591..6589d6a4 100644 --- a/knotserver/xrpc/version.go +++ b/knotserver/xrpc/version.go @@ -6,11 +6,14 @@ import ( "runtime/debug" "tangled.org/core/api/tangled" + "tangled.org/core/consts" ) // version is set during build time. var version string +var knotCapabilities = []string{string(consts.CapKnotACL)} + func (x *Xrpc) Version(w http.ResponseWriter, r *http.Request) { if version == "" { info, ok := debug.ReadBuildInfo() @@ -45,7 +48,8 @@ func (x *Xrpc) Version(w http.ResponseWriter, r *http.Request) { } response := tangled.KnotVersion_Output{ - Version: version, + Version: version, + Capabilities: knotCapabilities, } x.writeJson(w, response) diff --git a/knotserver/xrpc/xrpc.go b/knotserver/xrpc/xrpc.go index bc09f7e5..7bc23a29 100644 --- a/knotserver/xrpc/xrpc.go +++ b/knotserver/xrpc/xrpc.go @@ -14,7 +14,6 @@ import ( "github.com/go-chi/chi/v5" "tangled.org/core/api/tangled" "tangled.org/core/idresolver" - "tangled.org/core/jetstream" "tangled.org/core/knotserver/config" "tangled.org/core/knotserver/db" "tangled.org/core/knotserver/sandbox" @@ -24,10 +23,17 @@ import ( "tangled.org/core/xrpc/serviceauth" ) +const ActorDid = serviceauth.ActorDid + +type DidIngester interface { + AddDid(did string) + RemoveDid(did string) +} + type Xrpc struct { Config *config.Config Db *db.DB - Ingester *jetstream.JetstreamClient + Ingester DidIngester Enforcer *rbac.Enforcer Logger *slog.Logger Notifier *notifier.Notifier