Skip to content

Commit 3ef5077

Browse files
authored
Extending the all_user_cluster_generated_commands with more information on command arguments (#985)
Github: ZAP#971
1 parent 63c0ecf commit 3ef5077

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

src-electron/db/query-command.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,12 @@ async function selectAllAvailableClusterCommandDetailsFromEndpointTypes(
139139
incoming: x.INCOMING,
140140
outgoing: x.OUTGOING,
141141
mfgCommandCount: x.MANUFACTURING_SPECIFIC_COMMAND_COUNT,
142+
hasSpecificResponse: dbApi.toDbBool(x.RESPONSE_REF),
143+
responseName: x.RESPONSE_NAME,
144+
commandArgCount: x.COMMAND_ARGUMENT_COUNT,
145+
requiredCommandArgCount: x.REQUIRED_COMMAND_ARGUMENT_COUNT,
146+
hasArguments: x.COMMAND_ARGUMENT_COUNT > 0,
147+
mustUseTimedInvoke: dbApi.fromDbBool(x.MUST_USE_TIMED_INVOKE),
142148
}
143149
}
144150

@@ -162,7 +168,12 @@ SELECT
162168
COMMAND.CODE AS COMMAND_CODE,
163169
ENDPOINT_TYPE_COMMAND.INCOMING AS INCOMING,
164170
ENDPOINT_TYPE_COMMAND.OUTGOING AS OUTGOING,
165-
COUNT(COMMAND.MANUFACTURER_CODE) OVER () AS MANUFACTURING_SPECIFIC_COMMAND_COUNT
171+
COUNT(COMMAND.MANUFACTURER_CODE) OVER () AS MANUFACTURING_SPECIFIC_COMMAND_COUNT,
172+
COMMAND.RESPONSE_REF,
173+
COMMAND.RESPONSE_NAME,
174+
COMMAND.MUST_USE_TIMED_INVOKE,
175+
COUNT(COMMAND_ARG.COMMAND_REF) AS COMMAND_ARGUMENT_COUNT,
176+
COUNT(COMMAND_ARG.COMMAND_REF) FILTER (WHERE COMMAND_ARG.IS_OPTIONAL = 0) AS REQUIRED_COMMAND_ARGUMENT_COUNT
166177
FROM
167178
COMMAND
168179
INNER JOIN
@@ -177,6 +188,10 @@ INNER JOIN
177188
ENDPOINT_TYPE_CLUSTER
178189
ON
179190
ENDPOINT_TYPE_CLUSTER.CLUSTER_REF = CLUSTER.CLUSTER_ID
191+
LEFT JOIN
192+
COMMAND_ARG
193+
ON
194+
COMMAND.COMMAND_ID = COMMAND_ARG.COMMAND_REF
180195
WHERE
181196
ENDPOINT_TYPE_COMMAND.ENDPOINT_TYPE_REF IN (${endpointTypeIds})
182197
AND ENDPOINT_TYPE_COMMAND.ENDPOINT_TYPE_REF = ENDPOINT_TYPE_CLUSTER.ENDPOINT_TYPE_REF

0 commit comments

Comments
 (0)