/// Constantes spécifiques au module chat library; class ChatConstants { // Types de conversations static const String conversationTypeOneToOne = 'one_to_one'; static const String conversationTypeGroup = 'group'; static const String conversationTypeAnonymous = 'anonymous'; static const String conversationTypeBroadcast = 'broadcast'; static const String conversationTypeAnnouncement = 'announcement'; // Types de messages static const String messageTypeText = 'text'; static const String messageTypeImage = 'image'; static const String messageTypeFile = 'file'; static const String messageTypeSystem = 'system'; // Types d'expéditeurs static const String senderTypeUser = 'user'; static const String senderTypeAnonymous = 'anonymous'; static const String senderTypeSystem = 'system'; // Rôles des participants static const String participantRoleAdmin = 'admin'; static const String participantRoleMember = 'member'; static const String participantRoleReadOnly = 'read_only'; // Permissions de réponse static const String replyPermissionAll = 'all'; static const String replyPermissionAdminsOnly = 'admins_only'; static const String replyPermissionSenderOnly = 'sender_only'; static const String replyPermissionNone = 'none'; // Types de cibles d'audience static const String targetTypeRole = 'role'; static const String targetTypeEntity = 'entity'; static const String targetTypeAll = 'all'; // Noms des boîtes Hive static const String conversationsBoxName = 'chat_conversations'; static const String messagesBoxName = 'chat_messages'; static const String participantsBoxName = 'chat_participants'; static const String anonymousUsersBoxName = 'chat_anonymous_users'; static const String offlineQueueBoxName = 'chat_offline_queue'; // Configurations static const int defaultMessagePageSize = 50; static const int maxAttachmentSizeMB = 10; static const int maxMessageLength = 5000; static const Duration typingIndicatorTimeout = Duration(seconds: 3); }