snapshot of https://github.com/ory/keto.git (master, 2026-09-16; blobs > 131072B omitted)
Some checks failed
CI / Run lints and checks (push) Failing after 47s
CI / Run tests (push) Failing after 1s
CI / Run race tests (push) Failing after 5s
CI / Build CLI docs (push) Has been skipped
CI / Run buf actions (push) Failing after 5s
CodeQL / Analyze (go) (push) Failing after 3s
CodeQL / Analyze (javascript) (push) Failing after 2s
Docker Image Scanners / scanners (push) Failing after 3s
Format / format (push) Failing after 3s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Draft newsletter (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
Some checks failed
CI / Run lints and checks (push) Failing after 47s
CI / Run tests (push) Failing after 1s
CI / Run race tests (push) Failing after 5s
CI / Build CLI docs (push) Has been skipped
CI / Run buf actions (push) Failing after 5s
CodeQL / Analyze (go) (push) Failing after 3s
CodeQL / Analyze (javascript) (push) Failing after 2s
Docker Image Scanners / scanners (push) Failing after 3s
Format / format (push) Failing after 3s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Draft newsletter (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
This commit is contained in:
35
proto/ory/keto/relation_tuples/v1alpha2/utils.go
Normal file
35
proto/ory/keto/relation_tuples/v1alpha2/utils.go
Normal file
@@ -0,0 +1,35 @@
|
||||
package relationtuples
|
||||
|
||||
// RelationTupleToDeltas is a helper that converts a slice of RelationTuple to a slice of RelationTupleDelta
|
||||
// with the specified RelationTupleDelta_Action. This allows you to conveniently assemble a request for the
|
||||
// WriteServiceClient.TransactRelationTuples operation.
|
||||
//
|
||||
// Example:
|
||||
//
|
||||
// c.TransactRelationTuples(context.Background(), &rts.TransactRelationTuplesRequest{
|
||||
// RelationTupleDeltas: append(rts.RelationTupleToDeltas(insertTuples, rts.RelationTupleDelta_INSERT), rts.RelationTupleToDeltas(deleteTuples, rts.RelationTupleDelta_DELETE)...),
|
||||
// })
|
||||
func RelationTupleToDeltas(rs []*RelationTuple, action RelationTupleDelta_Action) []*RelationTupleDelta {
|
||||
deltas := make([]*RelationTupleDelta, len(rs))
|
||||
for i := range rs {
|
||||
deltas[i] = &RelationTupleDelta{
|
||||
RelationTuple: rs[i],
|
||||
Action: action,
|
||||
}
|
||||
}
|
||||
return deltas
|
||||
}
|
||||
|
||||
// NewSubjectSet returns a Subject with a SubjectSet ref.
|
||||
func NewSubjectSet(namespace, object, relation string) *Subject {
|
||||
return &Subject{Ref: &Subject_Set{Set: &SubjectSet{
|
||||
Namespace: namespace,
|
||||
Object: object,
|
||||
Relation: relation,
|
||||
}}}
|
||||
}
|
||||
|
||||
// NewSubjectID returns a Subject with a subject ID ref.
|
||||
func NewSubjectID(id string) *Subject {
|
||||
return &Subject{Ref: &Subject_Id{Id: id}}
|
||||
}
|
||||
Reference in New Issue
Block a user