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
18 lines
389 B
TypeScript
18 lines
389 B
TypeScript
// Copyright © 2026 Ory Corp
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
import { Context, Namespace } from "@ory/keto-namespace-types"
|
|
|
|
class User implements Namespace {}
|
|
class ApiKey implements Namespace {}
|
|
|
|
class File implements Namespace {
|
|
related: {
|
|
viewer: (User | ApiKey)[]
|
|
}
|
|
|
|
permits = {
|
|
view: (ctx: Context): boolean => this.related.viewer.includes(ctx.subject),
|
|
}
|
|
}
|