Skip to content

User Isolation and Repository Ownership #25

@Arlodotexe

Description

@Arlodotexe

Overview

User permissions are handled through the repositories given by OwlCore.Nomad.Kubo. Each Discord user will have their own, ensuring that a user only receives a modifiable object when they own that object.

These are designed to hold all Nomad-related data and (crucially) to isolate multiple users when running on a single machine.

See the glossary in the OwlCore.Nomad.Kubo repo

Repository Ownership

While the CLI gives you full control over the --repo-id parameter for local testing, this will not be exposed to the end user via the Discord bot.

The most straightforward and reliable way to signal repo ownership is to use the owner's Discord ID as the repo id for all user, project and publisher data.

Limitations

However, for projects and publishers, this approach does not lend itself well to:

  • Sharing edit permissions with other users (see "Flexible user permissions" below)
  • Transferring ownership of an SDK user/project/publisher to another Discord user

See #26 for more on this. We may need additional planning on entity ownership transfer.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

New

Status

New

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions