forgejo/routers/api/v1
JakobDev aaa1094663
Add the ability to pin Issues ()
This adds the ability to pin important Issues and Pull Requests. You can
also move pinned Issues around to change their Position. Resolves .

## Screenshots

![grafik](https://user-images.githubusercontent.com/15185051/235123207-0aa39869-bb48-45c3-abe2-ba1e836046ec.png)

![grafik](https://user-images.githubusercontent.com/15185051/235123297-152a16ea-a857-451d-9a42-61f2cd54dd75.png)

![grafik](https://user-images.githubusercontent.com/15185051/235640782-cbfe25ec-6254-479a-a3de-133e585d7a2d.png)

The Design was mostly copied from the Projects Board.

## Implementation
This uses a new `pin_order` Column in the `issue` table. If the value is
set to 0, the Issue is not pinned. If it's set to a bigger value, the
value is the Position. 1 means it's the first pinned Issue, 2 means it's
the second one etc. This is dived into Issues and Pull requests for each
Repo.

## TODO
- [x] You can currently pin as many Issues as you want. Maybe we should
add a Limit, which is configurable. GitHub uses 3, but I prefer 6, as
this is better for bigger Projects, but I'm open for suggestions.
- [x] Pin and Unpin events need to be added to the Issue history.
- [x] Tests
- [x] Migration

**The feature itself is currently fully working, so tester who may find
weird edge cases are very welcome!**

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Giteabot <teabot@gitea.io>
2023-05-25 15:17:19 +02:00
..
activitypub Use User.ID instead of User.Name in ActivityPub API for Person IRI () 2023-04-04 10:08:23 +08:00
admin Refactor rename user and rename organization () 2023-05-21 23:13:47 +08:00
misc Add API for Label templates () 2023-05-23 18:10:23 +08:00
notify Decouple the different contexts from each other () 2023-05-21 09:50:53 +08:00
org Fix organization field being null in GET /api/v1/teams/{id} () 2023-05-13 14:47:58 +00:00
packages Add CRAN package registry () 2023-05-22 10:57:49 +08:00
repo Add the ability to pin Issues () 2023-05-25 15:17:19 +02:00
settings Implement FSFE REUSE for golang files () 2022-11-27 18:20:29 +00:00
swagger Add the ability to pin Issues () 2023-05-25 15:17:19 +02:00
user Decouple the different contexts from each other () 2023-05-21 09:50:53 +08:00
utils New webhook trigger for receiving Pull Request review requests () 2023-05-24 22:06:27 -04:00
api.go Add the ability to pin Issues () 2023-05-25 15:17:19 +02:00
auth.go Implement FSFE REUSE for golang files () 2022-11-27 18:20:29 +00:00
auth_windows.go Implement FSFE REUSE for golang files () 2022-11-27 18:20:29 +00:00