Rolebase Développeurs
Référence API

decision

Représente une décision formelle prise au sein d'un cercle. Les décisions suivent les choix importants, les politiques et les accords, et peuvent être référencées dans les discussions et autres entités à des fins de documentation.

Champs

Champ Type Description
id uuid Identifiant unique de la décision (généré automatiquement)
orgId uuid Référence à l'organisation
circleId uuid Référence au cercle où la décision a été prise
memberId uuid Référence au membre qui a pris la décision
title String Titre de la décision
description String Description détaillée de la décision (supporte le texte riche)
createdAt Timestamp Date de création de la décision (par défaut : horodatage actuel)
archived Boolean Indique si la décision est archivée (par défaut : false)
private Boolean Indique si la décision est privée (par défaut : false)

Relations

Relations objet

  • org — L’organisation à laquelle cette décision appartient
  • circle — Le cercle où la décision a été prise
  • member — Le membre qui a pris la décision

Référencé par

  • thread_activity — Les décisions peuvent être référencées dans les activités de discussion
  • Index de recherche — Les décisions sont indexées pour la recherche à l’échelle de l’organisation

Exemples de requêtes

Lister les décisions

query GetDecisions($orgId: uuid!) {
  decision(where: { archived: { _eq: false }, orgId: { _eq: $orgId } }) {
    id
    title
    description
    createdAt
    circle {
      role {
        name
      }
    }
    member {
      name
    }
  }
}

Obtenir une décision spécifique

query GetDecision($decisionId: uuid!) {
  decision_by_pk(id: $decisionId) {
    id
    title
    description
    createdAt
    circle {
      role {
        name
      }
    }
    member {
      name
    }
    private
    archived
  }
}

Exemples de mutations

Créer une décision

mutation CreateDecision {
  insert_decision_one(
    object: {
      orgId: "your-org-id"
      circleId: "circle-id"
      memberId: "member-id"
      title: "New Working Hours Policy"
      description: "The organization will adopt flexible working hours..."
      private: false
    }
  ) {
    id
    title
    createdAt
  }
}

Mettre à jour une décision

mutation UpdateDecision {
  update_decision_by_pk(
    pk_columns: { id: "decision-id" }
    _set: {
      description: "Updated policy details..."
      title: "Updated Working Hours Policy"
    }
  ) {
    id
    title
    description
  }
}

Archiver une décision

mutation ArchiveDecision {
  update_decision_by_pk(
    pk_columns: { id: "decision-id" }
    _set: { archived: true }
  ) {
    id
  }
}

Permissions

L’accès aux décisions est contrôlé par plusieurs facteurs :

  • Appartenance au cercle — Les participants du cercle peuvent accéder aux décisions et en créer dans leurs cercles
  • Paramètres de confidentialité — Les décisions privées ne sont visibles que par les participants du cercle
  • Rôle dans l’organisation — Les membres de l’organisation peuvent accéder aux décisions non privées
  • Droits de modification — Les participants du cercle peuvent modifier les décisions. Les membres de l’organisation peuvent modifier les décisions non privées
  • Les décisions archivées restent accessibles mais sont masquées des vues par défaut

Les décisions fournissent un registre formel des choix organisationnels importants. Elles peuvent être référencées dans les discussions pour le contexte et la délibération, et sont recherchables à travers l’organisation.