@@ -63,15 +63,17 @@ CJSON SkipRuntime_LazyCollection__getArray(char* handle, CJSON key);
63
63
CJSON SkipRuntime_LazyCollection__getUnique (char * handle, CJSON key);
64
64
65
65
double SkipRuntime_Runtime__createResource (char * identifier, char * resource,
66
- CJObject jsonParams);
66
+ CJObject jsonParams,
67
+ char * session_id);
67
68
double SkipRuntime_Runtime__closeResource (char * identifier);
68
69
int64_t SkipRuntime_Runtime__subscribe (char * reactiveId, SKNotifier notifier,
69
70
char * watermark);
70
71
double SkipRuntime_Runtime__unsubscribe (int64_t id);
71
72
CJSON SkipRuntime_Runtime__getAll (char * resource, CJObject jsonParams,
72
- SKRequest optRequest);
73
+ char * session_id, SKRequest optRequest);
73
74
CJSON SkipRuntime_Runtime__getForKey (char * resource, CJObject jsonParams,
74
- CJSON key, SKRequest optRequest);
75
+ char * session_id, CJSON key,
76
+ SKRequest optRequest);
75
77
double SkipRuntime_Runtime__update (char * input, CJSON values);
76
78
}
77
79
@@ -979,7 +981,8 @@ void GetUniqueOfLazyCollection(const FunctionCallbackInfo<Value>& args) {
979
981
980
982
void CreateResourceOfRuntime (const FunctionCallbackInfo<Value>& args) {
981
983
Isolate* isolate = args.GetIsolate ();
982
- if (!args[0 ]->IsString () || !args[1 ]->IsString () || !args[2 ]->IsExternal ()) {
984
+ if (!args[0 ]->IsString () || !args[1 ]->IsString () || !args[2 ]->IsExternal () ||
985
+ !(args[3 ]->IsString () || args[3 ]->IsNull ())) {
983
986
// Throw an Error that is passed back to JavaScript
984
987
isolate->ThrowException (
985
988
Exception::TypeError (FromUtf8 (isolate, " Invalid parameters." )));
@@ -989,8 +992,12 @@ void CreateResourceOfRuntime(const FunctionCallbackInfo<Value>& args) {
989
992
char * skidentifier = ToSKString (isolate, args[0 ].As <String>());
990
993
char * skresource = ToSKString (isolate, args[1 ].As <String>());
991
994
CJObject skparams = args[2 ].As <External>()->Value ();
992
- double skerror =
993
- SkipRuntime_Runtime__createResource (skidentifier, skresource, skparams);
995
+ char * sksessionId = nullptr ;
996
+ if (args[3 ]->IsString ()) {
997
+ sksessionId = ToSKString (isolate, args[3 ].As <String>());
998
+ }
999
+ double skerror = SkipRuntime_Runtime__createResource (
1000
+ skidentifier, skresource, skparams, sksessionId);
994
1001
args.GetReturnValue ().Set (Number::New (isolate, skerror));
995
1002
});
996
1003
}
@@ -1077,21 +1084,31 @@ void GetAllOfRuntime(const FunctionCallbackInfo<Value>& args) {
1077
1084
FromUtf8 (isolate, " The second parameter must be a pointer." )));
1078
1085
return ;
1079
1086
}
1080
- if (!args[2 ]->IsExternal () && !args[2 ]->IsNull () && !args[2 ]->IsUndefined ()) {
1087
+ if (!args[2 ]->IsString () && !args[2 ]->IsNull ()) {
1088
+ // Throw an Error that is passed back to JavaScript
1089
+ isolate->ThrowException (Exception::TypeError (
1090
+ FromUtf8 (isolate, " The third parameter must be a string or null." )));
1091
+ return ;
1092
+ };
1093
+ if (!args[3 ]->IsExternal () && !args[3 ]->IsNull () && !args[3 ]->IsUndefined ()) {
1081
1094
// Throw an Error that is passed back to JavaScript
1082
1095
isolate->ThrowException (Exception::TypeError (FromUtf8 (
1083
- isolate, " The third parameter must be a pointer or undefined." )));
1096
+ isolate, " The fourth parameter must be a pointer or undefined." )));
1084
1097
return ;
1085
1098
};
1086
1099
NatTryCatch (isolate, [&args](Isolate* isolate) {
1087
1100
char * skresource = ToSKString (isolate, args[0 ].As <String>());
1088
1101
CJObject skparams = args[1 ].As <External>()->Value ();
1102
+ char * sksessionId = nullptr ;
1103
+ if (args[2 ]->IsString ()) {
1104
+ sksessionId = ToSKString (isolate, args[2 ].As <String>());
1105
+ }
1089
1106
SKRequest skrequest = nullptr ;
1090
- if (args[2 ]->IsExternal ()) {
1091
- skrequest = args[2 ].As <External>()->Value ();
1107
+ if (args[3 ]->IsExternal ()) {
1108
+ skrequest = args[3 ].As <External>()->Value ();
1092
1109
}
1093
- CJSON skresult =
1094
- SkipRuntime_Runtime__getAll (skresource, skparams , skrequest);
1110
+ CJSON skresult = SkipRuntime_Runtime__getAll (skresource, skparams,
1111
+ sksessionId , skrequest);
1095
1112
args.GetReturnValue ().Set (External::New (isolate, skresult));
1096
1113
});
1097
1114
}
@@ -1104,28 +1121,44 @@ void GetForKeyOfRuntime(const FunctionCallbackInfo<Value>& args) {
1104
1121
FromUtf8 (isolate, " The first parameter must be a string." )));
1105
1122
return ;
1106
1123
}
1107
- if (!args[1 ]->IsExternal () || !args[ 2 ]-> IsExternal () ) {
1124
+ if (!args[1 ]->IsExternal ()) {
1108
1125
// Throw an Error that is passed back to JavaScript
1109
- isolate->ThrowException (Exception::TypeError (FromUtf8 (
1110
- isolate, " The second and third parameters must be pointers ." )));
1126
+ isolate->ThrowException (Exception::TypeError (
1127
+ FromUtf8 ( isolate, " The second parameter must be a pointer ." )));
1111
1128
return ;
1112
1129
}
1113
- if (!args[3 ]->IsExternal () && !args[3 ]->IsNull () && !args[3 ]->IsUndefined ()) {
1130
+ if (!args[2 ]->IsString () && !args[2 ]->IsNull ()) {
1131
+ // Throw an Error that is passed back to JavaScript
1132
+ isolate->ThrowException (Exception::TypeError (
1133
+ FromUtf8 (isolate, " The third parameter must be a string or null." )));
1134
+ return ;
1135
+ };
1136
+ if (!args[3 ]->IsExternal () || !args[3 ]->IsExternal ()) {
1137
+ // Throw an Error that is passed back to JavaScript
1138
+ isolate->ThrowException (Exception::TypeError (
1139
+ FromUtf8 (isolate, " The fourth parameter must be a pointer." )));
1140
+ return ;
1141
+ }
1142
+ if (!args[4 ]->IsExternal () && !args[4 ]->IsNull () && !args[4 ]->IsUndefined ()) {
1114
1143
// Throw an Error that is passed back to JavaScript
1115
1144
isolate->ThrowException (Exception::TypeError (FromUtf8 (
1116
- isolate, " The fourth parameter must be a pointer or undefined." )));
1145
+ isolate, " The fifth parameter must be a pointer or undefined." )));
1117
1146
return ;
1118
1147
};
1119
1148
NatTryCatch (isolate, [&args](Isolate* isolate) {
1120
1149
char * skresource = ToSKString (isolate, args[0 ].As <String>());
1121
1150
CJObject skparams = args[1 ].As <External>()->Value ();
1122
- CJSON skkey = args[2 ].As <External>()->Value ();
1151
+ char * sksessionId = nullptr ;
1152
+ if (args[2 ]->IsString ()) {
1153
+ sksessionId = ToSKString (isolate, args[2 ].As <String>());
1154
+ }
1155
+ CJSON skkey = args[3 ].As <External>()->Value ();
1123
1156
SKRequest skrequest = nullptr ;
1124
- if (args[3 ]->IsExternal ()) {
1125
- skrequest = args[3 ].As <External>()->Value ();
1157
+ if (args[4 ]->IsExternal ()) {
1158
+ skrequest = args[4 ].As <External>()->Value ();
1126
1159
}
1127
- CJSON skresult =
1128
- SkipRuntime_Runtime__getForKey ( skresource, skparams, skkey, skrequest);
1160
+ CJSON skresult = SkipRuntime_Runtime__getForKey (
1161
+ skresource, skparams, sksessionId , skkey, skrequest);
1129
1162
args.GetReturnValue ().Set (External::New (isolate, skresult));
1130
1163
});
1131
1164
}
0 commit comments