Skip to content

Commit 47fc01a

Browse files
author
tfomkin
committed
fix: get knowledge response handling fix
1 parent 574e132 commit 47fc01a

3 files changed

Lines changed: 26 additions & 3 deletions

File tree

libs/shared/data-access/api/src/lib/knowledge/models/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ export * from './knowledge-file';
33
export * from './knowledge-data';
44
export * from './knowledge-access-control';
55
export * from './knowledge-access-control-groups';
6+
export * from './knowledge-response';
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { Expose } from 'class-transformer';
2+
import { Knowledge } from './knowledge';
3+
4+
export class KnowledgeResponse {
5+
@Expose()
6+
public items: Array<Knowledge>;
7+
8+
@Expose()
9+
public total: number;
10+
11+
constructor(response: Partial<KnowledgeResponse> = {}) {
12+
Object.assign(this, response);
13+
}
14+
}

libs/shared/data-access/api/src/lib/knowledge/service.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { plainToInstance } from 'class-transformer';
22
import { getApiService } from '@open-webui-react-native/shared/data-access/api-client';
33
import { EntityPromiseService } from '@open-webui-react-native/shared/data-access/base-entity';
44
import { knowledgeApiConfig } from './config';
5-
import { Knowledge } from './models';
5+
import { Knowledge, KnowledgeResponse } from './models';
66

77
class KnowledgeService extends EntityPromiseService<Knowledge> {
88
constructor() {
@@ -14,9 +14,17 @@ class KnowledgeService extends EntityPromiseService<Knowledge> {
1414
}
1515

1616
public async getKnowledge(): Promise<Array<Knowledge>> {
17-
const response = await getApiService().get<Array<Knowledge>>(`${knowledgeApiConfig.route}/`);
17+
const response = await getApiService().get<KnowledgeResponse>(`${knowledgeApiConfig.route}/`);
1818

19-
return response.map((item) => plainToInstance(Knowledge, item));
19+
const transformed = plainToInstance(KnowledgeResponse, response, {
20+
excludeExtraneousValues: true,
21+
});
22+
23+
return transformed.items.map((item) =>
24+
plainToInstance(Knowledge, item, {
25+
excludeExtraneousValues: true,
26+
}),
27+
);
2028
}
2129
}
2230

0 commit comments

Comments
 (0)