Add mc_is_infrastructure flag and feeder/admin CRUD for MeshCore infra nodes
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 62/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Quiet
- Domain
- api, authorization
Research direction
Start with the ObservedNode model and its migrations, then the infrastructure action on the observed-nodes endpoint (GET /api/nodes/observed-nodes/infrastructure/), which currently filters only on protocol for MeshCore. Add mc_is_infrastructure as a default-False field, filter MeshCore results on it, and gate writes to the feeder group or is_staff, documenting the rules in docs/permissions/README.md and openapi.yaml. Done when only flagged MeshCore nodes are returned, non-feeder users get 403 on writes, and Meshtastic infrastructure output is unchanged.
Written by the indexing model from the issue text.
Description
Summary
MeshCore infrastructure listing should not return every observed MC node. Add an explicit operator-controlled flag on ObservedNode and tighten the infrastructure endpoint.
UI tracking: meshflow-ui#307
Background
GET /api/nodes/observed-nodes/infrastructure/?protocol=meshcore currently returns all protocol=MESHCORE rows in the time window. Meshtastic infra correctly uses meshtastic_role ∈ INFRASTRUCTURE_ROLES. MeshCore has no equivalent role model; filtering by repeater/type alone is too loose.
Design
ObservedNode.mc_is_infrastructure
BooleanField,default=False- Meaningful only for
protocol=MESHCORE; ignore or reject writes on Meshtastic rows - Does not replace MT infrastructure semantics
Infrastructure list
protocol=meshtastic(default): unchanged (protocol=MESHTASTIC+ infrastructure roles)protocol=meshcore:protocol=MESHCOREandmc_is_infrastructure=True
Write API
- Expose on observed-node PATCH and/or dedicated action (e.g.
POST …/observed-nodes/{id}/set-mc-infrastructure/) - Permissions: Django
feedergroup oris_staffonly; deny for plain authenticated users - Document in
docs/permissions/README.mdandopenapi.yaml
Tasks
- Migration + model field
- Serializer(s) + validation (MC only)
- Permission class / object checks
- Update
infrastructureaction filter for meshcore - Unit tests (permissions + queryset)
- Optional: admin list filter
Acceptance criteria
- Only flagged MC nodes appear in meshcore infrastructure API results.
- Non-feeder non-admin users receive 403 on flag writes.
- MT infrastructure list unchanged.
- Dominant language
- Python
- Stars
- 1
- Forks
- 0
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 5
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from pskillen/meshflow-api
-
enhancement meshtastic-2.8
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
pskillen/meshflow-api#459 ·
-
enhancement meshtastic-2.8
Difficulty 3/5 1-2 days Newbie friendliness 35/100
pskillen/meshflow-api#465 ·
-
enhancement meshtastic-2.8
Difficulty 4/5 3-5 days Newbie friendliness 22/100
pskillen/meshflow-api#464 ·
-
enhancement meshtastic-2.8
Difficulty 4/5 3-5 days Newbie friendliness 35/100
pskillen/meshflow-api#463 ·
-
enhancement meshtastic-2.8
Difficulty 3/5 1-2 days Newbie friendliness 45/100
pskillen/meshflow-api#462 ·
All issues in pskillen/meshflow-api
Similar issues
-
ci-rerun: collect.py fails a whole pr-babysit cycle on one transient GitHub 5xx and never retriesOpenfollow-up
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Built-in QUBO fallback applies bitwise xor to floating binary statesPossibly taken @iloveeyjafjalla claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
qboson/kaiwu-pytorch-plugin#1702 ·
Maintainers usually reply within 3 days
-
bug v2
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
modelcontextprotocol/python-sdk#3811 ·
Maintainers usually reply within 1 day
-
cost:cheap practicality:seen-in-the-wild severity:medium
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
fairagro/m4.2_advanced_middleware_api#620 ·
Maintainers usually reply within 1 day