@powercalc/power-router 1.1.7 → 1.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -252,7 +252,7 @@
252
252
  "name": "Battery",
253
253
  "psrType": "B98",
254
254
  "co2Footprint": 0,
255
- "color": "pink",
255
+ "color": "#ff008c",
256
256
  "abbr": "BA",
257
257
  "type": "dispatchablegreen"
258
258
  },
@@ -261,7 +261,7 @@
261
261
  "name": "Battery charge",
262
262
  "psrType": "B98",
263
263
  "co2Footprint": 0,
264
- "color": "pink",
264
+ "color": "#ff008c",
265
265
  "abbr": "BG",
266
266
  "type": "dispatchablegreen"
267
267
  },
@@ -270,7 +270,7 @@
270
270
  "name": "Battery discharge",
271
271
  "psrType": "B98",
272
272
  "co2Footprint": 0,
273
- "color": "pink",
273
+ "color": "#ff008c",
274
274
  "abbr": "BD",
275
275
  "type": "dispatchablegreen"
276
276
  },
@@ -36,9 +36,18 @@ class PowerRouter {
36
36
  res.sendFile(filePath);
37
37
  });
38
38
  router.get('/countries', async (req, res) => {
39
+ const country = req.headers['cf-ipcountry'] || 'DE';
39
40
  const filePath = (0, path_1.join)(__dirname, '..', 'config', 'countrydata.json');
41
+ const text = await (0, promises_1.readFile)(filePath, 'utf-8');
42
+ let countries = JSON.parse(text);
43
+ countries = countries.map(item => {
44
+ if (item.short === country) {
45
+ item.selected = true;
46
+ }
47
+ return item;
48
+ });
40
49
  res.set('Cache-Control', 'public, max-age=604800, immutable');
41
- res.sendFile(filePath);
50
+ res.json(countries);
42
51
  });
43
52
  return router;
44
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/router/controllers/Router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/router/controllers/Router.ts"],"names":[],"mappings":";;;AAAA,qCAAoD;AACpD,mCAAoC;AACpC,0CAA+D;AAC/D,+BAAgC;AAChC,6CAAqC;AACrC,2BAAkD;AAClD,iDAA8C;AAC9C,+BAAqC;AAGrC,MAAa,WAAW;IACtB,MAAM,CAAC,IAAI,CAAC,MAAc;QACxB,6BAA6B;QAC7B,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACtD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAChD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACnD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACnD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACrD,OAAO,CAAC,IAAI,CACV,SAAS,EACT,GAAG,CAAC,EAAE,EACN,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,GAAG,CAAC,MAAM,CAAC,OAAO,CACnB,CAAC;YACF,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,mCAAmC,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC/D,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,mCAAmC,CAAC,CAAC;YAC9D,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/C,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAU,CAAA;YACzC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC/B,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAC;oBACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACtB;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,mCAAmC,CAAC,CAAC;YAC9D,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,GAAY,EAAE,GAAa,EAAE,IAAY;QACzE,MAAM,YAAY,GAAG,IAAI,2BAAY,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG;YACrB,eAAe,EAAE,mBAAmB,SAAS,aAAa;YAC1D,kBAAkB,EAAE,MAAM;YAC1B,cAAc,EAAE,kBAAkB;SACnC,CAAC;QACF,IAAI;YACF,IAAI,SAAiC,CAAC;YACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC;YACzB,MAAM,YAAY,GAAG,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC;iBACtC,MAAM,CAAC,QAAQ,CAAC;iBAChB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YAC3B,MAAM,aAAa,GAAG,IAAA,WAAI,EAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YACrE,IACE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC;gBACnC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,EAClC;gBACA,iBAAiB;gBACjB,kDAAkD;gBAClD,IAAI;oBACF,MAAM,KAAK,GAAG,MAAM,IAAA,eAAI,EAAC,aAAa,CAAC,CAAC;oBACxC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACtC,uEAAuE;oBACvE,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;oBACzD,IACE,eAAe;wBACf,OAAO,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,EACpD;wBACA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;wBACtB,OAAO;qBACR;oBACD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;oBAChE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBACxB,wBAAwB;oBACxB,IAAA,qBAAgB,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1C,OAAO;iBACR;gBAAC,OAAO,GAAG,EAAE;oBACZ,6CAA6C;iBAC9C;aACF;YAED,gDAAgD;YAChD,IAAI,CAAC,SAAS,EAAE;gBACd,6BAA6B;gBAC7B,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC/C,MAAM,GAAG,GAAG,oBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,eAAe,GAAG,IAAA,eAAQ,EAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,IAAA,gBAAK,EAAC,IAAA,cAAO,EAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzD,MAAM,IAAA,oBAAS,EAAC,aAAa,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;gBACzD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBACzD,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACxB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aAC3B;SACF;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACvC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACrB;IACH,CAAC;IACD,MAAM,CAAC,aAAa,CAAC,GAAY;QAC/B,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;QAC9D,IAAI,QAAQ,KAAK,QAAQ,EAAE;YACzB,OAAO,CAAC,GAAG,EAAE,CAAC;SACf;aAAM;YACL,OAAO,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;SACtB;IACH,CAAC;CACF;AAvHD,kCAuHC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powercalc/power-router",
3
- "version": "1.1.7",
3
+ "version": "1.1.9",
4
4
  "description": "a",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -252,7 +252,7 @@
252
252
  "name": "Battery",
253
253
  "psrType": "B98",
254
254
  "co2Footprint": 0,
255
- "color": "pink",
255
+ "color": "#ff008c",
256
256
  "abbr": "BA",
257
257
  "type": "dispatchablegreen"
258
258
  },
@@ -261,7 +261,7 @@
261
261
  "name": "Battery charge",
262
262
  "psrType": "B98",
263
263
  "co2Footprint": 0,
264
- "color": "pink",
264
+ "color": "#ff008c",
265
265
  "abbr": "BG",
266
266
  "type": "dispatchablegreen"
267
267
  },
@@ -270,7 +270,7 @@
270
270
  "name": "Battery discharge",
271
271
  "psrType": "B98",
272
272
  "co2Footprint": 0,
273
- "color": "pink",
273
+ "color": "#ff008c",
274
274
  "abbr": "BD",
275
275
  "type": "dispatchablegreen"
276
276
  },
@@ -1,6 +1,6 @@
1
1
  import { Router, Request, Response } from 'express';
2
2
  import { createHash } from 'crypto';
3
- import { mkdir, stat, writeFile } from 'fs/promises';
3
+ import { mkdir, readFile, stat, writeFile } from 'fs/promises';
4
4
  import { gzipSync } from 'zlib';
5
5
  import { Buffer } from 'node:buffer';
6
6
  import { ReadStream, createReadStream } from 'fs';
@@ -26,7 +26,12 @@ export class PowerRouter {
26
26
  });
27
27
 
28
28
  router.get(`/:country/countrydata`, async (req, res) => {
29
- console.info('visitor', req.ip, new Date().toISOString(), req.params.country);
29
+ console.info(
30
+ 'visitor',
31
+ req.ip,
32
+ new Date().toISOString(),
33
+ req.params.country
34
+ );
30
35
  res.set('Cache-Control', 'public, max-age=604800, immutable');
31
36
  await this.load(config, req, res, 'countrydata');
32
37
  });
@@ -36,9 +41,19 @@ export class PowerRouter {
36
41
  res.sendFile(filePath);
37
42
  });
38
43
  router.get('/countries', async (req, res) => {
44
+ const country = req.headers['cf-ipcountry'] || 'DE';
39
45
  const filePath = join(__dirname, '..', 'config', 'countrydata.json');
46
+ const text = await readFile(filePath, 'utf-8');
47
+ let countries = JSON.parse(text) as any[]
48
+ countries = countries.map(item => {
49
+ if (item.short === country){
50
+ item.selected = true;
51
+ }
52
+ return item;
53
+ });
54
+
40
55
  res.set('Cache-Control', 'public, max-age=604800, immutable');
41
- res.sendFile(filePath);
56
+ res.json(countries);
42
57
  });
43
58
  return router;
44
59
  }