85 lines
2.0 KiB
Protocol Buffer
Raw Normal View History

2016-12-01 11:38:15 +02:00
/**
2022-01-17 14:07:46 +02:00
* Copyright © 2016-2022 The Thingsboard Authors
2016-12-01 11:38:15 +02:00
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto3";
2018-09-26 14:54:59 +03:00
package js;
2016-12-01 11:38:15 +02:00
2018-09-23 16:11:09 +03:00
option java_package = "org.thingsboard.server.gen.js";
option java_outer_classname = "JsInvokeProtos";
2016-12-01 11:38:15 +02:00
2018-09-27 11:59:15 +03:00
enum JsInvokeErrorCode {
2018-09-26 14:54:59 +03:00
COMPILATION_ERROR = 0;
RUNTIME_ERROR = 1;
2018-09-27 11:59:15 +03:00
TIMEOUT_ERROR = 2;
2018-09-26 14:54:59 +03:00
}
message RemoteJsRequest {
2019-12-03 12:38:52 +02:00
JsCompileRequest compileRequest = 1;
JsInvokeRequest invokeRequest = 2;
JsReleaseRequest releaseRequest = 3;
2018-09-26 14:54:59 +03:00
}
message RemoteJsResponse {
int64 requestIdMSB = 1;
int64 requestIdLSB = 2;
JsCompileResponse compileResponse = 3;
JsInvokeResponse invokeResponse = 4;
JsReleaseResponse releaseResponse = 5;
2018-09-26 14:54:59 +03:00
}
message JsCompileRequest {
int64 scriptIdMSB = 1;
int64 scriptIdLSB = 2;
string functionName = 3;
string scriptBody = 4;
}
message JsReleaseRequest {
int64 scriptIdMSB = 1;
int64 scriptIdLSB = 2;
string functionName = 3;
}
message JsReleaseResponse {
bool success = 1;
int64 scriptIdMSB = 2;
int64 scriptIdLSB = 3;
}
message JsCompileResponse {
bool success = 1;
int64 scriptIdMSB = 2;
int64 scriptIdLSB = 3;
JsInvokeErrorCode errorCode = 4;
string errorDetails = 5;
2016-12-01 11:38:15 +02:00
}
2018-09-23 16:11:09 +03:00
message JsInvokeRequest {
2018-09-26 14:54:59 +03:00
int64 scriptIdMSB = 1;
int64 scriptIdLSB = 2;
string functionName = 3;
string scriptBody = 4;
2018-09-27 11:59:15 +03:00
int32 timeout = 5;
repeated string args = 6;
2018-09-23 16:11:09 +03:00
}
message JsInvokeResponse {
2018-09-26 14:54:59 +03:00
bool success = 1;
string result = 2;
JsInvokeErrorCode errorCode = 3;
string errorDetails = 4;
2018-09-23 16:11:09 +03:00
}