getTopicThreads method
Implementation
Future<List<Thread>> getTopicThreads(
String? topic, String? currentUid, int? page, int? size) async {
if (BytedeskUtils.isWeb) {
return [];
}
List<Map> maps = await database!.query(tableThread!,
columns: [
columnUid!,
columnType!,
columnContent!,
columnStatus!,
columnCreatedAt!,
columnClient!,
columnExtra!,
columnThreadTopic!,
columnUserUid!,
columnUserNickname!,
columnUserAvatar!,
columnCurrentUid!,
],
where: '$columnThreadTopic = ? and $columnCurrentUid = ?',
whereArgs: [topic, currentUid],
orderBy: '$columnCreatedAt DESC',
limit: size,
offset: page! * size!);
return List.generate(maps.length, (i) {
return Thread(
uid: maps[i][columnUid],
type: maps[i][columnType],
content: maps[i][columnContent],
status: maps[i][columnStatus],
client: maps[i][columnClient],
extra: maps[i][columnExtra],
topic: maps[i][columnThreadTopic],
user: UserProtobuf(
uid: maps[i][columnUserUid],
nickname: maps[i][columnUserNickname],
avatar: maps[i][columnUserAvatar],
),
);
});
}