MCPcopy Create free account
hub / github.com/Permify/permify / DeleteRelationships

Method DeleteRelationships

internal/servers/data_server.go:351–378  ·  view source on GitHub ↗

DeleteRelationships - Delete relationships from writeDB

(ctx context.Context, request *v1.RelationshipDeleteRequest)

Source from the content-addressed store, hash-verified

349
350// DeleteRelationships - Delete relationships from writeDB
351func (r *DataServer) DeleteRelationships(ctx context.Context, request *v1.RelationshipDeleteRequest) (*v1.RelationshipDeleteResponse, error) {
352 ctx, span := internal.Tracer.Start(ctx, "relationships.delete")
353 defer span.End()
354
355 v := request.Validate()
356 if v != nil {
357 return nil, status.Error(GetStatus(v), v.Error()) // Return validation error
358 }
359
360 err := validation.ValidateTupleFilter(request.GetFilter())
361 if err != nil {
362 return nil, status.Error(GetStatus(v), err.Error())
363 }
364
365 snap, err := r.dw.Delete(ctx, request.GetTenantId(), request.GetFilter(), &v1.AttributeFilter{})
366 if err != nil {
367 span.RecordError(err)
368 span.SetStatus(otelCodes.Error, err.Error())
369 slog.ErrorContext(ctx, err.Error())
370 return nil, status.Error(GetStatus(err), err.Error())
371 }
372
373 r.deleteRelationshipsHistogram.Record(ctx, 1)
374
375 return &v1.RelationshipDeleteResponse{
376 SnapToken: snap.String(),
377 }, nil
378}
379
380// RunBundle executes a bundle and returns its snapshot token.
381func (r *DataServer) RunBundle(ctx context.Context, request *v1.BundleRunRequest) (*v1.BundleRunResponse, error) {

Callers

nothing calls this directly

Implementers 1

UnimplementedDataServerpkg/pb/base/v1/service_grpc.pb.go

Calls 9

ValidateTupleFilterFunction · 0.92
GetStatusFunction · 0.85
StartMethod · 0.80
DeleteMethod · 0.65
StringMethod · 0.65
ValidateMethod · 0.45
ErrorMethod · 0.45
GetFilterMethod · 0.45
GetTenantIdMethod · 0.45

Tested by

no test coverage detected