Message.fromJson constructor
Implementation
factory Message.fromJson(Map<String, dynamic> map) {
return Message(
id: DbQueryField.tryParseObjectId(map['_id']),
bsid: DbQueryField.tryParseObjectId(map['_bsid']),
time: DbQueryField.tryParseInt(map['_time']),
extra: map['_extra'] is Map ? DbJsonWraper.fromJson(map['_extra']) : map['_extra'],
trans: (map['_trans'] as List?)?.map((v) => DbQueryField.parseObjectId(v)).toList(),
sid: DbQueryField.tryParseObjectId(map['sid']),
uid: DbQueryField.tryParseObjectId(map['uid']),
from: DbQueryField.tryParseInt(map['from']),
type: DbQueryField.tryParseInt(map['type']),
title: DbQueryField.tryParseString(map['title']),
body: DbQueryField.tryParseString(map['body']),
short: DbQueryField.tryParseString(map['short']),
mediaTimeS: DbQueryField.tryParseInt(map['mediaTimeS']),
mediaTimeE: DbQueryField.tryParseInt(map['mediaTimeE']),
mediaGoing: DbQueryField.tryParseBool(map['mediaGoing']),
mediaJoined: (map['mediaJoined'] as List?)?.map((v) => DbQueryField.parseObjectId(v)).toList(),
rmbfenTotal: DbQueryField.tryParseInt(map['rmbfenTotal']),
rmbfenCount: DbQueryField.tryParseInt(map['rmbfenCount']),
rmbfenEvery: (map['rmbfenEvery'] as List?)?.map((v) => DbQueryField.parseInt(v)).toList(),
rmbfenLuckly: (map['rmbfenLuckly'] as List?)?.map((v) => DbQueryField.parseObjectId(v)).toList(),
rmbfenPending: (map['rmbfenPending'] as List?)?.map((v) => DbQueryField.parseObjectId(v)).toList(),
rmbfenUpdate: DbQueryField.tryParseInt(map['rmbfenUpdate']),
rmbfenFinished: DbQueryField.tryParseBool(map['rmbfenFinished']),
readpackNotice: (map['readpackNotice'] as List?)?.map((v) => DbQueryField.parseObjectId(v)).toList(),
shareCardId: DbQueryField.tryParseObjectId(map['shareCardId']),
shareIconUrl: DbQueryField.tryParseString(map['shareIconUrl']),
shareHeadUrl: (map['shareHeadUrl'] as List?)?.map((v) => DbQueryField.parseString(v)).toList(),
shareLinkUrl: DbQueryField.tryParseString(map['shareLinkUrl']),
shareLocation: map['shareLocation'] is Map ? Location.fromJson(map['shareLocation']) : map['shareLocation'],
customType: DbQueryField.tryParseInt(map['customType']),
revoked: DbQueryField.tryParseBool(map['revoked']),
);
}