Rolebase Développeurs
Référence API

news

Une vue unifiée des activités récentes agrégeant les discussions actives, les décisions et les réunions terminées. Fournit un fil d'actualité centralisé à travers l'organisation.

Champs

ChampTypeDescription
iduuidIdentifiant unique de l’élément d’actualité (généré automatiquement)
orgIduuidRéférence à l’organisation
circleIduuidRéférence au cercle (optionnel)
threadIduuidRéférence à la discussion source (le cas échéant)
decisionIduuidRéférence à la décision source (le cas échéant)
meetingIduuidRéférence à la réunion source (le cas échéant)
createdAtTimestampDate de création de l’élément d’actualité

Implémentation

L’entité news est implémentée sous forme de vue SQL qui combine :

  1. Discussions hors préparation — Toutes les discussions non archivées sauf celles avec le statut “Preparation”
  2. Décisions non archivées — Toutes les décisions qui n’ont pas été archivées
  3. Réunions terminées — Réunions qui sont terminées et non archivées

Relations

Relations objet

  • org — L’organisation à laquelle cet élément d’actualité appartient
  • circle — Le cercle associé à cet élément d’actualité (le cas échéant)
  • thread — La discussion source (si l’actualité provient d’une discussion)
  • decision — La décision source (si l’actualité provient d’une décision)
  • meeting — La réunion source (si l’actualité provient d’une réunion)

Exemples de requêtes

Lister les actualités récentes

query GetRecentNews($orgId: uuid!) {
  news(
    where: { orgId: { _eq: $orgId } }
    order_by: { createdAt: desc }
    limit: 10
  ) {
    id
    createdAt
    thread {
      title
      status
    }
    decision {
      title
      description
    }
    meeting {
      title
      summary
    }
    circle {
      role {
        name
      }
    }
  }
}

Requête d’actualités avec filtres et agrégation

query GetFilteredNews($where: news_bool_exp!) {
  news(
    where: { _and: [{ orgId: { _eq: $orgId } }, $where] }
    order_by: { createdAt: desc }
  ) {
    id
    createdAt
    threadId
    decisionId
    meetingId
    org {
      name
    }
  }
  news_aggregate(where: { _and: [{ orgId: { _eq: $orgId } }, $where] }) {
    aggregate {
      count
    }
  }
}

Permissions

L’accès aux actualités est contrôlé en fonction de l’appartenance à l’organisation :

  • Les membres de l’organisation peuvent consulter toutes les entrées d’actualité de leur organisation. Chaque entrée contient uniquement des références (UUID) vers l’entité source. L’accès aux données de la discussion, décision ou réunion dépend des permissions de chaque entité liée

Les éléments d’actualité sont générés automatiquement à partir des entités sources. Chaque élément d’actualité représente exactement une source (une discussion, une décision ou une réunion). Cette entité est en lecture seule car il s’agit d’une vue SQL.