Rolebase Développeurs
Référence API

circle

Représente un cercle organisationnel hiérarchique pouvant contenir des membres, des rôles et des cercles enfants. Les cercles organisent les équipes et les responsabilités au sein d'une organisation.

Champs

Champ Type Description
id uuid Identifiant unique du cercle
orgId uuid Référence à l'organisation
roleId uuid Référence au rôle associé à ce cercle
parentId uuid Référence au cercle parent (optionnel, null pour les cercles de premier niveau)
archived Boolean Indique si le cercle est archivé (par défaut : false)

Relations

Relations objet :

  • org — L’organisation à laquelle ce cercle appartient
  • parent — Le cercle parent (le cas échéant)
  • role — Le rôle qui définit la raison d’être et les redevabilités de ce cercle

Relations tableau :

  • children — Cercles enfants au sein de ce cercle
  • members — Appartenances au cercle
  • leaders — Attributions de leadership du cercle
  • participants — Tous les participants (y compris ceux hérités des cercles enfants)
  • meetings — Réunions associées à ce cercle
  • meetings_recurring — Réunions récurrentes de ce cercle
  • tasks — Tâches assignées à ce cercle
  • decisions — Décisions prises au sein de ce cercle
  • threads — Fils de discussion dans ce cercle
  • hostCircleLinks — Liens où ce cercle héberge d’autres cercles
  • invitedCircleLinks — Liens où ce cercle est invité dans d’autres cercles

Exemples de requêtes

Lister les cercles d’une organisation

query GetCircles($orgId: uuid!) {
  circle(where: { orgId: { _eq: $orgId } }) {
    id
    role {
      name
      purpose
    }
    members {
      member {
        name
      }
    }
    children {
      id
      role {
        name
      }
    }
    parent {
      id
      role {
        name
      }
    }
  }
}

Obtenir un cercle spécifique

query GetCircle($id: uuid!) {
  circle_by_pk(id: $id) {
    id
    role {
      name
    }
  }
}

Exemples de mutations

Créer un cercle

mutation CreateCircle {
  insert_circle_one(
    object: {
      orgId: "your-org-id"
      roleId: "role-id"
      parentId: "parent-circle-id"
    }
  ) {
    id
    role {
      name
    }
  }
}

Mettre à jour un cercle

mutation UpdateCircle {
  update_circle_by_pk(
    pk_columns: { id: "circle-id" }
    _set: { archived: true }
  ) {
    id
    archived
  }
}

Permissions

L’accès aux cercles suit les règles de l’organisation et de gouvernance. Lorsque protectGovernance est activé sur l’organisation, seuls les leaders de cercle peuvent modifier la structure des cercles.

Info Circle Notes

Les cercles forment un arbre hiérarchique via la relation parentId. Chaque cercle doit avoir un rôle associé qui définit sa raison d’être et ses redevabilités. Les participants d’un cercle incluent les membres directs ainsi que les leaders des cercles enfants et liés. Les réunions, tâches et décisions sont organisées au sein des cercles.