@sassoftware/viya-serverjs 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/.babelrc +6 -6
  2. package/.dockerignore +2 -2
  3. package/.env +42 -28
  4. package/.env.server +32 -30
  5. package/.eslintignore +3 -3
  6. package/.eslintrc.json +42 -42
  7. package/Dockerfile +44 -44
  8. package/README.md +67 -99
  9. package/cli.js +9 -9
  10. package/lib/config.js +16 -16
  11. package/lib/handlers/appCallback.js +23 -24
  12. package/lib/handlers/codeAuth.js +17 -18
  13. package/lib/handlers/decodeJwt.js +3 -3
  14. package/lib/handlers/favicon.js +22 -25
  15. package/lib/handlers/getApp.js +20 -21
  16. package/lib/handlers/getApp2.js +22 -25
  17. package/lib/handlers/getUser.js +14 -17
  18. package/lib/handlers/index.js +3 -3
  19. package/lib/handlers/keepAlive.js +28 -31
  20. package/lib/handlers/keepAlive2.js +9 -12
  21. package/lib/handlers/logon.js +12 -15
  22. package/lib/handlers/logout.js +24 -28
  23. package/lib/handlers/proxyMapUri.js +6 -11
  24. package/lib/handlers/proxyOnResponse.js +6 -7
  25. package/lib/handlers/reactDev.js +22 -25
  26. package/lib/handlers/setCookies.js +51 -53
  27. package/lib/iService.js +105 -103
  28. package/lib/index.js +25 -30
  29. package/lib/parseDocker.js +3 -3
  30. package/lib/plugins/SASauth.js +34 -34
  31. package/lib/plugins/appCookie.js +35 -38
  32. package/lib/plugins/setContext.js +22 -25
  33. package/lib/plugins/setDefaultRoutes.js +71 -59
  34. package/lib/plugins/setupAuth.js +35 -38
  35. package/lib/plugins/setupUserRoutes.js +17 -16
  36. package/lib/plugins/token.js +9 -10
  37. package/lib/schemes/SASTokenScheme.js +24 -27
  38. package/mcpServer.js +364 -0
  39. package/package.json +85 -79
  40. package/public/data/Cluster_SDOH1.sas +181 -181
  41. package/public/data/Cluster_SDOH6.sas +179 -179
  42. package/public/data/NeuralNetwork_High_med.sas +2408 -2408
  43. package/public/data/NeuralNetwork_high_med1.sas +2408 -2408
  44. package/public/data/cars.csv +429 -429
  45. package/public/data/cmdList.txt +15 -15
  46. package/public/data/iris.csv +151 -151
  47. package/public/index.html +360 -350
  48. package/public/indexProxy.html +351 -351
  49. package/public/simplesubmit.html +233 -0
  50. package/server.js +363 -362
  51. package/src/config.js +90 -90
  52. package/src/handlers/appCallback.js +40 -40
  53. package/src/handlers/codeAuth.js +31 -31
  54. package/src/handlers/decodeJwt.js +10 -10
  55. package/src/handlers/favicon.js +23 -23
  56. package/src/handlers/getApp.js +52 -52
  57. package/src/handlers/getApp2.js +25 -25
  58. package/src/handlers/getUser.js +20 -20
  59. package/src/handlers/index.js +36 -36
  60. package/src/handlers/keepAlive.js +53 -53
  61. package/src/handlers/keepAlive2.js +12 -12
  62. package/src/handlers/logon.js +23 -23
  63. package/src/handlers/logout.js +42 -42
  64. package/src/handlers/proxyMapUri.js +25 -25
  65. package/src/handlers/proxyOnResponse.js +11 -11
  66. package/src/handlers/reactDev.js +29 -29
  67. package/src/handlers/setCookies.js +80 -79
  68. package/src/iService.js +360 -345
  69. package/src/index.js +247 -249
  70. package/src/parseDocker.js +32 -32
  71. package/src/plugins/SASauth.js +82 -78
  72. package/src/plugins/appCookie.js +50 -49
  73. package/src/plugins/setContext.js +33 -33
  74. package/src/plugins/setDefaultRoutes.js +261 -253
  75. package/src/plugins/setupAuth.js +49 -49
  76. package/src/plugins/setupUserRoutes.js +48 -47
  77. package/src/plugins/token.js +10 -10
  78. package/src/schemes/SASTokenScheme.js +43 -43
  79. package/src/visionIndex.html +23 -23
  80. package/start.sh +14 -14
  81. package/.env.proxy +0 -32
  82. package/tls/viyatls.sh +0 -3
@@ -1,182 +1,182 @@
1
- /*--------------------------------------------------
2
- The options statement below should be placed
3
- before the data step when submitting this code.
4
- --------------------------------------------------*/
5
- /*options VALIDMEMNAME=EXTEND VALIDVARNAME=ANY;*/
6
- /*------------------------------------------
7
- Generated SAS Scoring Code
8
- Date : 02Jul2019:21:19:56
9
- Locale : en_US
10
- Model Type : Cluster
11
- Interval variable: SDOH_PMU(SDOH1 Physically Mentally Unhealthy)
12
- Interval variable: SDOH_Per_Adults_Bachelors(SDOH2 Education)
13
- Interval variable: SDOH_Unemployment_Rate(SDOH4 Unemployment Rate)
14
- Interval variable: SDOH_Median_Household_Income(SDOH3 Median Household Income)
15
- ------------------------------------------*/
16
-
17
-
18
- length _WARN_ $4;
19
- label _WARN_ = 'Warnings';
20
- label _CLUSTER_ID_ = 'Cluster ID';
21
- label _DISTANCE_ = 'Distance to Centroid';
22
-
23
- _i_ = 0;
24
- _j_ = 0;
25
- _k_ = 0;
26
- _l_ = 0;
27
- _dist_ = 0;
28
- _minDist_ = 0;
29
- _found_ = 0;
30
- _unknown_ = 0;
31
- _unknownflag_ = 0;
32
- _intMindist2cntr_ = 0;
33
- _missingflag4Int_ = 0;
34
- _numberOfIntVars_ = 4;
35
- _minDistInt_ = 0;
36
- label _STANDARDIZED_DISTANCE_ = 'Standardized Distance to Centroid';
37
-
38
- drop _i_;
39
- drop _j_;
40
- drop _k_;
41
- drop _l_;
42
- drop _dist_;
43
- drop _minDist_;
44
- drop _minDistInt_;
45
- drop _unknown_;
46
- drop _unknownflag_;
47
- drop _found_;
48
- drop _intMindist2cntr_;
49
- drop _missingflag4Int_;
50
- drop _numberOfIntVars_;
51
- drop _minDistInt_;
52
-
53
- array _intVals_67{4} _temporary_;
54
- array _intStdVals_67{4} _temporary_;
55
- array _intVars_67[4] _temporary_;
56
- _intVars_67[1] =
57
- SDOH_PMU;
58
- _intVars_67[2] =
59
- SDOH_Per_Adults_Bachelors;
60
- _intVars_67[3] =
61
- SDOH_Unemployment_Rate;
62
- _intVars_67[4] =
63
- SDOH_Median_Household_Income;
64
- array _cntrcoordsInt_67{4,4} _temporary_ (
65
- 5.6752109618776
66
- 34.574068577069
67
- 5.5249572649573
68
- 65162.262238794
69
- 6.1728412355737
70
- 28.076500921419
71
- 8.4815044247788
72
- 50250.811599193
73
- 5.5563377592335
74
- 27.69585347275
75
- 3.586724137931
76
- 55456.199169472
77
- 7.1425816544567
78
- 23.193113163492
79
- 5.9483653846154
80
- 45013.481439879
81
- );
82
- array _stdcntrcoordsInt_67 {4,4} _temporary_ (
83
- -0.545947986801
84
- 1.2465170251288
85
- -0.140043320021
86
- 1.2424484776721
87
- 0.080847377302
88
- -0.09555849286
89
- 1.0754374093924
90
- -0.456774851619
91
- -0.695675960102
92
- -0.17418139437
93
- -0.936879929639
94
- 0.1364012391051
95
- 1.3022939633885
96
- -1.104224427884
97
- 0.0340260867236
98
- -1.053590936451
99
- );
100
- array _stdscaleInt_67 {4} _temporary_ (
101
- 0.7939278147152
102
- 4.8414322208822
103
- 2.4324097357342
104
- 8775.4507500947
105
- );
106
- array _stdcenterInt_67 {4} _temporary_ (
107
- 6.1086542539869
108
- 28.539140887732
109
- 5.8656
110
- 54259.216813453
111
- );
112
-
113
- *************** check missing interval value ******************;
114
- _missingflag4Int_ = 0;
115
- do _i_ = 1 to _numberOfIntVars_ until(_missingflag4Int_);
116
- if missing( _intVars_67[_i_] ) then
117
- _missingflag4Int_ = 1;
118
- end;
119
-
120
- if (_missingflag4Int_ = 1) then
121
- substr(_WARN_, 1, 1) = 'M';
122
- ********** prepare interval variable values *********;
123
- do _i_ = 1 to _numberOfIntVars_;
124
- if missing (_intVars_67[_i_] ) then do;
125
- _intVals_67[_i_] = .;
126
- _intStdVals_67[_i_] = .;
127
- end; else do;
128
- if missing (_stdscaleInt_67[_i_] ) then do;
129
- _intStdVals_67[_i_] = ( _intVars_67[_i_] - _stdcenterInt_67[_i_]);
130
- end; else do;
131
- _intStdVals_67[_i_] = ( _intVars_67[_i_] - _stdcenterInt_67[_i_])
132
- / _stdscaleInt_67[_i_];
133
- end;
134
- _intVals_67[_i_] = _intVars_67[_i_];
135
- end;
136
- end;
137
- ****************** find the closest cluster ******************;
138
- if _missingflag4Int_ > 0 then
139
- do;
140
- _CLUSTER_ID_ = .;
141
- _DISTANCE_ = .;
142
- _minDistInt_ = .;
143
- _STANDARDIZED_DISTANCE_ = .;
144
- end;
145
- else
146
- do;
147
- _CLUSTER_ID_ = .;
148
- _minDist_ = 8.988465674E307;
149
- do _i_=1 to 4;
150
- _intMindist2cntr_ = 0;
151
- do _j_=1 to 4;
152
- _dist_ = _intStdVals_67{_j_} - _stdcntrcoordsInt_67{_i_,_j_};
153
- _dist_ = _dist_ ** 2;
154
- _intMindist2cntr_ = _intMindist2cntr_ + _dist_;
155
- end;
156
- _intMindist2cntr_ = _intMindist2cntr_ ** 0.5;
157
- if( _minDist_ > _intMindist2cntr_) then do;
158
- _CLUSTER_ID_ = _i_;
159
- _minDist_ = _intMindist2cntr_;
160
- end;
161
- _STANDARDIZED_DISTANCE_ = _minDist_;
162
- end;
163
- _DISTANCE_ = 8.988465674E307;
164
- _i_ = _CLUSTER_ID_;
165
- _intMindist2cntr_ = 0;
166
- do _j_=1 to 4;
167
- _dist_ = _intVals_67{_j_} - _cntrcoordsInt_67{_i_,_j_};
168
- _dist_ = _dist_ ** 2;
169
- _intMindist2cntr_ = _intMindist2cntr_ + _dist_;
170
- end;
171
- _intMindist2cntr_ = _intMindist2cntr_ ** 0.5;
172
- _DISTANCE_ = _intMindist2cntr_;
173
- end;
174
-
175
- if (MISSING('_CLUSTER_ID_'n))then _CLUSTER_ID_ = -1; /*------------------------------------------*/
176
- drop '_CLUSTER_ID_'n '_DISTANCE_'n '_WARN_'n '_STANDARDIZED_DISTANCE_'n;
177
- '_CLUSTER_ID__67'n='_CLUSTER_ID_'n;
178
- '_DISTANCE__67'n='_DISTANCE_'n;
179
- '_WARN__67'n='_WARN_'n;
180
- '_STANDARDIZED_DISTANCE__67'n='_STANDARDIZED_DISTANCE_'n;
181
- /*------------------------------------------*/
1
+ /*--------------------------------------------------
2
+ The options statement below should be placed
3
+ before the data step when submitting this code.
4
+ --------------------------------------------------*/
5
+ /*options VALIDMEMNAME=EXTEND VALIDVARNAME=ANY;*/
6
+ /*------------------------------------------
7
+ Generated SAS Scoring Code
8
+ Date : 02Jul2019:21:19:56
9
+ Locale : en_US
10
+ Model Type : Cluster
11
+ Interval variable: SDOH_PMU(SDOH1 Physically Mentally Unhealthy)
12
+ Interval variable: SDOH_Per_Adults_Bachelors(SDOH2 Education)
13
+ Interval variable: SDOH_Unemployment_Rate(SDOH4 Unemployment Rate)
14
+ Interval variable: SDOH_Median_Household_Income(SDOH3 Median Household Income)
15
+ ------------------------------------------*/
16
+
17
+
18
+ length _WARN_ $4;
19
+ label _WARN_ = 'Warnings';
20
+ label _CLUSTER_ID_ = 'Cluster ID';
21
+ label _DISTANCE_ = 'Distance to Centroid';
22
+
23
+ _i_ = 0;
24
+ _j_ = 0;
25
+ _k_ = 0;
26
+ _l_ = 0;
27
+ _dist_ = 0;
28
+ _minDist_ = 0;
29
+ _found_ = 0;
30
+ _unknown_ = 0;
31
+ _unknownflag_ = 0;
32
+ _intMindist2cntr_ = 0;
33
+ _missingflag4Int_ = 0;
34
+ _numberOfIntVars_ = 4;
35
+ _minDistInt_ = 0;
36
+ label _STANDARDIZED_DISTANCE_ = 'Standardized Distance to Centroid';
37
+
38
+ drop _i_;
39
+ drop _j_;
40
+ drop _k_;
41
+ drop _l_;
42
+ drop _dist_;
43
+ drop _minDist_;
44
+ drop _minDistInt_;
45
+ drop _unknown_;
46
+ drop _unknownflag_;
47
+ drop _found_;
48
+ drop _intMindist2cntr_;
49
+ drop _missingflag4Int_;
50
+ drop _numberOfIntVars_;
51
+ drop _minDistInt_;
52
+
53
+ array _intVals_67{4} _temporary_;
54
+ array _intStdVals_67{4} _temporary_;
55
+ array _intVars_67[4] _temporary_;
56
+ _intVars_67[1] =
57
+ SDOH_PMU;
58
+ _intVars_67[2] =
59
+ SDOH_Per_Adults_Bachelors;
60
+ _intVars_67[3] =
61
+ SDOH_Unemployment_Rate;
62
+ _intVars_67[4] =
63
+ SDOH_Median_Household_Income;
64
+ array _cntrcoordsInt_67{4,4} _temporary_ (
65
+ 5.6752109618776
66
+ 34.574068577069
67
+ 5.5249572649573
68
+ 65162.262238794
69
+ 6.1728412355737
70
+ 28.076500921419
71
+ 8.4815044247788
72
+ 50250.811599193
73
+ 5.5563377592335
74
+ 27.69585347275
75
+ 3.586724137931
76
+ 55456.199169472
77
+ 7.1425816544567
78
+ 23.193113163492
79
+ 5.9483653846154
80
+ 45013.481439879
81
+ );
82
+ array _stdcntrcoordsInt_67 {4,4} _temporary_ (
83
+ -0.545947986801
84
+ 1.2465170251288
85
+ -0.140043320021
86
+ 1.2424484776721
87
+ 0.080847377302
88
+ -0.09555849286
89
+ 1.0754374093924
90
+ -0.456774851619
91
+ -0.695675960102
92
+ -0.17418139437
93
+ -0.936879929639
94
+ 0.1364012391051
95
+ 1.3022939633885
96
+ -1.104224427884
97
+ 0.0340260867236
98
+ -1.053590936451
99
+ );
100
+ array _stdscaleInt_67 {4} _temporary_ (
101
+ 0.7939278147152
102
+ 4.8414322208822
103
+ 2.4324097357342
104
+ 8775.4507500947
105
+ );
106
+ array _stdcenterInt_67 {4} _temporary_ (
107
+ 6.1086542539869
108
+ 28.539140887732
109
+ 5.8656
110
+ 54259.216813453
111
+ );
112
+
113
+ *************** check missing interval value ******************;
114
+ _missingflag4Int_ = 0;
115
+ do _i_ = 1 to _numberOfIntVars_ until(_missingflag4Int_);
116
+ if missing( _intVars_67[_i_] ) then
117
+ _missingflag4Int_ = 1;
118
+ end;
119
+
120
+ if (_missingflag4Int_ = 1) then
121
+ substr(_WARN_, 1, 1) = 'M';
122
+ ********** prepare interval variable values *********;
123
+ do _i_ = 1 to _numberOfIntVars_;
124
+ if missing (_intVars_67[_i_] ) then do;
125
+ _intVals_67[_i_] = .;
126
+ _intStdVals_67[_i_] = .;
127
+ end; else do;
128
+ if missing (_stdscaleInt_67[_i_] ) then do;
129
+ _intStdVals_67[_i_] = ( _intVars_67[_i_] - _stdcenterInt_67[_i_]);
130
+ end; else do;
131
+ _intStdVals_67[_i_] = ( _intVars_67[_i_] - _stdcenterInt_67[_i_])
132
+ / _stdscaleInt_67[_i_];
133
+ end;
134
+ _intVals_67[_i_] = _intVars_67[_i_];
135
+ end;
136
+ end;
137
+ ****************** find the closest cluster ******************;
138
+ if _missingflag4Int_ > 0 then
139
+ do;
140
+ _CLUSTER_ID_ = .;
141
+ _DISTANCE_ = .;
142
+ _minDistInt_ = .;
143
+ _STANDARDIZED_DISTANCE_ = .;
144
+ end;
145
+ else
146
+ do;
147
+ _CLUSTER_ID_ = .;
148
+ _minDist_ = 8.988465674E307;
149
+ do _i_=1 to 4;
150
+ _intMindist2cntr_ = 0;
151
+ do _j_=1 to 4;
152
+ _dist_ = _intStdVals_67{_j_} - _stdcntrcoordsInt_67{_i_,_j_};
153
+ _dist_ = _dist_ ** 2;
154
+ _intMindist2cntr_ = _intMindist2cntr_ + _dist_;
155
+ end;
156
+ _intMindist2cntr_ = _intMindist2cntr_ ** 0.5;
157
+ if( _minDist_ > _intMindist2cntr_) then do;
158
+ _CLUSTER_ID_ = _i_;
159
+ _minDist_ = _intMindist2cntr_;
160
+ end;
161
+ _STANDARDIZED_DISTANCE_ = _minDist_;
162
+ end;
163
+ _DISTANCE_ = 8.988465674E307;
164
+ _i_ = _CLUSTER_ID_;
165
+ _intMindist2cntr_ = 0;
166
+ do _j_=1 to 4;
167
+ _dist_ = _intVals_67{_j_} - _cntrcoordsInt_67{_i_,_j_};
168
+ _dist_ = _dist_ ** 2;
169
+ _intMindist2cntr_ = _intMindist2cntr_ + _dist_;
170
+ end;
171
+ _intMindist2cntr_ = _intMindist2cntr_ ** 0.5;
172
+ _DISTANCE_ = _intMindist2cntr_;
173
+ end;
174
+
175
+ if (MISSING('_CLUSTER_ID_'n))then _CLUSTER_ID_ = -1; /*------------------------------------------*/
176
+ drop '_CLUSTER_ID_'n '_DISTANCE_'n '_WARN_'n '_STANDARDIZED_DISTANCE_'n;
177
+ '_CLUSTER_ID__67'n='_CLUSTER_ID_'n;
178
+ '_DISTANCE__67'n='_DISTANCE_'n;
179
+ '_WARN__67'n='_WARN_'n;
180
+ '_STANDARDIZED_DISTANCE__67'n='_STANDARDIZED_DISTANCE_'n;
181
+ /*------------------------------------------*/
182
182
  run;