LCOV - code coverage report
Current view: top level - lib/models - event_model.dart Coverage Total Hit
Test: lcov.info Lines: 100.0 % 45 45
Test Date: 2025-08-12 03:21:51 Functions: - 0 0

            Line data    Source code
       1              : class Event {
       2              :   final String id;
       3              :   final String clubId;
       4              :   final String title;
       5              :   final String? description;
       6              :   final DateTime startDate;
       7              :   final DateTime? endDate;
       8              :   final String? location;
       9              :   final String? type;
      10              :   final String? status;
      11              :   final int? maxParticipants;
      12              :   final int? currentParticipants;
      13              :   final int? gameCount;
      14              :   final double? participantFee;
      15              :   final DateTime? registrationDeadline;
      16              :   final String? publicHash;
      17              :   final String? accessPassword;
      18              :   final bool isActive;
      19              :   final String? createdBy;
      20              :   final DateTime? createdAt;
      21              :   final DateTime? updatedAt;
      22              : 
      23            8 :   Event({
      24              :     required this.id,
      25              :     required this.clubId,
      26              :     required this.title,
      27              :     this.description,
      28              :     required this.startDate,
      29              :     this.endDate,
      30              :     this.location,
      31              :     this.type,
      32              :     this.status,
      33              :     this.maxParticipants,
      34              :     this.currentParticipants,
      35              :     this.gameCount,
      36              :     this.participantFee,
      37              :     this.registrationDeadline,
      38              :     this.publicHash,
      39              :     this.accessPassword,
      40              :     required this.isActive,
      41              :     this.createdBy,
      42              :     this.createdAt,
      43              :     this.updatedAt,
      44              :   });
      45              : 
      46              :   // JSON 데이터로부터 Event 객체 생성
      47            4 :   factory Event.fromJson(Map<String, dynamic> json) {
      48            4 :     return Event(
      49            8 :       id: json['id']?.toString() ?? '',
      50            8 :       clubId: json['clubId']?.toString() ?? '',
      51            4 :       title: json['title'] ?? '',
      52            6 :       description: json['description']?.toString(),
      53           17 :       startDate: json['startDate'] != null ? DateTime.parse(json['startDate'].toString()) : DateTime.now(),
      54           10 :       endDate: json['endDate'] != null ? DateTime.parse(json['endDate'].toString()) : null,
      55            6 :       location: json['location']?.toString(),
      56            6 :       type: json['type']?.toString(),
      57            6 :       status: json['status']?.toString(),
      58            4 :       maxParticipants: json['maxParticipants'],
      59            4 :       currentParticipants: json['currentParticipants'],
      60            4 :       gameCount: json['gameCount'],
      61            7 :       participantFee: json['participantFee'] != null ? double.tryParse(json['participantFee'].toString()) : null,
      62           13 :       registrationDeadline: json['registrationDeadline'] != null ? DateTime.parse(json['registrationDeadline'].toString()) : null,
      63            5 :       publicHash: json['publicHash']?.toString(),
      64            5 :       accessPassword: json['accessPassword']?.toString(),
      65            4 :       isActive: json['isActive'] ?? true,
      66            5 :       createdBy: json['createdBy']?.toString(),
      67            7 :       createdAt: json['createdAt'] != null ? DateTime.parse(json['createdAt'].toString()) : null,
      68            7 :       updatedAt: json['updatedAt'] != null ? DateTime.parse(json['updatedAt'].toString()) : null,
      69              :     );
      70              :   }
      71              : 
      72              :   // Event 객체를 JSON으로 변환
      73            2 :   Map<String, dynamic> toJson() {
      74            2 :     return {
      75            2 :       'id': id,
      76            2 :       'clubId': clubId,
      77            2 :       'title': title,
      78            2 :       'description': description,
      79            4 :       'startDate': startDate.toIso8601String(),
      80            4 :       'endDate': endDate?.toIso8601String(),
      81            2 :       'location': location,
      82            2 :       'type': type,
      83            2 :       'status': status,
      84            2 :       'maxParticipants': maxParticipants,
      85            2 :       'currentParticipants': currentParticipants,
      86            2 :       'gameCount': gameCount,
      87            2 :       'participantFee': participantFee,
      88            4 :       'registrationDeadline': registrationDeadline?.toIso8601String(),
      89            2 :       'publicHash': publicHash,
      90            2 :       'accessPassword': accessPassword,
      91            2 :       'isActive': isActive,
      92            2 :       'createdBy': createdBy,
      93            3 :       'createdAt': createdAt?.toIso8601String(),
      94            3 :       'updatedAt': updatedAt?.toIso8601String(),
      95              :     };
      96              :   }
      97              : }
        

Generated by: LCOV version 2.3.1-1