Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions i18n/mobile/folder/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
"TEXT_UNSUPPORTED_TYPE": "Unsupported type."
},
"SELECT_KNOWLEDGE_SHEET": {
"TEXT_SEARCH_KNOWLEDGE": "Search knowledge",
"TEXT_SELECT_KNOWLEDGE": "Select Knowledge",
"TEXT_NO_KNOWLEDGE": "There is no knowledge."
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,14 +93,13 @@ export function SelectKnowledgeSheet({ onConfirm, ref, ...props }: SelectKnowled
title={translate('TEXT_SELECT_KNOWLEDGE')}
onGoBack={closeModal}
onConfirmPress={handleConfirm}
className='px-16'
/>
<SearchInput
value={query}
onChangeText={setQuery}
isInBottomSheet
className='px-16'
onCancel={onCancelPress}
placeholder={translate('TEXT_SEARCH_KNOWLEDGE')}
/>
{isLoading ? (
<View className='flex-1'>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export interface KnowledgeRowProps {

export function KnowledgeRow({ item, onPress, isSelected }: KnowledgeRowProps): ReactElement {
return (
<AppPressable onPress={onPress} className='px-16 py-12 gap-16 flex-row items-center justify-between'>
<AppPressable onPress={onPress} className='py-12 gap-16 flex-row items-center justify-between'>
<Icon name={item.isDocument ? 'file' : 'database'} />
<View className='flex-1 gap-4'>
<AppText>{item.name}</AppText>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ export * from './knowledge-file';
export * from './knowledge-data';
export * from './knowledge-access-control';
export * from './knowledge-access-control-groups';
export * from './knowledge-response';
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { Expose } from 'class-transformer';
import { Knowledge } from './knowledge';

export class KnowledgeResponse {
@Expose()
public items: Array<Knowledge>;

@Expose()
public total: number;

constructor(response: Partial<KnowledgeResponse> = {}) {
Object.assign(this, response);
}
}
14 changes: 11 additions & 3 deletions libs/shared/data-access/api/src/lib/knowledge/service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { plainToInstance } from 'class-transformer';
import { getApiService } from '@open-webui-react-native/shared/data-access/api-client';
import { EntityPromiseService } from '@open-webui-react-native/shared/data-access/base-entity';
import { knowledgeApiConfig } from './config';
import { Knowledge } from './models';
import { Knowledge, KnowledgeResponse } from './models';

class KnowledgeService extends EntityPromiseService<Knowledge> {
constructor() {
Expand All @@ -14,9 +14,17 @@ class KnowledgeService extends EntityPromiseService<Knowledge> {
}

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

return response.map((item) => plainToInstance(Knowledge, item));
const transformed = plainToInstance(KnowledgeResponse, response, {
excludeExtraneousValues: true,
});

return transformed.items.map((item) =>
plainToInstance(Knowledge, item, {
excludeExtraneousValues: true,
}),
);
}
}

Expand Down
Loading