LCOV - code coverage report
Current view: top level - lib/encryption/utils - stored_inbound_group_session.dart (source / functions) Coverage Total Hit
Test: merged.info Lines: 100.0 % 22 22
Test Date: 2025-01-14 13:39:53 Functions: - 0 0

            Line data    Source code
       1              : /*
       2              :  *   Famedly Matrix SDK
       3              :  *   Copyright (C) 2021 Famedly GmbH
       4              :  *
       5              :  *   This program is free software: you can redistribute it and/or modify
       6              :  *   it under the terms of the GNU Affero General Public License as
       7              :  *   published by the Free Software Foundation, either version 3 of the
       8              :  *   License, or (at your option) any later version.
       9              :  *
      10              :  *   This program is distributed in the hope that it will be useful,
      11              :  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
      12              :  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
      13              :  *   GNU Affero General Public License for more details.
      14              :  *
      15              :  *   You should have received a copy of the GNU Affero General Public License
      16              :  *   along with this program.  If not, see <https://www.gnu.org/licenses/>.
      17              :  */
      18              : 
      19              : class StoredInboundGroupSession {
      20              :   final String roomId;
      21              :   final String sessionId;
      22              :   final String pickle;
      23              :   final String content;
      24              :   final String indexes;
      25              :   final String allowedAtIndex;
      26              :   @Deprecated('Only in use in legacy databases!')
      27              :   final bool? uploaded;
      28              :   final String senderKey;
      29              :   final String senderClaimedKeys;
      30              : 
      31           24 :   StoredInboundGroupSession({
      32              :     required this.roomId,
      33              :     required this.sessionId,
      34              :     required this.pickle,
      35              :     required this.content,
      36              :     required this.indexes,
      37              :     required this.allowedAtIndex,
      38              :     @Deprecated('Only in use in legacy databases!') this.uploaded,
      39              :     required this.senderKey,
      40              :     required this.senderClaimedKeys,
      41              :   });
      42              : 
      43            9 :   factory StoredInboundGroupSession.fromJson(Map<String, dynamic> json) =>
      44            9 :       StoredInboundGroupSession(
      45            9 :         roomId: json['room_id'],
      46            9 :         sessionId: json['session_id'],
      47            9 :         pickle: json['pickle'],
      48            9 :         content: json['content'],
      49            9 :         indexes: json['indexes'],
      50            9 :         allowedAtIndex: json['allowed_at_index'],
      51              :         // ignore: deprecated_member_use_from_same_package
      52            9 :         uploaded: json['uploaded'],
      53            9 :         senderKey: json['sender_key'],
      54            9 :         senderClaimedKeys: json['sender_claimed_keys'],
      55              :       );
      56              : 
      57           48 :   Map<String, dynamic> toJson() => {
      58           48 :         'room_id': roomId,
      59           48 :         'session_id': sessionId,
      60           48 :         'pickle': pickle,
      61           48 :         'content': content,
      62           48 :         'indexes': indexes,
      63           48 :         'allowed_at_index': allowedAtIndex,
      64              :         // ignore: deprecated_member_use_from_same_package
      65           26 :         if (uploaded != null) 'uploaded': uploaded,
      66           48 :         'sender_key': senderKey,
      67           48 :         'sender_claimed_keys': senderClaimedKeys,
      68              :       };
      69              : }
        

Generated by: LCOV version 2.0-1