@powercalc/power-router 1.0.71 → 1.0.72
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.
- package/dist/config/types.json +1 -1
- package/dist/controllers/LoadAndParse.js +10 -4
- package/dist/controllers/LoadAndParse.js.map +1 -1
- package/dist/controllers/Router.js +4 -3
- package/dist/controllers/Router.js.map +1 -1
- package/dist/services/EnergyCharts.d.ts +2 -0
- package/dist/services/EnergyCharts.js +25 -16
- package/dist/services/EnergyCharts.js.map +1 -1
- package/dist/services/LoadService.d.ts +1 -0
- package/dist/services/LoadService.js +5 -0
- package/dist/services/LoadService.js.map +1 -1
- package/package.json +1 -1
- package/src/router/config/types.json +1 -1
- package/src/router/controllers/LoadAndParse.ts +35 -14
- package/src/router/controllers/Router.ts +4 -3
- package/src/router/services/EnergyCharts.ts +23 -17
- package/src/router/services/LoadService.ts +12 -0
package/dist/config/types.json
CHANGED
|
@@ -26,21 +26,27 @@ class LoadAndParse {
|
|
|
26
26
|
if (req.query.posneg === queryoptions_1.PosNeg.POS || req.query.posneg === queryoptions_1.PosNeg.NEG) {
|
|
27
27
|
queryOptions.posneg = req.query.posneg;
|
|
28
28
|
}
|
|
29
|
-
if (typeof
|
|
29
|
+
if (typeof req.query.format === 'string' &&
|
|
30
|
+
Object.values(queryoptions_1.Format).includes(req.query.format)) {
|
|
30
31
|
queryOptions.format = req.query.format;
|
|
31
32
|
}
|
|
32
33
|
let reload = false;
|
|
33
|
-
if (typeof
|
|
34
|
+
if (typeof req.headers.reload === 'string') {
|
|
34
35
|
reload = true;
|
|
35
36
|
queryOptions.reload = true;
|
|
36
37
|
}
|
|
37
|
-
const countryCode = (_a = this.countries.find(item => item.name === country)) === null || _a === void 0 ? void 0 : _a.code;
|
|
38
|
+
const countryCode = (_a = this.countries.find((item) => item.name === country)) === null || _a === void 0 ? void 0 : _a.code;
|
|
38
39
|
if (!countryCode) {
|
|
39
40
|
throw new Error('Unknown country ' + country);
|
|
40
41
|
}
|
|
41
42
|
if (chartType === 'installed') {
|
|
42
43
|
console.log('yes');
|
|
43
|
-
|
|
44
|
+
if (this.config.source === 'energycharts') {
|
|
45
|
+
return await this.loadService.getInstalledEnergyCharts(countryCode, queryOptions);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
return await this.loadService.getInstalled(countryCode, queryOptions);
|
|
49
|
+
}
|
|
44
50
|
}
|
|
45
51
|
if (chartType === 'power') {
|
|
46
52
|
if (this.config.source === 'energycharts') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadAndParse.js","sourceRoot":"","sources":["../../src/router/controllers/LoadAndParse.ts"],"names":[],"mappings":";;;AAEA,+BAA4B;AAC5B,2BAAkC;AAClC,yDAAsD;AAEtD,6DAA0E;AAE1E,MAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"LoadAndParse.js","sourceRoot":"","sources":["../../src/router/controllers/LoadAndParse.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,16 +26,17 @@ class PowerRouter {
|
|
|
26
26
|
await this.load(config, req, res, 'hydrofill');
|
|
27
27
|
});
|
|
28
28
|
router.get(`/:country/countrydata`, async (req, res) => {
|
|
29
|
+
res.set('Cache-Control', 'public, max-age=604800, immutable');
|
|
29
30
|
await this.load(config, req, res, 'countrydata');
|
|
30
31
|
});
|
|
31
32
|
router.get('/types', async (req, res) => {
|
|
32
33
|
const filePath = (0, path_1.join)(__dirname, '..', 'config', 'types.json');
|
|
33
|
-
res.set(
|
|
34
|
+
res.set('Cache-Control', 'public, max-age=604800, immutable');
|
|
34
35
|
res.sendFile(filePath);
|
|
35
36
|
});
|
|
36
37
|
router.get('/countries', async (req, res) => {
|
|
37
38
|
const filePath = (0, path_1.join)(__dirname, '..', 'config', 'countrydata.json');
|
|
38
|
-
res.set(
|
|
39
|
+
res.set('Cache-Control', 'public, max-age=604800, immutable');
|
|
39
40
|
res.sendFile(filePath);
|
|
40
41
|
});
|
|
41
42
|
return router;
|
|
@@ -44,7 +45,7 @@ class PowerRouter {
|
|
|
44
45
|
const entsoeLoader = new LoadAndParse_1.LoadAndParse(config);
|
|
45
46
|
const cacheTime = this.calcCacheTime(req);
|
|
46
47
|
const successHeaders = {
|
|
47
|
-
'Cache-Control': `public, max-age=${cacheTime}`,
|
|
48
|
+
'Cache-Control': `public, max-age=${cacheTime}, immutable`,
|
|
48
49
|
'Content-Encoding': 'gzip',
|
|
49
50
|
'Content-Type': 'application/json'
|
|
50
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/router/controllers/Router.ts"],"names":[],"mappings":";;;AAAA,qCAAmD;AACnD,mCAAoC;AACpC,0CAA8C;AAC9C,+BAAgC;AAChC,6CAAqC;AACrC,2BAAkD;AAClD,iDAA8C;AAC9C,+BAA4B;AAI5B,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,CAAA;QACF,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,CAAA;QACF,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,CAAA;QACF,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,CAAA;QAEF,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACrD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;QACnD,CAAC,CAAC,CAAA;QACF,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,
|
|
1
|
+
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/router/controllers/Router.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,10 @@ export declare class EnergyCharts {
|
|
|
11
11
|
countries: any;
|
|
12
12
|
constructor();
|
|
13
13
|
load(country: string, startIso: string, endIso: string, queryOptions: QueryOptions): Promise<any>;
|
|
14
|
+
loadInstalled(country: string, queryOptions: QueryOptions): Promise<any>;
|
|
14
15
|
getPower(url: string): Promise<any>;
|
|
15
16
|
makeUrls(country: string, startIso: string, endIso: string): string[];
|
|
17
|
+
getShortCountry(country: string): any;
|
|
16
18
|
getPrices(url: string): Promise<any>;
|
|
17
19
|
translate(json: any): any;
|
|
18
20
|
rebase(data: any, newTime: number[]): any;
|
|
@@ -98,6 +98,24 @@ class EnergyCharts {
|
|
|
98
98
|
}
|
|
99
99
|
return data;
|
|
100
100
|
}
|
|
101
|
+
async loadInstalled(country, queryOptions) {
|
|
102
|
+
const countryShort = this.getShortCountry(country);
|
|
103
|
+
const url = `https://api.energy-charts.info/installed_power?country=${countryShort}&time_step=yearly&installation_decommission=false`;
|
|
104
|
+
if (queryOptions.format === queryoptions_1.Format.SOURCES) {
|
|
105
|
+
return [url];
|
|
106
|
+
}
|
|
107
|
+
try {
|
|
108
|
+
const response = await fetch(url);
|
|
109
|
+
const text = await response.text();
|
|
110
|
+
if (!text)
|
|
111
|
+
return;
|
|
112
|
+
const json = JSON.parse(text);
|
|
113
|
+
return this.translate(json);
|
|
114
|
+
}
|
|
115
|
+
catch (e) {
|
|
116
|
+
console.log(url, 'error');
|
|
117
|
+
}
|
|
118
|
+
}
|
|
101
119
|
async getPower(url) {
|
|
102
120
|
try {
|
|
103
121
|
const response = await fetch(url);
|
|
@@ -105,28 +123,14 @@ class EnergyCharts {
|
|
|
105
123
|
if (!text)
|
|
106
124
|
return;
|
|
107
125
|
const json = JSON.parse(text);
|
|
108
|
-
|
|
109
|
-
/*
|
|
110
|
-
try {
|
|
111
|
-
const priceTime = await this.getPrices(countryShort, startIso, endIso);
|
|
112
|
-
if (priceTime) {
|
|
113
|
-
const rebasedPrice = this.rebase(priceTime, t.time);
|
|
114
|
-
t.price = rebasedPrice.price;
|
|
115
|
-
}
|
|
116
|
-
} catch (e) {
|
|
117
|
-
console.error(e);
|
|
118
|
-
}
|
|
119
|
-
*/
|
|
120
|
-
return t;
|
|
126
|
+
return this.translate(json);
|
|
121
127
|
}
|
|
122
128
|
catch (e) {
|
|
123
129
|
console.error(e);
|
|
124
130
|
}
|
|
125
131
|
}
|
|
126
132
|
makeUrls(country, startIso, endIso) {
|
|
127
|
-
|
|
128
|
-
const countryShort = (_b = (_a = this.countries
|
|
129
|
-
.find((item) => item.code === country)) === null || _a === void 0 ? void 0 : _a.short) === null || _b === void 0 ? void 0 : _b.toLowerCase();
|
|
133
|
+
const countryShort = this.getShortCountry(country);
|
|
130
134
|
const start = encodeURIComponent(startIso);
|
|
131
135
|
const end = encodeURIComponent(endIso);
|
|
132
136
|
const powerUrl = `https://api.energy-charts.info/public_power?country=${countryShort}&start=${start}&end=${end}`;
|
|
@@ -149,6 +153,11 @@ class EnergyCharts {
|
|
|
149
153
|
const priceUrl = `https://api.energy-charts.info/price?bzn=${zone}&start=${start}&end=${end}`;
|
|
150
154
|
return [powerUrl, priceUrl];
|
|
151
155
|
}
|
|
156
|
+
getShortCountry(country) {
|
|
157
|
+
var _a, _b;
|
|
158
|
+
return (_b = (_a = this.countries
|
|
159
|
+
.find((item) => item.code === country)) === null || _a === void 0 ? void 0 : _a.short) === null || _b === void 0 ? void 0 : _b.toLowerCase();
|
|
160
|
+
}
|
|
152
161
|
async getPrices(url) {
|
|
153
162
|
console.log(url);
|
|
154
163
|
const response = await fetch(url);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnergyCharts.js","sourceRoot":"","sources":["../../src/router/services/EnergyCharts.ts"],"names":[],"mappings":";;;AAAA,2BAAkC;AAClC,+BAA4B;AAC5B,6DAAkE;AAElE,MAAa,YAAY;IA8EvB;QA7EA,WAAM,GAAG,kCAAkC,CAAC;QAC5C,UAAK,GAAG;YACN;gBACE,YAAY,EAAE,kCAAkC;gBAChD,WAAW,EAAE,IAAI;aAClB;YACD;gBACE,YAAY,EAAE,kCAAkC;gBAChD,WAAW,EAAE,aAAa;aAC3B;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,WAAW,EAAE,SAAS;aACvB;YACD;gBACE,YAAY,EAAE,oBAAoB;gBAClC,WAAW,EAAE,4BAA4B;aAC1C;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,WAAW,EAAE,SAAS;aACvB;YACD;gBACE,YAAY,EAAE,6BAA6B;gBAC3C,WAAW,EAAE,wBAAwB;aACtC;YACD;gBACE,YAAY,EAAE,kBAAkB;gBAChC,WAAW,EAAE,gBAAgB;aAC9B;YACD;gBACE,YAAY,EAAE,YAAY;gBAC1B,WAAW,EAAE,WAAW;aACzB;YACD;gBACE,YAAY,EAAE,YAAY;gBAC1B,WAAW,EAAE,WAAW;aACzB;YACD;gBACE,YAAY,EAAE,YAAY;gBAC1B,WAAW,EAAE,YAAY;aAC1B;YACD;gBACE,YAAY,EAAE,uBAAuB;gBACrC,WAAW,EAAE,qBAAqB;aACnC;YACD;gBACE,YAAY,EAAE,sBAAsB;gBACpC,WAAW,EAAE,oBAAoB;aAClC;YACD;gBACE,YAAY,EAAE,QAAQ;gBACtB,WAAW,EAAE,OAAO;aACrB;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,WAAW,EAAE,OAAO;aACrB;YACD;gBACE,YAAY,EAAE,eAAe;gBAC7B,WAAW,EAAE,cAAc;aAC5B;YACD;gBACE,YAAY,EAAE,cAAc;gBAC5B,WAAW,EAAE,aAAa;aAC3B;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,WAAW,EAAE,OAAO;aACrB;YACD;gBACE,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,aAAa;aAC3B;SACF,CAAC;QAIA,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC;QACnE,MAAM,eAAe,GAAG,IAAA,iBAAY,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,CAAC,IAAI,CACR,OAAe,EACf,QAAgB,EAChB,MAAc,EACd,YAA0B;QAE1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,MAAK,qBAAM,CAAC,OAAO,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,SAAS,EAAE;YACb,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;SACjC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"EnergyCharts.js","sourceRoot":"","sources":["../../src/router/services/EnergyCharts.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export declare class LoadService {
|
|
|
9
9
|
parser: EdifactParser;
|
|
10
10
|
parseInstalled: ParseInstalled;
|
|
11
11
|
constructor(loaderConfig: LoaderConfig);
|
|
12
|
+
getInstalledEnergyCharts(countryCode: string, queryOptions: QueryOptions): Promise<any>;
|
|
12
13
|
getPowerEnergyCharts(countryCode: string, year: number, month: number, queryOptions: QueryOptions): Promise<any>;
|
|
13
14
|
getPower(countryCode: string, year: number, month: number, queryOptions?: QueryOptions): Promise<any>;
|
|
14
15
|
getInstalled(countryCode: string, queryOptions: QueryOptions): Promise<any>;
|
|
@@ -21,6 +21,11 @@ class LoadService {
|
|
|
21
21
|
this.parser = new ParseEdifact_1.EdifactParser(types);
|
|
22
22
|
this.parseInstalled = new ParseInstalled_1.ParseInstalled(types);
|
|
23
23
|
}
|
|
24
|
+
async getInstalledEnergyCharts(countryCode, queryOptions) {
|
|
25
|
+
const energyCharts = new EnergyCharts_1.EnergyCharts();
|
|
26
|
+
const power = await energyCharts.loadInstalled(countryCode, queryOptions);
|
|
27
|
+
return power;
|
|
28
|
+
}
|
|
24
29
|
async getPowerEnergyCharts(countryCode, year, month, queryOptions) {
|
|
25
30
|
const startMonth = new Date(Date.UTC(year, month - 1)).toISOString();
|
|
26
31
|
const endMonth = new Date(Date.UTC(year, month)).toISOString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadService.js","sourceRoot":"","sources":["../../src/router/services/LoadService.ts"],"names":[],"mappings":";;;AAAA,2BAAkC;AAClC,+BAA4B;AAC5B,qCAAsD;AACtD,iDAA0D;AAC1D,qDAAkD;AAClD,yDAAsD;AACtD,yCAAyC;AAEzC,6DAAkE;AAClE,uDAAqD;AAErD,iDAA8C;AAE9C,MAAa,WAAW;IAMtB,YAAoB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QAL9C,YAAO,GAAG,EAAE,CAAC;QAMX,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC,mCAAmC;QAC9F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,SAAS,EAAE,MAAM,CAAC,CAAU,CAAC,CAAC,iCAAiC;QAErG,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAY,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,4BAAa,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,+BAAc,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;
|
|
1
|
+
{"version":3,"file":"LoadService.js","sourceRoot":"","sources":["../../src/router/services/LoadService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -11,11 +11,10 @@ export class LoadAndParse {
|
|
|
11
11
|
private countries: Country[];
|
|
12
12
|
loadService: LoadService;
|
|
13
13
|
|
|
14
|
-
|
|
15
14
|
constructor(private config: Config) {
|
|
16
15
|
const countriesFile = join(__dirname, '../config/countries.json'); // Set the path to your config file
|
|
17
16
|
this.countries = JSON.parse(readFileSync(countriesFile, 'utf8')); // Read the config file from disk
|
|
18
|
-
this.loadService = new LoadService(config)
|
|
17
|
+
this.loadService = new LoadService(config);
|
|
19
18
|
}
|
|
20
19
|
|
|
21
20
|
async get(req: Request, chartType: string): Promise<any> {
|
|
@@ -24,34 +23,56 @@ export class LoadAndParse {
|
|
|
24
23
|
//console.log(`=========== ${country} =============`)
|
|
25
24
|
this.country = country;
|
|
26
25
|
}
|
|
27
|
-
const queryOptions: QueryOptions = {}
|
|
26
|
+
const queryOptions: QueryOptions = {};
|
|
28
27
|
const year = parseInt(req.params.year);
|
|
29
28
|
const month = parseInt(req.params.month);
|
|
30
29
|
if (req.query.posneg === PosNeg.POS || req.query.posneg === PosNeg.NEG) {
|
|
31
30
|
queryOptions.posneg = req.query.posneg;
|
|
32
31
|
}
|
|
33
|
-
if (
|
|
32
|
+
if (
|
|
33
|
+
typeof req.query.format === 'string' &&
|
|
34
|
+
(<any>Object).values(Format).includes(req.query.format)
|
|
35
|
+
) {
|
|
34
36
|
queryOptions.format = req.query.format as Format;
|
|
35
37
|
}
|
|
36
38
|
let reload = false;
|
|
37
|
-
if (typeof
|
|
39
|
+
if (typeof req.headers.reload === 'string') {
|
|
38
40
|
reload = true;
|
|
39
41
|
queryOptions.reload = true;
|
|
40
42
|
}
|
|
41
43
|
|
|
42
|
-
const countryCode = this.countries.find(
|
|
44
|
+
const countryCode = this.countries.find(
|
|
45
|
+
(item) => item.name === country
|
|
46
|
+
)?.code;
|
|
43
47
|
if (!countryCode) {
|
|
44
|
-
throw new Error('Unknown country ' + country)
|
|
48
|
+
throw new Error('Unknown country ' + country);
|
|
45
49
|
}
|
|
46
50
|
if (chartType === 'installed') {
|
|
47
|
-
console.log('yes')
|
|
48
|
-
|
|
51
|
+
console.log('yes');
|
|
52
|
+
if (this.config.source === 'energycharts') {
|
|
53
|
+
return await this.loadService.getInstalledEnergyCharts(
|
|
54
|
+
countryCode,
|
|
55
|
+
queryOptions
|
|
56
|
+
);
|
|
57
|
+
} else {
|
|
58
|
+
return await this.loadService.getInstalled(countryCode, queryOptions);
|
|
59
|
+
}
|
|
49
60
|
}
|
|
50
61
|
if (chartType === 'power') {
|
|
51
|
-
if(this.config.source==='energycharts'){
|
|
52
|
-
return await this.loadService.getPowerEnergyCharts(
|
|
53
|
-
|
|
54
|
-
|
|
62
|
+
if (this.config.source === 'energycharts') {
|
|
63
|
+
return await this.loadService.getPowerEnergyCharts(
|
|
64
|
+
countryCode,
|
|
65
|
+
year,
|
|
66
|
+
month,
|
|
67
|
+
queryOptions
|
|
68
|
+
);
|
|
69
|
+
} else {
|
|
70
|
+
return await this.loadService.getPower(
|
|
71
|
+
countryCode,
|
|
72
|
+
year,
|
|
73
|
+
month,
|
|
74
|
+
queryOptions
|
|
75
|
+
);
|
|
55
76
|
}
|
|
56
77
|
}
|
|
57
78
|
if (chartType === 'hydrofill') {
|
|
@@ -64,4 +85,4 @@ export class LoadAndParse {
|
|
|
64
85
|
return await this.loadService.getCountrydata(countryCode, queryOptions);
|
|
65
86
|
}
|
|
66
87
|
}
|
|
67
|
-
}
|
|
88
|
+
}
|
|
@@ -27,16 +27,17 @@ export class PowerRouter {
|
|
|
27
27
|
})
|
|
28
28
|
|
|
29
29
|
router.get(`/:country/countrydata`, async (req, res) => {
|
|
30
|
+
res.set( 'Cache-Control', 'public, max-age=604800, immutable' );
|
|
30
31
|
await this.load(config, req, res, 'countrydata');
|
|
31
32
|
})
|
|
32
33
|
router.get('/types', async (req, res) => {
|
|
33
34
|
const filePath = join(__dirname, '..', 'config', 'types.json');
|
|
34
|
-
res.set(
|
|
35
|
+
res.set( 'Cache-Control', 'public, max-age=604800, immutable' );
|
|
35
36
|
res.sendFile(filePath);
|
|
36
37
|
});
|
|
37
38
|
router.get('/countries', async (req, res) => {
|
|
38
39
|
const filePath = join(__dirname, '..', 'config', 'countrydata.json');
|
|
39
|
-
res.set(
|
|
40
|
+
res.set( 'Cache-Control', 'public, max-age=604800, immutable' );
|
|
40
41
|
res.sendFile(filePath);
|
|
41
42
|
});
|
|
42
43
|
return router;
|
|
@@ -45,7 +46,7 @@ export class PowerRouter {
|
|
|
45
46
|
const entsoeLoader = new LoadAndParse(config);
|
|
46
47
|
const cacheTime = this.calcCacheTime(req);
|
|
47
48
|
const successHeaders = {
|
|
48
|
-
'Cache-Control': `public, max-age=${cacheTime}`,
|
|
49
|
+
'Cache-Control': `public, max-age=${cacheTime}, immutable`,
|
|
49
50
|
'Content-Encoding': 'gzip',
|
|
50
51
|
'Content-Type': 'application/json'
|
|
51
52
|
};
|
|
@@ -103,33 +103,35 @@ export class EnergyCharts {
|
|
|
103
103
|
}
|
|
104
104
|
return data;
|
|
105
105
|
}
|
|
106
|
+
async loadInstalled(country: string, queryOptions: QueryOptions) {
|
|
107
|
+
const countryShort = this.getShortCountry(country);
|
|
108
|
+
const url = `https://api.energy-charts.info/installed_power?country=${countryShort}&time_step=yearly&installation_decommission=false`;
|
|
109
|
+
if (queryOptions.format === Format.SOURCES) {
|
|
110
|
+
return [url];
|
|
111
|
+
}
|
|
112
|
+
try {
|
|
113
|
+
const response = await fetch(url);
|
|
114
|
+
const text = await response.text();
|
|
115
|
+
if (!text) return;
|
|
116
|
+
const json = JSON.parse(text);
|
|
117
|
+
return this.translate(json);
|
|
118
|
+
} catch (e) {
|
|
119
|
+
console.log(url, 'error');
|
|
120
|
+
}
|
|
121
|
+
}
|
|
106
122
|
async getPower(url: string) {
|
|
107
123
|
try {
|
|
108
124
|
const response = await fetch(url);
|
|
109
125
|
const text = await response.text();
|
|
110
126
|
if (!text) return;
|
|
111
127
|
const json = JSON.parse(text);
|
|
112
|
-
|
|
113
|
-
/*
|
|
114
|
-
try {
|
|
115
|
-
const priceTime = await this.getPrices(countryShort, startIso, endIso);
|
|
116
|
-
if (priceTime) {
|
|
117
|
-
const rebasedPrice = this.rebase(priceTime, t.time);
|
|
118
|
-
t.price = rebasedPrice.price;
|
|
119
|
-
}
|
|
120
|
-
} catch (e) {
|
|
121
|
-
console.error(e);
|
|
122
|
-
}
|
|
123
|
-
*/
|
|
124
|
-
return t;
|
|
128
|
+
return this.translate(json);
|
|
125
129
|
} catch (e) {
|
|
126
130
|
console.error(e);
|
|
127
131
|
}
|
|
128
132
|
}
|
|
129
133
|
makeUrls(country: string, startIso: string, endIso: string) {
|
|
130
|
-
const countryShort = this.
|
|
131
|
-
.find((item: any) => item.code === country)
|
|
132
|
-
?.short?.toLowerCase();
|
|
134
|
+
const countryShort = this.getShortCountry(country);
|
|
133
135
|
const start = encodeURIComponent(startIso);
|
|
134
136
|
const end = encodeURIComponent(endIso);
|
|
135
137
|
const powerUrl = `https://api.energy-charts.info/public_power?country=${countryShort}&start=${start}&end=${end}`;
|
|
@@ -154,7 +156,11 @@ export class EnergyCharts {
|
|
|
154
156
|
const priceUrl = `https://api.energy-charts.info/price?bzn=${zone}&start=${start}&end=${end}`;
|
|
155
157
|
return [powerUrl, priceUrl];
|
|
156
158
|
}
|
|
157
|
-
|
|
159
|
+
getShortCountry(country: string) {
|
|
160
|
+
return this.countries
|
|
161
|
+
.find((item: any) => item.code === country)
|
|
162
|
+
?.short?.toLowerCase();
|
|
163
|
+
}
|
|
158
164
|
async getPrices(url: string) {
|
|
159
165
|
console.log(url);
|
|
160
166
|
const response = await fetch(url);
|
|
@@ -25,6 +25,18 @@ export class LoadService {
|
|
|
25
25
|
this.parser = new EdifactParser(types);
|
|
26
26
|
this.parseInstalled = new ParseInstalled(types);
|
|
27
27
|
}
|
|
28
|
+
async getInstalledEnergyCharts(
|
|
29
|
+
countryCode: string,
|
|
30
|
+
queryOptions: QueryOptions
|
|
31
|
+
): Promise<any> {
|
|
32
|
+
const energyCharts = new EnergyCharts();
|
|
33
|
+
const power = await energyCharts.loadInstalled(
|
|
34
|
+
countryCode,
|
|
35
|
+
queryOptions
|
|
36
|
+
);
|
|
37
|
+
return power;
|
|
38
|
+
}
|
|
39
|
+
|
|
28
40
|
async getPowerEnergyCharts(
|
|
29
41
|
countryCode: string,
|
|
30
42
|
year: number,
|