Refactor internal APIs for public vs. private issue identity #329

Closed
opened 2025-12-16 08:56:15 +00:00 by nphilipp · 1 comment
Member

Story

As a Forgejo developer,
I want that I can succinctly express public or private issue identity,
so that function calls and intermediary data structures are clear and concise.

Acceptance Criteria

  • Internal APIs using issue IDs (integer numbers corresponding to DB primary keys) are converted to pointers to Issue structs.

Background

In many places in the code, numerical IDs of issues are used to identify them. With private issues stored in a separate table, the ID values don’t identify issues uniquely anymore. Gusted commented in favor of this in the design ticket.

# Story As a Forgejo developer, I want that I can succinctly express public or private issue identity, so that function calls and intermediary data structures are clear and concise. # Acceptance Criteria - [x] Internal APIs using issue IDs (integer numbers corresponding to DB primary keys) are converted to pointers to `Issue` structs. # Background In many places in the code, numerical IDs of issues are used to identify them. With private issues stored in a separate table, the ID values don’t identify issues uniquely anymore. [Gusted commented in favor of this](https://codeberg.org/forgejo/design/issues/2#issuecomment-8405379) in the design ticket.
nphilipp added this to the Sprint 12 project 2025-12-16 08:56:15 +00:00
humaton modified the project from Sprint 12 to Sprint 13 2026-01-26 10:17:52 +00:00
Author
Member

Implemented in my feature branch, in "Refactor use of issue IDs in internal APIs".

Implemented in [my feature branch](https://codeberg.org/nilsph/forgejo/src/branch/forgejo--private-issues), in "Refactor use of issue IDs in internal APIs".
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forge/forge#329
No description provided.