3 const fs
= require('node:fs')
5 const { MongoClient
} = require('mongodb')
7 // This script sets charging stations public or private
8 // Filter charging stations by id pattern
10 // Use case: simulate charging station for roaming tests
11 // charging stations are private by default
15 const config
= JSON
.parse(fs
.readFileSync('scriptConfig.json', 'utf8'))
17 // Mongo Connection and Query
18 if (config
?.mongoConnectionString
) {
19 // eslint-disable-next-line n/handle-callback-err
20 MongoClient
.connect(config
.mongoConnectionString
, async
function (_err
, client
) {
21 const db
= client
.db()
23 for await (const tenantID
of config
.tenantIDs
) {
24 const response
= await db
25 .collection(`${tenantID}.chargingstations`)
26 .updateMany({ _id
: { $regex
: config
.idPattern
} }, { $set: { public: config
.publicFlag
} })
28 response
.modifiedCount
,
29 `Charging Stations with id = %${config.idPattern}% updated. TenantID =`,