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

Method Delete

internal/servers/data_server.go:321–348  ·  view source on GitHub ↗

Delete - Delete relationships and attributes from writeDB

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

Source from the content-addressed store, hash-verified

319
320// Delete - Delete relationships and attributes from writeDB
321func (r *DataServer) Delete(ctx context.Context, request *v1.DataDeleteRequest) (*v1.DataDeleteResponse, error) {
322 ctx, span := internal.Tracer.Start(ctx, "data.delete")
323 defer span.End()
324
325 v := request.Validate()
326 if v != nil {
327 return nil, status.Error(GetStatus(v), v.Error()) // Return validation error
328 }
329
330 err := validation.ValidateFilters(request.GetTupleFilter(), request.GetAttributeFilter())
331 if err != nil {
332 return nil, status.Error(GetStatus(v), err.Error())
333 }
334
335 snap, err := r.dw.Delete(ctx, request.GetTenantId(), request.GetTupleFilter(), request.GetAttributeFilter())
336 if err != nil {
337 span.RecordError(err)
338 span.SetStatus(otelCodes.Error, err.Error())
339 slog.ErrorContext(ctx, err.Error())
340 return nil, status.Error(GetStatus(err), err.Error())
341 }
342
343 r.deleteDataHistogram.Record(ctx, 1)
344
345 return &v1.DataDeleteResponse{
346 SnapToken: snap.String(),
347 }, nil
348}
349
350// DeleteRelationships - Delete relationships from writeDB
351func (r *DataServer) DeleteRelationships(ctx context.Context, request *v1.RelationshipDeleteRequest) (*v1.RelationshipDeleteResponse, error) {

Callers

nothing calls this directly

Implementers 1

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

Calls 10

ValidateFiltersFunction · 0.92
GetStatusFunction · 0.85
StartMethod · 0.80
GetTupleFilterMethod · 0.80
GetAttributeFilterMethod · 0.80
DeleteMethod · 0.65
StringMethod · 0.65
ValidateMethod · 0.45
ErrorMethod · 0.45
GetTenantIdMethod · 0.45

Tested by

no test coverage detected