@@ -9,6 +9,7 @@ class Forum {
99 final String createdByUid;
1010 final DateTime createdAt;
1111 final DateTime updatedAt;
12+ final String ? avatarUrl;
1213
1314 Forum ({
1415 required this .id,
@@ -19,6 +20,7 @@ class Forum {
1920 required this .createdByUid,
2021 required this .createdAt,
2122 required this .updatedAt,
23+ this .avatarUrl,
2224 });
2325
2426 factory Forum .fromJson (Map <String , dynamic > json) {
@@ -31,20 +33,23 @@ class Forum {
3133 createdByUid: json['created_by_uid' ] as String ,
3234 createdAt: DateTime .parse (json['created_at' ] as String ),
3335 updatedAt: DateTime .parse (json['updated_at' ] as String ),
36+ avatarUrl: json['avatar_url' ] as String ? ,
3437 );
3538 }
3639
37- factory Forum .fromServerRow (List <dynamic > row) {
40+ factory Forum .fromServerRow (List <dynamic > row, { String ? baseUrl} ) {
3841 final ms = ((double .tryParse (row[3 ].toString ()) ?? 0 ) * 1000 ).toInt ();
42+ final fid = row[0 ].toString ();
3943 return Forum (
40- id: row[ 0 ]. toString () ,
44+ id: fid ,
4145 name: row[1 ] as String ,
4246 description: (row[4 ] as String ? ) ?? '' ,
4347 isPublic: true ,
4448 isCommunity: true ,
4549 createdByUid: row[2 ].toString (),
4650 createdAt: DateTime .fromMillisecondsSinceEpoch (ms),
4751 updatedAt: DateTime .fromMillisecondsSinceEpoch (ms),
52+ avatarUrl: baseUrl != null ? '$baseUrl /avatar/get_avatar/forum/$fid ' : null ,
4853 );
4954 }
5055
@@ -58,6 +63,7 @@ class Forum {
5863 'created_by_uid' : createdByUid,
5964 'created_at' : createdAt.toIso8601String (),
6065 'updated_at' : updatedAt.toIso8601String (),
66+ if (avatarUrl != null ) 'avatar_url' : avatarUrl,
6167 };
6268 }
6369}
0 commit comments