refreshToken method
Future<NIMResult<V2NIMUserAIBot>>
refreshToken(
)
Implementation
Future<NIMResult<V2NIMUserAIBot>> refreshToken() async {
final accid = bot?.accid;
if (accid == null || accid.isEmpty) {
return NIMResult.failure(message: 'invalid accid');
}
final result = await NimCore.instance.aiService.refreshUserAIBotToken(
V2NIMRefreshUserAIBotTokenParams(accid: accid),
);
if (!result.isSuccess) {
return NIMResult.failure(message: result.errorDetails);
}
if (result.data?.token?.isNotEmpty == true) {
bot?.token = result.data?.token;
}
final latest = await fetchBot(accid);
if (latest.isSuccess && latest.data != null) {
latest.data!.token = latest.data!.token ?? result.data?.token;
bot = latest.data;
notifyListeners();
return latest;
}
notifyListeners();
return NIMResult.success(data: bot);
}