Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

mtg: classify deck operations as read, edit and owner

Closed
#157 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Active
Tech stack
typescript

Research direction

Start with parent issue #155 for the deck operation classification, then locate the deck handlers and their existing owner checks. Map each operation to the read, edit or owner lists in this issue and route its handler through the shared access check. Run the existing mtg tests and confirm the OpenAPI spec is unchanged; denied operations should still respond exactly like a missing deck.

Written by the indexing model from the issue text.

Description

ready-for-agent

Parent

#155

What to build

Prefactor for deck Collaborators: every deck operation goes through one access check that classifies it as read, edit or owner, and that check resolves the caller to owner, Editor or Viewer. Only the owner can occur yet, so nothing changes for users. Later tickets then only widen the check instead of touching every deck handler again.

The classification (from #155):

  • read: deck, cards, tags, statistics
  • edit: deck update, colours, bracket, rule zero, advisor settings, card add, import, update, delete, deck-local tag create, update and delete, tag assign and unassign
  • owner: visibility, share token, folder, attach and detach collection, sourcing, drift, take, fill and return cards, delete, Collaborator management

Acceptance criteria

  • Every deck operation is classified as read, edit or owner in one place, and its handler asks the access check for that class instead of hand-rolling an owner check
  • The access check can express owner, Editor and Viewer outcomes; today only owner is ever granted, and a denied operation still answers exactly like a missing deck
  • No API or behaviour change: the OpenAPI spec is unchanged and all existing mtg tests pass
Dominant language
TypeScript
Stars
0
Forks
1
Avg merge
10h 20m
Merged PRs (30d)
36

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from myOmikron/code

All issues in myOmikron/code

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.