From 92fc894d4b5a226e32b5b7e9b9f5f0821638f1b3 Mon Sep 17 00:00:00 2001 From: Alan Rynne Date: Mon, 26 Feb 2024 18:21:23 +0100 Subject: [PATCH] fix: Throw error when multi-model URL is input (#64) --- speckle/helpers/ParseStreamUrl.pqm | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/speckle/helpers/ParseStreamUrl.pqm b/speckle/helpers/ParseStreamUrl.pqm index bfa6fee..f858da7 100644 --- a/speckle/helpers/ParseStreamUrl.pqm +++ b/speckle/helpers/ParseStreamUrl.pqm @@ -43,6 +43,7 @@ let let streamId = segments{1}, modelList = segments{3}, + isMultimodel = Text.Contains(modelList, ","), firstModel = Text.Split(modelList, ","){0}, modelAndVersion = Text.Split(firstModel, "@"), modelId = modelAndVersion{0}, @@ -50,14 +51,22 @@ let model = if (modelId <> null) then GetModel(server, streamId, modelId) else null, urlType = GetUrlType(model[name], versionId, null) in - [ - urlType = urlType, - server = server, - id = streamId, - branch = model[name], - commit = versionId, - object = null - ] + if isMultimodel then + error + Error.Record( + "NotSupported", + "Multi-model URLs are not supported.", + "Try to select just one single model in the web app and paste that in." + ) + else + [ + urlType = urlType, + server = server, + id = streamId, + branch = model[name], + commit = versionId, + object = null + ] in (url as text) as record => let