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
22 lines
663 B
Cheetah
22 lines
663 B
Cheetah
import { Namespace, SubjectSet, Context } from '@ory/keto-namespace-types'
|
|
|
|
// Declare new namespaces as classes that implement `Namespace`{{ range .Namespaces }}
|
|
class {{ . }} implements Namespace {
|
|
related: {
|
|
// Define relations to other objects here.
|
|
// Examples:
|
|
//
|
|
// parents: (File | Folder)[]
|
|
// viewers: SubjectSet<Group, "members">[]
|
|
}
|
|
|
|
permits = {
|
|
// Define permissions here. These can be derived from the relations above.
|
|
// Examples:
|
|
//
|
|
// view: (ctx: Context): boolean =>
|
|
// this.related.viewers.includes(ctx.subject) ||
|
|
// this.related.parents.traverse((p) => p.permits.view(ctx)),
|
|
}
|
|
}
|
|
{{ end }} |