mirror of
https://github.com/supabase/supabase.git
synced 2026-10-19 08:09:11 +03:00
* add event collection ui, queries, routing * fix alignment issue * renaming * wip * feat: initial data hooks and integration with feature flagging * update with naming, correct mocks, etc * feat: add source crud integration * mock data, fix form, add motion to drawer * feat: optimize warehouse fetch behaviour * feat: add in valid query * chore: ermove collection mocks * feat: optimize tenant fetching * cleanup + update openapi client + fix fetch calls * cleanup imporst * on delete success, redirect to main logs page * fix dropdown event propagating to link and opening page * Refactor code to use useParams and useRouter in CreateWarehouseCollection.tsx, WarehouseCollectionDetail.tsx, and LogsLayout.tsx * clean warehouse query * warehouse access tokens create, list * add warehouse access token revokal * fix access tokens table, fix access tokens revoke feature * format date in access tokens table * fix some state issues and warnings in access tokens forms * warehouse/feat: introduction when creating event collections (#23244) feat: add introduction for event collections * warehouse/feat: rename headers and nav items (#23243) * feat: rename headers * feat: use feature flag for navigation bar * move header name flag to component * fix typeerror in create collection query --------- Co-authored-by: Jordi Enric <jordi.err@gmail.com> * ui fixes, rm deprecated icons * render table with events * fix typeerror results arr * add pagination * some ui fixes * fix loading states, format dates, test connection dialog * patch type errors * Fix access token selection in TestCollectionDialog and update column name in WarehouseAccessTokens * rm unused querytype * rm unused querytype in logtable * patch type errors in warhouse collection mutations * rm unused component * mr unused import * show connection dialog in staging * fix Run btn now showing up * fix undef argument * show pagination only when there are results * fix issues in connection dialog, improve ux * Update apps/studio/components/interfaces/DataWarehouse/CreateWarehouseAccessToken.tsx Co-authored-by: Ziinc <Ziinc@users.noreply.github.com> * Update apps/studio/components/interfaces/DataWarehouse/CreateWarehouseAccessToken.tsx Co-authored-by: Ziinc <Ziinc@users.noreply.github.com> * fix infinite render loop, adapt component to render log metadata on log selection * rm unused import, prevent ui from breaking when some data may be missing from an event * update WAT create mutation to use template * follow mutation template in delete access token mutation * refactor naming, improve code in some areas * rm unused mocks for msw * skip tests - this will get fixed on the vitest PR * Update apps/studio/components/interfaces/Settings/Logs/LogsQueryPanel.tsx Co-authored-by: Joshen Lim <joshenlimek@gmail.com> * fix loading compo * rm unused import * use correct alert title * rm unnecessary div * fix layout in projectpaused alert * fix type err, refactor to new method * rm observer * rm observer * refactor warehouse collections update * use correct get method, comment out so it doesnt err * use correct method * fix formatting issues * ref imports * ref imports * clean up imports * clean imports * clean imports * rename props * destructure props * cleanup imports * Update apps/studio/components/interfaces/DataWarehouse/CreateWarehouseCollection.tsx Co-authored-by: Ziinc <Ziinc@users.noreply.github.com> * ref scale class * cleanup divs * Update apps/studio/components/interfaces/DataWarehouse/TestCollectionDialog.tsx Co-authored-by: Ziinc <Ziinc@users.noreply.github.com> * refactor to rhf * reuse types, cleanup, refactor to react query hooks instead of el events * refactor table component to handle empty state * Update TestCollectionDialog to use unique keys for SelectItem components * Update TestCollectionDialog to use unique keys for SelectItem components * Update TestCollectionDialog to use unique keys for SelectItem components * fix empty state ui * use destructured queries * rename query types * Update apps/studio/components/interfaces/DataWarehouse/WarehouseAccessTokens.tsx Co-authored-by: Ziinc <Ziinc@users.noreply.github.com> * chore: Refactor WarehouseCollectionDetail component * rm unused imports * rename loadolder * rm typcast * rhf in create token * improve err handling * refactor to rhf, refactor queries, use cn utils, cleanup * fix loading logselection * add correct type to warehouse access tokens query * use correct types in err & clean unused types * toggle token in curl exampel * use product empty state component in warehouse * add client side validation of collection name, temp fix * add New badge * update testcolldialog * cleanup unnecessary div and rm double border * code style fixes * handle err * code style fix * add correct type * add correct err type * fix type error * fix type err * fix missing type --------- Co-authored-by: TzeYiing <ty@tzeyiing.com> Co-authored-by: Ziinc <Ziinc@users.noreply.github.com> Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
64 lines
1.7 KiB
TypeScript
64 lines
1.7 KiB
TypeScript
import {
|
|
genQueryParams,
|
|
genSingleLogQuery,
|
|
LogData,
|
|
Logs,
|
|
LogsEndpointParams,
|
|
LOGS_TABLES,
|
|
QueryType,
|
|
} from 'components/interfaces/Settings/Logs'
|
|
import { API_URL } from 'lib/constants'
|
|
import { get } from 'lib/common/fetch'
|
|
import { useQuery } from '@tanstack/react-query'
|
|
|
|
interface SingleLogHook {
|
|
logData: LogData | undefined
|
|
error: string | Object | null
|
|
isLoading: boolean
|
|
refresh: () => void
|
|
}
|
|
function useSingleLog(
|
|
projectRef: string,
|
|
queryType?: QueryType,
|
|
paramsToMerge?: Partial<LogsEndpointParams>,
|
|
id?: string | null
|
|
): SingleLogHook {
|
|
const table = queryType ? LOGS_TABLES[queryType] : undefined
|
|
const sql = id && table ? genSingleLogQuery(table, id) : ''
|
|
const params: LogsEndpointParams = { ...paramsToMerge, project: projectRef, sql }
|
|
|
|
const endpointUrl = `${API_URL}/projects/${projectRef}/analytics/endpoints/logs.all?${genQueryParams(
|
|
params as any
|
|
)}`
|
|
|
|
const isWarehouseQuery = queryType === 'warehouse'
|
|
// Warehouse queries are handled differently
|
|
const enabled = Boolean(id && table && !isWarehouseQuery)
|
|
|
|
const {
|
|
data,
|
|
error: rcError,
|
|
isLoading,
|
|
isRefetching,
|
|
refetch,
|
|
} = useQuery(
|
|
['projects', projectRef, 'log', id],
|
|
({ signal }) => get(endpointUrl, { signal }) as Promise<Logs>,
|
|
{
|
|
enabled,
|
|
refetchOnWindowFocus: false,
|
|
refetchOnMount: false,
|
|
refetchOnReconnect: false,
|
|
}
|
|
)
|
|
|
|
let error: null | string | object = rcError ? (rcError as any).message : null
|
|
return {
|
|
logData: data?.result ? data.result[0] : undefined,
|
|
isLoading: (enabled && isLoading) || isRefetching,
|
|
error,
|
|
refresh: () => refetch(),
|
|
}
|
|
}
|
|
export default useSingleLog
|