feat: barre d'apps commune et références croisées des notes (#215)
This commit is contained in:
@@ -619,6 +619,44 @@ class BookmarkToggleRequest(BaseModel):
|
||||
title: str | None = None
|
||||
|
||||
|
||||
class ExternalRef(BaseModel):
|
||||
"""Référence croisée d'une note vers un objet d'une autre application.
|
||||
|
||||
Modèle figé par dracodev-commons (contrats/external_ref.schema.json,
|
||||
v0.1.0) — Fusion #215 (ACC-1.3).
|
||||
"""
|
||||
|
||||
id: str
|
||||
owner_type: str = Field(description="Toujours 'obsigate.note' côté ObsiGate")
|
||||
owner_id: str = Field(description="'<vault>:<chemin>' de la note propriétaire")
|
||||
owner_vault: str
|
||||
owner_path: str
|
||||
target_app: str = Field(description="obsigate | flowdeck | tiktak | kanbante")
|
||||
target_type: str = Field(description="note | project | page | task | list | card")
|
||||
target_id: str
|
||||
target_url: str = Field(description="URL profonde selon contrats/liens-profonds.md")
|
||||
label: str = Field(description="Instantané d'affichage du titre de la cible")
|
||||
domain: str | None = None
|
||||
status: str = Field(default="ok", description="ok | target_missing")
|
||||
created_by: str = Field(default="user")
|
||||
created_at: str
|
||||
|
||||
|
||||
class ExternalRefCreateRequest(BaseModel):
|
||||
"""Création d'une référence par collage d'URL profonde."""
|
||||
|
||||
vault: str
|
||||
path: str
|
||||
url: str
|
||||
label: str | None = None
|
||||
|
||||
|
||||
class ExternalRefsResponse(BaseModel):
|
||||
"""Liste des références d'une note."""
|
||||
|
||||
refs: list[ExternalRef]
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Search / suggest / graph (#85 — extrait de backend.main, inchangé)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user