feat(communication): module messagerie unifié + contact policies + blocages
Aligné avec le backend MessagingResource : - Nouveau module communication (conversations, messages, participants) - Respect des ContactPolicy (qui peut parler à qui par rôle) - Gestion MemberBlock (blocages individuels) - UI : conversations list, conversation detail, broadcast, tiles - BLoC : MessagingBloc avec events (envoyer, démarrer conversation rôle, etc.)
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
/// Modèle de données ContactPolicy v4 avec désérialisation JSON
|
||||
library contact_policy_model;
|
||||
|
||||
import '../../domain/entities/contact_policy.dart';
|
||||
|
||||
/// Modèle ContactPolicy v4
|
||||
class ContactPolicyModel extends ContactPolicy {
|
||||
const ContactPolicyModel({
|
||||
super.id,
|
||||
super.organisationId,
|
||||
required super.typePolitique,
|
||||
super.autoriserMembreVersMembre,
|
||||
super.autoriserMembreVersRole,
|
||||
super.autoriserNotesVocales,
|
||||
});
|
||||
|
||||
factory ContactPolicyModel.fromJson(Map<String, dynamic> json) {
|
||||
return ContactPolicyModel(
|
||||
id: json['id']?.toString(),
|
||||
organisationId: json['organisationId']?.toString(),
|
||||
typePolitique: json['typePolitique']?.toString() ?? 'OUVERT',
|
||||
autoriserMembreVersMembre: json['autoriserMembreVersMembre'] == true,
|
||||
autoriserMembreVersRole: json['autoriserMembreVersRole'] == true,
|
||||
autoriserNotesVocales: json['autoriserNotesVocales'] == true,
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user