Skip to content

Commit 87840c0

Browse files
committed
FEAT: add audit callback and global audit globals
1 parent 281d8df commit 87840c0

File tree

1 file changed

+56
-1
lines changed

1 file changed

+56
-1
lines changed

MDX2JSON/Utils.cls

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,11 @@ ClassMethod ExecuteResultSet(RS As MDX2JSON.ResultSet, QueryKey As %String = "",
5353
quit Status
5454
}
5555

56+
ClassMethod QuerySet(MDX) As %Status
57+
{
58+
set ^Query($I(^Query), "%dsQuery") = MDX
59+
}
60+
5661
/// Automatic processing of MDX query and outputting resulting JSON.<br>
5762
/// <b>MDX</b> - String containing MDX query.<br>
5863
ClassMethod WriteJSONfromMDX(MDX As %String, Timeout As %Integer = 0) As %Status
@@ -77,6 +82,13 @@ ClassMethod WriteJSONfromMDX(MDX As %String, Timeout As %Integer = 0) As %Status
7782
set obj = RS.ToProxyObject(.tSC)
7883
return:$$$ISERR(tSC) tSC
7984

85+
set %dsQuery = MDX
86+
87+
// initiate an RS object to a global variable %dsResultSet
88+
set %dsResultSet = RS
89+
90+
set %dsCubeName = RS.%Cube
91+
8092
// check if audit global hold something and execute it
8193
try {xecute ^DeepSee.AuditQueryCode} catch {}
8294

@@ -90,12 +102,16 @@ ClassMethod WriteJSONfromMDX(MDX As %String, Timeout As %Integer = 0) As %Status
90102
set obj = RS.ToProxyObject(.tSC)
91103
return:$$$ISERR(tSC) tSC
92104

105+
set %dsQuery = MDX
106+
set %dsResultSet = RS
107+
93108
// check if audit global hold something and execute it
94109
try {xecute ^DeepSee.AuditQueryCode} catch {}
95110

96111
$$$DynObjToJSON(obj)
97112
}
98113

114+
99115
return $$$OK
100116
}
101117

@@ -417,13 +433,16 @@ ClassMethod GetWidgetsList(pDashName As %String) As %Status
417433
ClassMethod GetDashboard(pDashName As %String) As %Status
418434
{
419435
try {
436+
420437
set st = ##class(MDX2JSON.DashboardFilters).OpenDashboardByName(pDashName, .dash)
421438
return:($$$ISERR(st)) st
422439

423440
set st = ##class(MDX2JSON.DashboardFilters).WidgetsToProxyObject(dash, .widgetlist)
424441
return:($$$ISERR(st)) st
425442
w "" // weird hack required for 15.3
426-
443+
444+
set %dsDashboard = pDashName
445+
427446
// check if audit global hold something and execute it
428447
try {xecute ^DeepSee.AuditCode} catch {}
429448

@@ -435,6 +454,42 @@ ClassMethod GetDashboard(pDashName As %String) As %Status
435454
return st
436455
}
437456

457+
/// the method initiate the audit for %dsDashboard
458+
ClassMethod SetAuditCode() As %Status
459+
{
460+
set ^DeepSee.AuditCode = "Do ##class(MDX2JSON.Utils).SetAuditDash()"
461+
462+
quit $$$OK
463+
}
464+
465+
/// the method initiate the audit for %dsQueryText, %dsCubeName, %dsResultSet
466+
ClassMethod SetAuditQueryCode() As %Status
467+
{
468+
set ^DeepSee.AuditQueryCode = "Do ##class(MDX2JSON.Utils).SetAuditQuery()"
469+
470+
quit $$$OK
471+
}
472+
473+
/// zw ^AuditLogDash to get the dashboard audit dashboard readings
474+
ClassMethod SetAuditDash() As %Status
475+
{
476+
set ^AuditLogDash($INCREMENT(^AuditLogDash),"%dsDashoard") = %dsDashboard
477+
478+
quit $$$OK
479+
}
480+
481+
/// zw ^AuditLogQuery to get the query audit readings
482+
/// zw ^AuditLogCube to get the cube audit readings
483+
/// zw ^AuditLogRS to get the RS audit readings
484+
ClassMethod SetAuditQuery() As %Status
485+
{
486+
set ^AuditLogQuery($INCREMENT(^AuditLogQuery),"%dsQueryText") = %dsQueryText
487+
set ^AuditLogCube($INCREMENT(^AuditLogQuery),"%dsCubeName") = %dsCubeName
488+
set ^AuditLogRS($INCREMENT(^AuditLogRS),"%dsResultSet") = %dsResultSet
489+
490+
quit $$$OK
491+
}
492+
438493
/// Get format defaults.
439494
ClassMethod GetFormat() As %Status
440495
{

0 commit comments

Comments
 (0)