/// Entité métier ContactPolicy v4 /// /// Correspond au DTO backend : ContactPolicyResponse library contact_policy; import 'package:equatable/equatable.dart'; /// Politique de communication d'une organisation class ContactPolicy extends Equatable { final String? id; final String? organisationId; final String typePolitique; // OUVERT | BUREAU_SEULEMENT | GROUPES_INTERNES final bool autoriserMembreVersMembre; final bool autoriserMembreVersRole; final bool autoriserNotesVocales; const ContactPolicy({ this.id, this.organisationId, required this.typePolitique, this.autoriserMembreVersMembre = true, this.autoriserMembreVersRole = true, this.autoriserNotesVocales = true, }); bool get isOuvert => typePolitique == 'OUVERT'; bool get isBureauSeulement => typePolitique == 'BUREAU_SEULEMENT'; bool get isGroupesInternes => typePolitique == 'GROUPES_INTERNES'; @override List get props => [ id, organisationId, typePolitique, autoriserMembreVersMembre, autoriserMembreVersRole, autoriserNotesVocales, ]; }