Skip to content

Commit fc29d84

Browse files
authored
fix: sorting (#508)
1 parent dff158e commit fc29d84

File tree

5 files changed

+27
-14
lines changed

5 files changed

+27
-14
lines changed

kubechat/db/models.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,9 @@ class CollectionSyncHistory(models.Model):
344344
start_time = models.DateTimeField()
345345
task_context = models.JSONField(default={})
346346
status = models.CharField(max_length=16, choices=CollectionSyncStatus.choices, default=CollectionSyncStatus.RUNNING)
347+
gmt_created = models.DateTimeField(auto_now_add=True, null=True)
348+
gmt_updated = models.DateTimeField(auto_now=True, null=True)
349+
gmt_deleted = models.DateTimeField(null=True, blank=True)
347350

348351
def update_execution_time(self):
349352
self.refresh_from_db()

kubechat/db/ops.py

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,20 +38,15 @@ class PagedResult(BaseModel):
3838

3939

4040
def build_pq(request) -> Optional[PagedQuery]:
41-
# FIXME this is compatible with the old frontend, once the frontend is updated,
42-
# FIXME we should do pagination and add default page_number and page_size
4341
page_number = request.GET.get('page_number')
4442
page_size = request.GET.get('page_size')
45-
if not page_number or not page_size:
46-
return None
47-
4843
match_key = request.GET.get('match_key', "")
4944
match_value = request.GET.get('match_value', "")
5045
order_by = request.GET.get('order_by', "")
5146
order_desc = request.GET.get('order_desc', "true")
5247
return PagedQuery(
53-
page_number=int(page_number),
54-
page_size=int(page_size),
48+
page_number=int(page_number) if page_number else None,
49+
page_size=int(page_size) if page_size else None,
5550
match_key=match_key,
5651
match_value=match_value,
5752
order_by=order_by,
@@ -66,13 +61,13 @@ def build_order_by(pq: PagedQuery) -> str:
6661

6762

6863
async def build_pr(pq: PagedQuery, query_set: QuerySet) -> PagedResult:
69-
if not pq:
70-
return PagedResult(count=-1, data=query_set)
64+
count = await get_count(query_set)
65+
query_set = query_set.order_by(build_order_by(pq))
66+
if not pq or not pq.page_number or not pq.page_size:
67+
return PagedResult(count=count, page_number=0, page_size=count, data=query_set)
7168

7269
offset = (pq.page_number - 1) * pq.page_size
7370
limit = pq.page_size
74-
count = await get_count(query_set)
75-
query_set = query_set.order_by(build_order_by(pq))
7671
return PagedResult(count=count, page_number=pq.page_number, page_size=pq.page_size,
7772
data=query_set[offset:offset + limit])
7873

kubechat/migrations/0007_quota_userquota_alter_botintegration_id.py renamed to kubechat/migrations/0007_quota_userquota_collectionsynchistory_gmt_created_and_more.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Generated by Django 4.2.6 on 2023-12-01 15:19
1+
# Generated by Django 4.2.6 on 2023-12-02 03:18
22

33
from django.db import migrations, models
44
import kubechat.db.models
@@ -34,6 +34,21 @@ class Migration(migrations.Migration):
3434
('gmt_deleted', models.DateTimeField(blank=True, null=True)),
3535
],
3636
),
37+
migrations.AddField(
38+
model_name='collectionsynchistory',
39+
name='gmt_created',
40+
field=models.DateTimeField(auto_now_add=True, null=True),
41+
),
42+
migrations.AddField(
43+
model_name='collectionsynchistory',
44+
name='gmt_deleted',
45+
field=models.DateTimeField(blank=True, null=True),
46+
),
47+
migrations.AddField(
48+
model_name='collectionsynchistory',
49+
name='gmt_updated',
50+
field=models.DateTimeField(auto_now=True, null=True),
51+
),
3752
migrations.AlterField(
3853
model_name='botintegration',
3954
name='id',

kubechat/tasks/sync_documents_task.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ def add_document(document):
113113
if document_limit and docs_count >= document_limit:
114114
exceeded_limit_docs.append(src_doc)
115115
continue
116-
add_document(src_doc)
116+
doc = add_document(src_doc)
117117
docs_count += 1
118118
tasks.append(add_index_for_document.s(doc.id))
119119

readers/local_path_embedding.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def load_data(self, **kwargs) -> Tuple[List[str], str, List]:
4848
sensitive_protect_method = kwargs.get('sensitive_protect_method', ProtectAction.WARNING_NOT_STORED)
4949
docs, file_name = self.reader.load_data()
5050
if not docs:
51-
return []
51+
return [], "", []
5252

5353
nodes: List[Node] = []
5454
nodes_with_embedding: List[NodeWithEmbedding] = []

0 commit comments

Comments
 (0)