chore(viewer-lib): URLHelper now fails early if it cannot build the URLs (#4404)
* chore(viewer-lib): URLHelper now fails early if it cannot build the URLs * chore(viewer-lib): Style change * fix(viewer-lib): Sandboxerrors
This commit is contained in:
committed by
GitHub
parent
36703150ce
commit
3b2146f0de
@@ -513,6 +513,9 @@ const getStream = () => {
|
||||
//too big?
|
||||
// `https://latest.speckle.systems/projects/126cd4b7bb/models/032d09f716`
|
||||
// 'https://app.speckle.systems/streams/da9e320dad/commits/5388ef24b8?c=%5B-7.66134,10.82932,6.41935,-0.07739,-13.88552,1.8697,0,1%5D'
|
||||
|
||||
// BUSTED model ID
|
||||
// 'https://app.speckle.systems/projects/155101d3ca/models/b8d3b42787b2dc9fc412a8ae16af03ac385e48e6'
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -142,7 +142,13 @@ async function getNewResourceUrls(url: string, authToken?: string): Promise<stri
|
||||
}
|
||||
}
|
||||
|
||||
return (await Promise.all(promises)).flat()
|
||||
try {
|
||||
const results = await Promise.all(promises)
|
||||
return results.flatMap((val) => (Array.isArray(val) ? val : [val]))
|
||||
} catch (e) {
|
||||
Logger.error(e)
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
async function objectResourceToUrl(
|
||||
@@ -208,14 +214,15 @@ async function runModelLastVersionQuery(
|
||||
try {
|
||||
const data = await getResponse(res)
|
||||
return `${ref.origin}/streams/${ref.projectId}/objects/${data.project.model.versions.items[0].referencedObject}`
|
||||
} catch (e) {
|
||||
Logger.error(
|
||||
`Could not get object URLs for project ${ref.projectId} and model ${
|
||||
resource.modelId
|
||||
}. Error: ${e instanceof Error ? e.message : e}`
|
||||
} catch (e: unknown) {
|
||||
return Promise.reject(
|
||||
new Error(
|
||||
`Could not get object URLs for project ${ref.projectId} and model ${
|
||||
resource.modelId
|
||||
}. Error: ${e instanceof Error ? e.message : e}`
|
||||
)
|
||||
)
|
||||
}
|
||||
return ''
|
||||
}
|
||||
|
||||
async function runModelVersionQuery(
|
||||
@@ -249,13 +256,14 @@ async function runModelVersionQuery(
|
||||
const data = await getResponse(res)
|
||||
return `${ref.origin}/streams/${ref.projectId}/objects/${data.project.model.version.referencedObject}`
|
||||
} catch (e) {
|
||||
Logger.error(
|
||||
`Could not get object URLs for project ${ref.projectId} and model ${
|
||||
resource.modelId
|
||||
}. Error: ${e instanceof Error ? e.message : e}`
|
||||
return Promise.reject(
|
||||
new Error(
|
||||
`Could not get object URLs for project ${ref.projectId} and model ${
|
||||
resource.modelId
|
||||
}. Error: ${e instanceof Error ? e.message : e}`
|
||||
)
|
||||
)
|
||||
}
|
||||
return ''
|
||||
}
|
||||
|
||||
async function runAllModelsQuery(
|
||||
@@ -298,13 +306,14 @@ async function runAllModelsQuery(
|
||||
)
|
||||
return urls
|
||||
} catch (e) {
|
||||
Logger.error(
|
||||
`Could not get object URLs for project ${ref.projectId}. Error: ${
|
||||
e instanceof Error ? e.message : e
|
||||
}`
|
||||
return Promise.reject(
|
||||
new Error(
|
||||
`Could not get object URLs for project ${ref.projectId}. Error: ${
|
||||
e instanceof Error ? e.message : e
|
||||
}`
|
||||
)
|
||||
)
|
||||
}
|
||||
return ['']
|
||||
}
|
||||
|
||||
async function getResponse(res: Response) {
|
||||
|
||||
Reference in New Issue
Block a user