summaryrefslogtreecommitdiff
path: root/vendor/github.com/authzed/spicedb/pkg/proto/dispatch/v1/00_zerolog.go
blob: 3ae21c61d61dd698778f364216407a8ee5b45974 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package dispatchv1

import (
	"github.com/rs/zerolog"

	"github.com/authzed/spicedb/pkg/tuple"
)

// MarshalZerologObject implements zerolog object marshalling.
func (cr *DispatchCheckRequest) MarshalZerologObject(e *zerolog.Event) {
	e.Object("metadata", cr.Metadata)
	e.Str("resource-type", tuple.StringCoreRR(cr.ResourceRelation))
	e.Str("subject", tuple.StringCoreONR(cr.Subject))
	e.Array("resource-ids", strArray(cr.ResourceIds))
}

// MarshalZerologObject implements zerolog object marshalling.
func (cr *DispatchCheckResponse) MarshalZerologObject(e *zerolog.Event) {
	e.Object("metadata", cr.Metadata)

	results := zerolog.Dict()
	for resourceID, result := range cr.ResultsByResourceId {
		results.Str(resourceID, ResourceCheckResult_Membership_name[int32(result.Membership)])
	}
	e.Dict("results", results)
}

// MarshalZerologObject implements zerolog object marshalling.
func (er *DispatchExpandRequest) MarshalZerologObject(e *zerolog.Event) {
	e.Object("metadata", er.Metadata)
	e.Str("expand", tuple.StringCoreONR(er.ResourceAndRelation))
	e.Stringer("mode", er.ExpansionMode)
}

// MarshalZerologObject implements zerolog object marshalling.
func (cr *DispatchExpandResponse) MarshalZerologObject(e *zerolog.Event) {
	e.Object("metadata", cr.Metadata)
}

// MarshalZerologObject implements zerolog object marshalling.
func (lr *DispatchLookupResources2Request) MarshalZerologObject(e *zerolog.Event) {
	e.Object("metadata", lr.Metadata)
	e.Str("resource", tuple.StringCoreRR(lr.ResourceRelation))
	e.Str("subject", tuple.StringCoreRR(lr.SubjectRelation))
	e.Array("subject-ids", strArray(lr.SubjectIds))
	e.Interface("context", lr.Context)
}

// MarshalZerologObject implements zerolog object marshalling.
func (ls *DispatchLookupSubjectsRequest) MarshalZerologObject(e *zerolog.Event) {
	e.Object("metadata", ls.Metadata)
	e.Str("resource-type", tuple.StringCoreRR(ls.ResourceRelation))
	e.Str("subject-type", tuple.StringCoreRR(ls.SubjectRelation))
	e.Array("resource-ids", strArray(ls.ResourceIds))
}

type strArray []string

// MarshalZerologArray implements zerolog array marshalling.
func (strs strArray) MarshalZerologArray(a *zerolog.Array) {
	for _, val := range strs {
		a.Str(val)
	}
}

// MarshalZerologObject implements zerolog object marshalling.
func (cs *DispatchLookupSubjectsResponse) MarshalZerologObject(e *zerolog.Event) {
	if cs == nil {
		e.Interface("response", nil)
	} else {
		e.Object("metadata", cs.Metadata)
	}
}

// MarshalZerologObject implements zerolog object marshalling.
func (x *ResolverMeta) MarshalZerologObject(e *zerolog.Event) {
	e.Str("revision", x.AtRevision)
	e.Uint32("depth", x.DepthRemaining)
}

// MarshalZerologObject implements zerolog object marshalling.
func (cr *ResponseMeta) MarshalZerologObject(e *zerolog.Event) {
	e.Uint32("count", cr.DispatchCount)
}