@@ -60,8 +60,9 @@ export interface FetchTicketFilters {
60
60
tagValue ?: string ;
61
61
privateTagKey ?: string ;
62
62
privateTagValue ?: string ;
63
- fieldName ?: string ;
63
+ fieldId ?: string ;
64
64
fieldValue ?: string ;
65
+ keyword ?: string ;
65
66
where ?: Record < string , any > ;
66
67
}
67
68
@@ -74,8 +75,9 @@ export function encodeTicketFilters(filters: FetchTicketFilters) {
74
75
tagValue : filters . tagValue ,
75
76
privateTagKey : filters . privateTagKey ,
76
77
privateTagValue : filters . privateTagValue ,
77
- fieldName : filters . fieldName ,
78
+ fieldId : filters . fieldId ,
78
79
fieldValue : filters . fieldValue ,
80
+ keyword : filters . keyword ,
79
81
} ;
80
82
if ( filters . assigneeId ) {
81
83
params . assigneeId = castArray ( filters . assigneeId ) . join ( ',' ) ;
@@ -158,19 +160,15 @@ async function fetchTickets({
158
160
return { tickets : data , totalCount : parseInt ( headers [ 'x-total-count' ] ) } ;
159
161
}
160
162
161
- async function searchTickets (
162
- keyword : string ,
163
- {
164
- page = 1 ,
165
- pageSize = 10 ,
166
- orderKey = 'createdAt' ,
167
- orderType = 'desc' ,
168
- filters = { } ,
169
- } : FetchTicketsOptions = { }
170
- ) {
163
+ async function searchTickets ( {
164
+ page = 1 ,
165
+ pageSize = 10 ,
166
+ orderKey = 'createdAt' ,
167
+ orderType = 'desc' ,
168
+ filters = { } ,
169
+ } : FetchTicketsOptions = { } ) {
171
170
const params : any = {
172
171
...encodeTicketFilters ( filters ) ,
173
- keyword,
174
172
page,
175
173
pageSize,
176
174
orderBy : `${ orderKey } -${ orderType } ` ,
@@ -270,13 +268,10 @@ export function useTickets({ queryOptions, ...options }: UseTicketsOptions = {})
270
268
} ;
271
269
}
272
270
273
- export function useSearchTickets (
274
- keyword : string ,
275
- { queryOptions, ...options } : UseTicketsOptions = { }
276
- ) {
271
+ export function useSearchTickets ( { queryOptions, ...options } : UseTicketsOptions = { } ) {
277
272
const { data, ...rest } = useQuery ( {
278
- queryKey : [ 'searchTicketsResult' , keyword , options ] ,
279
- queryFn : ( ) => searchTickets ( keyword , options ) ,
273
+ queryKey : [ 'searchTicketsResult' , options ] ,
274
+ queryFn : ( ) => searchTickets ( options ) ,
280
275
...queryOptions ,
281
276
} ) ;
282
277
@@ -323,48 +318,6 @@ export function useOperateTicket(
323
318
} ) ;
324
319
}
325
320
326
- interface SearchTicketCustomFieldOptions {
327
- fieldId ?: string ;
328
- fieldValue ?: string ;
329
- createdAt ?: [ Date | undefined , Date | undefined ] ;
330
- orderKey ?: string ;
331
- orderType ?: string ;
332
- }
333
-
334
- async function searchTicketCustomField ( {
335
- fieldId,
336
- fieldValue,
337
- createdAt,
338
- orderKey = 'createdAt' ,
339
- orderType = 'desc' ,
340
- } : SearchTicketCustomFieldOptions ) {
341
- const res = await http . get < TicketSchema [ ] > ( '/api/2/tickets/search/v2' , {
342
- params : {
343
- fieldId,
344
- fieldValue,
345
- createdAt : createdAt ?. map ( ( d ) => ( d ? d . toISOString ( ) : '*' ) ) . join ( '..' ) ,
346
- orderBy : `${ orderKey } -${ orderType } ` ,
347
- } ,
348
- } ) ;
349
- return { tickets : res . data , totalCount : Number ( res . headers [ 'x-total-count' ] ) } ;
350
- }
351
-
352
- export function useSearchTicketCustomField (
353
- searchOptions : SearchTicketCustomFieldOptions ,
354
- options ?: UseQueryOptions < FetchTicketsResult , Error >
355
- ) {
356
- const { data, ...rest } = useQuery ( {
357
- queryKey : [ 'searchTicketCustomField' , searchOptions ] ,
358
- queryFn : ( ) => searchTicketCustomField ( searchOptions ) ,
359
- ...options ,
360
- } ) ;
361
-
362
- return {
363
- ...rest ,
364
- data : data ?. tickets ,
365
- totalCount : data ?. totalCount ,
366
- } ;
367
- }
368
321
type exportType = 'json' | 'csv' ;
369
322
interface ExportParams extends FetchTicketsOptions {
370
323
type : exportType ;
0 commit comments