mirror of https://github.com/buster-so/buster.git
Merge pull request #529 from buster-so/devin/BUS-1415-1752766195
Filter out stale asset import chats from GET /chats and /logs endpoints
This commit is contained in:
commit
3d6c7549bd
|
@ -31,8 +31,8 @@ jobs:
|
|||
- name: Build and Load API Docker Image
|
||||
uses: useblacksmith/build-push-action@v1
|
||||
with:
|
||||
context: ./api
|
||||
file: ./api/Dockerfile
|
||||
context: ./apps/api
|
||||
file: ./apps/api/Dockerfile
|
||||
push: false # Do not push, load locally for service container
|
||||
load: true # Load the image into the runner's Docker daemon
|
||||
tags: local-api-test:latest # Tag for the service definition
|
||||
|
|
|
@ -103,8 +103,8 @@ jobs:
|
|||
- name: Build and push API image
|
||||
uses: useblacksmith/build-push-action@v1
|
||||
with:
|
||||
context: ./api
|
||||
file: ./api/Dockerfile
|
||||
context: ./apps/api
|
||||
file: ./apps/api/Dockerfile
|
||||
push: true
|
||||
platforms: ${{ matrix.docker_platform }}
|
||||
tags: |
|
||||
|
|
|
@ -69,8 +69,8 @@ jobs:
|
|||
- name: Build & Load API Docker Image
|
||||
uses: useblacksmith/build-push-action@v1
|
||||
with:
|
||||
context: ./api
|
||||
file: ./api/Dockerfile
|
||||
context: ./apps/api
|
||||
file: ./apps/api/Dockerfile
|
||||
push: false
|
||||
load: true
|
||||
tags: local-api-test:latest
|
||||
|
|
|
@ -78,7 +78,7 @@ pub async fn list_chats_handler(
|
|||
request: ListChatsRequest,
|
||||
user: &AuthenticatedUser,
|
||||
) -> Result<Vec<ChatListItem>> {
|
||||
use database::schema::{asset_permissions, chats, users};
|
||||
use database::schema::{asset_permissions, chats, messages, users};
|
||||
|
||||
let mut conn = get_pg_pool().get().await?;
|
||||
|
||||
|
@ -106,6 +106,18 @@ pub async fn list_chats_handler(
|
|||
.inner_join(users::table.on(chats::created_by.eq(users::id)))
|
||||
.filter(chats::deleted_at.is_null())
|
||||
.filter(chats::title.ne("")) // Filter out empty titles
|
||||
.filter(
|
||||
diesel::dsl::exists(
|
||||
messages::table
|
||||
.filter(messages::chat_id.eq(chats::id))
|
||||
.filter(messages::request_message.is_not_null())
|
||||
.filter(messages::deleted_at.is_null())
|
||||
).or(
|
||||
diesel::dsl::sql::<diesel::sql_types::Bool>(
|
||||
"(SELECT COUNT(*) FROM messages WHERE messages.chat_id = chats.id AND messages.deleted_at IS NULL) > 1"
|
||||
)
|
||||
)
|
||||
)
|
||||
.into_boxed();
|
||||
|
||||
// Add user filter if not admin view
|
||||
|
|
|
@ -69,7 +69,7 @@ pub async fn list_logs_handler(
|
|||
request: ListLogsRequest,
|
||||
organization_id: Uuid,
|
||||
) -> Result<ListLogsResponse, anyhow::Error> {
|
||||
use database::schema::{chats, users};
|
||||
use database::schema::{chats, messages, users};
|
||||
|
||||
let mut conn = get_pg_pool().get().await?;
|
||||
|
||||
|
@ -80,6 +80,18 @@ pub async fn list_logs_handler(
|
|||
.filter(chats::organization_id.eq(organization_id))
|
||||
.filter(chats::title.ne("")) // Filter out empty titles
|
||||
.filter(chats::title.ne(" ")) // Filter out single space
|
||||
.filter(
|
||||
diesel::dsl::exists(
|
||||
messages::table
|
||||
.filter(messages::chat_id.eq(chats::id))
|
||||
.filter(messages::request_message.is_not_null())
|
||||
.filter(messages::deleted_at.is_null())
|
||||
).or(
|
||||
diesel::dsl::sql::<diesel::sql_types::Bool>(
|
||||
"(SELECT COUNT(*) FROM messages WHERE messages.chat_id = chats.id AND messages.deleted_at IS NULL) > 1"
|
||||
)
|
||||
)
|
||||
)
|
||||
.into_boxed();
|
||||
|
||||
// Calculate offset based on page number
|
||||
|
|
Loading…
Reference in New Issue