---
title: "thread_activity | API GraphQL | Rolebase"
description: "Activité de discussion, représente une activité ou une interaction au sein d'une discussion. Les activités comprennent des messages, des sondages et des références à d'autres entités, constituant le contenu conversationnel d'une discussion."
url: "https://rolebase.io/fr/developers/graphql-api/thread_activity"
---

[Rolebase](/) ⟩[Développeurs](/fr/developers) ⟩[API GraphQL](/fr/developers/graphql-api)

# thread\_activity

Activité de discussion, représente une activité ou une interaction au sein d'une discussion. Les activités comprennent des messages, des sondages et des références à d'autres entités, constituant le contenu conversationnel d'une discussion.

## Champs

Champ

Type

Description

`id`

`uuid`

Identifiant unique de l'activité (généré automatiquement)

`threadId`

`uuid`

Référence à la discussion parente

`userId`

`uuid`

Référence à l'utilisateur qui a créé l'activité

`memberId`

`uuid`

Référence au membre qui a créé l'activité

`type`

`Thread_Activity_Type_Enum`

Type d'activité : Message, Poll, Proposal, ProposalEvent, Thread, Meeting, Task, Decision ou MeetingNote

`data`

`JSON`

Contenu de l'activité (le format dépend du type)

`createdAt`

`timestamptz`

Date de création de l'activité (par défaut : horodatage actuel)

`archivedAt`

`timestamptz`

Date d'archivage de l'activité ; null si actif

`refThreadId`

`uuid`

Référence optionnelle à une autre discussion

`refMeetingId`

`uuid`

Référence optionnelle à une réunion

`refTaskId`

`uuid`

Référence optionnelle à une tâche

`refDecisionId`

`uuid`

Référence optionnelle à une décision

## Types d'activité

Le champ `type` accepte les valeurs d'énumération suivantes :

*   **Message** — Message texte ou contenu riche
*   **Poll** — Sondage pour recueillir des avis
*   **Proposal** — Proposition de gouvernance avec modifications préparées de l'organigramme
*   **ProposalEvent** — Événement de proposition (résolution, annulation, rappel de vote)
*   **Thread** — Référence à une autre discussion
*   **Meeting** — Référence à une réunion
*   **Task** — Référence à une tâche
*   **Decision** — Référence à une décision
*   **MeetingNote** — Note créée pendant une réunion

## Relations

### Relations objet

*   `thread` — La discussion à laquelle cette activité appartient
*   `user` — L'utilisateur qui a créé l'activité
*   `refThread` — Discussion référencée (optionnel)
*   `refMeeting` — Réunion référencée (optionnel)
*   `refTask` — Tâche référencée (optionnel)
*   `refDecision` — Décision référencée (optionnel)

### Relations tableau

*   `reactions` — Réactions à cette activité (voir [thread\_activity\_reaction](/fr/developers/graphql-api/thread_activity_reaction))

## Exemples de requêtes

### Lister les activités d'une discussion

```
query GetThreadActivities($threadId: uuid!) {  thread_activity(    where: { threadId: { _eq: $threadId } }    order_by: { createdAt: asc }  ) {    id    threadId    userId    createdAt    type    data    reactions {      id      shortcode      userId    }    refThread {      id      title    }    refMeeting {      id      title    }    refTask {      id      title    }    refDecision {      id      title    }  }}
```

## Exemples de mutations

### Créer une activité de discussion

```
mutation CreateThreadActivity {  insert_thread_activity_one(    object: {      threadId: "123e4567-e89b-12d3-a456-426614174000"      userId: "123e4567-e89b-12d3-a456-426614174001"      type: Message      data: { message: "Hello team!" }    }  ) {    id    type    data    createdAt  }}
```

### Mettre à jour une activité de discussion

```
mutation UpdateThreadActivity {  update_thread_activity_by_pk(    pk_columns: { id: "123e4567-e89b-12d3-a456-426614174002" }    _set: { data: { message: "Updated message" } }  ) {    id    data    createdAt  }}
```

## Permissions

L'accès aux activités de discussion est contrôlé via les permissions Hasura et la sécurité au niveau des lignes :

*   **Consultation** — Les utilisateurs peuvent consulter les activités des discussions auxquelles ils ont accès
*   **Création** — Les utilisateurs peuvent créer de nouvelles activités dans les discussions auxquelles ils ont accès
*   **Modification** — Les utilisateurs peuvent modifier leurs propres activités. Les activités de type MeetingNote peuvent aussi être modifiées par les utilisateurs ayant accès à la discussion
*   **Suppression** — Les utilisateurs peuvent supprimer leurs propres activités. Les administrateurs et propriétaires de l'organisation peuvent supprimer toute activité

La structure du champ `data` varie en fonction du type d'activité. Les activités sont ordonnées chronologiquement au sein d'une discussion et supportent les réactions avec agrégation. Les champs de référence permettent aux activités de se lier à d'autres entités pour le contexte.
