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
}