fix(api): replace async block in Option::and_then with match for proper await
This commit is contained in:
parent
033cfda6c5
commit
dc193a061a
@ -336,29 +336,28 @@ pub fn create_chat_sse_stream(
|
||||
}
|
||||
|
||||
// Record billing after successful AI response
|
||||
let billing_version_id = model::Entity::find()
|
||||
let billing_version_id = match model::Entity::find()
|
||||
.filter(model::Column::Name.eq(&model_name))
|
||||
.one(service.db.reader())
|
||||
.await
|
||||
.ok()
|
||||
.flatten()
|
||||
.and_then(|m| {
|
||||
// Resolve to active/default version for pricing lookup
|
||||
{
|
||||
Some(m) => {
|
||||
let reader = service.db.reader();
|
||||
async move {
|
||||
model_version::Entity::find()
|
||||
.filter(model_version::Column::ModelId.eq(m.id))
|
||||
.filter(model_version::Column::Status.eq("active"))
|
||||
.order_by_desc(model_version::Column::IsDefault)
|
||||
.order_by_desc(model_version::Column::ReleaseDate)
|
||||
.one(reader)
|
||||
.await
|
||||
.ok()
|
||||
.flatten()
|
||||
.map(|v| v.id)
|
||||
}
|
||||
})
|
||||
.await;
|
||||
model_version::Entity::find()
|
||||
.filter(model_version::Column::ModelId.eq(m.id))
|
||||
.filter(model_version::Column::Status.eq("active"))
|
||||
.order_by_desc(model_version::Column::IsDefault)
|
||||
.order_by_desc(model_version::Column::ReleaseDate)
|
||||
.one(reader)
|
||||
.await
|
||||
.ok()
|
||||
.flatten()
|
||||
.map(|v| v.id)
|
||||
}
|
||||
None => None,
|
||||
};
|
||||
|
||||
if let Some(version_id) = billing_version_id {
|
||||
match agent::billing::record_ai_usage(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user