refactor query requests to use queryRequest module

This commit is contained in:
pa
2026-03-09 22:08:18 +09:00
parent 58b9bdc1c5
commit ca57cd6590
12 changed files with 317 additions and 64 deletions
+60 -8
View File
@@ -31,6 +31,30 @@ export const entityQueryPolicies = Object.freeze({
retry: 1,
refetchOnWindowFocus: false
}),
groupCalendarCollection: Object.freeze({
staleTime: 120 * SECOND,
gcTime: 600 * SECOND,
retry: 1,
refetchOnWindowFocus: false
}),
groupFollowingCalendarCollection: Object.freeze({
staleTime: 60 * SECOND,
gcTime: 300 * SECOND,
retry: 1,
refetchOnWindowFocus: false
}),
groupFeaturedCalendarCollection: Object.freeze({
staleTime: 300 * SECOND,
gcTime: 900 * SECOND,
retry: 1,
refetchOnWindowFocus: false
}),
groupCalendarEvent: Object.freeze({
staleTime: 120 * SECOND,
gcTime: 600 * SECOND,
retry: 1,
refetchOnWindowFocus: false
}),
worldCollection: Object.freeze({
staleTime: 60 * SECOND,
gcTime: 300 * SECOND,
@@ -61,6 +85,42 @@ export const entityQueryPolicies = Object.freeze({
retry: 1,
refetchOnWindowFocus: false
}),
inventoryObject: Object.freeze({
staleTime: 60 * SECOND,
gcTime: 300 * SECOND,
retry: 1,
refetchOnWindowFocus: false
}),
avatarGallery: Object.freeze({
staleTime: 30 * SECOND,
gcTime: 120 * SECOND,
retry: 1,
refetchOnWindowFocus: false
}),
fileAnalysis: Object.freeze({
staleTime: 120 * SECOND,
gcTime: 600 * SECOND,
retry: 1,
refetchOnWindowFocus: false
}),
worldPersistData: Object.freeze({
staleTime: 120 * SECOND,
gcTime: 600 * SECOND,
retry: 1,
refetchOnWindowFocus: false
}),
mutualCounts: Object.freeze({
staleTime: 120 * SECOND,
gcTime: 600 * SECOND,
retry: 1,
refetchOnWindowFocus: false
}),
visits: Object.freeze({
staleTime: 300 * SECOND,
gcTime: 900 * SECOND,
retry: 1,
refetchOnWindowFocus: false
}),
fileObject: Object.freeze({
staleTime: 60 * SECOND,
gcTime: 300 * SECOND,
@@ -69,14 +129,6 @@ export const entityQueryPolicies = Object.freeze({
})
});
/**
* @param {'user'|'avatar'|'world'|'group'|'groupCollection'|'worldCollection'|'friendList'|'favoriteCollection'|'galleryCollection'|'inventoryCollection'|'fileObject'} entity
* @returns {{staleTime: number, gcTime: number, retry: number, refetchOnWindowFocus: boolean}}
*/
export function getEntityQueryPolicy(entity) {
return entityQueryPolicies[entity];
}
/**
* @param {{staleTime: number, gcTime: number, retry: number, refetchOnWindowFocus: boolean}} policy
* @returns {{staleTime: number, gcTime: number, retry: number, refetchOnWindowFocus: boolean}}