mirror of
https://github.com/chirpstack/chirpstack.git
synced 2025-05-18 08:43:17 +00:00
Implemented automatic code formatting for JS/TSX using prettier and husky with pre-commit hook Signed-off-by: SAGAR PATEL <sagar.a.patel@slscorp.com> Co-authored-by: Orne Brocaar <info@brocaar.com>
737 lines
19 KiB
TypeScript
737 lines
19 KiB
TypeScript
import { notification } from "antd";
|
|
import { EventEmitter } from "events";
|
|
import { ApplicationServiceClient } from "@chirpstack/chirpstack-api-grpc-web/api/application_grpc_web_pb";
|
|
import {
|
|
CreateApplicationRequest,
|
|
CreateApplicationResponse,
|
|
GetApplicationRequest,
|
|
GetApplicationResponse,
|
|
UpdateApplicationRequest,
|
|
DeleteApplicationRequest,
|
|
ListApplicationsRequest,
|
|
ListApplicationsResponse,
|
|
ListIntegrationsRequest,
|
|
ListIntegrationsResponse,
|
|
CreateHttpIntegrationRequest,
|
|
GetHttpIntegrationRequest,
|
|
GetHttpIntegrationResponse,
|
|
UpdateHttpIntegrationRequest,
|
|
DeleteHttpIntegrationRequest,
|
|
CreateAwsSnsIntegrationRequest,
|
|
GetAwsSnsIntegrationRequest,
|
|
GetAwsSnsIntegrationResponse,
|
|
UpdateAwsSnsIntegrationRequest,
|
|
DeleteAwsSnsIntegrationRequest,
|
|
CreateAzureServiceBusIntegrationRequest,
|
|
GetAzureServiceBusIntegrationRequest,
|
|
GetAzureServiceBusIntegrationResponse,
|
|
UpdateAzureServiceBusIntegrationRequest,
|
|
DeleteAzureServiceBusIntegrationRequest,
|
|
CreateGcpPubSubIntegrationRequest,
|
|
GetGcpPubSubIntegrationRequest,
|
|
GetGcpPubSubIntegrationResponse,
|
|
UpdateGcpPubSubIntegrationRequest,
|
|
DeleteGcpPubSubIntegrationRequest,
|
|
CreateInfluxDbIntegrationRequest,
|
|
GetInfluxDbIntegrationRequest,
|
|
GetInfluxDbIntegrationResponse,
|
|
UpdateInfluxDbIntegrationRequest,
|
|
DeleteInfluxDbIntegrationRequest,
|
|
CreateMyDevicesIntegrationRequest,
|
|
GetMyDevicesIntegrationRequest,
|
|
GetMyDevicesIntegrationResponse,
|
|
UpdateMyDevicesIntegrationRequest,
|
|
DeleteMyDevicesIntegrationRequest,
|
|
CreatePilotThingsIntegrationRequest,
|
|
GetPilotThingsIntegrationRequest,
|
|
GetPilotThingsIntegrationResponse,
|
|
UpdatePilotThingsIntegrationRequest,
|
|
DeletePilotThingsIntegrationRequest,
|
|
CreateLoraCloudIntegrationRequest,
|
|
GetLoraCloudIntegrationRequest,
|
|
GetLoraCloudIntegrationResponse,
|
|
UpdateLoraCloudIntegrationRequest,
|
|
DeleteLoraCloudIntegrationRequest,
|
|
CreateThingsBoardIntegrationRequest,
|
|
GetThingsBoardIntegrationRequest,
|
|
GetThingsBoardIntegrationResponse,
|
|
UpdateThingsBoardIntegrationRequest,
|
|
DeleteThingsBoardIntegrationRequest,
|
|
GenerateMqttIntegrationClientCertificateRequest,
|
|
GenerateMqttIntegrationClientCertificateResponse,
|
|
} from "@chirpstack/chirpstack-api-grpc-web/api/application_pb";
|
|
|
|
import SessionStore from "./SessionStore";
|
|
import { HandleError } from "./helpers";
|
|
|
|
class ApplicationStore extends EventEmitter {
|
|
client: ApplicationServiceClient;
|
|
|
|
constructor() {
|
|
super();
|
|
this.client = new ApplicationServiceClient("");
|
|
}
|
|
|
|
create = (req: CreateApplicationRequest, callbackFunc: (resp: CreateApplicationResponse) => void) => {
|
|
this.client.create(req, SessionStore.getMetadata(), (err, resp) => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "Application created",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc(resp);
|
|
});
|
|
};
|
|
|
|
get = (req: GetApplicationRequest, callbackFunc: (resp: GetApplicationResponse) => void) => {
|
|
this.client.get(req, SessionStore.getMetadata(), (err, resp) => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
callbackFunc(resp);
|
|
});
|
|
};
|
|
|
|
update = (req: UpdateApplicationRequest, callbackFunc: () => void) => {
|
|
this.client.update(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "Application updated",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
delete = (req: DeleteApplicationRequest, callbackFunc: () => void) => {
|
|
this.client.delete(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "Application deleted",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
list = (req: ListApplicationsRequest, callbackFunc: (resp: ListApplicationsResponse) => void) => {
|
|
this.client.list(req, SessionStore.getMetadata(), (err, resp) => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
callbackFunc(resp);
|
|
});
|
|
};
|
|
|
|
listIntegrations = (req: ListIntegrationsRequest, callbackFunc: (resp: ListIntegrationsResponse) => void) => {
|
|
this.client.listIntegrations(req, SessionStore.getMetadata(), (err, resp) => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
callbackFunc(resp);
|
|
});
|
|
};
|
|
|
|
createHttpIntegration = (req: CreateHttpIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.createHttpIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "HTTP integration created",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
getHttpIntegration = (req: GetHttpIntegrationRequest, callbackFunc: (resp: GetHttpIntegrationResponse) => void) => {
|
|
this.client.getHttpIntegration(req, SessionStore.getMetadata(), (err, resp) => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
callbackFunc(resp);
|
|
});
|
|
};
|
|
|
|
updateHttpIntegration = (req: UpdateHttpIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.updateHttpIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "HTTP integration updated",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
deleteHttpIntegration = (req: DeleteHttpIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.deleteHttpIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "HTTP integration deleted",
|
|
duration: 3,
|
|
});
|
|
|
|
this.emit("integration.delete");
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
createAwsSnsIntegration = (req: CreateAwsSnsIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.createAwsSnsIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "AWS SNS integration created",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
getAwsSnsIntegration = (
|
|
req: GetAwsSnsIntegrationRequest,
|
|
callbackFunc: (resp: GetAwsSnsIntegrationResponse) => void,
|
|
) => {
|
|
this.client.getAwsSnsIntegration(req, SessionStore.getMetadata(), (err, resp) => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
callbackFunc(resp);
|
|
});
|
|
};
|
|
|
|
updateAwsSnsIntegration = (req: UpdateAwsSnsIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.updateAwsSnsIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "AWS SNS integration updated",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
deleteAwsSnsIntegration = (req: DeleteAwsSnsIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.deleteAwsSnsIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "AWS SNS integration deleted",
|
|
duration: 3,
|
|
});
|
|
|
|
this.emit("integration.delete");
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
createAzureServiceBusIntegration = (req: CreateAzureServiceBusIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.createAzureServiceBusIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "Azure Service-Bus integration created",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
getAzureServiceBusIntegration = (
|
|
req: GetAzureServiceBusIntegrationRequest,
|
|
callbackFunc: (resp: GetAzureServiceBusIntegrationResponse) => void,
|
|
) => {
|
|
this.client.getAzureServiceBusIntegration(req, SessionStore.getMetadata(), (err, resp) => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
callbackFunc(resp);
|
|
});
|
|
};
|
|
|
|
updateAzureServiceBusIntegration = (req: UpdateAzureServiceBusIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.updateAzureServiceBusIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "Azure Service-Bus integration updated",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
deleteAzureServiceBusIntegration = (req: DeleteAzureServiceBusIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.deleteAzureServiceBusIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "Azure Service-Bus integration deleted",
|
|
duration: 3,
|
|
});
|
|
|
|
this.emit("integration.delete");
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
createGcpPubSubIntegration = (req: CreateGcpPubSubIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.createGcpPubSubIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "GCP Pub/Sub integration created",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
getGcpPubSubIntegration = (
|
|
req: GetGcpPubSubIntegrationRequest,
|
|
callbackFunc: (resp: GetGcpPubSubIntegrationResponse) => void,
|
|
) => {
|
|
this.client.getGcpPubSubIntegration(req, SessionStore.getMetadata(), (err, resp) => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
callbackFunc(resp);
|
|
});
|
|
};
|
|
|
|
updateGcpPubSubIntegration = (req: UpdateGcpPubSubIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.updateGcpPubSubIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "GCP Pub/Sub integration updated",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
deleteGcpPubSubIntegration = (req: DeleteGcpPubSubIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.deleteGcpPubSubIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "GCP Pub/Sub integration deleted",
|
|
duration: 3,
|
|
});
|
|
|
|
this.emit("integration.delete");
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
createInfluxDbIntegration = (req: CreateInfluxDbIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.createInfluxDbIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "InfluxDB integration created",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
getInfluxDbIntegration = (
|
|
req: GetInfluxDbIntegrationRequest,
|
|
callbackFunc: (resp: GetInfluxDbIntegrationResponse) => void,
|
|
) => {
|
|
this.client.getInfluxDbIntegration(req, SessionStore.getMetadata(), (err, resp) => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
callbackFunc(resp);
|
|
});
|
|
};
|
|
|
|
updateInfluxDbIntegration = (req: UpdateInfluxDbIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.updateInfluxDbIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "InfluxDB integration updated",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
deleteInfluxDbIntegration = (req: DeleteInfluxDbIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.deleteInfluxDbIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "InfluxDB integration deleted",
|
|
duration: 3,
|
|
});
|
|
|
|
this.emit("integration.delete");
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
createMyDevicesIntegration = (req: CreateMyDevicesIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.createMyDevicesIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "myDevices integration created",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
getMyDevicesIntegration = (
|
|
req: GetMyDevicesIntegrationRequest,
|
|
callbackFunc: (resp: GetMyDevicesIntegrationResponse) => void,
|
|
) => {
|
|
this.client.getMyDevicesIntegration(req, SessionStore.getMetadata(), (err, resp) => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
callbackFunc(resp);
|
|
});
|
|
};
|
|
|
|
updateMyDevicesIntegration = (req: UpdateMyDevicesIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.updateMyDevicesIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "myDevices integration updated",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
deleteMyDevicesIntegration = (req: DeleteMyDevicesIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.deleteMyDevicesIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "myDevices integration deleted",
|
|
duration: 3,
|
|
});
|
|
|
|
this.emit("integration.delete");
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
createPilotThingsIntegration = (req: CreatePilotThingsIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.createPilotThingsIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "Pilot Things integration created",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
getPilotThingsIntegration = (
|
|
req: GetPilotThingsIntegrationRequest,
|
|
callbackFunc: (resp: GetPilotThingsIntegrationResponse) => void,
|
|
) => {
|
|
this.client.getPilotThingsIntegration(req, SessionStore.getMetadata(), (err, resp) => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
callbackFunc(resp);
|
|
});
|
|
};
|
|
|
|
updatePilotThingsIntegration = (req: UpdatePilotThingsIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.updatePilotThingsIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "Pilot Things interation updated",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
deletePilotThingsIntegration = (req: DeletePilotThingsIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.deletePilotThingsIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "Pilot Things interation deleted",
|
|
duration: 3,
|
|
});
|
|
|
|
this.emit("integration.delete");
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
createLoraCloudIntegration = (req: CreateLoraCloudIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.createLoraCloudIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "LoRa Cloud interation created",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
getLoraCloudIntegration = (
|
|
req: GetLoraCloudIntegrationRequest,
|
|
callbackFunc: (resp: GetLoraCloudIntegrationResponse) => void,
|
|
) => {
|
|
this.client.getLoraCloudIntegration(req, SessionStore.getMetadata(), (err, resp) => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
callbackFunc(resp);
|
|
});
|
|
};
|
|
|
|
updateLoraCloudIntegration = (req: UpdateLoraCloudIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.updateLoraCloudIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "LoRa Cloud integration updated",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
deleteLoraCloudIntegration = (req: DeleteLoraCloudIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.deleteLoraCloudIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "LoRa Cloud integration deleted",
|
|
duration: 3,
|
|
});
|
|
|
|
this.emit("integration.delete");
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
createThingsBoardIntegration = (req: CreateThingsBoardIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.createThingsBoardIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "ThingsBoard integration created",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
getThingsBoardIntegration = (
|
|
req: GetThingsBoardIntegrationRequest,
|
|
callbackFunc: (resp: GetThingsBoardIntegrationResponse) => void,
|
|
) => {
|
|
this.client.getThingsBoardIntegration(req, SessionStore.getMetadata(), (err, resp) => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
callbackFunc(resp);
|
|
});
|
|
};
|
|
|
|
updateThingsBoardIntegration = (req: UpdateThingsBoardIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.updateThingsBoardIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "ThingsBoard integration updated",
|
|
duration: 3,
|
|
});
|
|
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
deleteThingsBoardIntegration = (req: DeleteThingsBoardIntegrationRequest, callbackFunc: () => void) => {
|
|
this.client.deleteThingsBoardIntegration(req, SessionStore.getMetadata(), err => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
notification.success({
|
|
message: "ThingsBoard integration deleted",
|
|
duration: 3,
|
|
});
|
|
|
|
this.emit("integration.delete");
|
|
callbackFunc();
|
|
});
|
|
};
|
|
|
|
generateMqttIntegrationClientCertificate = (
|
|
req: GenerateMqttIntegrationClientCertificateRequest,
|
|
callbackFunc: (resp: GenerateMqttIntegrationClientCertificateResponse) => void,
|
|
) => {
|
|
this.client.generateMqttIntegrationClientCertificate(req, SessionStore.getMetadata(), (err, resp) => {
|
|
if (err !== null) {
|
|
HandleError(err);
|
|
return;
|
|
}
|
|
|
|
callbackFunc(resp);
|
|
});
|
|
};
|
|
}
|
|
|
|
const applicationStore = new ApplicationStore();
|
|
export default applicationStore;
|