MCPcopy
hub / github.com/ory/keto / FromSubjectSet

Method FromSubjectSet

internal/relationtuple/uuid_mapping.go:318–344  ·  view source on GitHub ↗
(ctx context.Context, set *ketoapi.SubjectSet)

Source from the content-addressed store, hash-verified

316}
317
318func (m *Mapper) FromSubjectSet(ctx context.Context, set *ketoapi.SubjectSet) (_ *SubjectSet, err error) {
319 ctx, span := trace.SpanFromContext(ctx).TracerProvider().Tracer("keto/internal/relationtuple").Start(ctx, "Mapper.FromSubjectSet")
320 defer otelx.End(span, &err)
321
322 nm, err := m.D.Config(ctx).NamespaceManager()
323 if err != nil {
324 return nil, err
325 }
326 n, err := nm.GetNamespaceByName(ctx, set.Namespace)
327 if err != nil {
328 return nil, err
329 }
330 var u []uuid.UUID
331 if m.ReadOnly {
332 u, err = m.D.MappingManager().MapStringsToUUIDsReadOnly(ctx, set.Object)
333 } else {
334 u, err = m.D.MappingManager().MapStringsToUUIDs(ctx, set.Object)
335 }
336 if err != nil {
337 return nil, err
338 }
339 return &SubjectSet{
340 Namespace: n.Name,
341 Object: u[0],
342 Relation: set.Relation,
343 }, nil
344}
345
346func (m *Mapper) ToTree(ctx context.Context, tree *Tree) (res *ketoapi.Tree[*ketoapi.RelationTuple], err error) {
347 ctx, span := trace.SpanFromContext(ctx).TracerProvider().Tracer("keto/internal/relationtuple").Start(ctx, "Mapper.ToTree")

Callers 3

getExpandMethod · 0.80
ExpandMethod · 0.80
TestMapperFunction · 0.80

Calls 7

TracerMethod · 0.65
NamespaceManagerMethod · 0.65
ConfigMethod · 0.65
GetNamespaceByNameMethod · 0.65
MappingManagerMethod · 0.65
MapStringsToUUIDsMethod · 0.65

Tested by 1

TestMapperFunction · 0.64