feat(projets): épinglés par étoiles Gitea (#20)

list_starred/set_starred sur /user/starred (vérité dans la
forge), endpoint POST /api/projects/{o}/{r}/star (CSRF), section
Épinglés hors onglets, bouton étoile sur les cartes et bascule
sans rechargement; les épinglés sortent de leur grille d'onglet.
This commit is contained in:
Spark
2026-10-11 22:52:22 -04:00
parent b33b67fcb4
commit cf58bb9d0c
3 changed files with 86 additions and 0 deletions
+10
View File
@@ -68,6 +68,7 @@ class FakeGitea:
def __init__(self) -> None:
now = datetime.now(timezone.utc)
self.starred = set()
self.repos = [
_repo("demo", now - timedelta(days=1)),
_repo("vieux", now - timedelta(days=800)),
@@ -270,6 +271,15 @@ class FakeGitea:
},
]
async def list_starred(self):
return [r for r in self.repos if r["full_name"] in self.starred]
async def set_starred(self, owner, repo, starred):
if starred:
self.starred.add(f"{owner}/{repo}")
else:
self.starred.discard(f"{owner}/{repo}")
async def get_milestones(self, owner, repo, state="open"):
return [
{