- private getRandomIdTag(authorizationFile: string): string {
- const tags = this.chargingStation.authorizedTagsCache.getAuthorizedTags(authorizationFile);
- this.idTagIndex = Math.floor(Utils.secureRandom() * tags.length);
- return tags[this.idTagIndex];
- }
-
- private getRoundRobinIdTag(authorizationFile: string): string {
- const tags = this.chargingStation.authorizedTagsCache.getAuthorizedTags(authorizationFile);
- const idTag = tags[this.idTagIndex];
- this.idTagIndex = this.idTagIndex === tags.length - 1 ? 0 : this.idTagIndex + 1;
- return idTag;
- }
-
- private getConnectorAffinityIdTag(authorizationFile: string, connectorId: number): string {
- const tags = this.chargingStation.authorizedTagsCache.getAuthorizedTags(authorizationFile);
- this.idTagIndex = (this.chargingStation.index - 1 + (connectorId - 1)) % tags.length;
- return tags[this.idTagIndex];
- }
-
- private getIdTag(connectorId: number): string {
- const authorizationFile = ChargingStationUtils.getAuthorizationFile(
- this.chargingStation.stationInfo
- );
- switch (this.configuration?.idTagDistribution) {
- case IdTagDistribution.RANDOM:
- return this.getRandomIdTag(authorizationFile);
- case IdTagDistribution.ROUND_ROBIN:
- return this.getRoundRobinIdTag(authorizationFile);
- case IdTagDistribution.CONNECTOR_AFFINITY:
- return this.getConnectorAffinityIdTag(authorizationFile, connectorId);
- default:
- return this.getRoundRobinIdTag(authorizationFile);
- }
- }
-
- private logPrefix(connectorId?: number): string {