go to post Evgeny Shvarov · Oct 25 Thanks, @Robert Cemper ! But here I'm more interested in debugging the REST API implementation method, so it is not very useful in this case, right?
go to post Evgeny Shvarov · Oct 25 Wow, thanks @David Hockenbroch ! Is it as simple as that? So when we receive a web call, it is all about the %request with the Method and content filled? This could also be the way to unit-test REST-API methods
go to post Evgeny Shvarov · Oct 25 Hi Ed @Eduard Lebedyuk ! Where do I see this displayed data by: do ##class(%CSP.Utils).DisplayAllObjects()?
go to post Evgeny Shvarov · Oct 25 This works like a charm, @David Hockenbroch ! I'd also add to a VSCode a convenient extra link to see all the errors of such like here: "links": { "UnitTest Portal": "${serverUrl}/csp/sys/%25UnitTest.Portal.Home.cls?$NAMESPACE=IRISAPP", "Error Log": "${serverUrl}/csp/sys/op/UtilSysAppErrorNamespaces.csp" }
go to post Evgeny Shvarov · Oct 24 Neat! Didn't know it is possible to use regular expressions in the map! Thanks for sharing, @Kurro Lopez !
go to post Evgeny Shvarov · Oct 20 Hi @Brett Saviano ! Tried it! Here is the feedback: 1 - can we add the link to the VSCode extension to be installed? I spent some time before I understood that, besides InterSystems ObjectScript, I need to install a special ObjectScript Extension pack . 2 - to make a REST API call I need to fill all the fields manually. Even I have an Open API spec class. Is it possible to read from it and provide all the fields ready to for tests? Filed a task and an idea. 3. Wasn't able to start debugging: faced the following error:
go to post Evgeny Shvarov · Oct 19 Also, often we want to switch to our own endpoint automatically instead of default one. These 3 lines in Dockerfile will do the thing. RUN old=http://localhost:52773/crud/_spec && \ new=http://localhost:52773/your/api/_spec && \ sed -i "s|$old|$new|g" /usr/irissys/csp/swagger-ui/swagger-initializer.js
go to post Evgeny Shvarov · Oct 7 Hi Jeff! If you could share it on OEX too one day that'd be amazing!
go to post Evgeny Shvarov · Oct 6 Thanks @David Hockenbroch ! Is it like @Robert Cemper suggests with Do LOG^%ETN()?
go to post Evgeny Shvarov · Sep 30 Thanks for sharing, @Stephen Canzano! %expression - is a really impactful feature that can greatly help to tune performance while cubes building.
go to post Evgeny Shvarov · Sep 27 I agree, makes total sense. Documentation also have a feedback button on every page IIRC
go to post Evgeny Shvarov · Sep 26 Cool! Add dsw? Curious how it displays it? Also, DSW works neatly on a mobile
go to post Evgeny Shvarov · Sep 24 Thanks @David Hockenbroch ! An almost ideal pattern to run an SQL query in ObjectScript. If you could also share with error handling around? My typical pattern looks like this one below. Includes try-catch in case when I need to rollback something: try { set tStatement = ##class(%SQL.Statement).%New() set query = "ALTER Table "_table_" ADD PRIMARY KEY ("_column_")" $$$TOE(st,tStatement.%Prepare(query)) set rset=tStatement.%Execute() if rset.%SQLCODE < 0 { write "Error adding primary key: "_rset.%SQLCODE_" "_rset.%Message set ex=##class(%Exception.SQL).CreateFromSQLCODE(rset.%SQLCODE,rset.%Message) $$$ThrowStatus(ex.AsStatus()) } } catch ex { set st=ex.AsStatus() }
go to post Evgeny Shvarov · Sep 1 Oh my god! What a drama! Guys, you are maybe late for the Venice Film Festival 2025, but the Oscar 2026 nomination is yours! And moreover, Dave Davidson is healthy and sound because of Interoperability and InterSystems! Thanks @Vishal Pallerla and team!