Rolebase Développeurs
Référence API

meeting

Représente une réunion planifiée au sein d'un cercle. Les réunions prennent en charge des étapes structurées, le suivi des participants et l'intégration de visioconférence, et peuvent être ponctuelles ou faire partie d'une série récurrente.

Champs

Champ Type Description
id uuid Identifiant unique de la réunion
orgId uuid Référence à l'organisation
circleId uuid Référence au cercle
title String Titre de la réunion
summary String Résumé ou notes de la réunion
startDate Timestamp Date et heure de début de la réunion
endDate Timestamp Date et heure de fin de la réunion
createdAt Timestamp Date de création de la réunion
ended Boolean Indique si la réunion est terminée (par défaut : false)
archived Boolean Indique si la réunion est archivée (par défaut : false)
private Boolean Indique si la réunion est privée (par défaut : false)
invitedReadonly Boolean Indique si les membres invités sont en lecture seule (par défaut : false)
currentStepId uuid ID de l'étape active actuelle (optionnel)
stepsConfig [meeting_step_config] Tableau de configuration définissant la structure de la réunion
videoConf videoconf Détails de la visioconférence (optionnel)
recurringId uuid Référence à la configuration de réunion récurrente (optionnel)
recurringDate Timestamp Date dans la série récurrente (optionnel)

Relations

Relations objet :

  • org — L’organisation à laquelle cette réunion appartient
  • circle — Le cercle auquel cette réunion est associée
  • recurring — La configuration de réunion récurrente (si elle fait partie d’une série)

Relations tableau :

  • meeting_attendees — Membres participant à la réunion
  • steps — Étapes ou points de l’ordre du jour de la réunion

Exemples de requêtes

Lister les réunions d’une organisation

query GetMeetings($orgId: uuid!) {
  meeting(where: { archived: { _eq: false }, orgId: { _eq: $orgId } }) {
    id
    title
    startDate
    endDate
    ended
    circle {
      role {
        name
      }
    }
    meeting_attendees {
      member {
        name
      }
      present
    }
    steps {
      id
      data
    }
    videoConf
  }
}

Obtenir une réunion spécifique

query GetMeeting($id: uuid!) {
  meeting_by_pk(id: $id) {
    id
    title
    startDate
    endDate
    circle {
      role {
        name
      }
    }
  }
}

Exemples de mutations

Créer une réunion

mutation CreateMeeting {
  insert_meeting_one(
    object: {
      orgId: "your-org-id"
      circleId: "circle-id"
      title: "Weekly Team Sync"
      startDate: "2024-01-15T10:00:00Z"
      endDate: "2024-01-15T11:00:00Z"
      summary: "Team sync meeting"
      stepsConfig: [
        { id: "step-1", type: Tour, title: "Notes" }
        { id: "step-2", type: Threads, title: "Topics" }
        { id: "step-3", type: Checklist, title: "Checklist" }
        { id: "step-4", type: Indicators, title: "Indicators" }
        { id: "step-5", type: Tasks, title: "Tasks" }
      ]
      private: false
      invitedReadonly: false
      meeting_attendees: {
        data: [{ memberId: "member-id-1" }, { memberId: "member-id-2" }]
      }
    }
  ) {
    id
    title
    startDate
  }
}

Mettre à jour le statut d’une réunion

mutation UpdateMeeting {
  update_meeting_by_pk(
    pk_columns: { id: "meeting-id" }
    _set: { ended: true, summary: "Meeting notes and outcomes..." }
  ) {
    id
    ended
    summary
  }
}

Permissions

L’accès aux réunions est contrôlé par plusieurs facteurs :

  • Participants du cercle : Peuvent accéder et gérer les réunions de leur cercle
  • Réunions privées : Visibles uniquement par les participants du cercle et les participants invités
  • Membres de l’organisation : Peuvent accéder aux réunions non privées
  • Participants invités : Peuvent participer selon le paramètre invitedReadonly
Info Circle Notes

Les réunions prennent en charge des ordres du jour structurés via le tableau stepsConfig. La visioconférence peut être intégrée avec différents fournisseurs. Les réunions récurrentes sont gérées via l’entité meeting_recurring. La combinaison des paramètres private et invitedReadonly permet un contrôle d’accès flexible.