From 11b96dc03e5ae612e959ca4b03f5d68e9a1d7bfc Mon Sep 17 00:00:00 2001 From: opbnq-q Date: Sat, 15 Mar 2025 19:01:28 +0700 Subject: [PATCH] feat: search --- .../bindings/app/internal/services/authorservice.ts | 9 +++++++++ .../app/internal/services/commentservice.ts | 13 +++++++++++-- .../bindings/app/internal/services/postservice.ts | 9 +++++++++ .../app/internal/services/posttypeservice.ts | 9 +++++++++ frontend/src/post/PostScheme.vue | 2 +- frontend/src/post/post.service.ts | 5 +++++ 6 files changed, 44 insertions(+), 3 deletions(-) diff --git a/frontend/bindings/app/internal/services/authorservice.ts b/frontend/bindings/app/internal/services/authorservice.ts index b57fcb5..9db5ddc 100644 --- a/frontend/bindings/app/internal/services/authorservice.ts +++ b/frontend/bindings/app/internal/services/authorservice.ts @@ -53,6 +53,15 @@ export function GetById(id: number): Promise<$models.Author | null> & { cancel() return $typingPromise; } +export function SearchByAllTextFields(phrase: string): Promise<($models.Author | null)[]> & { cancel(): void } { + let $resultPromise = $Call.ByID(3812644109, phrase) as any; + let $typingPromise = $resultPromise.then(($result: any) => { + return $$createType2($result); + }) as any; + $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise); + return $typingPromise; +} + export function SortedByOrder(fieldsSortingOrder: utils$0.SortField[]): Promise<($models.Author | null)[]> & { cancel(): void } { let $resultPromise = $Call.ByID(3046628691, fieldsSortingOrder) as any; let $typingPromise = $resultPromise.then(($result: any) => { diff --git a/frontend/bindings/app/internal/services/commentservice.ts b/frontend/bindings/app/internal/services/commentservice.ts index 7106730..13da36b 100644 --- a/frontend/bindings/app/internal/services/commentservice.ts +++ b/frontend/bindings/app/internal/services/commentservice.ts @@ -53,8 +53,17 @@ export function GetById(id: number): Promise<$models.Comment | null> & { cancel( return $typingPromise; } -export function SortedByOrder(fieldsSortOrder: utils$0.SortField[]): Promise<($models.Comment | null)[]> & { cancel(): void } { - let $resultPromise = $Call.ByID(4244533291, fieldsSortOrder) as any; +export function SearchByAllTextFields(phrase: string): Promise<($models.Comment | null)[]> & { cancel(): void } { + let $resultPromise = $Call.ByID(480333285, phrase) as any; + let $typingPromise = $resultPromise.then(($result: any) => { + return $$createType2($result); + }) as any; + $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise); + return $typingPromise; +} + +export function SortedByOrder(fieldsSortingOrder: utils$0.SortField[]): Promise<($models.Comment | null)[]> & { cancel(): void } { + let $resultPromise = $Call.ByID(4244533291, fieldsSortingOrder) as any; let $typingPromise = $resultPromise.then(($result: any) => { return $$createType2($result); }) as any; diff --git a/frontend/bindings/app/internal/services/postservice.ts b/frontend/bindings/app/internal/services/postservice.ts index ddd6996..89d1f2c 100644 --- a/frontend/bindings/app/internal/services/postservice.ts +++ b/frontend/bindings/app/internal/services/postservice.ts @@ -53,6 +53,15 @@ export function GetById(id: number): Promise<$models.Post | null> & { cancel(): return $typingPromise; } +export function SearchByAllTextFields(phrase: string): Promise<($models.Post | null)[]> & { cancel(): void } { + let $resultPromise = $Call.ByID(591521802, phrase) as any; + let $typingPromise = $resultPromise.then(($result: any) => { + return $$createType2($result); + }) as any; + $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise); + return $typingPromise; +} + export function SortedByOrder(fieldsSortOrder: utils$0.SortField[]): Promise<($models.Post | null)[]> & { cancel(): void } { let $resultPromise = $Call.ByID(471862744, fieldsSortOrder) as any; let $typingPromise = $resultPromise.then(($result: any) => { diff --git a/frontend/bindings/app/internal/services/posttypeservice.ts b/frontend/bindings/app/internal/services/posttypeservice.ts index 6229103..88211f7 100644 --- a/frontend/bindings/app/internal/services/posttypeservice.ts +++ b/frontend/bindings/app/internal/services/posttypeservice.ts @@ -53,6 +53,15 @@ export function GetById(id: number): Promise<$models.PostType | null> & { cancel return $typingPromise; } +export function SearchByAllTextFields(phrase: string): Promise<($models.PostType | null)[]> & { cancel(): void } { + let $resultPromise = $Call.ByID(4207540242, phrase) as any; + let $typingPromise = $resultPromise.then(($result: any) => { + return $$createType2($result); + }) as any; + $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise); + return $typingPromise; +} + export function SortedByOrder(fieldsSortOrder: utils$0.SortField[]): Promise<($models.PostType | null)[]> & { cancel(): void } { let $resultPromise = $Call.ByID(1097313920, fieldsSortOrder) as any; let $typingPromise = $resultPromise.then(($result: any) => { diff --git a/frontend/src/post/PostScheme.vue b/frontend/src/post/PostScheme.vue index 1366bb8..59f7188 100644 --- a/frontend/src/post/PostScheme.vue +++ b/frontend/src/post/PostScheme.vue @@ -131,7 +131,7 @@ const validate: Validate = (entity) => { }; const search = async (input: string) => { - + items.value = await service.search(input) } const sortOptions = ref(getDefaultSortOptions(scheme)) diff --git a/frontend/src/post/post.service.ts b/frontend/src/post/post.service.ts index 53abf9f..e2f79a6 100644 --- a/frontend/src/post/post.service.ts +++ b/frontend/src/post/post.service.ts @@ -10,6 +10,7 @@ import type { Post } from "../../bindings/app/internal/services"; import type { IService } from "../types/service.type.ts"; import type {SortOptions} from "../types/sort-options.type.ts"; import {SortField} from "../../bindings/app/internal/utils"; +import { SearchByAllTextFields } from "../../bindings/app/internal/services/postservice.ts"; export default class PostService implements IService { async read(id: number) { @@ -39,4 +40,8 @@ export default class PostService implements IService { async sort(options: SortOptions) { return await SortedByOrder(Object.entries(options).map(item => ({Name: item[0], Order: item[1]}))) as Post[] } + + async search(input: string): Promise { + return await SearchByAllTextFields(input) as Post[] + } }