- // eslint-disable-next-line class-methods-use-this
- _getSupervisionURL(index, stationTemplate) {
- const supervisionUrls = JSON.parse(JSON.stringify(stationTemplate.supervisionURL ? stationTemplate.supervisionURL : Configuration.getSupervisionURLs()));
+ _getAuthorizedTags() {
+ let authorizedTags = [];
+ const authorizationFile = this._getAuthorizationFile();
+ if (authorizationFile) {
+ try {
+ // Load authorization file
+ const fileDescriptor = fs.openSync(authorizationFile, 'r');
+ authorizedTags = JSON.parse(fs.readFileSync(fileDescriptor, 'utf8'));
+ fs.closeSync(fileDescriptor);
+ } catch (error) {
+ logger.error(this._basicFormatLog() + ' Authorization file loading error: ' + error);
+ }
+ } else {
+ logger.info(this._basicFormatLog() + ' No authorization file given in template file ' + this._stationTemplateFile);
+ }
+ return authorizedTags;
+ }
+
+ _startAuthorizationFileMonitoring() {
+ // eslint-disable-next-line no-unused-vars
+ fs.watchFile(this._getAuthorizationFile(), (current, previous) => {
+ try {
+ logger.debug(this._basicFormatLog() + ' Authorization file ' + this._getAuthorizationFile() + ' have changed, reload');
+ // Initialize _authorizedTags
+ this._authorizedTags = this._getAuthorizedTags();
+ } catch (error) {
+ logger.error(this._basicFormatLog() + ' Authorization file monitoring error: ' + error);
+ }
+ });
+ }
+
+ _startStationTemplateFileMonitoring() {
+ // eslint-disable-next-line no-unused-vars
+ fs.watchFile(this._stationTemplateFile, (current, previous) => {
+ try {
+ logger.debug(this._basicFormatLog() + ' Template file ' + this._stationTemplateFile + ' have changed, reload');
+ // Initialize
+ this._initialize();
+ } catch (error) {
+ logger.error(this._basicFormatLog() + ' Charging station template file monitoring error: ' + error);
+ }
+ });
+ }
+
+ _getSupervisionURL() {
+ const supervisionUrls = Utils.cloneJSonDocument(this._stationInfo.supervisionURL ? this._stationInfo.supervisionURL : Configuration.getSupervisionURLs());