Skip to content

Commit 0216a5d

Browse files
committed
fix: rename clear_binds API endpoint
1 parent 8302596 commit 0216a5d

File tree

3 files changed

+20
-20
lines changed

3 files changed

+20
-20
lines changed

lib/extension/bind.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ interface ParsedMQTTMessage {
184184
}
185185

186186
export default class Bind extends Extension {
187-
#topicRegex = new RegExp(`^${settings.get().mqtt.base_topic}/bridge/request/device/(bind|unbind|clear_binds)`);
187+
#topicRegex = new RegExp(`^${settings.get().mqtt.base_topic}/bridge/request/device/(bind|unbind|binds/clear)`);
188188
private pollDebouncers: {[s: string]: () => void} = {};
189189

190190
// biome-ignore lint/suspicious/useAwait: API
@@ -276,18 +276,18 @@ export default class Bind extends Extension {
276276
}
277277

278278
@bind private async onMQTTMessage(data: eventdata.MQTTMessage): Promise<void> {
279-
if (data.topic.endsWith("clear_binds")) {
280-
const message = JSON.parse(data.message) as Zigbee2MQTTAPI["bridge/request/device/clear_binds"];
279+
if (data.topic.endsWith("binds/clear")) {
280+
const message = JSON.parse(data.message) as Zigbee2MQTTAPI["bridge/request/device/binds/clear"];
281281

282282
if (typeof message !== "object" || typeof message.target !== "string") {
283-
await this.publishResponse("clear_binds", message, {}, "Invalid payload");
283+
await this.publishResponse("binds/clear", message, {}, "Invalid payload");
284284
return;
285285
}
286286

287287
const target = this.zigbee.resolveEntity(message.target);
288288

289289
if (!(target instanceof Device)) {
290-
await this.publishResponse("clear_binds", message, {}, "Invalid target");
290+
await this.publishResponse("binds/clear", message, {}, "Invalid target");
291291
return;
292292
}
293293

@@ -296,12 +296,12 @@ export default class Bind extends Extension {
296296

297297
await target.zh.clearAllBindings(eui64List);
298298

299-
const responseData: Zigbee2MQTTAPI["bridge/response/device/clear_binds"] = {
299+
const responseData: Zigbee2MQTTAPI["bridge/response/device/binds/clear"] = {
300300
target: message.target,
301301
ieeeList: eui64List,
302302
};
303303

304-
await this.publishResponse("clear_binds", message, responseData);
304+
await this.publishResponse("binds/clear", message, responseData);
305305
this.eventBus.emitDevicesChanged();
306306
return;
307307
}
@@ -419,7 +419,7 @@ export default class Bind extends Extension {
419419
}
420420

421421
private async publishResponse<T extends Zigbee2MQTTResponseEndpoints>(
422-
type: ParsedMQTTMessage["type"] | "clear_binds",
422+
type: ParsedMQTTMessage["type"] | "binds/clear",
423423
request: KeyValue,
424424
data: Zigbee2MQTTAPI[T],
425425
error?: string,

lib/types/api.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -563,12 +563,12 @@ export interface Zigbee2MQTTAPI {
563563
failed: string[];
564564
};
565565

566-
"bridge/request/device/clear_binds": {
566+
"bridge/request/device/binds/clear": {
567567
target: string;
568568
ieeeList?: Eui64[];
569569
};
570570

571-
"bridge/response/device/clear_binds": {
571+
"bridge/response/device/binds/clear": {
572572
target: string;
573573
ieeeList?: Eui64[];
574574
};
@@ -914,7 +914,7 @@ export type Zigbee2MQTTRequestEndpoints =
914914
| "bridge/request/options"
915915
| "bridge/request/device/bind"
916916
| "bridge/request/device/unbind"
917-
| "bridge/request/device/clear_binds"
917+
| "bridge/request/device/binds/clear"
918918
| "bridge/request/device/configure"
919919
| "bridge/request/device/remove"
920920
| "bridge/request/device/ota_update/check"
@@ -964,7 +964,7 @@ export type Zigbee2MQTTResponseEndpoints =
964964
| "bridge/response/options"
965965
| "bridge/response/device/bind"
966966
| "bridge/response/device/unbind"
967-
| "bridge/response/device/clear_binds"
967+
| "bridge/response/device/binds/clear"
968968
| "bridge/response/device/configure"
969969
| "bridge/response/device/remove"
970970
| "bridge/response/device/ota_update/check"

test/extensions/bind.test.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -800,12 +800,12 @@ describe("Extension: Bind", () => {
800800
const device = devices.remote;
801801

802802
device.mockClear();
803-
mockMQTTEvents.message("zigbee2mqtt/bridge/request/device/clear_binds", stringify({transaction: "1234", target: "remote"}));
803+
mockMQTTEvents.message("zigbee2mqtt/bridge/request/device/binds/clear", stringify({transaction: "1234", target: "remote"}));
804804
await flushPromises();
805805

806806
expect(device.clearAllBindings).toHaveBeenCalledTimes(1);
807807
expect(mockMQTTPublishAsync).toHaveBeenCalledWith(
808-
"zigbee2mqtt/bridge/response/device/clear_binds",
808+
"zigbee2mqtt/bridge/response/device/binds/clear",
809809
stringify({
810810
transaction: "1234",
811811
data: {
@@ -825,14 +825,14 @@ describe("Extension: Bind", () => {
825825

826826
device.mockClear();
827827
mockMQTTEvents.message(
828-
"zigbee2mqtt/bridge/request/device/clear_binds",
828+
"zigbee2mqtt/bridge/request/device/binds/clear",
829829
stringify({transaction: "1234", target: "remote", ieeeList: [target.ieeeAddr]}),
830830
);
831831
await flushPromises();
832832

833833
expect(device.clearAllBindings).toHaveBeenCalledTimes(1);
834834
expect(mockMQTTPublishAsync).toHaveBeenCalledWith(
835-
"zigbee2mqtt/bridge/response/device/clear_binds",
835+
"zigbee2mqtt/bridge/response/device/binds/clear",
836836
stringify({
837837
transaction: "1234",
838838
data: {
@@ -850,12 +850,12 @@ describe("Extension: Bind", () => {
850850
const device = devices.remote;
851851

852852
device.mockClear();
853-
mockMQTTEvents.message("zigbee2mqtt/bridge/request/device/clear_binds", stringify({targetz: "remote"}));
853+
mockMQTTEvents.message("zigbee2mqtt/bridge/request/device/binds/clear", stringify({targetz: "remote"}));
854854
await flushPromises();
855855

856856
expect(device.clearAllBindings).toHaveBeenCalledTimes(0);
857857
expect(mockMQTTPublishAsync).toHaveBeenCalledWith(
858-
"zigbee2mqtt/bridge/response/device/clear_binds",
858+
"zigbee2mqtt/bridge/response/device/binds/clear",
859859
stringify({data: {}, status: "error", error: "Invalid payload"}),
860860
{},
861861
);
@@ -865,12 +865,12 @@ describe("Extension: Bind", () => {
865865
const device = devices.remote;
866866

867867
device.mockClear();
868-
mockMQTTEvents.message("zigbee2mqtt/bridge/request/device/clear_binds", stringify({target: "remotez"}));
868+
mockMQTTEvents.message("zigbee2mqtt/bridge/request/device/binds/clear", stringify({target: "remotez"}));
869869
await flushPromises();
870870

871871
expect(device.clearAllBindings).toHaveBeenCalledTimes(0);
872872
expect(mockMQTTPublishAsync).toHaveBeenCalledWith(
873-
"zigbee2mqtt/bridge/response/device/clear_binds",
873+
"zigbee2mqtt/bridge/response/device/binds/clear",
874874
stringify({data: {}, status: "error", error: "Invalid target"}),
875875
{},
876876
);

0 commit comments

Comments
 (0)