@espressif/rainmaker-admin-sdk 1.1.1 → 1.2.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.
- package/CHANGELOG.md +102 -0
- package/dist/cjs/entries/ESPRMAdminNode.cjs +1 -0
- package/dist/cjs/entries/ESPRMAdminNodeRegistration.cjs +3 -0
- package/dist/cjs/index.cjs +4 -0
- package/dist/cjs/methods/ESPRMAdminNode/CancelCommandRequests.cjs +27 -0
- package/dist/cjs/methods/ESPRMAdminNodeRegistration/GetNodeCertificateUploadUrl.cjs +25 -0
- package/dist/cjs/methods/ESPRMAdminNodeRegistration/GetNodeRegistrationRequest.cjs +24 -0
- package/dist/cjs/methods/ESPRMAdminNodeRegistration/ListNodeRegistrationRequests.cjs +21 -0
- package/dist/cjs/utils/constants.cjs +3 -0
- package/dist/cjs/utils/error/errorMessages.cjs +2 -0
- package/dist/esm/entries/ESPRMAdminNode.js +1 -0
- package/dist/esm/entries/ESPRMAdminNodeRegistration.js +3 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/methods/ESPRMAdminNode/CancelCommandRequests.js +25 -0
- package/dist/esm/methods/ESPRMAdminNodeRegistration/GetNodeCertificateUploadUrl.js +23 -0
- package/dist/esm/methods/ESPRMAdminNodeRegistration/GetNodeRegistrationRequest.js +22 -0
- package/dist/esm/methods/ESPRMAdminNodeRegistration/ListNodeRegistrationRequests.js +19 -0
- package/dist/esm/utils/constants.js +3 -0
- package/dist/esm/utils/error/errorMessages.js +2 -0
- package/dist/types/methods/ESPRMAdminNode/CancelCommandRequests.d.ts +22 -0
- package/dist/types/methods/ESPRMAdminNode/index.d.ts +1 -0
- package/dist/types/methods/ESPRMAdminNodeRegistration/GetMQTTHost.d.ts +3 -2
- package/dist/types/methods/ESPRMAdminNodeRegistration/GetNodeCertificateUploadUrl.d.ts +18 -0
- package/dist/types/methods/ESPRMAdminNodeRegistration/GetNodeRegistrationRequest.d.ts +17 -0
- package/dist/types/methods/ESPRMAdminNodeRegistration/ListNodeRegistrationRequests.d.ts +19 -0
- package/dist/types/methods/ESPRMAdminNodeRegistration/RegisterNodeCertificates.d.ts +6 -6
- package/dist/types/methods/ESPRMAdminNodeRegistration/index.d.ts +3 -0
- package/dist/types/types/command_response.d.ts +56 -7
- package/dist/types/types/input.d.ts +1 -1
- package/dist/types/types/node_registration.d.ts +164 -12
- package/dist/types/types/output.d.ts +1 -1
- package/dist/types/utils/constants.d.ts +3 -0
- package/dist/types/utils/error/errorMessages.d.ts +2 -0
- package/dist/types-cjs/methods/ESPRMAdminNode/CancelCommandRequests.d.cts +22 -0
- package/dist/types-cjs/methods/ESPRMAdminNode/index.d.cts +1 -0
- package/dist/types-cjs/methods/ESPRMAdminNodeRegistration/GetMQTTHost.d.cts +3 -2
- package/dist/types-cjs/methods/ESPRMAdminNodeRegistration/GetNodeCertificateUploadUrl.d.cts +18 -0
- package/dist/types-cjs/methods/ESPRMAdminNodeRegistration/GetNodeRegistrationRequest.d.cts +17 -0
- package/dist/types-cjs/methods/ESPRMAdminNodeRegistration/ListNodeRegistrationRequests.d.cts +19 -0
- package/dist/types-cjs/methods/ESPRMAdminNodeRegistration/RegisterNodeCertificates.d.cts +6 -6
- package/dist/types-cjs/methods/ESPRMAdminNodeRegistration/index.d.cts +3 -0
- package/dist/types-cjs/types/command_response.d.cts +56 -7
- package/dist/types-cjs/types/input.d.cts +1 -1
- package/dist/types-cjs/types/node_registration.d.cts +164 -12
- package/dist/types-cjs/types/output.d.cts +1 -1
- package/dist/types-cjs/utils/constants.d.cts +3 -0
- package/dist/types-cjs/utils/error/errorMessages.d.cts +2 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,108 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) and follows the [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) format.
|
|
5
5
|
|
|
6
|
+
## [1.2.0] - 2026-09-25
|
|
7
|
+
|
|
8
|
+
Minor release that adds typed access to node certificate registration, so
|
|
9
|
+
admin apps can register nodes from a CSV, list registration jobs and inspect
|
|
10
|
+
a single job without hand-rolled HTTP calls. It also completes the node
|
|
11
|
+
endpoint response type.
|
|
12
|
+
|
|
13
|
+
The registration request and status types are corrected to match what the
|
|
14
|
+
backend accepts and returns. The old request shape (`node_ids` / `certs`)
|
|
15
|
+
was never accepted by `admin/node_certificates/register`, so no working
|
|
16
|
+
caller can break at runtime, but code that built that shape will no longer
|
|
17
|
+
type-check.
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
- **CSV node certificate registration** (`ESPRMAdminNodeRegistration`)
|
|
22
|
+
- `getNodeCertificateUploadUrl({ file_name })` wraps
|
|
23
|
+
`GET admin/node_certificates/register?file_name=`. It returns a
|
|
24
|
+
pre-signed S3 PUT URL (valid for 1 hour) and the `request_id` to pass to
|
|
25
|
+
`registerNodeCertificates`. It throws `MISSING_FILE_NAME` when
|
|
26
|
+
`file_name` is empty.
|
|
27
|
+
- New types: `GetNodeCertificateUploadUrlParams`,
|
|
28
|
+
`NodeCertificateUploadUrlResponse` and
|
|
29
|
+
`RegisterNodeCertificatesResponse`.
|
|
30
|
+
- **Node registration requests** (`ESPRMAdminNodeRegistration`)
|
|
31
|
+
- `listNodeRegistrationRequests(params?)` wraps
|
|
32
|
+
`GET admin/node_registrations/requests`. It accepts an optional `status`
|
|
33
|
+
filter plus `num_records` / `start_id` pagination and returns the
|
|
34
|
+
requests newest first, with `next_id` while more pages exist. The
|
|
35
|
+
backend caps `num_records` at 25.
|
|
36
|
+
- `getNodeRegistrationRequest(requestId)` wraps
|
|
37
|
+
`GET admin/node_registrations/requests/{request_id}` and returns the full
|
|
38
|
+
request detail: registration parameters, failure context and a
|
|
39
|
+
pre-signed CSV download URL that is valid for 1 hour. It throws
|
|
40
|
+
`MISSING_REQUEST_ID` when `requestId` is empty.
|
|
41
|
+
- New types: `NodeRegistrationRequestStatus`,
|
|
42
|
+
`ListNodeRegistrationRequestsParams`, `NodeRegistrationRequest`,
|
|
43
|
+
`ListNodeRegistrationRequestsResponse` and
|
|
44
|
+
`NodeRegistrationRequestDetail`.
|
|
45
|
+
- **Command request cancellation** (`ESPRMAdminNode`)
|
|
46
|
+
- `cancelCommandRequests(params)` wraps `DELETE admin/nodes/cmd`. Pass
|
|
47
|
+
`request_id` to cancel one request, or `node_id` (optionally with
|
|
48
|
+
`cmd_id`) to cancel every pending request for a node. Only `requested`
|
|
49
|
+
and `in_progress` requests can be cancelled. It throws
|
|
50
|
+
`MISSING_CANCEL_COMMAND_SCOPE` when neither `request_id` nor `node_id`
|
|
51
|
+
is given, and `CMD_ID_REQUIRES_NODE_ID` when `cmd_id` is sent without
|
|
52
|
+
`node_id`.
|
|
53
|
+
- New types: `CancelCommandRequestsParams`,
|
|
54
|
+
`CancelCommandRequestsResponse`, `CommandRequestStatus` and
|
|
55
|
+
`CommandRequestDataError`.
|
|
56
|
+
- **Errors**
|
|
57
|
+
- Added the `MISSING_CANCEL_COMMAND_SCOPE` and `CMD_ID_REQUIRES_NODE_ID`
|
|
58
|
+
API-call validation codes.
|
|
59
|
+
|
|
60
|
+
### Changed
|
|
61
|
+
|
|
62
|
+
- **Command requests** (`ESPRMAdminNode`)
|
|
63
|
+
- `CommandRequestInfo.status` and `GetCommandRequestsParams.status` are
|
|
64
|
+
now typed as `CommandRequestStatus` (`requested`, `in_progress`,
|
|
65
|
+
`success`, `failure`, `timed_out`, `overridden`, `cancelled`). Code that
|
|
66
|
+
passed an arbitrary string will no longer type-check; the backend never
|
|
67
|
+
returned any other value.
|
|
68
|
+
- `CommandRequestInfo` now declares the fields the backend already
|
|
69
|
+
returned: `user_name`, `is_base64`, `request_data_error`,
|
|
70
|
+
`response_data_error`, `indefinite_timeout` and `for_user`. Timestamp
|
|
71
|
+
fields are documented as epoch seconds.
|
|
72
|
+
- `GetCommandRequestsParams.start_time` / `end_time` are documented as
|
|
73
|
+
epoch seconds that must be sent together; the backend only honours a
|
|
74
|
+
time range when the `cmd_resp_history` deployment setting is enabled.
|
|
75
|
+
- **CSV node certificate registration** (`ESPRMAdminNodeRegistration`)
|
|
76
|
+
- `RegisterNodeCertificatesRequest` now describes the real request body:
|
|
77
|
+
`file_name`, `file_md5`, `request_id` and `refresh_token` are required
|
|
78
|
+
(the backend rejects the call without them), and `type`, `model`,
|
|
79
|
+
`subtype`, `group_name`, `parent_group_id`, `parent_group_name`, `tags`,
|
|
80
|
+
`force`, `update_nodes`, `node_policies` and `tenant_id` are optional.
|
|
81
|
+
The previous `node_ids` / `certs` shape and its index signature are
|
|
82
|
+
removed.
|
|
83
|
+
- `registerNodeCertificates` now resolves to
|
|
84
|
+
`RegisterNodeCertificatesResponse`, which includes the `request_id`.
|
|
85
|
+
- `NodeCertificateRegistrationStatusResponse` now declares the fields the
|
|
86
|
+
backend returns (`completed_count`, `total_count`, `description`,
|
|
87
|
+
`failed_registration`, `group_name`, `group_id`) and types `status` as
|
|
88
|
+
`NodeRegistrationRequestStatus`. The undocumented `request_id` field and
|
|
89
|
+
the index signature are removed; the backend never returned them.
|
|
90
|
+
- **Node endpoints**
|
|
91
|
+
- `GetMQTTHostResponse` now declares `mqtt_cred_host` (the AWS IoT
|
|
92
|
+
credential provider endpoint) and `https_host`, which
|
|
93
|
+
`admin/mqtt_host` already returned. Callers that read them through the
|
|
94
|
+
index signature keep working.
|
|
95
|
+
|
|
96
|
+
### Notes
|
|
97
|
+
|
|
98
|
+
- CSV registration is a three-step flow: call
|
|
99
|
+
`getNodeCertificateUploadUrl()`, `PUT` the CSV to the returned URL
|
|
100
|
+
**without** an `Authorization` header, then call
|
|
101
|
+
`registerNodeCertificates()` with the same `request_id` and the file's hex
|
|
102
|
+
MD5. Track progress with `getNodeCertificateRegistrationStatus()` or
|
|
103
|
+
`getNodeRegistrationRequest()`.
|
|
104
|
+
- `getNodeCertificateRegistrationStatus()` checks the batch job and reports
|
|
105
|
+
`failure` when the job died while the request was still `requested`;
|
|
106
|
+
`getNodeRegistrationRequest()` returns the stored status as-is.
|
|
107
|
+
|
|
6
108
|
## [1.1.1] - 2026-09-23
|
|
7
109
|
|
|
8
110
|
Patch release for the simple time series data endpoint. The time range
|
|
@@ -12,6 +12,7 @@ require('../methods/ESPRMAdminNode/RemoveNodeTags.cjs');
|
|
|
12
12
|
require('../methods/ESPRMAdminNode/GetNodeTags.cjs');
|
|
13
13
|
require('../methods/ESPRMAdminNode/GetCommandRequests.cjs');
|
|
14
14
|
require('../methods/ESPRMAdminNode/AddCommandRequest.cjs');
|
|
15
|
+
require('../methods/ESPRMAdminNode/CancelCommandRequests.cjs');
|
|
15
16
|
require('../methods/ESPRMAdminNode/GetTimeSeriesData.cjs');
|
|
16
17
|
require('../methods/ESPRMAdminNode/GetSimpleTimeSeriesData.cjs');
|
|
17
18
|
var ESPRMAdminNode = require('../ESPRMAdminNode.cjs');
|
|
@@ -10,8 +10,11 @@ require('../methods/ESPRMAdminNodeRegistration/GetNodeIds.cjs');
|
|
|
10
10
|
require('../methods/ESPRMAdminNodeRegistration/GetNodeCertificates.cjs');
|
|
11
11
|
require('../methods/ESPRMAdminNodeRegistration/GetNodeCertificateRegistrationStatus.cjs');
|
|
12
12
|
require('../methods/ESPRMAdminNodeRegistration/RegisterNodeCertificates.cjs');
|
|
13
|
+
require('../methods/ESPRMAdminNodeRegistration/GetNodeCertificateUploadUrl.cjs');
|
|
13
14
|
require('../methods/ESPRMAdminNodeRegistration/GetMQTTHost.cjs');
|
|
14
15
|
require('../methods/ESPRMAdminNodeRegistration/GetCustomMQTTHost.cjs');
|
|
16
|
+
require('../methods/ESPRMAdminNodeRegistration/ListNodeRegistrationRequests.cjs');
|
|
17
|
+
require('../methods/ESPRMAdminNodeRegistration/GetNodeRegistrationRequest.cjs');
|
|
15
18
|
var ESPRMAdminNodeRegistration = require('../ESPRMAdminNodeRegistration.cjs');
|
|
16
19
|
|
|
17
20
|
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -80,6 +80,7 @@ require('./methods/ESPRMAdminNode/RemoveNodeTags.cjs');
|
|
|
80
80
|
require('./methods/ESPRMAdminNode/GetNodeTags.cjs');
|
|
81
81
|
require('./methods/ESPRMAdminNode/GetCommandRequests.cjs');
|
|
82
82
|
require('./methods/ESPRMAdminNode/AddCommandRequest.cjs');
|
|
83
|
+
require('./methods/ESPRMAdminNode/CancelCommandRequests.cjs');
|
|
83
84
|
require('./methods/ESPRMAdminNode/GetTimeSeriesData.cjs');
|
|
84
85
|
require('./methods/ESPRMAdminNode/GetSimpleTimeSeriesData.cjs');
|
|
85
86
|
require('./methods/ESPRMAdminOTAImage/UploadImage.cjs');
|
|
@@ -160,8 +161,11 @@ require('./methods/ESPRMAdminNodeRegistration/GetNodeIds.cjs');
|
|
|
160
161
|
require('./methods/ESPRMAdminNodeRegistration/GetNodeCertificates.cjs');
|
|
161
162
|
require('./methods/ESPRMAdminNodeRegistration/GetNodeCertificateRegistrationStatus.cjs');
|
|
162
163
|
require('./methods/ESPRMAdminNodeRegistration/RegisterNodeCertificates.cjs');
|
|
164
|
+
require('./methods/ESPRMAdminNodeRegistration/GetNodeCertificateUploadUrl.cjs');
|
|
163
165
|
require('./methods/ESPRMAdminNodeRegistration/GetMQTTHost.cjs');
|
|
164
166
|
require('./methods/ESPRMAdminNodeRegistration/GetCustomMQTTHost.cjs');
|
|
167
|
+
require('./methods/ESPRMAdminNodeRegistration/ListNodeRegistrationRequests.cjs');
|
|
168
|
+
require('./methods/ESPRMAdminNodeRegistration/GetNodeRegistrationRequest.cjs');
|
|
165
169
|
require('./methods/ESPRMAdminSuperAdmin/ChangeSuperAdmin.cjs');
|
|
166
170
|
require('./methods/ESPRMAdminSenderEmail/ChangeSenderEmail.cjs');
|
|
167
171
|
require('./methods/ESPRMAdminCommonCustomData/SetCommonCustomData.cjs');
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
'use strict';
|
|
7
|
+
|
|
8
|
+
var ESPRMAdminNode = require('../../ESPRMAdminNode.cjs');
|
|
9
|
+
var ESPRMAPIManager = require('../../services/ESPRMAPIManager.cjs');
|
|
10
|
+
var constants = require('../../utils/constants.cjs');
|
|
11
|
+
var ESPAPICallValidationError = require('../../utils/error/ESPAPICallValidationError.cjs');
|
|
12
|
+
|
|
13
|
+
ESPRMAdminNode.ESPRMAdminNode.prototype.cancelCommandRequests = async function (params) {
|
|
14
|
+
if (!params?.request_id && !params?.node_id) {
|
|
15
|
+
throw new ESPAPICallValidationError.ESPAPICallValidationError(constants.APICallValidationErrorCodes.MISSING_CANCEL_COMMAND_SCOPE);
|
|
16
|
+
}
|
|
17
|
+
if (params.cmd_id !== undefined && !params.node_id) {
|
|
18
|
+
throw new ESPAPICallValidationError.ESPAPICallValidationError(constants.APICallValidationErrorCodes.CMD_ID_REQUIRES_NODE_ID);
|
|
19
|
+
}
|
|
20
|
+
const requestConfig = {
|
|
21
|
+
url: constants.APIEndpoints.ADMIN_CMD,
|
|
22
|
+
method: constants.HTTPMethods.DELETE,
|
|
23
|
+
params,
|
|
24
|
+
};
|
|
25
|
+
const response = await ESPRMAPIManager.ESPRMAPIManager.authorizeRequest(requestConfig);
|
|
26
|
+
return response;
|
|
27
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
'use strict';
|
|
7
|
+
|
|
8
|
+
var ESPRMAdminNodeRegistration = require('../../ESPRMAdminNodeRegistration.cjs');
|
|
9
|
+
var ESPRMAPIManager = require('../../services/ESPRMAPIManager.cjs');
|
|
10
|
+
var constants = require('../../utils/constants.cjs');
|
|
11
|
+
var ESPAPICallValidationError = require('../../utils/error/ESPAPICallValidationError.cjs');
|
|
12
|
+
|
|
13
|
+
ESPRMAdminNodeRegistration.ESPRMAdminNodeRegistration.prototype.getNodeCertificateUploadUrl =
|
|
14
|
+
async function (params) {
|
|
15
|
+
if (!params.file_name) {
|
|
16
|
+
throw new ESPAPICallValidationError.ESPAPICallValidationError(constants.APICallValidationErrorCodes.MISSING_FILE_NAME);
|
|
17
|
+
}
|
|
18
|
+
const requestConfig = {
|
|
19
|
+
url: constants.APIEndpoints.ADMIN_NODE_CERTIFICATES_REGISTER,
|
|
20
|
+
method: constants.HTTPMethods.GET,
|
|
21
|
+
params: { file_name: params.file_name },
|
|
22
|
+
};
|
|
23
|
+
const response = await ESPRMAPIManager.ESPRMAPIManager.authorizeRequest(requestConfig);
|
|
24
|
+
return response;
|
|
25
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
'use strict';
|
|
7
|
+
|
|
8
|
+
var ESPRMAdminNodeRegistration = require('../../ESPRMAdminNodeRegistration.cjs');
|
|
9
|
+
var ESPRMAPIManager = require('../../services/ESPRMAPIManager.cjs');
|
|
10
|
+
var constants = require('../../utils/constants.cjs');
|
|
11
|
+
var ESPAPICallValidationError = require('../../utils/error/ESPAPICallValidationError.cjs');
|
|
12
|
+
|
|
13
|
+
ESPRMAdminNodeRegistration.ESPRMAdminNodeRegistration.prototype.getNodeRegistrationRequest =
|
|
14
|
+
async function (requestId) {
|
|
15
|
+
if (!requestId) {
|
|
16
|
+
throw new ESPAPICallValidationError.ESPAPICallValidationError(constants.APICallValidationErrorCodes.MISSING_REQUEST_ID);
|
|
17
|
+
}
|
|
18
|
+
const requestConfig = {
|
|
19
|
+
url: `${constants.APIEndpoints.ADMIN_NODE_REGISTRATION_REQUESTS}/${encodeURIComponent(requestId)}`,
|
|
20
|
+
method: constants.HTTPMethods.GET,
|
|
21
|
+
};
|
|
22
|
+
const response = await ESPRMAPIManager.ESPRMAPIManager.authorizeRequest(requestConfig);
|
|
23
|
+
return response;
|
|
24
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
'use strict';
|
|
7
|
+
|
|
8
|
+
var ESPRMAdminNodeRegistration = require('../../ESPRMAdminNodeRegistration.cjs');
|
|
9
|
+
var ESPRMAPIManager = require('../../services/ESPRMAPIManager.cjs');
|
|
10
|
+
var constants = require('../../utils/constants.cjs');
|
|
11
|
+
|
|
12
|
+
ESPRMAdminNodeRegistration.ESPRMAdminNodeRegistration.prototype.listNodeRegistrationRequests =
|
|
13
|
+
async function (params) {
|
|
14
|
+
const requestConfig = {
|
|
15
|
+
url: constants.APIEndpoints.ADMIN_NODE_REGISTRATION_REQUESTS,
|
|
16
|
+
method: constants.HTTPMethods.GET,
|
|
17
|
+
...(params && { params }),
|
|
18
|
+
};
|
|
19
|
+
const response = await ESPRMAPIManager.ESPRMAPIManager.authorizeRequest(requestConfig);
|
|
20
|
+
return response;
|
|
21
|
+
};
|
|
@@ -70,6 +70,7 @@ const APIEndpoints = {
|
|
|
70
70
|
ADMIN_NODE_IDS: "admin/node_ids",
|
|
71
71
|
ADMIN_NODE_CERTIFICATES: "admin/node_certificates",
|
|
72
72
|
ADMIN_NODE_CERTIFICATES_REGISTER: "admin/node_certificates/register",
|
|
73
|
+
ADMIN_NODE_REGISTRATION_REQUESTS: "admin/node_registrations/requests",
|
|
73
74
|
ADMIN_API_STATS: "admin/api_stats",
|
|
74
75
|
ADMIN_MQTT_STATS: "admin/mqtt_stats",
|
|
75
76
|
ADMIN_CHANGE_SUPER_ADMIN: "admin/change_super_admin",
|
|
@@ -150,6 +151,8 @@ const APICallValidationErrorCodes = {
|
|
|
150
151
|
MISSING_PLATFORM_NAME: "MISSING_PLATFORM_NAME",
|
|
151
152
|
MISSING_PLATFORM_APPLICATION_ARN: "MISSING_PLATFORM_APPLICATION_ARN",
|
|
152
153
|
MISSING_BATCH_ID: "MISSING_BATCH_ID",
|
|
154
|
+
MISSING_CANCEL_COMMAND_SCOPE: "MISSING_CANCEL_COMMAND_SCOPE",
|
|
155
|
+
CMD_ID_REQUIRES_NODE_ID: "CMD_ID_REQUIRES_NODE_ID",
|
|
153
156
|
};
|
|
154
157
|
const TokenErrorCodes = {
|
|
155
158
|
MISSING_ACCESS_TOKEN: "MISSING_ACCESS_TOKEN",
|
|
@@ -54,6 +54,8 @@ const apiCallValidationErrorMessages = {
|
|
|
54
54
|
MISSING_PLATFORM_NAME: "ESPAPICallValidationError: Platform name is required.",
|
|
55
55
|
MISSING_PLATFORM_APPLICATION_ARN: "ESPAPICallValidationError: Platform application ARN is required.",
|
|
56
56
|
MISSING_BATCH_ID: "ESPAPICallValidationError: Batch ID is required.",
|
|
57
|
+
MISSING_CANCEL_COMMAND_SCOPE: "ESPAPICallValidationError: Request ID or node ID is required.",
|
|
58
|
+
CMD_ID_REQUIRES_NODE_ID: "ESPAPICallValidationError: Command ID can only be used together with a node ID.",
|
|
57
59
|
};
|
|
58
60
|
const tokenErrorMessages = {
|
|
59
61
|
MISSING_ACCESS_TOKEN: "ESPTokenError: Access token is missing. User needs to authenticate.",
|
|
@@ -10,6 +10,7 @@ import '../methods/ESPRMAdminNode/RemoveNodeTags.js';
|
|
|
10
10
|
import '../methods/ESPRMAdminNode/GetNodeTags.js';
|
|
11
11
|
import '../methods/ESPRMAdminNode/GetCommandRequests.js';
|
|
12
12
|
import '../methods/ESPRMAdminNode/AddCommandRequest.js';
|
|
13
|
+
import '../methods/ESPRMAdminNode/CancelCommandRequests.js';
|
|
13
14
|
import '../methods/ESPRMAdminNode/GetTimeSeriesData.js';
|
|
14
15
|
import '../methods/ESPRMAdminNode/GetSimpleTimeSeriesData.js';
|
|
15
16
|
export { ESPRMAdminNode } from '../ESPRMAdminNode.js';
|
|
@@ -8,6 +8,9 @@ import '../methods/ESPRMAdminNodeRegistration/GetNodeIds.js';
|
|
|
8
8
|
import '../methods/ESPRMAdminNodeRegistration/GetNodeCertificates.js';
|
|
9
9
|
import '../methods/ESPRMAdminNodeRegistration/GetNodeCertificateRegistrationStatus.js';
|
|
10
10
|
import '../methods/ESPRMAdminNodeRegistration/RegisterNodeCertificates.js';
|
|
11
|
+
import '../methods/ESPRMAdminNodeRegistration/GetNodeCertificateUploadUrl.js';
|
|
11
12
|
import '../methods/ESPRMAdminNodeRegistration/GetMQTTHost.js';
|
|
12
13
|
import '../methods/ESPRMAdminNodeRegistration/GetCustomMQTTHost.js';
|
|
14
|
+
import '../methods/ESPRMAdminNodeRegistration/ListNodeRegistrationRequests.js';
|
|
15
|
+
import '../methods/ESPRMAdminNodeRegistration/GetNodeRegistrationRequest.js';
|
|
13
16
|
export { ESPRMAdminNodeRegistration } from '../ESPRMAdminNodeRegistration.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -78,6 +78,7 @@ import './methods/ESPRMAdminNode/RemoveNodeTags.js';
|
|
|
78
78
|
import './methods/ESPRMAdminNode/GetNodeTags.js';
|
|
79
79
|
import './methods/ESPRMAdminNode/GetCommandRequests.js';
|
|
80
80
|
import './methods/ESPRMAdminNode/AddCommandRequest.js';
|
|
81
|
+
import './methods/ESPRMAdminNode/CancelCommandRequests.js';
|
|
81
82
|
import './methods/ESPRMAdminNode/GetTimeSeriesData.js';
|
|
82
83
|
import './methods/ESPRMAdminNode/GetSimpleTimeSeriesData.js';
|
|
83
84
|
import './methods/ESPRMAdminOTAImage/UploadImage.js';
|
|
@@ -158,8 +159,11 @@ import './methods/ESPRMAdminNodeRegistration/GetNodeIds.js';
|
|
|
158
159
|
import './methods/ESPRMAdminNodeRegistration/GetNodeCertificates.js';
|
|
159
160
|
import './methods/ESPRMAdminNodeRegistration/GetNodeCertificateRegistrationStatus.js';
|
|
160
161
|
import './methods/ESPRMAdminNodeRegistration/RegisterNodeCertificates.js';
|
|
162
|
+
import './methods/ESPRMAdminNodeRegistration/GetNodeCertificateUploadUrl.js';
|
|
161
163
|
import './methods/ESPRMAdminNodeRegistration/GetMQTTHost.js';
|
|
162
164
|
import './methods/ESPRMAdminNodeRegistration/GetCustomMQTTHost.js';
|
|
165
|
+
import './methods/ESPRMAdminNodeRegistration/ListNodeRegistrationRequests.js';
|
|
166
|
+
import './methods/ESPRMAdminNodeRegistration/GetNodeRegistrationRequest.js';
|
|
163
167
|
import './methods/ESPRMAdminSuperAdmin/ChangeSuperAdmin.js';
|
|
164
168
|
import './methods/ESPRMAdminSenderEmail/ChangeSenderEmail.js';
|
|
165
169
|
import './methods/ESPRMAdminCommonCustomData/SetCommonCustomData.js';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ESPRMAdminNode } from '../../ESPRMAdminNode.js';
|
|
7
|
+
import { ESPRMAPIManager } from '../../services/ESPRMAPIManager.js';
|
|
8
|
+
import { APICallValidationErrorCodes, HTTPMethods, APIEndpoints } from '../../utils/constants.js';
|
|
9
|
+
import { ESPAPICallValidationError } from '../../utils/error/ESPAPICallValidationError.js';
|
|
10
|
+
|
|
11
|
+
ESPRMAdminNode.prototype.cancelCommandRequests = async function (params) {
|
|
12
|
+
if (!params?.request_id && !params?.node_id) {
|
|
13
|
+
throw new ESPAPICallValidationError(APICallValidationErrorCodes.MISSING_CANCEL_COMMAND_SCOPE);
|
|
14
|
+
}
|
|
15
|
+
if (params.cmd_id !== undefined && !params.node_id) {
|
|
16
|
+
throw new ESPAPICallValidationError(APICallValidationErrorCodes.CMD_ID_REQUIRES_NODE_ID);
|
|
17
|
+
}
|
|
18
|
+
const requestConfig = {
|
|
19
|
+
url: APIEndpoints.ADMIN_CMD,
|
|
20
|
+
method: HTTPMethods.DELETE,
|
|
21
|
+
params,
|
|
22
|
+
};
|
|
23
|
+
const response = await ESPRMAPIManager.authorizeRequest(requestConfig);
|
|
24
|
+
return response;
|
|
25
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ESPRMAdminNodeRegistration } from '../../ESPRMAdminNodeRegistration.js';
|
|
7
|
+
import { ESPRMAPIManager } from '../../services/ESPRMAPIManager.js';
|
|
8
|
+
import { APICallValidationErrorCodes, HTTPMethods, APIEndpoints } from '../../utils/constants.js';
|
|
9
|
+
import { ESPAPICallValidationError } from '../../utils/error/ESPAPICallValidationError.js';
|
|
10
|
+
|
|
11
|
+
ESPRMAdminNodeRegistration.prototype.getNodeCertificateUploadUrl =
|
|
12
|
+
async function (params) {
|
|
13
|
+
if (!params.file_name) {
|
|
14
|
+
throw new ESPAPICallValidationError(APICallValidationErrorCodes.MISSING_FILE_NAME);
|
|
15
|
+
}
|
|
16
|
+
const requestConfig = {
|
|
17
|
+
url: APIEndpoints.ADMIN_NODE_CERTIFICATES_REGISTER,
|
|
18
|
+
method: HTTPMethods.GET,
|
|
19
|
+
params: { file_name: params.file_name },
|
|
20
|
+
};
|
|
21
|
+
const response = await ESPRMAPIManager.authorizeRequest(requestConfig);
|
|
22
|
+
return response;
|
|
23
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ESPRMAdminNodeRegistration } from '../../ESPRMAdminNodeRegistration.js';
|
|
7
|
+
import { ESPRMAPIManager } from '../../services/ESPRMAPIManager.js';
|
|
8
|
+
import { APICallValidationErrorCodes, HTTPMethods, APIEndpoints } from '../../utils/constants.js';
|
|
9
|
+
import { ESPAPICallValidationError } from '../../utils/error/ESPAPICallValidationError.js';
|
|
10
|
+
|
|
11
|
+
ESPRMAdminNodeRegistration.prototype.getNodeRegistrationRequest =
|
|
12
|
+
async function (requestId) {
|
|
13
|
+
if (!requestId) {
|
|
14
|
+
throw new ESPAPICallValidationError(APICallValidationErrorCodes.MISSING_REQUEST_ID);
|
|
15
|
+
}
|
|
16
|
+
const requestConfig = {
|
|
17
|
+
url: `${APIEndpoints.ADMIN_NODE_REGISTRATION_REQUESTS}/${encodeURIComponent(requestId)}`,
|
|
18
|
+
method: HTTPMethods.GET,
|
|
19
|
+
};
|
|
20
|
+
const response = await ESPRMAPIManager.authorizeRequest(requestConfig);
|
|
21
|
+
return response;
|
|
22
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ESPRMAdminNodeRegistration } from '../../ESPRMAdminNodeRegistration.js';
|
|
7
|
+
import { ESPRMAPIManager } from '../../services/ESPRMAPIManager.js';
|
|
8
|
+
import { HTTPMethods, APIEndpoints } from '../../utils/constants.js';
|
|
9
|
+
|
|
10
|
+
ESPRMAdminNodeRegistration.prototype.listNodeRegistrationRequests =
|
|
11
|
+
async function (params) {
|
|
12
|
+
const requestConfig = {
|
|
13
|
+
url: APIEndpoints.ADMIN_NODE_REGISTRATION_REQUESTS,
|
|
14
|
+
method: HTTPMethods.GET,
|
|
15
|
+
...(params && { params }),
|
|
16
|
+
};
|
|
17
|
+
const response = await ESPRMAPIManager.authorizeRequest(requestConfig);
|
|
18
|
+
return response;
|
|
19
|
+
};
|
|
@@ -68,6 +68,7 @@ const APIEndpoints = {
|
|
|
68
68
|
ADMIN_NODE_IDS: "admin/node_ids",
|
|
69
69
|
ADMIN_NODE_CERTIFICATES: "admin/node_certificates",
|
|
70
70
|
ADMIN_NODE_CERTIFICATES_REGISTER: "admin/node_certificates/register",
|
|
71
|
+
ADMIN_NODE_REGISTRATION_REQUESTS: "admin/node_registrations/requests",
|
|
71
72
|
ADMIN_API_STATS: "admin/api_stats",
|
|
72
73
|
ADMIN_MQTT_STATS: "admin/mqtt_stats",
|
|
73
74
|
ADMIN_CHANGE_SUPER_ADMIN: "admin/change_super_admin",
|
|
@@ -148,6 +149,8 @@ const APICallValidationErrorCodes = {
|
|
|
148
149
|
MISSING_PLATFORM_NAME: "MISSING_PLATFORM_NAME",
|
|
149
150
|
MISSING_PLATFORM_APPLICATION_ARN: "MISSING_PLATFORM_APPLICATION_ARN",
|
|
150
151
|
MISSING_BATCH_ID: "MISSING_BATCH_ID",
|
|
152
|
+
MISSING_CANCEL_COMMAND_SCOPE: "MISSING_CANCEL_COMMAND_SCOPE",
|
|
153
|
+
CMD_ID_REQUIRES_NODE_ID: "CMD_ID_REQUIRES_NODE_ID",
|
|
151
154
|
};
|
|
152
155
|
const TokenErrorCodes = {
|
|
153
156
|
MISSING_ACCESS_TOKEN: "MISSING_ACCESS_TOKEN",
|
|
@@ -52,6 +52,8 @@ const apiCallValidationErrorMessages = {
|
|
|
52
52
|
MISSING_PLATFORM_NAME: "ESPAPICallValidationError: Platform name is required.",
|
|
53
53
|
MISSING_PLATFORM_APPLICATION_ARN: "ESPAPICallValidationError: Platform application ARN is required.",
|
|
54
54
|
MISSING_BATCH_ID: "ESPAPICallValidationError: Batch ID is required.",
|
|
55
|
+
MISSING_CANCEL_COMMAND_SCOPE: "ESPAPICallValidationError: Request ID or node ID is required.",
|
|
56
|
+
CMD_ID_REQUIRES_NODE_ID: "ESPAPICallValidationError: Command ID can only be used together with a node ID.",
|
|
55
57
|
};
|
|
56
58
|
const tokenErrorMessages = {
|
|
57
59
|
MISSING_ACCESS_TOKEN: "ESPTokenError: Access token is missing. User needs to authenticate.",
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { CancelCommandRequestsParams, CancelCommandRequestsResponse } from "../../types/command_response.js";
|
|
7
|
+
declare module "../../ESPRMAdminNode.js" {
|
|
8
|
+
interface ESPRMAdminNode {
|
|
9
|
+
/**
|
|
10
|
+
* Cancels pending (`requested` or `in_progress`) command requests created by any user.
|
|
11
|
+
*
|
|
12
|
+
* - `request_id`: cancels that request. The backend rejects the call (131020)
|
|
13
|
+
* when the request is no longer pending.
|
|
14
|
+
* - `node_id`: cancels every pending request for the node, optionally narrowed
|
|
15
|
+
* by `cmd_id`. Returns `total_cancelled: 0` when nothing matches.
|
|
16
|
+
*
|
|
17
|
+
* @param params - The cancel scope.
|
|
18
|
+
* @returns The number of requests that were cancelled.
|
|
19
|
+
*/
|
|
20
|
+
cancelCommandRequests(params: CancelCommandRequestsParams): Promise<CancelCommandRequestsResponse>;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -7,9 +7,10 @@ import { GetMQTTHostResponse } from "../../types/node_registration.js";
|
|
|
7
7
|
declare module "../../ESPRMAdminNodeRegistration.js" {
|
|
8
8
|
interface ESPRMAdminNodeRegistration {
|
|
9
9
|
/**
|
|
10
|
-
* Retrieves the default MQTT host
|
|
10
|
+
* Retrieves the deployment's default node endpoints: the MQTT host, the
|
|
11
|
+
* IoT credential provider host and, when configured, the HTTPS host.
|
|
11
12
|
*
|
|
12
|
-
* @returns The
|
|
13
|
+
* @returns The node endpoint information.
|
|
13
14
|
*/
|
|
14
15
|
getMQTTHost(): Promise<GetMQTTHostResponse>;
|
|
15
16
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { GetNodeCertificateUploadUrlParams, NodeCertificateUploadUrlResponse } from "../../types/node_registration.js";
|
|
7
|
+
declare module "../../ESPRMAdminNodeRegistration.js" {
|
|
8
|
+
interface ESPRMAdminNodeRegistration {
|
|
9
|
+
/**
|
|
10
|
+
* Fetches a pre-signed URL to upload a node certificates CSV, along with
|
|
11
|
+
* the request ID to pass to `registerNodeCertificates`.
|
|
12
|
+
*
|
|
13
|
+
* @param params - Must include the name of the CSV file.
|
|
14
|
+
* @returns The pre-signed upload URL and the registration request ID.
|
|
15
|
+
*/
|
|
16
|
+
getNodeCertificateUploadUrl(params: GetNodeCertificateUploadUrlParams): Promise<NodeCertificateUploadUrlResponse>;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { NodeRegistrationRequestDetail } from "../../types/node_registration.js";
|
|
7
|
+
declare module "../../ESPRMAdminNodeRegistration.js" {
|
|
8
|
+
interface ESPRMAdminNodeRegistration {
|
|
9
|
+
/**
|
|
10
|
+
* Retrieves the full detail of a node certificate registration request.
|
|
11
|
+
*
|
|
12
|
+
* @param requestId - The ID of the registration request.
|
|
13
|
+
* @returns The registration request detail.
|
|
14
|
+
*/
|
|
15
|
+
getNodeRegistrationRequest(requestId: string): Promise<NodeRegistrationRequestDetail>;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ListNodeRegistrationRequestsParams } from "../../types/node_registration.js";
|
|
7
|
+
import { ListNodeRegistrationRequestsResponse } from "../../types/node_registration.js";
|
|
8
|
+
declare module "../../ESPRMAdminNodeRegistration.js" {
|
|
9
|
+
interface ESPRMAdminNodeRegistration {
|
|
10
|
+
/**
|
|
11
|
+
* Lists the node certificate registration requests of the signed-in
|
|
12
|
+
* admin, newest first.
|
|
13
|
+
*
|
|
14
|
+
* @param params - Optional status filter and pagination.
|
|
15
|
+
* @returns A page of registration requests.
|
|
16
|
+
*/
|
|
17
|
+
listNodeRegistrationRequests(params?: ListNodeRegistrationRequestsParams): Promise<ListNodeRegistrationRequestsResponse>;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { RegisterNodeCertificatesRequest } from "../../types/node_registration.js";
|
|
7
|
-
import { ESPAPISuccessResponse } from "../../types/api.js";
|
|
6
|
+
import { RegisterNodeCertificatesRequest, RegisterNodeCertificatesResponse } from "../../types/node_registration.js";
|
|
8
7
|
declare module "../../ESPRMAdminNodeRegistration.js" {
|
|
9
8
|
interface ESPRMAdminNodeRegistration {
|
|
10
9
|
/**
|
|
11
|
-
*
|
|
10
|
+
* Triggers registration of the node certificates in a CSV that was
|
|
11
|
+
* uploaded to the URL from `getNodeCertificateUploadUrl`.
|
|
12
12
|
*
|
|
13
|
-
* @param params - The
|
|
14
|
-
* @returns
|
|
13
|
+
* @param params - The uploaded file details and registration options.
|
|
14
|
+
* @returns The ID of the registration request.
|
|
15
15
|
*/
|
|
16
|
-
registerNodeCertificates(params: RegisterNodeCertificatesRequest): Promise<
|
|
16
|
+
registerNodeCertificates(params: RegisterNodeCertificatesRequest): Promise<RegisterNodeCertificatesResponse>;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
@@ -8,5 +8,8 @@ import "./GetNodeIds.js";
|
|
|
8
8
|
import "./GetNodeCertificates.js";
|
|
9
9
|
import "./GetNodeCertificateRegistrationStatus.js";
|
|
10
10
|
import "./RegisterNodeCertificates.js";
|
|
11
|
+
import "./GetNodeCertificateUploadUrl.js";
|
|
11
12
|
import "./GetMQTTHost.js";
|
|
12
13
|
import "./GetCustomMQTTHost.js";
|
|
14
|
+
import "./ListNodeRegistrationRequests.js";
|
|
15
|
+
import "./GetNodeRegistrationRequest.js";
|