Fix: Handle datasource not exists for query

This commit is contained in:
Rory Powell 2022-06-16 09:21:01 +01:00
parent 46f96c4db7
commit 3941272c99
3 changed files with 21 additions and 5 deletions

View File

@ -20,6 +20,7 @@ const handleError = (e: any, errors?: any) => {
}
return
}
console.trace(e)
throw e
}

View File

@ -22,10 +22,23 @@ export const backfill = async (appDb: any, timestamp: string | number) => {
const queries: Query[] = await getQueries(appDb)
for (const query of queries) {
const datasource: Datasource = await getDatasource(
appDb,
query.datasourceId
)
let datasource: Datasource
try {
datasource = await getDatasource(appDb, query.datasourceId)
} catch (e: any) {
// handle known bug where a datasource has been deleted
// and the query has not
if (e.status === 404) {
datasource = {
_id: query.datasourceId,
source: "unknown",
}
} else {
throw e
}
}
await events.query.created(datasource, query, timestamp)
}

View File

@ -105,7 +105,9 @@ export const run = async (db: any) => {
if (!allUsers || allUsers.length === 0) {
// first time startup - we don't need to backfill anything
// tenant will be identified when admin user is created
await events.installation.firstStartup()
if (env.SELF_HOSTED) {
await events.installation.firstStartup()
}
return
}