Skip to content

Commit 5f8346d

Browse files
committed
feat(next/web): patch livequery no object id bug
1 parent c4b9a02 commit 5f8346d

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

next/web/src/App/Admin/Tickets/Ticket/timeline-data.ts

+16-4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@ import { ReplySchema } from '@/api/reply';
77
import { fetchTicketReplies, fetchTicketOpsLogs, OpsLog } from '@/api/ticket';
88
import { useCurrentRef } from '@/utils/useCurrentRef';
99

10+
function patchQueryDecoder(query: any) {
11+
const decoder = query._decoder;
12+
query._decoder = (app: any, data: any, className: string) => {
13+
if (!data.objectId) {
14+
data.objectId = '__objectId__';
15+
}
16+
return decoder(app, data, className);
17+
};
18+
}
19+
1020
export function useTicketReplies(ticketId?: string) {
1121
const { data, fetchNextPage, refetch } = useInfiniteQuery({
1222
queryKey: ['TicketReplies', ticketId],
@@ -49,8 +59,9 @@ export function useTicketReplies(ticketId?: string) {
4959
return;
5060
}
5161
let mounted = true;
52-
const subscription = db
53-
.query('Reply')
62+
const query = db.query('Reply');
63+
patchQueryDecoder(query);
64+
const subscription = query
5465
.where('ticket', '==', db.class('Ticket').object(ticketId))
5566
.subscribe();
5667
subscription.then((s) => {
@@ -109,8 +120,9 @@ export function useTicketOpsLogs(ticketId?: string) {
109120
return;
110121
}
111122
let mounted = true;
112-
const subscription = db
113-
.query('OpsLog')
123+
const query = db.query('OpsLog');
124+
patchQueryDecoder(query);
125+
const subscription = query
114126
.where('ticket', '==', db.class('Ticket').object(ticketId))
115127
.subscribe();
116128
subscription.then((s) => {

0 commit comments

Comments
 (0)