TDD 작성
This commit is contained in:
@@ -0,0 +1,173 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>LCOV - lcov.info - lib/models/club_model.dart</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../gcov.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<table cellpadding=1 border=0 width="100%">
|
||||
<tr>
|
||||
<td width="10%" class="headerItem">Current view:</td>
|
||||
<td width="10%" class="headerValue"><a href="../../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory lib/models">lib/models</a> - club_model.dart</td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test:</td>
|
||||
<td class="headerValue">lcov.info</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Lines:</td>
|
||||
<td class="headerCovTableEntryHi">90.2 %</td>
|
||||
<td class="headerCovTableEntry">41</td>
|
||||
<td class="headerCovTableEntry">37</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test Date:</td>
|
||||
<td class="headerValue">2025-08-12 03:21:51</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntryHi">-</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
</tr>
|
||||
<tr><td><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
|
||||
<table cellpadding=0 cellspacing=0 border=0>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<pre class="sourceHeading"> Line data Source code</pre>
|
||||
<pre class="source">
|
||||
<span id="L1"><span class="lineNum"> 1</span> : import 'tie_breaker_option.dart';</span>
|
||||
<span id="L2"><span class="lineNum"> 2</span> : </span>
|
||||
<span id="L3"><span class="lineNum"> 3</span> : class Club {</span>
|
||||
<span id="L4"><span class="lineNum"> 4</span> : final String id;</span>
|
||||
<span id="L5"><span class="lineNum"> 5</span> : final String name;</span>
|
||||
<span id="L6"><span class="lineNum"> 6</span> : final String? description;</span>
|
||||
<span id="L7"><span class="lineNum"> 7</span> : final String? logo;</span>
|
||||
<span id="L8"><span class="lineNum"> 8</span> : final String? address;</span>
|
||||
<span id="L9"><span class="lineNum"> 9</span> : final String? location;</span>
|
||||
<span id="L10"><span class="lineNum"> 10</span> : final String? phone;</span>
|
||||
<span id="L11"><span class="lineNum"> 11</span> : final String? email;</span>
|
||||
<span id="L12"><span class="lineNum"> 12</span> : final String? website;</span>
|
||||
<span id="L13"><span class="lineNum"> 13</span> : final int? memberCount;</span>
|
||||
<span id="L14"><span class="lineNum"> 14</span> : final String? ownerId;</span>
|
||||
<span id="L15"><span class="lineNum"> 15</span> : final int? femaleHandicap;</span>
|
||||
<span id="L16"><span class="lineNum"> 16</span> : final String? averageCalculationPeriod;</span>
|
||||
<span id="L17"><span class="lineNum"> 17</span> : final DateTime? createdAt;</span>
|
||||
<span id="L18"><span class="lineNum"> 18</span> : final DateTime? updatedAt;</span>
|
||||
<span id="L19"><span class="lineNum"> 19</span> : </span>
|
||||
<span id="L20"><span class="lineNum"> 20</span> : /// 동점자 처리 옵션 우선순위 목록</span>
|
||||
<span id="L21"><span class="lineNum"> 21</span> : final List<TieBreakerOption>? tieBreakerOptions;</span>
|
||||
<span id="L22"><span class="lineNum"> 22</span> : </span>
|
||||
<span id="L23"><span class="lineNum"> 23</span> <span class="tlaGNC"> 3 : Club({</span></span>
|
||||
<span id="L24"><span class="lineNum"> 24</span> : this.id = '', // 기본값 빈 문자열로 설정</span>
|
||||
<span id="L25"><span class="lineNum"> 25</span> : required this.name,</span>
|
||||
<span id="L26"><span class="lineNum"> 26</span> : this.description,</span>
|
||||
<span id="L27"><span class="lineNum"> 27</span> : this.logo,</span>
|
||||
<span id="L28"><span class="lineNum"> 28</span> : this.address,</span>
|
||||
<span id="L29"><span class="lineNum"> 29</span> : this.location,</span>
|
||||
<span id="L30"><span class="lineNum"> 30</span> : this.phone,</span>
|
||||
<span id="L31"><span class="lineNum"> 31</span> : this.email,</span>
|
||||
<span id="L32"><span class="lineNum"> 32</span> : this.website,</span>
|
||||
<span id="L33"><span class="lineNum"> 33</span> : this.memberCount,</span>
|
||||
<span id="L34"><span class="lineNum"> 34</span> : this.ownerId,</span>
|
||||
<span id="L35"><span class="lineNum"> 35</span> : this.femaleHandicap,</span>
|
||||
<span id="L36"><span class="lineNum"> 36</span> : this.averageCalculationPeriod,</span>
|
||||
<span id="L37"><span class="lineNum"> 37</span> : this.createdAt,</span>
|
||||
<span id="L38"><span class="lineNum"> 38</span> : this.updatedAt,</span>
|
||||
<span id="L39"><span class="lineNum"> 39</span> : this.tieBreakerOptions,</span>
|
||||
<span id="L40"><span class="lineNum"> 40</span> : });</span>
|
||||
<span id="L41"><span class="lineNum"> 41</span> : </span>
|
||||
<span id="L42"><span class="lineNum"> 42</span> : // JSON 데이터로부터 Club 객체 생성</span>
|
||||
<span id="L43"><span class="lineNum"> 43</span> <span class="tlaGNC"> 3 : factory Club.fromJson(Map<String, dynamic> json) {</span></span>
|
||||
<span id="L44"><span class="lineNum"> 44</span> : // 동점자 처리 옵션 변환</span>
|
||||
<span id="L45"><span class="lineNum"> 45</span> : List<TieBreakerOption>? tieBreakerOptions;</span>
|
||||
<span id="L46"><span class="lineNum"> 46</span> <span class="tlaGNC"> 3 : if (json['tieBreakerOptions'] != null) {</span></span>
|
||||
<span id="L47"><span class="lineNum"> 47</span> : try {</span>
|
||||
<span id="L48"><span class="lineNum"> 48</span> <span class="tlaUNC"> 0 : tieBreakerOptions = (json['tieBreakerOptions'] as List)</span></span>
|
||||
<span id="L49"><span class="lineNum"> 49</span> <span class="tlaUNC"> 0 : .map((option) => TieBreakerOption.fromString(option.toString()))</span></span>
|
||||
<span id="L50"><span class="lineNum"> 50</span> <span class="tlaUNC"> 0 : .toList();</span></span>
|
||||
<span id="L51"><span class="lineNum"> 51</span> : } catch (e) {</span>
|
||||
<span id="L52"><span class="lineNum"> 52</span> <span class="tlaUNC"> 0 : tieBreakerOptions = [];</span></span>
|
||||
<span id="L53"><span class="lineNum"> 53</span> : }</span>
|
||||
<span id="L54"><span class="lineNum"> 54</span> : }</span>
|
||||
<span id="L55"><span class="lineNum"> 55</span> : </span>
|
||||
<span id="L56"><span class="lineNum"> 56</span> <span class="tlaGNC"> 3 : return Club(</span></span>
|
||||
<span id="L57"><span class="lineNum"> 57</span> <span class="tlaGNC"> 9 : id: json['id'] != null ? json['id'].toString() : '',</span></span>
|
||||
<span id="L58"><span class="lineNum"> 58</span> <span class="tlaGNC"> 3 : name: json['name'] ?? '',</span></span>
|
||||
<span id="L59"><span class="lineNum"> 59</span> <span class="tlaGNC"> 3 : description: json['description'],</span></span>
|
||||
<span id="L60"><span class="lineNum"> 60</span> <span class="tlaGNC"> 3 : logo: json['logo'],</span></span>
|
||||
<span id="L61"><span class="lineNum"> 61</span> <span class="tlaGNC"> 3 : address: json['address'],</span></span>
|
||||
<span id="L62"><span class="lineNum"> 62</span> <span class="tlaGNC"> 3 : location: json['location'],</span></span>
|
||||
<span id="L63"><span class="lineNum"> 63</span> <span class="tlaGNC"> 6 : phone: json['phone'] ?? json['contact'], // contact 필드도 확인</span></span>
|
||||
<span id="L64"><span class="lineNum"> 64</span> <span class="tlaGNC"> 3 : email: json['email'],</span></span>
|
||||
<span id="L65"><span class="lineNum"> 65</span> <span class="tlaGNC"> 3 : website: json['website'],</span></span>
|
||||
<span id="L66"><span class="lineNum"> 66</span> <span class="tlaGNC"> 3 : memberCount: json['memberCount'],</span></span>
|
||||
<span id="L67"><span class="lineNum"> 67</span> <span class="tlaGNC"> 6 : ownerId: json['ownerId']?.toString(),</span></span>
|
||||
<span id="L68"><span class="lineNum"> 68</span> <span class="tlaGNC"> 6 : femaleHandicap: json['femaleHandicap'] != null ? int.tryParse(json['femaleHandicap'].toString()) : null,</span></span>
|
||||
<span id="L69"><span class="lineNum"> 69</span> <span class="tlaGNC"> 3 : averageCalculationPeriod: json['averageCalculationPeriod'],</span></span>
|
||||
<span id="L70"><span class="lineNum"> 70</span> <span class="tlaGNC"> 7 : createdAt: json['createdAt'] != null ? DateTime.parse(json['createdAt']) : null,</span></span>
|
||||
<span id="L71"><span class="lineNum"> 71</span> <span class="tlaGNC"> 7 : updatedAt: json['updatedAt'] != null ? DateTime.parse(json['updatedAt']) : null,</span></span>
|
||||
<span id="L72"><span class="lineNum"> 72</span> : tieBreakerOptions: tieBreakerOptions,</span>
|
||||
<span id="L73"><span class="lineNum"> 73</span> : );</span>
|
||||
<span id="L74"><span class="lineNum"> 74</span> : }</span>
|
||||
<span id="L75"><span class="lineNum"> 75</span> : </span>
|
||||
<span id="L76"><span class="lineNum"> 76</span> : // Club 객체를 JSON으로 변환</span>
|
||||
<span id="L77"><span class="lineNum"> 77</span> <span class="tlaGNC"> 3 : Map<String, dynamic> toJson() {</span></span>
|
||||
<span id="L78"><span class="lineNum"> 78</span> <span class="tlaGNC"> 3 : return {</span></span>
|
||||
<span id="L79"><span class="lineNum"> 79</span> <span class="tlaGNC"> 3 : 'id': id,</span></span>
|
||||
<span id="L80"><span class="lineNum"> 80</span> <span class="tlaGNC"> 3 : 'name': name,</span></span>
|
||||
<span id="L81"><span class="lineNum"> 81</span> <span class="tlaGNC"> 3 : 'description': description,</span></span>
|
||||
<span id="L82"><span class="lineNum"> 82</span> <span class="tlaGNC"> 3 : 'logo': logo,</span></span>
|
||||
<span id="L83"><span class="lineNum"> 83</span> <span class="tlaGNC"> 3 : 'address': address,</span></span>
|
||||
<span id="L84"><span class="lineNum"> 84</span> <span class="tlaGNC"> 3 : 'location': location,</span></span>
|
||||
<span id="L85"><span class="lineNum"> 85</span> <span class="tlaGNC"> 3 : 'phone': phone,</span></span>
|
||||
<span id="L86"><span class="lineNum"> 86</span> <span class="tlaGNC"> 3 : 'email': email,</span></span>
|
||||
<span id="L87"><span class="lineNum"> 87</span> <span class="tlaGNC"> 3 : 'website': website,</span></span>
|
||||
<span id="L88"><span class="lineNum"> 88</span> <span class="tlaGNC"> 3 : 'memberCount': memberCount,</span></span>
|
||||
<span id="L89"><span class="lineNum"> 89</span> <span class="tlaGNC"> 3 : 'ownerId': ownerId,</span></span>
|
||||
<span id="L90"><span class="lineNum"> 90</span> <span class="tlaGNC"> 3 : 'femaleHandicap': femaleHandicap,</span></span>
|
||||
<span id="L91"><span class="lineNum"> 91</span> <span class="tlaGNC"> 3 : 'averageCalculationPeriod': averageCalculationPeriod,</span></span>
|
||||
<span id="L92"><span class="lineNum"> 92</span> <span class="tlaGNC"> 5 : 'createdAt': createdAt?.toIso8601String(),</span></span>
|
||||
<span id="L93"><span class="lineNum"> 93</span> <span class="tlaGNC"> 5 : 'updatedAt': updatedAt?.toIso8601String(),</span></span>
|
||||
<span id="L94"><span class="lineNum"> 94</span> <span class="tlaGNC"> 3 : 'tieBreakerOptions': tieBreakerOptions?.map((option) => option.toString().split('.').last).toList(),</span></span>
|
||||
<span id="L95"><span class="lineNum"> 95</span> : };</span>
|
||||
<span id="L96"><span class="lineNum"> 96</span> : }</span>
|
||||
<span id="L97"><span class="lineNum"> 97</span> : }</span>
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.3.1-1</a></td></tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,173 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>LCOV - lcov.info - lib/models/event_model.dart</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../gcov.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<table cellpadding=1 border=0 width="100%">
|
||||
<tr>
|
||||
<td width="10%" class="headerItem">Current view:</td>
|
||||
<td width="10%" class="headerValue"><a href="../../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory lib/models">lib/models</a> - event_model.dart</td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test:</td>
|
||||
<td class="headerValue">lcov.info</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Lines:</td>
|
||||
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||
<td class="headerCovTableEntry">45</td>
|
||||
<td class="headerCovTableEntry">45</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test Date:</td>
|
||||
<td class="headerValue">2025-08-12 03:21:51</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntryHi">-</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
</tr>
|
||||
<tr><td><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
|
||||
<table cellpadding=0 cellspacing=0 border=0>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<pre class="sourceHeading"> Line data Source code</pre>
|
||||
<pre class="source">
|
||||
<span id="L1"><span class="lineNum"> 1</span> : class Event {</span>
|
||||
<span id="L2"><span class="lineNum"> 2</span> : final String id;</span>
|
||||
<span id="L3"><span class="lineNum"> 3</span> : final String clubId;</span>
|
||||
<span id="L4"><span class="lineNum"> 4</span> : final String title;</span>
|
||||
<span id="L5"><span class="lineNum"> 5</span> : final String? description;</span>
|
||||
<span id="L6"><span class="lineNum"> 6</span> : final DateTime startDate;</span>
|
||||
<span id="L7"><span class="lineNum"> 7</span> : final DateTime? endDate;</span>
|
||||
<span id="L8"><span class="lineNum"> 8</span> : final String? location;</span>
|
||||
<span id="L9"><span class="lineNum"> 9</span> : final String? type;</span>
|
||||
<span id="L10"><span class="lineNum"> 10</span> : final String? status;</span>
|
||||
<span id="L11"><span class="lineNum"> 11</span> : final int? maxParticipants;</span>
|
||||
<span id="L12"><span class="lineNum"> 12</span> : final int? currentParticipants;</span>
|
||||
<span id="L13"><span class="lineNum"> 13</span> : final int? gameCount;</span>
|
||||
<span id="L14"><span class="lineNum"> 14</span> : final double? participantFee;</span>
|
||||
<span id="L15"><span class="lineNum"> 15</span> : final DateTime? registrationDeadline;</span>
|
||||
<span id="L16"><span class="lineNum"> 16</span> : final String? publicHash;</span>
|
||||
<span id="L17"><span class="lineNum"> 17</span> : final String? accessPassword;</span>
|
||||
<span id="L18"><span class="lineNum"> 18</span> : final bool isActive;</span>
|
||||
<span id="L19"><span class="lineNum"> 19</span> : final String? createdBy;</span>
|
||||
<span id="L20"><span class="lineNum"> 20</span> : final DateTime? createdAt;</span>
|
||||
<span id="L21"><span class="lineNum"> 21</span> : final DateTime? updatedAt;</span>
|
||||
<span id="L22"><span class="lineNum"> 22</span> : </span>
|
||||
<span id="L23"><span class="lineNum"> 23</span> <span class="tlaGNC"> 8 : Event({</span></span>
|
||||
<span id="L24"><span class="lineNum"> 24</span> : required this.id,</span>
|
||||
<span id="L25"><span class="lineNum"> 25</span> : required this.clubId,</span>
|
||||
<span id="L26"><span class="lineNum"> 26</span> : required this.title,</span>
|
||||
<span id="L27"><span class="lineNum"> 27</span> : this.description,</span>
|
||||
<span id="L28"><span class="lineNum"> 28</span> : required this.startDate,</span>
|
||||
<span id="L29"><span class="lineNum"> 29</span> : this.endDate,</span>
|
||||
<span id="L30"><span class="lineNum"> 30</span> : this.location,</span>
|
||||
<span id="L31"><span class="lineNum"> 31</span> : this.type,</span>
|
||||
<span id="L32"><span class="lineNum"> 32</span> : this.status,</span>
|
||||
<span id="L33"><span class="lineNum"> 33</span> : this.maxParticipants,</span>
|
||||
<span id="L34"><span class="lineNum"> 34</span> : this.currentParticipants,</span>
|
||||
<span id="L35"><span class="lineNum"> 35</span> : this.gameCount,</span>
|
||||
<span id="L36"><span class="lineNum"> 36</span> : this.participantFee,</span>
|
||||
<span id="L37"><span class="lineNum"> 37</span> : this.registrationDeadline,</span>
|
||||
<span id="L38"><span class="lineNum"> 38</span> : this.publicHash,</span>
|
||||
<span id="L39"><span class="lineNum"> 39</span> : this.accessPassword,</span>
|
||||
<span id="L40"><span class="lineNum"> 40</span> : required this.isActive,</span>
|
||||
<span id="L41"><span class="lineNum"> 41</span> : this.createdBy,</span>
|
||||
<span id="L42"><span class="lineNum"> 42</span> : this.createdAt,</span>
|
||||
<span id="L43"><span class="lineNum"> 43</span> : this.updatedAt,</span>
|
||||
<span id="L44"><span class="lineNum"> 44</span> : });</span>
|
||||
<span id="L45"><span class="lineNum"> 45</span> : </span>
|
||||
<span id="L46"><span class="lineNum"> 46</span> : // JSON 데이터로부터 Event 객체 생성</span>
|
||||
<span id="L47"><span class="lineNum"> 47</span> <span class="tlaGNC"> 4 : factory Event.fromJson(Map<String, dynamic> json) {</span></span>
|
||||
<span id="L48"><span class="lineNum"> 48</span> <span class="tlaGNC"> 4 : return Event(</span></span>
|
||||
<span id="L49"><span class="lineNum"> 49</span> <span class="tlaGNC"> 8 : id: json['id']?.toString() ?? '',</span></span>
|
||||
<span id="L50"><span class="lineNum"> 50</span> <span class="tlaGNC"> 8 : clubId: json['clubId']?.toString() ?? '',</span></span>
|
||||
<span id="L51"><span class="lineNum"> 51</span> <span class="tlaGNC"> 4 : title: json['title'] ?? '',</span></span>
|
||||
<span id="L52"><span class="lineNum"> 52</span> <span class="tlaGNC"> 6 : description: json['description']?.toString(),</span></span>
|
||||
<span id="L53"><span class="lineNum"> 53</span> <span class="tlaGNC"> 17 : startDate: json['startDate'] != null ? DateTime.parse(json['startDate'].toString()) : DateTime.now(),</span></span>
|
||||
<span id="L54"><span class="lineNum"> 54</span> <span class="tlaGNC"> 10 : endDate: json['endDate'] != null ? DateTime.parse(json['endDate'].toString()) : null,</span></span>
|
||||
<span id="L55"><span class="lineNum"> 55</span> <span class="tlaGNC"> 6 : location: json['location']?.toString(),</span></span>
|
||||
<span id="L56"><span class="lineNum"> 56</span> <span class="tlaGNC"> 6 : type: json['type']?.toString(),</span></span>
|
||||
<span id="L57"><span class="lineNum"> 57</span> <span class="tlaGNC"> 6 : status: json['status']?.toString(),</span></span>
|
||||
<span id="L58"><span class="lineNum"> 58</span> <span class="tlaGNC"> 4 : maxParticipants: json['maxParticipants'],</span></span>
|
||||
<span id="L59"><span class="lineNum"> 59</span> <span class="tlaGNC"> 4 : currentParticipants: json['currentParticipants'],</span></span>
|
||||
<span id="L60"><span class="lineNum"> 60</span> <span class="tlaGNC"> 4 : gameCount: json['gameCount'],</span></span>
|
||||
<span id="L61"><span class="lineNum"> 61</span> <span class="tlaGNC"> 7 : participantFee: json['participantFee'] != null ? double.tryParse(json['participantFee'].toString()) : null,</span></span>
|
||||
<span id="L62"><span class="lineNum"> 62</span> <span class="tlaGNC"> 13 : registrationDeadline: json['registrationDeadline'] != null ? DateTime.parse(json['registrationDeadline'].toString()) : null,</span></span>
|
||||
<span id="L63"><span class="lineNum"> 63</span> <span class="tlaGNC"> 5 : publicHash: json['publicHash']?.toString(),</span></span>
|
||||
<span id="L64"><span class="lineNum"> 64</span> <span class="tlaGNC"> 5 : accessPassword: json['accessPassword']?.toString(),</span></span>
|
||||
<span id="L65"><span class="lineNum"> 65</span> <span class="tlaGNC"> 4 : isActive: json['isActive'] ?? true,</span></span>
|
||||
<span id="L66"><span class="lineNum"> 66</span> <span class="tlaGNC"> 5 : createdBy: json['createdBy']?.toString(),</span></span>
|
||||
<span id="L67"><span class="lineNum"> 67</span> <span class="tlaGNC"> 7 : createdAt: json['createdAt'] != null ? DateTime.parse(json['createdAt'].toString()) : null,</span></span>
|
||||
<span id="L68"><span class="lineNum"> 68</span> <span class="tlaGNC"> 7 : updatedAt: json['updatedAt'] != null ? DateTime.parse(json['updatedAt'].toString()) : null,</span></span>
|
||||
<span id="L69"><span class="lineNum"> 69</span> : );</span>
|
||||
<span id="L70"><span class="lineNum"> 70</span> : }</span>
|
||||
<span id="L71"><span class="lineNum"> 71</span> : </span>
|
||||
<span id="L72"><span class="lineNum"> 72</span> : // Event 객체를 JSON으로 변환</span>
|
||||
<span id="L73"><span class="lineNum"> 73</span> <span class="tlaGNC"> 2 : Map<String, dynamic> toJson() {</span></span>
|
||||
<span id="L74"><span class="lineNum"> 74</span> <span class="tlaGNC"> 2 : return {</span></span>
|
||||
<span id="L75"><span class="lineNum"> 75</span> <span class="tlaGNC"> 2 : 'id': id,</span></span>
|
||||
<span id="L76"><span class="lineNum"> 76</span> <span class="tlaGNC"> 2 : 'clubId': clubId,</span></span>
|
||||
<span id="L77"><span class="lineNum"> 77</span> <span class="tlaGNC"> 2 : 'title': title,</span></span>
|
||||
<span id="L78"><span class="lineNum"> 78</span> <span class="tlaGNC"> 2 : 'description': description,</span></span>
|
||||
<span id="L79"><span class="lineNum"> 79</span> <span class="tlaGNC"> 4 : 'startDate': startDate.toIso8601String(),</span></span>
|
||||
<span id="L80"><span class="lineNum"> 80</span> <span class="tlaGNC"> 4 : 'endDate': endDate?.toIso8601String(),</span></span>
|
||||
<span id="L81"><span class="lineNum"> 81</span> <span class="tlaGNC"> 2 : 'location': location,</span></span>
|
||||
<span id="L82"><span class="lineNum"> 82</span> <span class="tlaGNC"> 2 : 'type': type,</span></span>
|
||||
<span id="L83"><span class="lineNum"> 83</span> <span class="tlaGNC"> 2 : 'status': status,</span></span>
|
||||
<span id="L84"><span class="lineNum"> 84</span> <span class="tlaGNC"> 2 : 'maxParticipants': maxParticipants,</span></span>
|
||||
<span id="L85"><span class="lineNum"> 85</span> <span class="tlaGNC"> 2 : 'currentParticipants': currentParticipants,</span></span>
|
||||
<span id="L86"><span class="lineNum"> 86</span> <span class="tlaGNC"> 2 : 'gameCount': gameCount,</span></span>
|
||||
<span id="L87"><span class="lineNum"> 87</span> <span class="tlaGNC"> 2 : 'participantFee': participantFee,</span></span>
|
||||
<span id="L88"><span class="lineNum"> 88</span> <span class="tlaGNC"> 4 : 'registrationDeadline': registrationDeadline?.toIso8601String(),</span></span>
|
||||
<span id="L89"><span class="lineNum"> 89</span> <span class="tlaGNC"> 2 : 'publicHash': publicHash,</span></span>
|
||||
<span id="L90"><span class="lineNum"> 90</span> <span class="tlaGNC"> 2 : 'accessPassword': accessPassword,</span></span>
|
||||
<span id="L91"><span class="lineNum"> 91</span> <span class="tlaGNC"> 2 : 'isActive': isActive,</span></span>
|
||||
<span id="L92"><span class="lineNum"> 92</span> <span class="tlaGNC"> 2 : 'createdBy': createdBy,</span></span>
|
||||
<span id="L93"><span class="lineNum"> 93</span> <span class="tlaGNC"> 3 : 'createdAt': createdAt?.toIso8601String(),</span></span>
|
||||
<span id="L94"><span class="lineNum"> 94</span> <span class="tlaGNC"> 3 : 'updatedAt': updatedAt?.toIso8601String(),</span></span>
|
||||
<span id="L95"><span class="lineNum"> 95</span> : };</span>
|
||||
<span id="L96"><span class="lineNum"> 96</span> : }</span>
|
||||
<span id="L97"><span class="lineNum"> 97</span> : }</span>
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.3.1-1</a></td></tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,170 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>LCOV - lcov.info - lib/models</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../gcov.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<table cellpadding=1 border=0 width="100%">
|
||||
<tr>
|
||||
<td width="10%" class="headerItem">Current view:</td>
|
||||
<td width="10%" class="headerValue"><a href="../../index.html" title="Click to go to top-level">top level</a> - lib/models</td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test:</td>
|
||||
<td class="headerValue">lcov.info</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Lines:</td>
|
||||
<td class="headerCovTableEntryMed">85.2 %</td>
|
||||
<td class="headerCovTableEntry">364</td>
|
||||
<td class="headerCovTableEntry">310</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test Date:</td>
|
||||
<td class="headerValue">2025-08-12 03:21:51</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntryHi">-</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
</tr>
|
||||
<tr><td><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
|
||||
<center>
|
||||
<table width="80%" cellpadding=1 cellspacing=1 border=0>
|
||||
|
||||
<tr>
|
||||
<td width="40%"><br></td>
|
||||
<td width="15%"></td>
|
||||
<td width="15%"></td>
|
||||
<td width="15%"></td>
|
||||
<td width="15%"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="tableHead" rowspan=2>File <span title="Click to sort table by file name" class="tableHeadSort"><a href="index.html"><img src="../../updown.png" width=10 height=14 alt="Sort by file name" title="Click to sort table by file name" border=0></a></span></td>
|
||||
<td class="tableHead" colspan=4>Line Coverage <span title="Click to sort table by line coverage" class="tableHeadSort"><a href="index-sort-l.html"><img src="../../updown.png" width=10 height=14 alt="Sort by line coverage" title="Click to sort table by line coverage" border=0></a></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableHead" colspan=2> Rate</td>
|
||||
<td class="tableHead"> Total</td>
|
||||
<td class="tableHead"> Hit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="club_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/club_model.dart">club_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=90 height=10 alt="90.2%"><img src="../../snow.png" width=10 height=10 alt="90.2%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">90.2 %</td>
|
||||
<td class="coverNumDflt">41</td>
|
||||
<td class="coverNumDflt">37</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="event_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/event_model.dart">event_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">100.0 %</td>
|
||||
<td class="coverNumDflt">45</td>
|
||||
<td class="coverNumDflt">45</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="member_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/member_model.dart">member_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=95 height=10 alt="95.1%"><img src="../../snow.png" width=5 height=10 alt="95.1%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">95.1 %</td>
|
||||
<td class="coverNumDflt">61</td>
|
||||
<td class="coverNumDflt">58</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="participant_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/participant_model.dart">participant_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../ruby.png" width=51 height=10 alt="51.4%"><img src="../../snow.png" width=49 height=10 alt="51.4%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerLo">51.4 %</td>
|
||||
<td class="coverNumDflt">37</td>
|
||||
<td class="coverNumDflt">19</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="score_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/score_model.dart">score_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="97.6%"><img src="../../snow.png" width=2 height=10 alt="97.6%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">97.6 %</td>
|
||||
<td class="coverNumDflt">41</td>
|
||||
<td class="coverNumDflt">40</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="subscription_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/subscription_model.dart">subscription_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">100.0 %</td>
|
||||
<td class="coverNumDflt">92</td>
|
||||
<td class="coverNumDflt">92</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="team_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/team_model.dart">team_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">100.0 %</td>
|
||||
<td class="coverNumDflt">19</td>
|
||||
<td class="coverNumDflt">19</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="tie_breaker_option.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/tie_breaker_option.dart">tie_breaker_option.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerLo">0.0 %</td>
|
||||
<td class="coverNumDflt">9</td>
|
||||
<td class="coverNumDflt"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="user_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/user_model.dart">user_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerLo">0.0 %</td>
|
||||
<td class="coverNumDflt">19</td>
|
||||
<td class="coverNumDflt"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="footnote" colspan=5>Note: 'Function Coverage' columns elided as function owner is not identified.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
<br>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov">LCOV version 2.3.1-1</a></td></tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,170 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>LCOV - lcov.info - lib/models</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../gcov.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<table cellpadding=1 border=0 width="100%">
|
||||
<tr>
|
||||
<td width="10%" class="headerItem">Current view:</td>
|
||||
<td width="10%" class="headerValue"><a href="../../index.html" title="Click to go to top-level">top level</a> - lib/models</td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test:</td>
|
||||
<td class="headerValue">lcov.info</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Lines:</td>
|
||||
<td class="headerCovTableEntryMed">85.2 %</td>
|
||||
<td class="headerCovTableEntry">364</td>
|
||||
<td class="headerCovTableEntry">310</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test Date:</td>
|
||||
<td class="headerValue">2025-08-12 03:21:51</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntryHi">-</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
</tr>
|
||||
<tr><td><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
|
||||
<center>
|
||||
<table width="80%" cellpadding=1 cellspacing=1 border=0>
|
||||
|
||||
<tr>
|
||||
<td width="40%"><br></td>
|
||||
<td width="15%"></td>
|
||||
<td width="15%"></td>
|
||||
<td width="15%"></td>
|
||||
<td width="15%"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="tableHead" rowspan=2>File <span title="Click to sort table by file name" class="tableHeadSort"><a href="index.html"><img src="../../updown.png" width=10 height=14 alt="Sort by file name" title="Click to sort table by file name" border=0></a></span></td>
|
||||
<td class="tableHead" colspan=4>Line Coverage <span title="Click to sort table by line coverage" class="tableHeadSort"><img src="../../glass.png" width=10 height=14 alt="Sort by line coverage" title="Click to sort table by line coverage" border=0></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableHead" colspan=2> Rate</td>
|
||||
<td class="tableHead"> Total</td>
|
||||
<td class="tableHead"> Hit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="tie_breaker_option.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/tie_breaker_option.dart">tie_breaker_option.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerLo">0.0 %</td>
|
||||
<td class="coverNumDflt">9</td>
|
||||
<td class="coverNumDflt"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="user_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/user_model.dart">user_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerLo">0.0 %</td>
|
||||
<td class="coverNumDflt">19</td>
|
||||
<td class="coverNumDflt"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="participant_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/participant_model.dart">participant_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../ruby.png" width=51 height=10 alt="51.4%"><img src="../../snow.png" width=49 height=10 alt="51.4%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerLo">51.4 %</td>
|
||||
<td class="coverNumDflt">37</td>
|
||||
<td class="coverNumDflt">19</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="club_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/club_model.dart">club_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=90 height=10 alt="90.2%"><img src="../../snow.png" width=10 height=10 alt="90.2%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">90.2 %</td>
|
||||
<td class="coverNumDflt">41</td>
|
||||
<td class="coverNumDflt">37</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="member_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/member_model.dart">member_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=95 height=10 alt="95.1%"><img src="../../snow.png" width=5 height=10 alt="95.1%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">95.1 %</td>
|
||||
<td class="coverNumDflt">61</td>
|
||||
<td class="coverNumDflt">58</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="score_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/score_model.dart">score_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="97.6%"><img src="../../snow.png" width=2 height=10 alt="97.6%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">97.6 %</td>
|
||||
<td class="coverNumDflt">41</td>
|
||||
<td class="coverNumDflt">40</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="team_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/team_model.dart">team_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">100.0 %</td>
|
||||
<td class="coverNumDflt">19</td>
|
||||
<td class="coverNumDflt">19</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="event_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/event_model.dart">event_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">100.0 %</td>
|
||||
<td class="coverNumDflt">45</td>
|
||||
<td class="coverNumDflt">45</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="subscription_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/subscription_model.dart">subscription_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">100.0 %</td>
|
||||
<td class="coverNumDflt">92</td>
|
||||
<td class="coverNumDflt">92</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="footnote" colspan=5>Note: 'Function Coverage' columns elided as function owner is not identified.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
<br>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov">LCOV version 2.3.1-1</a></td></tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,170 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>LCOV - lcov.info - lib/models</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../gcov.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<table cellpadding=1 border=0 width="100%">
|
||||
<tr>
|
||||
<td width="10%" class="headerItem">Current view:</td>
|
||||
<td width="10%" class="headerValue"><a href="../../index.html" title="Click to go to top-level">top level</a> - lib/models</td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test:</td>
|
||||
<td class="headerValue">lcov.info</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Lines:</td>
|
||||
<td class="headerCovTableEntryMed">85.2 %</td>
|
||||
<td class="headerCovTableEntry">364</td>
|
||||
<td class="headerCovTableEntry">310</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test Date:</td>
|
||||
<td class="headerValue">2025-08-12 03:21:51</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntryHi">-</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
</tr>
|
||||
<tr><td><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
|
||||
<center>
|
||||
<table width="80%" cellpadding=1 cellspacing=1 border=0>
|
||||
|
||||
<tr>
|
||||
<td width="40%"><br></td>
|
||||
<td width="15%"></td>
|
||||
<td width="15%"></td>
|
||||
<td width="15%"></td>
|
||||
<td width="15%"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="tableHead" rowspan=2>File <span title="Click to sort table by file name" class="tableHeadSort"><img src="../../glass.png" width=10 height=14 alt="Sort by file name" title="Click to sort table by file name" border=0></span></td>
|
||||
<td class="tableHead" colspan=4>Line Coverage <span title="Click to sort table by line coverage" class="tableHeadSort"><a href="index-sort-l.html"><img src="../../updown.png" width=10 height=14 alt="Sort by line coverage" title="Click to sort table by line coverage" border=0></a></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableHead" colspan=2> Rate</td>
|
||||
<td class="tableHead"> Total</td>
|
||||
<td class="tableHead"> Hit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="club_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/club_model.dart">club_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=90 height=10 alt="90.2%"><img src="../../snow.png" width=10 height=10 alt="90.2%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">90.2 %</td>
|
||||
<td class="coverNumDflt">41</td>
|
||||
<td class="coverNumDflt">37</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="event_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/event_model.dart">event_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">100.0 %</td>
|
||||
<td class="coverNumDflt">45</td>
|
||||
<td class="coverNumDflt">45</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="member_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/member_model.dart">member_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=95 height=10 alt="95.1%"><img src="../../snow.png" width=5 height=10 alt="95.1%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">95.1 %</td>
|
||||
<td class="coverNumDflt">61</td>
|
||||
<td class="coverNumDflt">58</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="participant_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/participant_model.dart">participant_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../ruby.png" width=51 height=10 alt="51.4%"><img src="../../snow.png" width=49 height=10 alt="51.4%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerLo">51.4 %</td>
|
||||
<td class="coverNumDflt">37</td>
|
||||
<td class="coverNumDflt">19</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="score_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/score_model.dart">score_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=98 height=10 alt="97.6%"><img src="../../snow.png" width=2 height=10 alt="97.6%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">97.6 %</td>
|
||||
<td class="coverNumDflt">41</td>
|
||||
<td class="coverNumDflt">40</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="subscription_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/subscription_model.dart">subscription_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">100.0 %</td>
|
||||
<td class="coverNumDflt">92</td>
|
||||
<td class="coverNumDflt">92</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="team_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/team_model.dart">team_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerHi">100.0 %</td>
|
||||
<td class="coverNumDflt">19</td>
|
||||
<td class="coverNumDflt">19</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="tie_breaker_option.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/tie_breaker_option.dart">tie_breaker_option.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerLo">0.0 %</td>
|
||||
<td class="coverNumDflt">9</td>
|
||||
<td class="coverNumDflt"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="coverFile"><a href="user_model.dart.gcov.html" title="Click to go to file /Users/jaybe/Develop/Source/bowlingManager/mobile/lib/models/user_model.dart">user_model.dart</a></td>
|
||||
<td class="coverBar" align="center">
|
||||
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
|
||||
</td>
|
||||
<td class="coverPerLo">0.0 %</td>
|
||||
<td class="coverNumDflt">19</td>
|
||||
<td class="coverNumDflt"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="footnote" colspan=5>Note: 'Function Coverage' columns elided as function owner is not identified.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
<br>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov">LCOV version 2.3.1-1</a></td></tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,208 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>LCOV - lcov.info - lib/models/member_model.dart</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../gcov.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<table cellpadding=1 border=0 width="100%">
|
||||
<tr>
|
||||
<td width="10%" class="headerItem">Current view:</td>
|
||||
<td width="10%" class="headerValue"><a href="../../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory lib/models">lib/models</a> - member_model.dart</td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test:</td>
|
||||
<td class="headerValue">lcov.info</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Lines:</td>
|
||||
<td class="headerCovTableEntryHi">95.1 %</td>
|
||||
<td class="headerCovTableEntry">61</td>
|
||||
<td class="headerCovTableEntry">58</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test Date:</td>
|
||||
<td class="headerValue">2025-08-12 03:21:51</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntryHi">-</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
</tr>
|
||||
<tr><td><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
|
||||
<table cellpadding=0 cellspacing=0 border=0>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<pre class="sourceHeading"> Line data Source code</pre>
|
||||
<pre class="source">
|
||||
<span id="L1"><span class="lineNum"> 1</span> : class Member {</span>
|
||||
<span id="L2"><span class="lineNum"> 2</span> : final String id;</span>
|
||||
<span id="L3"><span class="lineNum"> 3</span> : final String userId;</span>
|
||||
<span id="L4"><span class="lineNum"> 4</span> : final String clubId;</span>
|
||||
<span id="L5"><span class="lineNum"> 5</span> : final String name;</span>
|
||||
<span id="L6"><span class="lineNum"> 6</span> : final String email;</span>
|
||||
<span id="L7"><span class="lineNum"> 7</span> : final String? role;</span>
|
||||
<span id="L8"><span class="lineNum"> 8</span> : final String? profileImage;</span>
|
||||
<span id="L9"><span class="lineNum"> 9</span> : final String? phone;</span>
|
||||
<span id="L10"><span class="lineNum"> 10</span> : final String? address;</span>
|
||||
<span id="L11"><span class="lineNum"> 11</span> : final DateTime? joinDate;</span>
|
||||
<span id="L12"><span class="lineNum"> 12</span> : final bool isActive;</span>
|
||||
<span id="L13"><span class="lineNum"> 13</span> : final String? gender;</span>
|
||||
<span id="L14"><span class="lineNum"> 14</span> : final String? memberType;</span>
|
||||
<span id="L15"><span class="lineNum"> 15</span> : final int? handicap;</span>
|
||||
<span id="L16"><span class="lineNum"> 16</span> : final String? status;</span>
|
||||
<span id="L17"><span class="lineNum"> 17</span> : final DateTime? createdAt;</span>
|
||||
<span id="L18"><span class="lineNum"> 18</span> : final DateTime? updatedAt;</span>
|
||||
<span id="L19"><span class="lineNum"> 19</span> : final DateTime? birthDate; // 생년월일 추가</span>
|
||||
<span id="L20"><span class="lineNum"> 20</span> : </span>
|
||||
<span id="L21"><span class="lineNum"> 21</span> <span class="tlaGNC"> 5 : Member({</span></span>
|
||||
<span id="L22"><span class="lineNum"> 22</span> : required this.id,</span>
|
||||
<span id="L23"><span class="lineNum"> 23</span> : required this.userId,</span>
|
||||
<span id="L24"><span class="lineNum"> 24</span> : required this.clubId,</span>
|
||||
<span id="L25"><span class="lineNum"> 25</span> : required this.name,</span>
|
||||
<span id="L26"><span class="lineNum"> 26</span> : required this.email,</span>
|
||||
<span id="L27"><span class="lineNum"> 27</span> : this.role,</span>
|
||||
<span id="L28"><span class="lineNum"> 28</span> : this.profileImage,</span>
|
||||
<span id="L29"><span class="lineNum"> 29</span> : this.phone,</span>
|
||||
<span id="L30"><span class="lineNum"> 30</span> : this.address,</span>
|
||||
<span id="L31"><span class="lineNum"> 31</span> : this.joinDate,</span>
|
||||
<span id="L32"><span class="lineNum"> 32</span> : required this.isActive,</span>
|
||||
<span id="L33"><span class="lineNum"> 33</span> : this.gender,</span>
|
||||
<span id="L34"><span class="lineNum"> 34</span> : this.memberType,</span>
|
||||
<span id="L35"><span class="lineNum"> 35</span> : this.handicap,</span>
|
||||
<span id="L36"><span class="lineNum"> 36</span> : this.status,</span>
|
||||
<span id="L37"><span class="lineNum"> 37</span> : this.createdAt,</span>
|
||||
<span id="L38"><span class="lineNum"> 38</span> : this.updatedAt,</span>
|
||||
<span id="L39"><span class="lineNum"> 39</span> : this.birthDate,</span>
|
||||
<span id="L40"><span class="lineNum"> 40</span> : });</span>
|
||||
<span id="L41"><span class="lineNum"> 41</span> : </span>
|
||||
<span id="L42"><span class="lineNum"> 42</span> : // JSON 데이터로부터 Member 객체 생성</span>
|
||||
<span id="L43"><span class="lineNum"> 43</span> <span class="tlaGNC"> 3 : factory Member.fromJson(Map<String, dynamic> json) {</span></span>
|
||||
<span id="L44"><span class="lineNum"> 44</span> <span class="tlaGNC"> 3 : return Member(</span></span>
|
||||
<span id="L45"><span class="lineNum"> 45</span> <span class="tlaGNC"> 6 : id: json['id']?.toString() ?? '',</span></span>
|
||||
<span id="L46"><span class="lineNum"> 46</span> <span class="tlaGNC"> 4 : userId: json['userId']?.toString() ?? '',</span></span>
|
||||
<span id="L47"><span class="lineNum"> 47</span> <span class="tlaGNC"> 6 : clubId: json['clubId']?.toString() ?? '',</span></span>
|
||||
<span id="L48"><span class="lineNum"> 48</span> <span class="tlaGNC"> 3 : name: json['name'] ?? '',</span></span>
|
||||
<span id="L49"><span class="lineNum"> 49</span> <span class="tlaGNC"> 3 : email: json['email'] ?? '',</span></span>
|
||||
<span id="L50"><span class="lineNum"> 50</span> <span class="tlaGNC"> 4 : role: json['role']?.toString(),</span></span>
|
||||
<span id="L51"><span class="lineNum"> 51</span> <span class="tlaGNC"> 4 : profileImage: json['profileImage']?.toString(),</span></span>
|
||||
<span id="L52"><span class="lineNum"> 52</span> <span class="tlaGNC"> 6 : phone: json['phone']?.toString(),</span></span>
|
||||
<span id="L53"><span class="lineNum"> 53</span> <span class="tlaGNC"> 4 : address: json['address']?.toString(),</span></span>
|
||||
<span id="L54"><span class="lineNum"> 54</span> <span class="tlaGNC"> 12 : joinDate: json['joinDate'] != null ? DateTime.parse(json['joinDate'].toString()) : null,</span></span>
|
||||
<span id="L55"><span class="lineNum"> 55</span> <span class="tlaGNC"> 3 : isActive: json['isActive'] ?? true,</span></span>
|
||||
<span id="L56"><span class="lineNum"> 56</span> <span class="tlaGNC"> 6 : gender: json['gender']?.toString(),</span></span>
|
||||
<span id="L57"><span class="lineNum"> 57</span> <span class="tlaGNC"> 4 : memberType: json['memberType']?.toString(),</span></span>
|
||||
<span id="L58"><span class="lineNum"> 58</span> <span class="tlaGNC"> 6 : handicap: json['handicap'] != null ? int.tryParse(json['handicap'].toString()) : null,</span></span>
|
||||
<span id="L59"><span class="lineNum"> 59</span> <span class="tlaGNC"> 4 : status: json['status']?.toString(),</span></span>
|
||||
<span id="L60"><span class="lineNum"> 60</span> <span class="tlaGNC"> 6 : createdAt: json['createdAt'] != null ? DateTime.parse(json['createdAt'].toString()) : null,</span></span>
|
||||
<span id="L61"><span class="lineNum"> 61</span> <span class="tlaGNC"> 6 : updatedAt: json['updatedAt'] != null ? DateTime.parse(json['updatedAt'].toString()) : null,</span></span>
|
||||
<span id="L62"><span class="lineNum"> 62</span> <span class="tlaGNC"> 3 : birthDate: json['birthDate'] != null ? DateTime.parse(json['birthDate'].toString()) : null,</span></span>
|
||||
<span id="L63"><span class="lineNum"> 63</span> : );</span>
|
||||
<span id="L64"><span class="lineNum"> 64</span> : }</span>
|
||||
<span id="L65"><span class="lineNum"> 65</span> : </span>
|
||||
<span id="L66"><span class="lineNum"> 66</span> : // Member 객체를 JSON으로 변환</span>
|
||||
<span id="L67"><span class="lineNum"> 67</span> <span class="tlaGNC"> 1 : Map<String, dynamic> toJson() {</span></span>
|
||||
<span id="L68"><span class="lineNum"> 68</span> <span class="tlaGNC"> 1 : return {</span></span>
|
||||
<span id="L69"><span class="lineNum"> 69</span> <span class="tlaGNC"> 1 : 'id': id,</span></span>
|
||||
<span id="L70"><span class="lineNum"> 70</span> <span class="tlaGNC"> 1 : 'userId': userId,</span></span>
|
||||
<span id="L71"><span class="lineNum"> 71</span> <span class="tlaGNC"> 1 : 'clubId': clubId,</span></span>
|
||||
<span id="L72"><span class="lineNum"> 72</span> <span class="tlaGNC"> 1 : 'name': name,</span></span>
|
||||
<span id="L73"><span class="lineNum"> 73</span> <span class="tlaGNC"> 1 : 'email': email,</span></span>
|
||||
<span id="L74"><span class="lineNum"> 74</span> <span class="tlaGNC"> 1 : 'role': role,</span></span>
|
||||
<span id="L75"><span class="lineNum"> 75</span> <span class="tlaGNC"> 1 : 'profileImage': profileImage,</span></span>
|
||||
<span id="L76"><span class="lineNum"> 76</span> <span class="tlaGNC"> 1 : 'phone': phone,</span></span>
|
||||
<span id="L77"><span class="lineNum"> 77</span> <span class="tlaGNC"> 1 : 'address': address,</span></span>
|
||||
<span id="L78"><span class="lineNum"> 78</span> <span class="tlaGNC"> 2 : 'joinDate': joinDate?.toIso8601String(),</span></span>
|
||||
<span id="L79"><span class="lineNum"> 79</span> <span class="tlaGNC"> 1 : 'isActive': isActive,</span></span>
|
||||
<span id="L80"><span class="lineNum"> 80</span> <span class="tlaGNC"> 1 : 'gender': gender,</span></span>
|
||||
<span id="L81"><span class="lineNum"> 81</span> <span class="tlaGNC"> 1 : 'memberType': memberType,</span></span>
|
||||
<span id="L82"><span class="lineNum"> 82</span> <span class="tlaGNC"> 1 : 'handicap': handicap,</span></span>
|
||||
<span id="L83"><span class="lineNum"> 83</span> <span class="tlaGNC"> 1 : 'status': status,</span></span>
|
||||
<span id="L84"><span class="lineNum"> 84</span> <span class="tlaGNC"> 2 : 'createdAt': createdAt?.toIso8601String(),</span></span>
|
||||
<span id="L85"><span class="lineNum"> 85</span> <span class="tlaGNC"> 2 : 'updatedAt': updatedAt?.toIso8601String(),</span></span>
|
||||
<span id="L86"><span class="lineNum"> 86</span> <span class="tlaGNC"> 1 : 'birthDate': birthDate?.toIso8601String(),</span></span>
|
||||
<span id="L87"><span class="lineNum"> 87</span> : };</span>
|
||||
<span id="L88"><span class="lineNum"> 88</span> : }</span>
|
||||
<span id="L89"><span class="lineNum"> 89</span> : </span>
|
||||
<span id="L90"><span class="lineNum"> 90</span> : // 객체 복사 및 특정 필드 업데이트를 위한 copyWith 메서드</span>
|
||||
<span id="L91"><span class="lineNum"> 91</span> <span class="tlaGNC"> 1 : Member copyWith({</span></span>
|
||||
<span id="L92"><span class="lineNum"> 92</span> : String? id,</span>
|
||||
<span id="L93"><span class="lineNum"> 93</span> : String? userId,</span>
|
||||
<span id="L94"><span class="lineNum"> 94</span> : String? clubId,</span>
|
||||
<span id="L95"><span class="lineNum"> 95</span> : String? name,</span>
|
||||
<span id="L96"><span class="lineNum"> 96</span> : String? email,</span>
|
||||
<span id="L97"><span class="lineNum"> 97</span> : String? role,</span>
|
||||
<span id="L98"><span class="lineNum"> 98</span> : String? profileImage,</span>
|
||||
<span id="L99"><span class="lineNum"> 99</span> : String? phone,</span>
|
||||
<span id="L100"><span class="lineNum"> 100</span> : String? address,</span>
|
||||
<span id="L101"><span class="lineNum"> 101</span> : DateTime? joinDate,</span>
|
||||
<span id="L102"><span class="lineNum"> 102</span> : bool? isActive,</span>
|
||||
<span id="L103"><span class="lineNum"> 103</span> : String? gender,</span>
|
||||
<span id="L104"><span class="lineNum"> 104</span> : String? memberType,</span>
|
||||
<span id="L105"><span class="lineNum"> 105</span> : int? handicap,</span>
|
||||
<span id="L106"><span class="lineNum"> 106</span> : String? status,</span>
|
||||
<span id="L107"><span class="lineNum"> 107</span> : DateTime? createdAt,</span>
|
||||
<span id="L108"><span class="lineNum"> 108</span> : DateTime? updatedAt,</span>
|
||||
<span id="L109"><span class="lineNum"> 109</span> : DateTime? birthDate,</span>
|
||||
<span id="L110"><span class="lineNum"> 110</span> : }) {</span>
|
||||
<span id="L111"><span class="lineNum"> 111</span> <span class="tlaGNC"> 1 : return Member(</span></span>
|
||||
<span id="L112"><span class="lineNum"> 112</span> <span class="tlaGNC"> 1 : id: id ?? this.id,</span></span>
|
||||
<span id="L113"><span class="lineNum"> 113</span> <span class="tlaGNC"> 1 : userId: userId ?? this.userId,</span></span>
|
||||
<span id="L114"><span class="lineNum"> 114</span> <span class="tlaGNC"> 1 : clubId: clubId ?? this.clubId,</span></span>
|
||||
<span id="L115"><span class="lineNum"> 115</span> <span class="tlaUNC"> 0 : name: name ?? this.name,</span></span>
|
||||
<span id="L116"><span class="lineNum"> 116</span> <span class="tlaUNC"> 0 : email: email ?? this.email,</span></span>
|
||||
<span id="L117"><span class="lineNum"> 117</span> <span class="tlaUNC"> 0 : role: role ?? this.role,</span></span>
|
||||
<span id="L118"><span class="lineNum"> 118</span> <span class="tlaGNC"> 1 : profileImage: profileImage ?? this.profileImage,</span></span>
|
||||
<span id="L119"><span class="lineNum"> 119</span> <span class="tlaGNC"> 1 : phone: phone ?? this.phone,</span></span>
|
||||
<span id="L120"><span class="lineNum"> 120</span> <span class="tlaGNC"> 1 : address: address ?? this.address,</span></span>
|
||||
<span id="L121"><span class="lineNum"> 121</span> <span class="tlaGNC"> 1 : joinDate: joinDate ?? this.joinDate,</span></span>
|
||||
<span id="L122"><span class="lineNum"> 122</span> <span class="tlaGNC"> 1 : isActive: isActive ?? this.isActive,</span></span>
|
||||
<span id="L123"><span class="lineNum"> 123</span> <span class="tlaGNC"> 1 : gender: gender ?? this.gender,</span></span>
|
||||
<span id="L124"><span class="lineNum"> 124</span> <span class="tlaGNC"> 1 : memberType: memberType ?? this.memberType,</span></span>
|
||||
<span id="L125"><span class="lineNum"> 125</span> <span class="tlaGNC"> 1 : handicap: handicap ?? this.handicap,</span></span>
|
||||
<span id="L126"><span class="lineNum"> 126</span> <span class="tlaGNC"> 1 : status: status ?? this.status,</span></span>
|
||||
<span id="L127"><span class="lineNum"> 127</span> <span class="tlaGNC"> 1 : createdAt: createdAt ?? this.createdAt,</span></span>
|
||||
<span id="L128"><span class="lineNum"> 128</span> <span class="tlaGNC"> 1 : updatedAt: updatedAt ?? this.updatedAt,</span></span>
|
||||
<span id="L129"><span class="lineNum"> 129</span> <span class="tlaGNC"> 1 : birthDate: birthDate ?? this.birthDate,</span></span>
|
||||
<span id="L130"><span class="lineNum"> 130</span> : );</span>
|
||||
<span id="L131"><span class="lineNum"> 131</span> : }</span>
|
||||
<span id="L132"><span class="lineNum"> 132</span> : }</span>
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.3.1-1</a></td></tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,158 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>LCOV - lcov.info - lib/models/participant_model.dart</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../gcov.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<table cellpadding=1 border=0 width="100%">
|
||||
<tr>
|
||||
<td width="10%" class="headerItem">Current view:</td>
|
||||
<td width="10%" class="headerValue"><a href="../../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory lib/models">lib/models</a> - participant_model.dart</td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test:</td>
|
||||
<td class="headerValue">lcov.info</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Lines:</td>
|
||||
<td class="headerCovTableEntryLo">51.4 %</td>
|
||||
<td class="headerCovTableEntry">37</td>
|
||||
<td class="headerCovTableEntry">19</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test Date:</td>
|
||||
<td class="headerValue">2025-08-12 03:21:51</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntryHi">-</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
</tr>
|
||||
<tr><td><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
|
||||
<table cellpadding=0 cellspacing=0 border=0>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<pre class="sourceHeading"> Line data Source code</pre>
|
||||
<pre class="source">
|
||||
<span id="L1"><span class="lineNum"> 1</span> : class Participant {</span>
|
||||
<span id="L2"><span class="lineNum"> 2</span> : final String id;</span>
|
||||
<span id="L3"><span class="lineNum"> 3</span> : final String eventId;</span>
|
||||
<span id="L4"><span class="lineNum"> 4</span> : final String memberId;</span>
|
||||
<span id="L5"><span class="lineNum"> 5</span> : final String? name;</span>
|
||||
<span id="L6"><span class="lineNum"> 6</span> : final String? email;</span>
|
||||
<span id="L7"><span class="lineNum"> 7</span> : final String? phoneNumber;</span>
|
||||
<span id="L8"><span class="lineNum"> 8</span> : final String? status; // 'registered', 'confirmed', 'cancelled', 'attended'</span>
|
||||
<span id="L9"><span class="lineNum"> 9</span> : final DateTime? registeredAt;</span>
|
||||
<span id="L10"><span class="lineNum"> 10</span> : final DateTime? confirmedAt;</span>
|
||||
<span id="L11"><span class="lineNum"> 11</span> : final DateTime? cancelledAt;</span>
|
||||
<span id="L12"><span class="lineNum"> 12</span> : final DateTime? attendedAt;</span>
|
||||
<span id="L13"><span class="lineNum"> 13</span> : final bool isPaid;</span>
|
||||
<span id="L14"><span class="lineNum"> 14</span> : final double? paidAmount;</span>
|
||||
<span id="L15"><span class="lineNum"> 15</span> : final String? notes;</span>
|
||||
<span id="L16"><span class="lineNum"> 16</span> : final DateTime? createdAt;</span>
|
||||
<span id="L17"><span class="lineNum"> 17</span> : final DateTime? updatedAt;</span>
|
||||
<span id="L18"><span class="lineNum"> 18</span> : String? memberType; // 회원 유형 필드 추가: '정회원', '준회원', '게스트' 등</span>
|
||||
<span id="L19"><span class="lineNum"> 19</span> : </span>
|
||||
<span id="L20"><span class="lineNum"> 20</span> <span class="tlaGNC"> 5 : Participant({</span></span>
|
||||
<span id="L21"><span class="lineNum"> 21</span> : required this.id,</span>
|
||||
<span id="L22"><span class="lineNum"> 22</span> : required this.eventId,</span>
|
||||
<span id="L23"><span class="lineNum"> 23</span> : required this.memberId,</span>
|
||||
<span id="L24"><span class="lineNum"> 24</span> : this.name,</span>
|
||||
<span id="L25"><span class="lineNum"> 25</span> : this.email,</span>
|
||||
<span id="L26"><span class="lineNum"> 26</span> : this.phoneNumber,</span>
|
||||
<span id="L27"><span class="lineNum"> 27</span> : this.status,</span>
|
||||
<span id="L28"><span class="lineNum"> 28</span> : this.registeredAt,</span>
|
||||
<span id="L29"><span class="lineNum"> 29</span> : this.confirmedAt,</span>
|
||||
<span id="L30"><span class="lineNum"> 30</span> : this.cancelledAt,</span>
|
||||
<span id="L31"><span class="lineNum"> 31</span> : this.attendedAt,</span>
|
||||
<span id="L32"><span class="lineNum"> 32</span> : this.isPaid = false,</span>
|
||||
<span id="L33"><span class="lineNum"> 33</span> : this.paidAmount,</span>
|
||||
<span id="L34"><span class="lineNum"> 34</span> : this.notes,</span>
|
||||
<span id="L35"><span class="lineNum"> 35</span> : this.createdAt,</span>
|
||||
<span id="L36"><span class="lineNum"> 36</span> : this.updatedAt,</span>
|
||||
<span id="L37"><span class="lineNum"> 37</span> : });</span>
|
||||
<span id="L38"><span class="lineNum"> 38</span> : </span>
|
||||
<span id="L39"><span class="lineNum"> 39</span> : // JSON 데이터로부터 Participant 객체 생성</span>
|
||||
<span id="L40"><span class="lineNum"> 40</span> <span class="tlaGNC"> 2 : factory Participant.fromJson(Map<String, dynamic> json) {</span></span>
|
||||
<span id="L41"><span class="lineNum"> 41</span> <span class="tlaGNC"> 2 : return Participant(</span></span>
|
||||
<span id="L42"><span class="lineNum"> 42</span> <span class="tlaGNC"> 4 : id: json['id']?.toString() ?? '',</span></span>
|
||||
<span id="L43"><span class="lineNum"> 43</span> <span class="tlaGNC"> 4 : eventId: json['eventId']?.toString() ?? '',</span></span>
|
||||
<span id="L44"><span class="lineNum"> 44</span> <span class="tlaGNC"> 4 : memberId: json['memberId']?.toString() ?? '',</span></span>
|
||||
<span id="L45"><span class="lineNum"> 45</span> <span class="tlaGNC"> 4 : name: json['name']?.toString(),</span></span>
|
||||
<span id="L46"><span class="lineNum"> 46</span> <span class="tlaGNC"> 2 : email: json['email']?.toString(),</span></span>
|
||||
<span id="L47"><span class="lineNum"> 47</span> <span class="tlaGNC"> 2 : phoneNumber: json['phoneNumber']?.toString(),</span></span>
|
||||
<span id="L48"><span class="lineNum"> 48</span> <span class="tlaGNC"> 3 : status: json['status']?.toString(),</span></span>
|
||||
<span id="L49"><span class="lineNum"> 49</span> <span class="tlaGNC"> 2 : registeredAt: json['registeredAt'] != null ? DateTime.parse(json['registeredAt'].toString()) : null,</span></span>
|
||||
<span id="L50"><span class="lineNum"> 50</span> <span class="tlaGNC"> 2 : confirmedAt: json['confirmedAt'] != null ? DateTime.parse(json['confirmedAt'].toString()) : null,</span></span>
|
||||
<span id="L51"><span class="lineNum"> 51</span> <span class="tlaGNC"> 2 : cancelledAt: json['cancelledAt'] != null ? DateTime.parse(json['cancelledAt'].toString()) : null,</span></span>
|
||||
<span id="L52"><span class="lineNum"> 52</span> <span class="tlaGNC"> 2 : attendedAt: json['attendedAt'] != null ? DateTime.parse(json['attendedAt'].toString()) : null,</span></span>
|
||||
<span id="L53"><span class="lineNum"> 53</span> <span class="tlaGNC"> 2 : isPaid: json['isPaid'] ?? false,</span></span>
|
||||
<span id="L54"><span class="lineNum"> 54</span> <span class="tlaGNC"> 2 : paidAmount: json['paidAmount'] != null ? double.tryParse(json['paidAmount'].toString()) : null,</span></span>
|
||||
<span id="L55"><span class="lineNum"> 55</span> <span class="tlaGNC"> 2 : notes: json['notes']?.toString(),</span></span>
|
||||
<span id="L56"><span class="lineNum"> 56</span> <span class="tlaGNC"> 2 : createdAt: json['createdAt'] != null ? DateTime.parse(json['createdAt'].toString()) : null,</span></span>
|
||||
<span id="L57"><span class="lineNum"> 57</span> <span class="tlaGNC"> 2 : updatedAt: json['updatedAt'] != null ? DateTime.parse(json['updatedAt'].toString()) : null,</span></span>
|
||||
<span id="L58"><span class="lineNum"> 58</span> : );</span>
|
||||
<span id="L59"><span class="lineNum"> 59</span> : }</span>
|
||||
<span id="L60"><span class="lineNum"> 60</span> : </span>
|
||||
<span id="L61"><span class="lineNum"> 61</span> : // Participant 객체를 JSON으로 변환</span>
|
||||
<span id="L62"><span class="lineNum"> 62</span> <span class="tlaUNC"> 0 : Map<String, dynamic> toJson() {</span></span>
|
||||
<span id="L63"><span class="lineNum"> 63</span> <span class="tlaUNC"> 0 : return {</span></span>
|
||||
<span id="L64"><span class="lineNum"> 64</span> <span class="tlaUNC"> 0 : 'id': id,</span></span>
|
||||
<span id="L65"><span class="lineNum"> 65</span> <span class="tlaUNC"> 0 : 'eventId': eventId,</span></span>
|
||||
<span id="L66"><span class="lineNum"> 66</span> <span class="tlaUNC"> 0 : 'memberId': memberId,</span></span>
|
||||
<span id="L67"><span class="lineNum"> 67</span> <span class="tlaUNC"> 0 : 'name': name,</span></span>
|
||||
<span id="L68"><span class="lineNum"> 68</span> <span class="tlaUNC"> 0 : 'email': email,</span></span>
|
||||
<span id="L69"><span class="lineNum"> 69</span> <span class="tlaUNC"> 0 : 'phoneNumber': phoneNumber,</span></span>
|
||||
<span id="L70"><span class="lineNum"> 70</span> <span class="tlaUNC"> 0 : 'status': status,</span></span>
|
||||
<span id="L71"><span class="lineNum"> 71</span> <span class="tlaUNC"> 0 : 'registeredAt': registeredAt?.toIso8601String(),</span></span>
|
||||
<span id="L72"><span class="lineNum"> 72</span> <span class="tlaUNC"> 0 : 'confirmedAt': confirmedAt?.toIso8601String(),</span></span>
|
||||
<span id="L73"><span class="lineNum"> 73</span> <span class="tlaUNC"> 0 : 'cancelledAt': cancelledAt?.toIso8601String(),</span></span>
|
||||
<span id="L74"><span class="lineNum"> 74</span> <span class="tlaUNC"> 0 : 'attendedAt': attendedAt?.toIso8601String(),</span></span>
|
||||
<span id="L75"><span class="lineNum"> 75</span> <span class="tlaUNC"> 0 : 'isPaid': isPaid,</span></span>
|
||||
<span id="L76"><span class="lineNum"> 76</span> <span class="tlaUNC"> 0 : 'paidAmount': paidAmount,</span></span>
|
||||
<span id="L77"><span class="lineNum"> 77</span> <span class="tlaUNC"> 0 : 'notes': notes,</span></span>
|
||||
<span id="L78"><span class="lineNum"> 78</span> <span class="tlaUNC"> 0 : 'createdAt': createdAt?.toIso8601String(),</span></span>
|
||||
<span id="L79"><span class="lineNum"> 79</span> <span class="tlaUNC"> 0 : 'updatedAt': updatedAt?.toIso8601String(),</span></span>
|
||||
<span id="L80"><span class="lineNum"> 80</span> : };</span>
|
||||
<span id="L81"><span class="lineNum"> 81</span> : }</span>
|
||||
<span id="L82"><span class="lineNum"> 82</span> : }</span>
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.3.1-1</a></td></tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,170 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>LCOV - lcov.info - lib/models/score_model.dart</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../gcov.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<table cellpadding=1 border=0 width="100%">
|
||||
<tr>
|
||||
<td width="10%" class="headerItem">Current view:</td>
|
||||
<td width="10%" class="headerValue"><a href="../../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory lib/models">lib/models</a> - score_model.dart</td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test:</td>
|
||||
<td class="headerValue">lcov.info</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Lines:</td>
|
||||
<td class="headerCovTableEntryHi">97.6 %</td>
|
||||
<td class="headerCovTableEntry">41</td>
|
||||
<td class="headerCovTableEntry">40</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test Date:</td>
|
||||
<td class="headerValue">2025-08-12 03:21:51</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntryHi">-</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
</tr>
|
||||
<tr><td><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
|
||||
<table cellpadding=0 cellspacing=0 border=0>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<pre class="sourceHeading"> Line data Source code</pre>
|
||||
<pre class="source">
|
||||
<span id="L1"><span class="lineNum"> 1</span> : class Score {</span>
|
||||
<span id="L2"><span class="lineNum"> 2</span> : final String id;</span>
|
||||
<span id="L3"><span class="lineNum"> 3</span> : final String memberId;</span>
|
||||
<span id="L4"><span class="lineNum"> 4</span> : final String eventId;</span>
|
||||
<span id="L5"><span class="lineNum"> 5</span> : final String clubId;</span>
|
||||
<span id="L6"><span class="lineNum"> 6</span> : final List<int> frames;</span>
|
||||
<span id="L7"><span class="lineNum"> 7</span> : final int totalScore;</span>
|
||||
<span id="L8"><span class="lineNum"> 8</span> : final int? handicap; // 핸디캡 추가</span>
|
||||
<span id="L9"><span class="lineNum"> 9</span> : final DateTime date;</span>
|
||||
<span id="L10"><span class="lineNum"> 10</span> : final String? notes;</span>
|
||||
<span id="L11"><span class="lineNum"> 11</span> : final String? participantName;</span>
|
||||
<span id="L12"><span class="lineNum"> 12</span> : </span>
|
||||
<span id="L13"><span class="lineNum"> 13</span> <span class="tlaGNC"> 8 : Score({</span></span>
|
||||
<span id="L14"><span class="lineNum"> 14</span> : required this.id,</span>
|
||||
<span id="L15"><span class="lineNum"> 15</span> : required this.memberId,</span>
|
||||
<span id="L16"><span class="lineNum"> 16</span> : required this.eventId,</span>
|
||||
<span id="L17"><span class="lineNum"> 17</span> : required this.clubId,</span>
|
||||
<span id="L18"><span class="lineNum"> 18</span> : required this.frames,</span>
|
||||
<span id="L19"><span class="lineNum"> 19</span> : required this.totalScore,</span>
|
||||
<span id="L20"><span class="lineNum"> 20</span> : this.handicap,</span>
|
||||
<span id="L21"><span class="lineNum"> 21</span> : required this.date,</span>
|
||||
<span id="L22"><span class="lineNum"> 22</span> : this.notes,</span>
|
||||
<span id="L23"><span class="lineNum"> 23</span> : this.participantName,</span>
|
||||
<span id="L24"><span class="lineNum"> 24</span> : });</span>
|
||||
<span id="L25"><span class="lineNum"> 25</span> : </span>
|
||||
<span id="L26"><span class="lineNum"> 26</span> : // 핸디캡 포함 총점 계산</span>
|
||||
<span id="L27"><span class="lineNum"> 27</span> <span class="tlaUNC"> 0 : int get totalWithHandicap => totalScore + (handicap ?? 0);</span></span>
|
||||
<span id="L28"><span class="lineNum"> 28</span> : </span>
|
||||
<span id="L29"><span class="lineNum"> 29</span> <span class="tlaGNC"> 5 : factory Score.fromJson(Map<String, dynamic> json) {</span></span>
|
||||
<span id="L30"><span class="lineNum"> 30</span> <span class="tlaGNC"> 5 : return Score(</span></span>
|
||||
<span id="L31"><span class="lineNum"> 31</span> <span class="tlaGNC"> 10 : id: json['id']?.toString() ?? '',</span></span>
|
||||
<span id="L32"><span class="lineNum"> 32</span> <span class="tlaGNC"> 9 : memberId: json['memberId']?.toString() ?? '',</span></span>
|
||||
<span id="L33"><span class="lineNum"> 33</span> <span class="tlaGNC"> 10 : eventId: json['eventId']?.toString() ?? '',</span></span>
|
||||
<span id="L34"><span class="lineNum"> 34</span> <span class="tlaGNC"> 9 : clubId: json['clubId']?.toString() ?? '',</span></span>
|
||||
<span id="L35"><span class="lineNum"> 35</span> <span class="tlaGNC"> 15 : frames: json['frames'] != null ? List<int>.from(json['frames']) : [],</span></span>
|
||||
<span id="L36"><span class="lineNum"> 36</span> <span class="tlaGNC"> 5 : totalScore: json['totalScore'] ?? 0,</span></span>
|
||||
<span id="L37"><span class="lineNum"> 37</span> <span class="tlaGNC"> 5 : handicap: json['handicap'],</span></span>
|
||||
<span id="L38"><span class="lineNum"> 38</span> <span class="tlaGNC"> 19 : date: json['date'] != null ? DateTime.parse(json['date'].toString()) : DateTime.now(),</span></span>
|
||||
<span id="L39"><span class="lineNum"> 39</span> <span class="tlaGNC"> 8 : notes: json['notes']?.toString(),</span></span>
|
||||
<span id="L40"><span class="lineNum"> 40</span> <span class="tlaGNC"> 7 : participantName: json['participantName']?.toString(),</span></span>
|
||||
<span id="L41"><span class="lineNum"> 41</span> : );</span>
|
||||
<span id="L42"><span class="lineNum"> 42</span> : }</span>
|
||||
<span id="L43"><span class="lineNum"> 43</span> : </span>
|
||||
<span id="L44"><span class="lineNum"> 44</span> <span class="tlaGNC"> 1 : Map<String, dynamic> toJson() {</span></span>
|
||||
<span id="L45"><span class="lineNum"> 45</span> <span class="tlaGNC"> 1 : return {</span></span>
|
||||
<span id="L46"><span class="lineNum"> 46</span> <span class="tlaGNC"> 1 : 'id': id,</span></span>
|
||||
<span id="L47"><span class="lineNum"> 47</span> <span class="tlaGNC"> 1 : 'memberId': memberId,</span></span>
|
||||
<span id="L48"><span class="lineNum"> 48</span> <span class="tlaGNC"> 1 : 'eventId': eventId,</span></span>
|
||||
<span id="L49"><span class="lineNum"> 49</span> <span class="tlaGNC"> 1 : 'clubId': clubId,</span></span>
|
||||
<span id="L50"><span class="lineNum"> 50</span> <span class="tlaGNC"> 1 : 'frames': frames,</span></span>
|
||||
<span id="L51"><span class="lineNum"> 51</span> <span class="tlaGNC"> 1 : 'totalScore': totalScore,</span></span>
|
||||
<span id="L52"><span class="lineNum"> 52</span> <span class="tlaGNC"> 1 : 'handicap': handicap,</span></span>
|
||||
<span id="L53"><span class="lineNum"> 53</span> <span class="tlaGNC"> 2 : 'date': date.toIso8601String(),</span></span>
|
||||
<span id="L54"><span class="lineNum"> 54</span> <span class="tlaGNC"> 1 : 'notes': notes,</span></span>
|
||||
<span id="L55"><span class="lineNum"> 55</span> <span class="tlaGNC"> 1 : 'participantName': participantName,</span></span>
|
||||
<span id="L56"><span class="lineNum"> 56</span> : };</span>
|
||||
<span id="L57"><span class="lineNum"> 57</span> : }</span>
|
||||
<span id="L58"><span class="lineNum"> 58</span> : }</span>
|
||||
<span id="L59"><span class="lineNum"> 59</span> : </span>
|
||||
<span id="L60"><span class="lineNum"> 60</span> : class ScoreStatistics {</span>
|
||||
<span id="L61"><span class="lineNum"> 61</span> : final double average;</span>
|
||||
<span id="L62"><span class="lineNum"> 62</span> : final int highScore;</span>
|
||||
<span id="L63"><span class="lineNum"> 63</span> : final int lowScore;</span>
|
||||
<span id="L64"><span class="lineNum"> 64</span> : final int gamesPlayed;</span>
|
||||
<span id="L65"><span class="lineNum"> 65</span> : final Map<String, dynamic>? additionalStats;</span>
|
||||
<span id="L66"><span class="lineNum"> 66</span> : </span>
|
||||
<span id="L67"><span class="lineNum"> 67</span> <span class="tlaGNC"> 3 : ScoreStatistics({</span></span>
|
||||
<span id="L68"><span class="lineNum"> 68</span> : required this.average,</span>
|
||||
<span id="L69"><span class="lineNum"> 69</span> : required this.highScore,</span>
|
||||
<span id="L70"><span class="lineNum"> 70</span> : required this.lowScore,</span>
|
||||
<span id="L71"><span class="lineNum"> 71</span> : required this.gamesPlayed,</span>
|
||||
<span id="L72"><span class="lineNum"> 72</span> : this.additionalStats,</span>
|
||||
<span id="L73"><span class="lineNum"> 73</span> : });</span>
|
||||
<span id="L74"><span class="lineNum"> 74</span> : </span>
|
||||
<span id="L75"><span class="lineNum"> 75</span> <span class="tlaGNC"> 3 : factory ScoreStatistics.fromJson(Map<String, dynamic> json) {</span></span>
|
||||
<span id="L76"><span class="lineNum"> 76</span> <span class="tlaGNC"> 3 : return ScoreStatistics(</span></span>
|
||||
<span id="L77"><span class="lineNum"> 77</span> <span class="tlaGNC"> 17 : average: json['average'] != null ? (json['average'] is int ? (json['average'] as int).toDouble() : json['average'].toDouble()) : 0.0,</span></span>
|
||||
<span id="L78"><span class="lineNum"> 78</span> <span class="tlaGNC"> 3 : highScore: json['highScore'] ?? 0,</span></span>
|
||||
<span id="L79"><span class="lineNum"> 79</span> <span class="tlaGNC"> 3 : lowScore: json['lowScore'] ?? 0,</span></span>
|
||||
<span id="L80"><span class="lineNum"> 80</span> <span class="tlaGNC"> 3 : gamesPlayed: json['gamesPlayed'] ?? 0,</span></span>
|
||||
<span id="L81"><span class="lineNum"> 81</span> <span class="tlaGNC"> 3 : additionalStats: json['additionalStats'],</span></span>
|
||||
<span id="L82"><span class="lineNum"> 82</span> : );</span>
|
||||
<span id="L83"><span class="lineNum"> 83</span> : }</span>
|
||||
<span id="L84"><span class="lineNum"> 84</span> : </span>
|
||||
<span id="L85"><span class="lineNum"> 85</span> <span class="tlaGNC"> 1 : Map<String, dynamic> toJson() {</span></span>
|
||||
<span id="L86"><span class="lineNum"> 86</span> <span class="tlaGNC"> 1 : return {</span></span>
|
||||
<span id="L87"><span class="lineNum"> 87</span> <span class="tlaGNC"> 1 : 'average': average,</span></span>
|
||||
<span id="L88"><span class="lineNum"> 88</span> <span class="tlaGNC"> 1 : 'highScore': highScore,</span></span>
|
||||
<span id="L89"><span class="lineNum"> 89</span> <span class="tlaGNC"> 1 : 'lowScore': lowScore,</span></span>
|
||||
<span id="L90"><span class="lineNum"> 90</span> <span class="tlaGNC"> 1 : 'gamesPlayed': gamesPlayed,</span></span>
|
||||
<span id="L91"><span class="lineNum"> 91</span> <span class="tlaGNC"> 1 : 'additionalStats': additionalStats,</span></span>
|
||||
<span id="L92"><span class="lineNum"> 92</span> : };</span>
|
||||
<span id="L93"><span class="lineNum"> 93</span> : }</span>
|
||||
<span id="L94"><span class="lineNum"> 94</span> : }</span>
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.3.1-1</a></td></tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,358 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>LCOV - lcov.info - lib/models/subscription_model.dart</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../gcov.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<table cellpadding=1 border=0 width="100%">
|
||||
<tr>
|
||||
<td width="10%" class="headerItem">Current view:</td>
|
||||
<td width="10%" class="headerValue"><a href="../../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory lib/models">lib/models</a> - subscription_model.dart</td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test:</td>
|
||||
<td class="headerValue">lcov.info</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Lines:</td>
|
||||
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||
<td class="headerCovTableEntry">92</td>
|
||||
<td class="headerCovTableEntry">92</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test Date:</td>
|
||||
<td class="headerValue">2025-08-12 03:21:51</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntryHi">-</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
</tr>
|
||||
<tr><td><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
|
||||
<table cellpadding=0 cellspacing=0 border=0>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<pre class="sourceHeading"> Line data Source code</pre>
|
||||
<pre class="source">
|
||||
<span id="L1"><span class="lineNum"> 1</span> : </span>
|
||||
<span id="L2"><span class="lineNum"> 2</span> : /// 구독 플랜 타입</span>
|
||||
<span id="L3"><span class="lineNum"> 3</span> : enum SubscriptionPlanType {</span>
|
||||
<span id="L4"><span class="lineNum"> 4</span> : free, // 무료 플랜</span>
|
||||
<span id="L5"><span class="lineNum"> 5</span> : basic, // 기본 유료 플랜</span>
|
||||
<span id="L6"><span class="lineNum"> 6</span> : premium, // 프리미엄 플랜</span>
|
||||
<span id="L7"><span class="lineNum"> 7</span> : enterprise // 기업용 플랜</span>
|
||||
<span id="L8"><span class="lineNum"> 8</span> : }</span>
|
||||
<span id="L9"><span class="lineNum"> 9</span> : </span>
|
||||
<span id="L10"><span class="lineNum"> 10</span> : /// 구독 상태</span>
|
||||
<span id="L11"><span class="lineNum"> 11</span> : enum SubscriptionStatus {</span>
|
||||
<span id="L12"><span class="lineNum"> 12</span> : active, // 활성화 상태</span>
|
||||
<span id="L13"><span class="lineNum"> 13</span> : canceled, // 취소됨 (아직 만료 안됨)</span>
|
||||
<span id="L14"><span class="lineNum"> 14</span> : expired, // 만료됨</span>
|
||||
<span id="L15"><span class="lineNum"> 15</span> : pending, // 결제 대기 중</span>
|
||||
<span id="L16"><span class="lineNum"> 16</span> : failed // 결제 실패</span>
|
||||
<span id="L17"><span class="lineNum"> 17</span> : }</span>
|
||||
<span id="L18"><span class="lineNum"> 18</span> : </span>
|
||||
<span id="L19"><span class="lineNum"> 19</span> : /// 구독 모델</span>
|
||||
<span id="L20"><span class="lineNum"> 20</span> : class Subscription {</span>
|
||||
<span id="L21"><span class="lineNum"> 21</span> : final String id;</span>
|
||||
<span id="L22"><span class="lineNum"> 22</span> : final String userId;</span>
|
||||
<span id="L23"><span class="lineNum"> 23</span> : final String? clubId;</span>
|
||||
<span id="L24"><span class="lineNum"> 24</span> : final SubscriptionPlanType planType;</span>
|
||||
<span id="L25"><span class="lineNum"> 25</span> : final SubscriptionStatus status;</span>
|
||||
<span id="L26"><span class="lineNum"> 26</span> : final DateTime startDate;</span>
|
||||
<span id="L27"><span class="lineNum"> 27</span> : final DateTime endDate;</span>
|
||||
<span id="L28"><span class="lineNum"> 28</span> : final double price;</span>
|
||||
<span id="L29"><span class="lineNum"> 29</span> : final String currency;</span>
|
||||
<span id="L30"><span class="lineNum"> 30</span> : final bool autoRenew;</span>
|
||||
<span id="L31"><span class="lineNum"> 31</span> : final Map<String, dynamic>? features;</span>
|
||||
<span id="L32"><span class="lineNum"> 32</span> : final String? paymentMethod;</span>
|
||||
<span id="L33"><span class="lineNum"> 33</span> : final String? transactionId;</span>
|
||||
<span id="L34"><span class="lineNum"> 34</span> : final DateTime createdAt;</span>
|
||||
<span id="L35"><span class="lineNum"> 35</span> : final DateTime updatedAt;</span>
|
||||
<span id="L36"><span class="lineNum"> 36</span> : </span>
|
||||
<span id="L37"><span class="lineNum"> 37</span> <span class="tlaGNC"> 3 : Subscription({</span></span>
|
||||
<span id="L38"><span class="lineNum"> 38</span> : required this.id,</span>
|
||||
<span id="L39"><span class="lineNum"> 39</span> : required this.userId,</span>
|
||||
<span id="L40"><span class="lineNum"> 40</span> : this.clubId,</span>
|
||||
<span id="L41"><span class="lineNum"> 41</span> : required this.planType,</span>
|
||||
<span id="L42"><span class="lineNum"> 42</span> : required this.status,</span>
|
||||
<span id="L43"><span class="lineNum"> 43</span> : required this.startDate,</span>
|
||||
<span id="L44"><span class="lineNum"> 44</span> : required this.endDate,</span>
|
||||
<span id="L45"><span class="lineNum"> 45</span> : required this.price,</span>
|
||||
<span id="L46"><span class="lineNum"> 46</span> : required this.currency,</span>
|
||||
<span id="L47"><span class="lineNum"> 47</span> : required this.autoRenew,</span>
|
||||
<span id="L48"><span class="lineNum"> 48</span> : this.features,</span>
|
||||
<span id="L49"><span class="lineNum"> 49</span> : this.paymentMethod,</span>
|
||||
<span id="L50"><span class="lineNum"> 50</span> : this.transactionId,</span>
|
||||
<span id="L51"><span class="lineNum"> 51</span> : required this.createdAt,</span>
|
||||
<span id="L52"><span class="lineNum"> 52</span> : required this.updatedAt,</span>
|
||||
<span id="L53"><span class="lineNum"> 53</span> : });</span>
|
||||
<span id="L54"><span class="lineNum"> 54</span> : </span>
|
||||
<span id="L55"><span class="lineNum"> 55</span> : /// JSON에서 구독 객체 생성</span>
|
||||
<span id="L56"><span class="lineNum"> 56</span> <span class="tlaGNC"> 3 : factory Subscription.fromJson(Map<String, dynamic> json) {</span></span>
|
||||
<span id="L57"><span class="lineNum"> 57</span> <span class="tlaGNC"> 3 : return Subscription(</span></span>
|
||||
<span id="L58"><span class="lineNum"> 58</span> <span class="tlaGNC"> 3 : id: json['id'],</span></span>
|
||||
<span id="L59"><span class="lineNum"> 59</span> <span class="tlaGNC"> 3 : userId: json['userId'],</span></span>
|
||||
<span id="L60"><span class="lineNum"> 60</span> <span class="tlaGNC"> 3 : clubId: json['clubId'],</span></span>
|
||||
<span id="L61"><span class="lineNum"> 61</span> <span class="tlaGNC"> 3 : planType: SubscriptionPlanType.values.firstWhere(</span></span>
|
||||
<span id="L62"><span class="lineNum"> 62</span> <span class="tlaGNC"> 18 : (e) => e.toString().split('.').last == json['planType'],</span></span>
|
||||
<span id="L63"><span class="lineNum"> 63</span> <span class="tlaGNC"> 1 : orElse: () => SubscriptionPlanType.free,</span></span>
|
||||
<span id="L64"><span class="lineNum"> 64</span> : ),</span>
|
||||
<span id="L65"><span class="lineNum"> 65</span> <span class="tlaGNC"> 3 : status: SubscriptionStatus.values.firstWhere(</span></span>
|
||||
<span id="L66"><span class="lineNum"> 66</span> <span class="tlaGNC"> 18 : (e) => e.toString().split('.').last == json['status'],</span></span>
|
||||
<span id="L67"><span class="lineNum"> 67</span> <span class="tlaGNC"> 1 : orElse: () => SubscriptionStatus.expired,</span></span>
|
||||
<span id="L68"><span class="lineNum"> 68</span> : ),</span>
|
||||
<span id="L69"><span class="lineNum"> 69</span> <span class="tlaGNC"> 6 : startDate: DateTime.parse(json['startDate']),</span></span>
|
||||
<span id="L70"><span class="lineNum"> 70</span> <span class="tlaGNC"> 6 : endDate: DateTime.parse(json['endDate']),</span></span>
|
||||
<span id="L71"><span class="lineNum"> 71</span> <span class="tlaGNC"> 6 : price: json['price'].toDouble(),</span></span>
|
||||
<span id="L72"><span class="lineNum"> 72</span> <span class="tlaGNC"> 3 : currency: json['currency'],</span></span>
|
||||
<span id="L73"><span class="lineNum"> 73</span> <span class="tlaGNC"> 3 : autoRenew: json['autoRenew'] ?? false,</span></span>
|
||||
<span id="L74"><span class="lineNum"> 74</span> <span class="tlaGNC"> 3 : features: json['features'],</span></span>
|
||||
<span id="L75"><span class="lineNum"> 75</span> <span class="tlaGNC"> 3 : paymentMethod: json['paymentMethod'],</span></span>
|
||||
<span id="L76"><span class="lineNum"> 76</span> <span class="tlaGNC"> 3 : transactionId: json['transactionId'],</span></span>
|
||||
<span id="L77"><span class="lineNum"> 77</span> <span class="tlaGNC"> 6 : createdAt: DateTime.parse(json['createdAt']),</span></span>
|
||||
<span id="L78"><span class="lineNum"> 78</span> <span class="tlaGNC"> 6 : updatedAt: DateTime.parse(json['updatedAt']),</span></span>
|
||||
<span id="L79"><span class="lineNum"> 79</span> : );</span>
|
||||
<span id="L80"><span class="lineNum"> 80</span> : }</span>
|
||||
<span id="L81"><span class="lineNum"> 81</span> : </span>
|
||||
<span id="L82"><span class="lineNum"> 82</span> : /// 구독 객체를 JSON으로 변환</span>
|
||||
<span id="L83"><span class="lineNum"> 83</span> <span class="tlaGNC"> 1 : Map<String, dynamic> toJson() {</span></span>
|
||||
<span id="L84"><span class="lineNum"> 84</span> <span class="tlaGNC"> 1 : return {</span></span>
|
||||
<span id="L85"><span class="lineNum"> 85</span> <span class="tlaGNC"> 1 : 'id': id,</span></span>
|
||||
<span id="L86"><span class="lineNum"> 86</span> <span class="tlaGNC"> 1 : 'userId': userId,</span></span>
|
||||
<span id="L87"><span class="lineNum"> 87</span> <span class="tlaGNC"> 1 : 'clubId': clubId,</span></span>
|
||||
<span id="L88"><span class="lineNum"> 88</span> <span class="tlaGNC"> 4 : 'planType': planType.toString().split('.').last,</span></span>
|
||||
<span id="L89"><span class="lineNum"> 89</span> <span class="tlaGNC"> 4 : 'status': status.toString().split('.').last,</span></span>
|
||||
<span id="L90"><span class="lineNum"> 90</span> <span class="tlaGNC"> 2 : 'startDate': startDate.toIso8601String(),</span></span>
|
||||
<span id="L91"><span class="lineNum"> 91</span> <span class="tlaGNC"> 2 : 'endDate': endDate.toIso8601String(),</span></span>
|
||||
<span id="L92"><span class="lineNum"> 92</span> <span class="tlaGNC"> 1 : 'price': price,</span></span>
|
||||
<span id="L93"><span class="lineNum"> 93</span> <span class="tlaGNC"> 1 : 'currency': currency,</span></span>
|
||||
<span id="L94"><span class="lineNum"> 94</span> <span class="tlaGNC"> 1 : 'autoRenew': autoRenew,</span></span>
|
||||
<span id="L95"><span class="lineNum"> 95</span> <span class="tlaGNC"> 1 : 'features': features,</span></span>
|
||||
<span id="L96"><span class="lineNum"> 96</span> <span class="tlaGNC"> 1 : 'paymentMethod': paymentMethod,</span></span>
|
||||
<span id="L97"><span class="lineNum"> 97</span> <span class="tlaGNC"> 1 : 'transactionId': transactionId,</span></span>
|
||||
<span id="L98"><span class="lineNum"> 98</span> <span class="tlaGNC"> 2 : 'createdAt': createdAt.toIso8601String(),</span></span>
|
||||
<span id="L99"><span class="lineNum"> 99</span> <span class="tlaGNC"> 2 : 'updatedAt': updatedAt.toIso8601String(),</span></span>
|
||||
<span id="L100"><span class="lineNum"> 100</span> : };</span>
|
||||
<span id="L101"><span class="lineNum"> 101</span> : }</span>
|
||||
<span id="L102"><span class="lineNum"> 102</span> : </span>
|
||||
<span id="L103"><span class="lineNum"> 103</span> : /// 구독이 활성 상태인지 확인</span>
|
||||
<span id="L104"><span class="lineNum"> 104</span> <span class="tlaGNC"> 3 : bool get isActive => status == SubscriptionStatus.active;</span></span>
|
||||
<span id="L105"><span class="lineNum"> 105</span> : </span>
|
||||
<span id="L106"><span class="lineNum"> 106</span> : /// 구독이 만료되었는지 확인</span>
|
||||
<span id="L107"><span class="lineNum"> 107</span> <span class="tlaGNC"> 3 : bool get isExpired => status == SubscriptionStatus.expired || </span></span>
|
||||
<span id="L108"><span class="lineNum"> 108</span> <span class="tlaGNC"> 3 : DateTime.now().isAfter(endDate);</span></span>
|
||||
<span id="L109"><span class="lineNum"> 109</span> : </span>
|
||||
<span id="L110"><span class="lineNum"> 110</span> : /// 구독 남은 일수 계산</span>
|
||||
<span id="L111"><span class="lineNum"> 111</span> <span class="tlaGNC"> 1 : int get daysLeft {</span></span>
|
||||
<span id="L112"><span class="lineNum"> 112</span> <span class="tlaGNC"> 1 : if (isExpired) return 0;</span></span>
|
||||
<span id="L113"><span class="lineNum"> 113</span> <span class="tlaGNC"> 4 : return endDate.difference(DateTime.now()).inDays;</span></span>
|
||||
<span id="L114"><span class="lineNum"> 114</span> : }</span>
|
||||
<span id="L115"><span class="lineNum"> 115</span> : </span>
|
||||
<span id="L116"><span class="lineNum"> 116</span> : /// 구독 플랜 이름 (한글)</span>
|
||||
<span id="L117"><span class="lineNum"> 117</span> <span class="tlaGNC"> 1 : String get planName {</span></span>
|
||||
<span id="L118"><span class="lineNum"> 118</span> <span class="tlaGNC"> 1 : switch (planType) {</span></span>
|
||||
<span id="L119"><span class="lineNum"> 119</span> <span class="tlaGNC"> 1 : case SubscriptionPlanType.free:</span></span>
|
||||
<span id="L120"><span class="lineNum"> 120</span> : return '무료';</span>
|
||||
<span id="L121"><span class="lineNum"> 121</span> <span class="tlaGNC"> 1 : case SubscriptionPlanType.basic:</span></span>
|
||||
<span id="L122"><span class="lineNum"> 122</span> : return '기본';</span>
|
||||
<span id="L123"><span class="lineNum"> 123</span> <span class="tlaGNC"> 1 : case SubscriptionPlanType.premium:</span></span>
|
||||
<span id="L124"><span class="lineNum"> 124</span> : return '프리미엄';</span>
|
||||
<span id="L125"><span class="lineNum"> 125</span> <span class="tlaGNC"> 1 : case SubscriptionPlanType.enterprise:</span></span>
|
||||
<span id="L126"><span class="lineNum"> 126</span> : return '기업용';</span>
|
||||
<span id="L127"><span class="lineNum"> 127</span> : }</span>
|
||||
<span id="L128"><span class="lineNum"> 128</span> : }</span>
|
||||
<span id="L129"><span class="lineNum"> 129</span> : }</span>
|
||||
<span id="L130"><span class="lineNum"> 130</span> : </span>
|
||||
<span id="L131"><span class="lineNum"> 131</span> : /// 구독 플랜 정보 모델</span>
|
||||
<span id="L132"><span class="lineNum"> 132</span> : class SubscriptionPlan {</span>
|
||||
<span id="L133"><span class="lineNum"> 133</span> : final SubscriptionPlanType type;</span>
|
||||
<span id="L134"><span class="lineNum"> 134</span> : final String name;</span>
|
||||
<span id="L135"><span class="lineNum"> 135</span> : final String description;</span>
|
||||
<span id="L136"><span class="lineNum"> 136</span> : final double monthlyPrice;</span>
|
||||
<span id="L137"><span class="lineNum"> 137</span> : final double yearlyPrice;</span>
|
||||
<span id="L138"><span class="lineNum"> 138</span> : final String currency;</span>
|
||||
<span id="L139"><span class="lineNum"> 139</span> : final List<String> features;</span>
|
||||
<span id="L140"><span class="lineNum"> 140</span> : final int maxMembers;</span>
|
||||
<span id="L141"><span class="lineNum"> 141</span> : final int maxEvents;</span>
|
||||
<span id="L142"><span class="lineNum"> 142</span> : final bool hasAdvancedStats;</span>
|
||||
<span id="L143"><span class="lineNum"> 143</span> : final bool hasCustomization;</span>
|
||||
<span id="L144"><span class="lineNum"> 144</span> : final bool hasPriority;</span>
|
||||
<span id="L145"><span class="lineNum"> 145</span> : </span>
|
||||
<span id="L146"><span class="lineNum"> 146</span> <span class="tlaGNC"> 3 : SubscriptionPlan({</span></span>
|
||||
<span id="L147"><span class="lineNum"> 147</span> : required this.type,</span>
|
||||
<span id="L148"><span class="lineNum"> 148</span> : required this.name,</span>
|
||||
<span id="L149"><span class="lineNum"> 149</span> : required this.description,</span>
|
||||
<span id="L150"><span class="lineNum"> 150</span> : required this.monthlyPrice,</span>
|
||||
<span id="L151"><span class="lineNum"> 151</span> : required this.yearlyPrice,</span>
|
||||
<span id="L152"><span class="lineNum"> 152</span> : required this.currency,</span>
|
||||
<span id="L153"><span class="lineNum"> 153</span> : required this.features,</span>
|
||||
<span id="L154"><span class="lineNum"> 154</span> : required this.maxMembers,</span>
|
||||
<span id="L155"><span class="lineNum"> 155</span> : required this.maxEvents,</span>
|
||||
<span id="L156"><span class="lineNum"> 156</span> : required this.hasAdvancedStats,</span>
|
||||
<span id="L157"><span class="lineNum"> 157</span> : required this.hasCustomization,</span>
|
||||
<span id="L158"><span class="lineNum"> 158</span> : required this.hasPriority,</span>
|
||||
<span id="L159"><span class="lineNum"> 159</span> : });</span>
|
||||
<span id="L160"><span class="lineNum"> 160</span> : </span>
|
||||
<span id="L161"><span class="lineNum"> 161</span> : /// JSON에서 구독 플랜 객체 생성</span>
|
||||
<span id="L162"><span class="lineNum"> 162</span> <span class="tlaGNC"> 1 : factory SubscriptionPlan.fromJson(Map<String, dynamic> json) {</span></span>
|
||||
<span id="L163"><span class="lineNum"> 163</span> <span class="tlaGNC"> 1 : return SubscriptionPlan(</span></span>
|
||||
<span id="L164"><span class="lineNum"> 164</span> <span class="tlaGNC"> 1 : type: SubscriptionPlanType.values.firstWhere(</span></span>
|
||||
<span id="L165"><span class="lineNum"> 165</span> <span class="tlaGNC"> 6 : (e) => e.toString().split('.').last == json['type'],</span></span>
|
||||
<span id="L166"><span class="lineNum"> 166</span> <span class="tlaGNC"> 1 : orElse: () => SubscriptionPlanType.free,</span></span>
|
||||
<span id="L167"><span class="lineNum"> 167</span> : ),</span>
|
||||
<span id="L168"><span class="lineNum"> 168</span> <span class="tlaGNC"> 1 : name: json['name'],</span></span>
|
||||
<span id="L169"><span class="lineNum"> 169</span> <span class="tlaGNC"> 1 : description: json['description'],</span></span>
|
||||
<span id="L170"><span class="lineNum"> 170</span> <span class="tlaGNC"> 2 : monthlyPrice: json['monthlyPrice'].toDouble(),</span></span>
|
||||
<span id="L171"><span class="lineNum"> 171</span> <span class="tlaGNC"> 2 : yearlyPrice: json['yearlyPrice'].toDouble(),</span></span>
|
||||
<span id="L172"><span class="lineNum"> 172</span> <span class="tlaGNC"> 1 : currency: json['currency'],</span></span>
|
||||
<span id="L173"><span class="lineNum"> 173</span> <span class="tlaGNC"> 2 : features: List<String>.from(json['features']),</span></span>
|
||||
<span id="L174"><span class="lineNum"> 174</span> <span class="tlaGNC"> 1 : maxMembers: json['maxMembers'],</span></span>
|
||||
<span id="L175"><span class="lineNum"> 175</span> <span class="tlaGNC"> 1 : maxEvents: json['maxEvents'],</span></span>
|
||||
<span id="L176"><span class="lineNum"> 176</span> <span class="tlaGNC"> 1 : hasAdvancedStats: json['hasAdvancedStats'] ?? false,</span></span>
|
||||
<span id="L177"><span class="lineNum"> 177</span> <span class="tlaGNC"> 1 : hasCustomization: json['hasCustomization'] ?? false,</span></span>
|
||||
<span id="L178"><span class="lineNum"> 178</span> <span class="tlaGNC"> 1 : hasPriority: json['hasPriority'] ?? false,</span></span>
|
||||
<span id="L179"><span class="lineNum"> 179</span> : );</span>
|
||||
<span id="L180"><span class="lineNum"> 180</span> : }</span>
|
||||
<span id="L181"><span class="lineNum"> 181</span> : </span>
|
||||
<span id="L182"><span class="lineNum"> 182</span> : /// 구독 플랜 객체를 JSON으로 변환</span>
|
||||
<span id="L183"><span class="lineNum"> 183</span> <span class="tlaGNC"> 1 : Map<String, dynamic> toJson() {</span></span>
|
||||
<span id="L184"><span class="lineNum"> 184</span> <span class="tlaGNC"> 1 : return {</span></span>
|
||||
<span id="L185"><span class="lineNum"> 185</span> <span class="tlaGNC"> 4 : 'type': type.toString().split('.').last,</span></span>
|
||||
<span id="L186"><span class="lineNum"> 186</span> <span class="tlaGNC"> 1 : 'name': name,</span></span>
|
||||
<span id="L187"><span class="lineNum"> 187</span> <span class="tlaGNC"> 1 : 'description': description,</span></span>
|
||||
<span id="L188"><span class="lineNum"> 188</span> <span class="tlaGNC"> 1 : 'monthlyPrice': monthlyPrice,</span></span>
|
||||
<span id="L189"><span class="lineNum"> 189</span> <span class="tlaGNC"> 1 : 'yearlyPrice': yearlyPrice,</span></span>
|
||||
<span id="L190"><span class="lineNum"> 190</span> <span class="tlaGNC"> 1 : 'currency': currency,</span></span>
|
||||
<span id="L191"><span class="lineNum"> 191</span> <span class="tlaGNC"> 1 : 'features': features,</span></span>
|
||||
<span id="L192"><span class="lineNum"> 192</span> <span class="tlaGNC"> 1 : 'maxMembers': maxMembers,</span></span>
|
||||
<span id="L193"><span class="lineNum"> 193</span> <span class="tlaGNC"> 1 : 'maxEvents': maxEvents,</span></span>
|
||||
<span id="L194"><span class="lineNum"> 194</span> <span class="tlaGNC"> 1 : 'hasAdvancedStats': hasAdvancedStats,</span></span>
|
||||
<span id="L195"><span class="lineNum"> 195</span> <span class="tlaGNC"> 1 : 'hasCustomization': hasCustomization,</span></span>
|
||||
<span id="L196"><span class="lineNum"> 196</span> <span class="tlaGNC"> 1 : 'hasPriority': hasPriority,</span></span>
|
||||
<span id="L197"><span class="lineNum"> 197</span> : };</span>
|
||||
<span id="L198"><span class="lineNum"> 198</span> : }</span>
|
||||
<span id="L199"><span class="lineNum"> 199</span> : </span>
|
||||
<span id="L200"><span class="lineNum"> 200</span> : /// 기본 구독 플랜 목록 반환</span>
|
||||
<span id="L201"><span class="lineNum"> 201</span> <span class="tlaGNC"> 3 : static List<SubscriptionPlan> getDefaultPlans() {</span></span>
|
||||
<span id="L202"><span class="lineNum"> 202</span> <span class="tlaGNC"> 3 : return [</span></span>
|
||||
<span id="L203"><span class="lineNum"> 203</span> <span class="tlaGNC"> 3 : SubscriptionPlan(</span></span>
|
||||
<span id="L204"><span class="lineNum"> 204</span> : type: SubscriptionPlanType.free,</span>
|
||||
<span id="L205"><span class="lineNum"> 205</span> : name: '무료',</span>
|
||||
<span id="L206"><span class="lineNum"> 206</span> : description: '소규모 클럽을 위한 기본 기능',</span>
|
||||
<span id="L207"><span class="lineNum"> 207</span> : monthlyPrice: 0,</span>
|
||||
<span id="L208"><span class="lineNum"> 208</span> : yearlyPrice: 0,</span>
|
||||
<span id="L209"><span class="lineNum"> 209</span> : currency: 'KRW',</span>
|
||||
<span id="L210"><span class="lineNum"> 210</span> <span class="tlaGNC"> 3 : features: [</span></span>
|
||||
<span id="L211"><span class="lineNum"> 211</span> : '최대 10명 회원 관리',</span>
|
||||
<span id="L212"><span class="lineNum"> 212</span> : '기본 점수 기록',</span>
|
||||
<span id="L213"><span class="lineNum"> 213</span> : '간단한 통계',</span>
|
||||
<span id="L214"><span class="lineNum"> 214</span> : ],</span>
|
||||
<span id="L215"><span class="lineNum"> 215</span> : maxMembers: 10,</span>
|
||||
<span id="L216"><span class="lineNum"> 216</span> : maxEvents: 5,</span>
|
||||
<span id="L217"><span class="lineNum"> 217</span> : hasAdvancedStats: false,</span>
|
||||
<span id="L218"><span class="lineNum"> 218</span> : hasCustomization: false,</span>
|
||||
<span id="L219"><span class="lineNum"> 219</span> : hasPriority: false,</span>
|
||||
<span id="L220"><span class="lineNum"> 220</span> : ),</span>
|
||||
<span id="L221"><span class="lineNum"> 221</span> <span class="tlaGNC"> 3 : SubscriptionPlan(</span></span>
|
||||
<span id="L222"><span class="lineNum"> 222</span> : type: SubscriptionPlanType.basic,</span>
|
||||
<span id="L223"><span class="lineNum"> 223</span> : name: '기본',</span>
|
||||
<span id="L224"><span class="lineNum"> 224</span> : description: '중소규모 클럽을 위한 확장 기능',</span>
|
||||
<span id="L225"><span class="lineNum"> 225</span> : monthlyPrice: 9900,</span>
|
||||
<span id="L226"><span class="lineNum"> 226</span> : yearlyPrice: 99000,</span>
|
||||
<span id="L227"><span class="lineNum"> 227</span> : currency: 'KRW',</span>
|
||||
<span id="L228"><span class="lineNum"> 228</span> <span class="tlaGNC"> 3 : features: [</span></span>
|
||||
<span id="L229"><span class="lineNum"> 229</span> : '최대 30명 회원 관리',</span>
|
||||
<span id="L230"><span class="lineNum"> 230</span> : '상세 점수 분석',</span>
|
||||
<span id="L231"><span class="lineNum"> 231</span> : '이벤트 관리',</span>
|
||||
<span id="L232"><span class="lineNum"> 232</span> : '회원 통계',</span>
|
||||
<span id="L233"><span class="lineNum"> 233</span> : ],</span>
|
||||
<span id="L234"><span class="lineNum"> 234</span> : maxMembers: 30,</span>
|
||||
<span id="L235"><span class="lineNum"> 235</span> : maxEvents: 20,</span>
|
||||
<span id="L236"><span class="lineNum"> 236</span> : hasAdvancedStats: true,</span>
|
||||
<span id="L237"><span class="lineNum"> 237</span> : hasCustomization: false,</span>
|
||||
<span id="L238"><span class="lineNum"> 238</span> : hasPriority: false,</span>
|
||||
<span id="L239"><span class="lineNum"> 239</span> : ),</span>
|
||||
<span id="L240"><span class="lineNum"> 240</span> <span class="tlaGNC"> 3 : SubscriptionPlan(</span></span>
|
||||
<span id="L241"><span class="lineNum"> 241</span> : type: SubscriptionPlanType.premium,</span>
|
||||
<span id="L242"><span class="lineNum"> 242</span> : name: '프리미엄',</span>
|
||||
<span id="L243"><span class="lineNum"> 243</span> : description: '대규모 클럽을 위한 고급 기능',</span>
|
||||
<span id="L244"><span class="lineNum"> 244</span> : monthlyPrice: 19900,</span>
|
||||
<span id="L245"><span class="lineNum"> 245</span> : yearlyPrice: 199000,</span>
|
||||
<span id="L246"><span class="lineNum"> 246</span> : currency: 'KRW',</span>
|
||||
<span id="L247"><span class="lineNum"> 247</span> <span class="tlaGNC"> 3 : features: [</span></span>
|
||||
<span id="L248"><span class="lineNum"> 248</span> : '무제한 회원 관리',</span>
|
||||
<span id="L249"><span class="lineNum"> 249</span> : '고급 통계 및 분석',</span>
|
||||
<span id="L250"><span class="lineNum"> 250</span> : '무제한 이벤트',</span>
|
||||
<span id="L251"><span class="lineNum"> 251</span> : '맞춤형 보고서',</span>
|
||||
<span id="L252"><span class="lineNum"> 252</span> : '우선 지원',</span>
|
||||
<span id="L253"><span class="lineNum"> 253</span> : ],</span>
|
||||
<span id="L254"><span class="lineNum"> 254</span> : maxMembers: 100,</span>
|
||||
<span id="L255"><span class="lineNum"> 255</span> : maxEvents: 100,</span>
|
||||
<span id="L256"><span class="lineNum"> 256</span> : hasAdvancedStats: true,</span>
|
||||
<span id="L257"><span class="lineNum"> 257</span> : hasCustomization: true,</span>
|
||||
<span id="L258"><span class="lineNum"> 258</span> : hasPriority: true,</span>
|
||||
<span id="L259"><span class="lineNum"> 259</span> : ),</span>
|
||||
<span id="L260"><span class="lineNum"> 260</span> <span class="tlaGNC"> 3 : SubscriptionPlan(</span></span>
|
||||
<span id="L261"><span class="lineNum"> 261</span> : type: SubscriptionPlanType.enterprise,</span>
|
||||
<span id="L262"><span class="lineNum"> 262</span> : name: '기업용',</span>
|
||||
<span id="L263"><span class="lineNum"> 263</span> : description: '프로 클럽 및 단체를 위한 맞춤형 솔루션',</span>
|
||||
<span id="L264"><span class="lineNum"> 264</span> : monthlyPrice: 49900,</span>
|
||||
<span id="L265"><span class="lineNum"> 265</span> : yearlyPrice: 499000,</span>
|
||||
<span id="L266"><span class="lineNum"> 266</span> : currency: 'KRW',</span>
|
||||
<span id="L267"><span class="lineNum"> 267</span> <span class="tlaGNC"> 3 : features: [</span></span>
|
||||
<span id="L268"><span class="lineNum"> 268</span> : '무제한 회원 및 이벤트',</span>
|
||||
<span id="L269"><span class="lineNum"> 269</span> : '전문가 수준 분석',</span>
|
||||
<span id="L270"><span class="lineNum"> 270</span> : '맞춤형 기능',</span>
|
||||
<span id="L271"><span class="lineNum"> 271</span> : '전담 지원',</span>
|
||||
<span id="L272"><span class="lineNum"> 272</span> : 'API 액세스',</span>
|
||||
<span id="L273"><span class="lineNum"> 273</span> : ],</span>
|
||||
<span id="L274"><span class="lineNum"> 274</span> : maxMembers: 1000,</span>
|
||||
<span id="L275"><span class="lineNum"> 275</span> : maxEvents: 1000,</span>
|
||||
<span id="L276"><span class="lineNum"> 276</span> : hasAdvancedStats: true,</span>
|
||||
<span id="L277"><span class="lineNum"> 277</span> : hasCustomization: true,</span>
|
||||
<span id="L278"><span class="lineNum"> 278</span> : hasPriority: true,</span>
|
||||
<span id="L279"><span class="lineNum"> 279</span> : ),</span>
|
||||
<span id="L280"><span class="lineNum"> 280</span> : ];</span>
|
||||
<span id="L281"><span class="lineNum"> 281</span> : }</span>
|
||||
<span id="L282"><span class="lineNum"> 282</span> : }</span>
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.3.1-1</a></td></tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,121 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>LCOV - lcov.info - lib/models/team_model.dart</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../gcov.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<table cellpadding=1 border=0 width="100%">
|
||||
<tr>
|
||||
<td width="10%" class="headerItem">Current view:</td>
|
||||
<td width="10%" class="headerValue"><a href="../../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory lib/models">lib/models</a> - team_model.dart</td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test:</td>
|
||||
<td class="headerValue">lcov.info</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Lines:</td>
|
||||
<td class="headerCovTableEntryHi">100.0 %</td>
|
||||
<td class="headerCovTableEntry">19</td>
|
||||
<td class="headerCovTableEntry">19</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test Date:</td>
|
||||
<td class="headerValue">2025-08-12 03:21:51</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntryHi">-</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
</tr>
|
||||
<tr><td><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
|
||||
<table cellpadding=0 cellspacing=0 border=0>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<pre class="sourceHeading"> Line data Source code</pre>
|
||||
<pre class="source">
|
||||
<span id="L1"><span class="lineNum"> 1</span> : class Team {</span>
|
||||
<span id="L2"><span class="lineNum"> 2</span> : final String id;</span>
|
||||
<span id="L3"><span class="lineNum"> 3</span> : final String eventId;</span>
|
||||
<span id="L4"><span class="lineNum"> 4</span> : final String name;</span>
|
||||
<span id="L5"><span class="lineNum"> 5</span> : final List<String> memberIds;</span>
|
||||
<span id="L6"><span class="lineNum"> 6</span> : final String? description;</span>
|
||||
<span id="L7"><span class="lineNum"> 7</span> : final DateTime? createdAt;</span>
|
||||
<span id="L8"><span class="lineNum"> 8</span> : final DateTime? updatedAt;</span>
|
||||
<span id="L9"><span class="lineNum"> 9</span> : </span>
|
||||
<span id="L10"><span class="lineNum"> 10</span> <span class="tlaGNC"> 2 : Team({</span></span>
|
||||
<span id="L11"><span class="lineNum"> 11</span> : required this.id,</span>
|
||||
<span id="L12"><span class="lineNum"> 12</span> : required this.eventId,</span>
|
||||
<span id="L13"><span class="lineNum"> 13</span> : required this.name,</span>
|
||||
<span id="L14"><span class="lineNum"> 14</span> : required this.memberIds,</span>
|
||||
<span id="L15"><span class="lineNum"> 15</span> : this.description,</span>
|
||||
<span id="L16"><span class="lineNum"> 16</span> : this.createdAt,</span>
|
||||
<span id="L17"><span class="lineNum"> 17</span> : this.updatedAt,</span>
|
||||
<span id="L18"><span class="lineNum"> 18</span> : });</span>
|
||||
<span id="L19"><span class="lineNum"> 19</span> : </span>
|
||||
<span id="L20"><span class="lineNum"> 20</span> : // JSON 데이터로부터 Team 객체 생성</span>
|
||||
<span id="L21"><span class="lineNum"> 21</span> <span class="tlaGNC"> 1 : factory Team.fromJson(Map<String, dynamic> json) {</span></span>
|
||||
<span id="L22"><span class="lineNum"> 22</span> <span class="tlaGNC"> 1 : return Team(</span></span>
|
||||
<span id="L23"><span class="lineNum"> 23</span> <span class="tlaGNC"> 2 : id: json['id']?.toString() ?? '',</span></span>
|
||||
<span id="L24"><span class="lineNum"> 24</span> <span class="tlaGNC"> 2 : eventId: json['eventId']?.toString() ?? '',</span></span>
|
||||
<span id="L25"><span class="lineNum"> 25</span> <span class="tlaGNC"> 2 : name: json['name']?.toString() ?? '',</span></span>
|
||||
<span id="L26"><span class="lineNum"> 26</span> <span class="tlaGNC"> 3 : memberIds: json['memberIds'] != null ? List<String>.from(json['memberIds']) : [],</span></span>
|
||||
<span id="L27"><span class="lineNum"> 27</span> <span class="tlaGNC"> 1 : description: json['description']?.toString(),</span></span>
|
||||
<span id="L28"><span class="lineNum"> 28</span> <span class="tlaGNC"> 1 : createdAt: json['createdAt'] != null ? DateTime.parse(json['createdAt'].toString()) : null,</span></span>
|
||||
<span id="L29"><span class="lineNum"> 29</span> <span class="tlaGNC"> 1 : updatedAt: json['updatedAt'] != null ? DateTime.parse(json['updatedAt'].toString()) : null,</span></span>
|
||||
<span id="L30"><span class="lineNum"> 30</span> : );</span>
|
||||
<span id="L31"><span class="lineNum"> 31</span> : }</span>
|
||||
<span id="L32"><span class="lineNum"> 32</span> : </span>
|
||||
<span id="L33"><span class="lineNum"> 33</span> : // Team 객체를 JSON으로 변환</span>
|
||||
<span id="L34"><span class="lineNum"> 34</span> <span class="tlaGNC"> 1 : Map<String, dynamic> toJson() {</span></span>
|
||||
<span id="L35"><span class="lineNum"> 35</span> <span class="tlaGNC"> 1 : return {</span></span>
|
||||
<span id="L36"><span class="lineNum"> 36</span> <span class="tlaGNC"> 1 : 'id': id,</span></span>
|
||||
<span id="L37"><span class="lineNum"> 37</span> <span class="tlaGNC"> 1 : 'eventId': eventId,</span></span>
|
||||
<span id="L38"><span class="lineNum"> 38</span> <span class="tlaGNC"> 1 : 'name': name,</span></span>
|
||||
<span id="L39"><span class="lineNum"> 39</span> <span class="tlaGNC"> 1 : 'memberIds': memberIds,</span></span>
|
||||
<span id="L40"><span class="lineNum"> 40</span> <span class="tlaGNC"> 1 : 'description': description,</span></span>
|
||||
<span id="L41"><span class="lineNum"> 41</span> <span class="tlaGNC"> 1 : 'createdAt': createdAt?.toIso8601String(),</span></span>
|
||||
<span id="L42"><span class="lineNum"> 42</span> <span class="tlaGNC"> 1 : 'updatedAt': updatedAt?.toIso8601String(),</span></span>
|
||||
<span id="L43"><span class="lineNum"> 43</span> : };</span>
|
||||
<span id="L44"><span class="lineNum"> 44</span> : }</span>
|
||||
<span id="L45"><span class="lineNum"> 45</span> : }</span>
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.3.1-1</a></td></tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,120 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>LCOV - lcov.info - lib/models/tie_breaker_option.dart</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../gcov.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<table cellpadding=1 border=0 width="100%">
|
||||
<tr>
|
||||
<td width="10%" class="headerItem">Current view:</td>
|
||||
<td width="10%" class="headerValue"><a href="../../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory lib/models">lib/models</a> - tie_breaker_option.dart</td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test:</td>
|
||||
<td class="headerValue">lcov.info</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Lines:</td>
|
||||
<td class="headerCovTableEntryLo">0.0 %</td>
|
||||
<td class="headerCovTableEntry">9</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test Date:</td>
|
||||
<td class="headerValue">2025-08-12 03:21:51</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntryHi">-</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
</tr>
|
||||
<tr><td><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
|
||||
<table cellpadding=0 cellspacing=0 border=0>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<pre class="sourceHeading"> Line data Source code</pre>
|
||||
<pre class="source">
|
||||
<span id="L1"><span class="lineNum"> 1</span> : /// 동점자 처리 옵션 열거형</span>
|
||||
<span id="L2"><span class="lineNum"> 2</span> : enum TieBreakerOption {</span>
|
||||
<span id="L3"><span class="lineNum"> 3</span> : /// 핸디캡을 적게 받은 사람이 우선(마이너스 포함)</span>
|
||||
<span id="L4"><span class="lineNum"> 4</span> : lowerHandicap,</span>
|
||||
<span id="L5"><span class="lineNum"> 5</span> : </span>
|
||||
<span id="L6"><span class="lineNum"> 6</span> : /// 같은 이벤트 내 게임 중 하이 점수와 로우 점수의 격차가 적은 사람이 우선</span>
|
||||
<span id="L7"><span class="lineNum"> 7</span> : lowerScoreGap,</span>
|
||||
<span id="L8"><span class="lineNum"> 8</span> : </span>
|
||||
<span id="L9"><span class="lineNum"> 9</span> : /// 연장자 우선</span>
|
||||
<span id="L10"><span class="lineNum"> 10</span> : olderAge,</span>
|
||||
<span id="L11"><span class="lineNum"> 11</span> : </span>
|
||||
<span id="L12"><span class="lineNum"> 12</span> : /// 기본값: 동점자 처리 없음 (동일 순위 표시)</span>
|
||||
<span id="L13"><span class="lineNum"> 13</span> : none;</span>
|
||||
<span id="L14"><span class="lineNum"> 14</span> : </span>
|
||||
<span id="L15"><span class="lineNum"> 15</span> : /// 열거형 값을 문자열로 변환</span>
|
||||
<span id="L16"><span class="lineNum"> 16</span> <span class="tlaUNC"> 0 : String toDisplayString() {</span></span>
|
||||
<span id="L17"><span class="lineNum"> 17</span> : switch (this) {</span>
|
||||
<span id="L18"><span class="lineNum"> 18</span> <span class="tlaUNC"> 0 : case TieBreakerOption.lowerHandicap:</span></span>
|
||||
<span id="L19"><span class="lineNum"> 19</span> : return '핸디캡이 적은 사람 우선';</span>
|
||||
<span id="L20"><span class="lineNum"> 20</span> <span class="tlaUNC"> 0 : case TieBreakerOption.lowerScoreGap:</span></span>
|
||||
<span id="L21"><span class="lineNum"> 21</span> : return '점수 격차가 적은 사람 우선';</span>
|
||||
<span id="L22"><span class="lineNum"> 22</span> <span class="tlaUNC"> 0 : case TieBreakerOption.olderAge:</span></span>
|
||||
<span id="L23"><span class="lineNum"> 23</span> : return '연장자 우선';</span>
|
||||
<span id="L24"><span class="lineNum"> 24</span> <span class="tlaUNC"> 0 : case TieBreakerOption.none:</span></span>
|
||||
<span id="L25"><span class="lineNum"> 25</span> : return '동점자 처리 없음';</span>
|
||||
<span id="L26"><span class="lineNum"> 26</span> : }</span>
|
||||
<span id="L27"><span class="lineNum"> 27</span> : }</span>
|
||||
<span id="L28"><span class="lineNum"> 28</span> : </span>
|
||||
<span id="L29"><span class="lineNum"> 29</span> : /// 문자열에서 열거형 값으로 변환</span>
|
||||
<span id="L30"><span class="lineNum"> 30</span> <span class="tlaUNC"> 0 : static TieBreakerOption fromString(String? value) {</span></span>
|
||||
<span id="L31"><span class="lineNum"> 31</span> : if (value == null) return TieBreakerOption.none;</span>
|
||||
<span id="L32"><span class="lineNum"> 32</span> : </span>
|
||||
<span id="L33"><span class="lineNum"> 33</span> : switch (value) {</span>
|
||||
<span id="L34"><span class="lineNum"> 34</span> <span class="tlaUNC"> 0 : case 'lowerHandicap':</span></span>
|
||||
<span id="L35"><span class="lineNum"> 35</span> : return TieBreakerOption.lowerHandicap;</span>
|
||||
<span id="L36"><span class="lineNum"> 36</span> <span class="tlaUNC"> 0 : case 'lowerScoreGap':</span></span>
|
||||
<span id="L37"><span class="lineNum"> 37</span> : return TieBreakerOption.lowerScoreGap;</span>
|
||||
<span id="L38"><span class="lineNum"> 38</span> <span class="tlaUNC"> 0 : case 'olderAge':</span></span>
|
||||
<span id="L39"><span class="lineNum"> 39</span> : return TieBreakerOption.olderAge;</span>
|
||||
<span id="L40"><span class="lineNum"> 40</span> : default:</span>
|
||||
<span id="L41"><span class="lineNum"> 41</span> : return TieBreakerOption.none;</span>
|
||||
<span id="L42"><span class="lineNum"> 42</span> : }</span>
|
||||
<span id="L43"><span class="lineNum"> 43</span> : }</span>
|
||||
<span id="L44"><span class="lineNum"> 44</span> : }</span>
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.3.1-1</a></td></tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,121 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>LCOV - lcov.info - lib/models/user_model.dart</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../gcov.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="title">LCOV - code coverage report</td></tr>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
|
||||
<tr>
|
||||
<td width="100%">
|
||||
<table cellpadding=1 border=0 width="100%">
|
||||
<tr>
|
||||
<td width="10%" class="headerItem">Current view:</td>
|
||||
<td width="10%" class="headerValue"><a href="../../index.html" title="Click to go to top-level">top level</a> - <a href="index.html" title="Click to go to directory lib/models">lib/models</a> - user_model.dart</td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%"></td>
|
||||
<td width="5%" class="headerCovTableHead">Coverage</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
|
||||
<td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test:</td>
|
||||
<td class="headerValue">lcov.info</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Lines:</td>
|
||||
<td class="headerCovTableEntryLo">0.0 %</td>
|
||||
<td class="headerCovTableEntry">19</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="headerItem">Test Date:</td>
|
||||
<td class="headerValue">2025-08-12 03:21:51</td>
|
||||
<td></td>
|
||||
<td class="headerItem">Functions:</td>
|
||||
<td class="headerCovTableEntryHi">-</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
<td class="headerCovTableEntry">0</td>
|
||||
</tr>
|
||||
<tr><td><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
</table>
|
||||
|
||||
<table cellpadding=0 cellspacing=0 border=0>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<pre class="sourceHeading"> Line data Source code</pre>
|
||||
<pre class="source">
|
||||
<span id="L1"><span class="lineNum"> 1</span> : class User {</span>
|
||||
<span id="L2"><span class="lineNum"> 2</span> : final String id;</span>
|
||||
<span id="L3"><span class="lineNum"> 3</span> : final String email;</span>
|
||||
<span id="L4"><span class="lineNum"> 4</span> : final String name;</span>
|
||||
<span id="L5"><span class="lineNum"> 5</span> : final String role;</span>
|
||||
<span id="L6"><span class="lineNum"> 6</span> : final String? profileImage;</span>
|
||||
<span id="L7"><span class="lineNum"> 7</span> : final String? clubId;</span>
|
||||
<span id="L8"><span class="lineNum"> 8</span> : final String? clubRole;</span>
|
||||
<span id="L9"><span class="lineNum"> 9</span> : </span>
|
||||
<span id="L10"><span class="lineNum"> 10</span> <span class="tlaUNC"> 0 : User({</span></span>
|
||||
<span id="L11"><span class="lineNum"> 11</span> : required this.id,</span>
|
||||
<span id="L12"><span class="lineNum"> 12</span> : required this.email,</span>
|
||||
<span id="L13"><span class="lineNum"> 13</span> : required this.name,</span>
|
||||
<span id="L14"><span class="lineNum"> 14</span> : required this.role,</span>
|
||||
<span id="L15"><span class="lineNum"> 15</span> : this.profileImage,</span>
|
||||
<span id="L16"><span class="lineNum"> 16</span> : this.clubId,</span>
|
||||
<span id="L17"><span class="lineNum"> 17</span> : this.clubRole,</span>
|
||||
<span id="L18"><span class="lineNum"> 18</span> : });</span>
|
||||
<span id="L19"><span class="lineNum"> 19</span> : </span>
|
||||
<span id="L20"><span class="lineNum"> 20</span> : // JSON 데이터로부터 User 객체 생성</span>
|
||||
<span id="L21"><span class="lineNum"> 21</span> <span class="tlaUNC"> 0 : factory User.fromJson(Map<String, dynamic> json) {</span></span>
|
||||
<span id="L22"><span class="lineNum"> 22</span> <span class="tlaUNC"> 0 : return User(</span></span>
|
||||
<span id="L23"><span class="lineNum"> 23</span> <span class="tlaUNC"> 0 : id: json['id'] != null ? json['id'].toString() : '',</span></span>
|
||||
<span id="L24"><span class="lineNum"> 24</span> <span class="tlaUNC"> 0 : email: json['email'] ?? '',</span></span>
|
||||
<span id="L25"><span class="lineNum"> 25</span> <span class="tlaUNC"> 0 : name: json['name'] ?? '',</span></span>
|
||||
<span id="L26"><span class="lineNum"> 26</span> <span class="tlaUNC"> 0 : role: json['role'] ?? 'user',</span></span>
|
||||
<span id="L27"><span class="lineNum"> 27</span> <span class="tlaUNC"> 0 : profileImage: json['profileImage'],</span></span>
|
||||
<span id="L28"><span class="lineNum"> 28</span> <span class="tlaUNC"> 0 : clubId: json['clubId']?.toString(),</span></span>
|
||||
<span id="L29"><span class="lineNum"> 29</span> <span class="tlaUNC"> 0 : clubRole: json['clubRole'],</span></span>
|
||||
<span id="L30"><span class="lineNum"> 30</span> : );</span>
|
||||
<span id="L31"><span class="lineNum"> 31</span> : }</span>
|
||||
<span id="L32"><span class="lineNum"> 32</span> : </span>
|
||||
<span id="L33"><span class="lineNum"> 33</span> : // User 객체를 JSON으로 변환</span>
|
||||
<span id="L34"><span class="lineNum"> 34</span> <span class="tlaUNC"> 0 : Map<String, dynamic> toJson() {</span></span>
|
||||
<span id="L35"><span class="lineNum"> 35</span> <span class="tlaUNC"> 0 : return {</span></span>
|
||||
<span id="L36"><span class="lineNum"> 36</span> <span class="tlaUNC"> 0 : 'id': id,</span></span>
|
||||
<span id="L37"><span class="lineNum"> 37</span> <span class="tlaUNC"> 0 : 'email': email,</span></span>
|
||||
<span id="L38"><span class="lineNum"> 38</span> <span class="tlaUNC"> 0 : 'name': name,</span></span>
|
||||
<span id="L39"><span class="lineNum"> 39</span> <span class="tlaUNC"> 0 : 'role': role,</span></span>
|
||||
<span id="L40"><span class="lineNum"> 40</span> <span class="tlaUNC"> 0 : 'profileImage': profileImage,</span></span>
|
||||
<span id="L41"><span class="lineNum"> 41</span> <span class="tlaUNC"> 0 : 'clubId': clubId,</span></span>
|
||||
<span id="L42"><span class="lineNum"> 42</span> <span class="tlaUNC"> 0 : 'clubRole': clubRole,</span></span>
|
||||
<span id="L43"><span class="lineNum"> 43</span> : };</span>
|
||||
<span id="L44"><span class="lineNum"> 44</span> : }</span>
|
||||
<span id="L45"><span class="lineNum"> 45</span> : }</span>
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
<table width="100%" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
|
||||
<tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.3.1-1</a></td></tr>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user