From ef8bd84c33d4156869e8fd3d37bf7ccc2c9f18cd Mon Sep 17 00:00:00 2001 From: Dmitrij Vladimirov <47441164+Frisle@users.noreply.github.com> Date: Thu, 11 May 2023 15:57:23 +0600 Subject: [PATCH 1/2] Update REST.cls New end point and corresponding method for https://github.com/intersystems-community/DeepSeeWeb/issues/121 Method simply return json containing data sources --- MDX2JSON/REST.cls | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/MDX2JSON/REST.cls b/MDX2JSON/REST.cls index e0998eb..d7f8d11 100644 --- a/MDX2JSON/REST.cls +++ b/MDX2JSON/REST.cls @@ -66,6 +66,7 @@ XData UrlMap + @@ -132,6 +133,41 @@ ClassMethod Test() As %Status return $$$OK } + +/// Get all data sources including "pivot", "kpi", "worksheets","metrics" +ClassMethod GetListDataSources() As %Status +{ + set st = $$$OK + + Set tProvider = ##class(%ZEN.Auxiliary.jsonMDXProvider).%New() + + if $$$R("dataSource") = "pivot" + { + Set tSC = ##class(%DeepSee.Utils).%GetPivotListArray(.tParms,.pMetaData,.pData) + Quit tSC + } + elseif $$$R("dataSource") = "kpi" + { + Set tSC = ##class(%DeepSee.Utils).%GetKPIListArray(.tParms,.pMetaData,.pData) + Quit tSC + } + elseif $$$R("dataSource") = "worksheets" + { + Set tSC = ##class(%DeepSee.Utils).%GetWorksheetListArray(.tParms,.pMetaData,.pData) + Quit tSC + } + elseif $$$R("datasource") = "metrics" + { + Set tSC = ##class(%DeepSee.Utils).%GetMetricListArray(.tParms,.pMetaData,.pData) + Quit tSC + } + Set tSC = ##class(%DeepSee.REST.v1.DataServer).%CreateObjectFromArray(.pData,pMetaData,.tSourceObj) + Set tSC = tProvider.%ObjectToJSON(tSourceObj) + + return st +} + + ClassMethod GetDataSource() As %Status { return ##class(MDX2JSON.Utils).GetDataSource($$$R("DataSource")) From 24a4451d62feb2ca46d1aaae6d7f902d7060c6d6 Mon Sep 17 00:00:00 2001 From: Dmitrij Vladimirov <47441164+Frisle@users.noreply.github.com> Date: Thu, 11 May 2023 16:25:25 +0600 Subject: [PATCH 2/2] Update REST.cls MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Внес правки --- MDX2JSON/REST.cls | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/MDX2JSON/REST.cls b/MDX2JSON/REST.cls index d7f8d11..c0546c9 100644 --- a/MDX2JSON/REST.cls +++ b/MDX2JSON/REST.cls @@ -137,34 +137,37 @@ ClassMethod Test() As %Status /// Get all data sources including "pivot", "kpi", "worksheets","metrics" ClassMethod GetListDataSources() As %Status { - set st = $$$OK - - Set tProvider = ##class(%ZEN.Auxiliary.jsonMDXProvider).%New() if $$$R("dataSource") = "pivot" { Set tSC = ##class(%DeepSee.Utils).%GetPivotListArray(.tParms,.pMetaData,.pData) - Quit tSC + } elseif $$$R("dataSource") = "kpi" { Set tSC = ##class(%DeepSee.Utils).%GetKPIListArray(.tParms,.pMetaData,.pData) - Quit tSC + } elseif $$$R("dataSource") = "worksheets" { Set tSC = ##class(%DeepSee.Utils).%GetWorksheetListArray(.tParms,.pMetaData,.pData) - Quit tSC + } elseif $$$R("datasource") = "metrics" { Set tSC = ##class(%DeepSee.Utils).%GetMetricListArray(.tParms,.pMetaData,.pData) - Quit tSC + } + + quit:$$$ISERR(tSC) tSC + Set tSC = ##class(%DeepSee.REST.v1.DataServer).%CreateObjectFromArray(.pData,pMetaData,.tSourceObj) - Set tSC = tProvider.%ObjectToJSON(tSourceObj) - return st + quit:$$$ISERR(tSC) tSC + + do tSourceObj.%ToJSON() + + quit tSC }