@golemio/energetics 1.12.1 → 1.12.2-dev.2727447026
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/db/example/00_clear_test_data.sql +13 -0
- package/db/example/06_eno.sql +25 -0
- package/db/example/07_enapo_om_detail.sql +131 -0
- package/db/migrations/postgresql/20260729100000-enapo-gid-mapping-om-detail.js +53 -0
- package/db/migrations/postgresql/20260730120000-enapo-om-detail-porsenna.js +53 -0
- package/db/migrations/postgresql/sqls/20260729100000-enapo-gid-mapping-om-detail-down.sql +3 -0
- package/db/migrations/postgresql/sqls/20260729100000-enapo-gid-mapping-om-detail-up.sql +179 -0
- package/db/migrations/postgresql/sqls/20260730120000-enapo-om-detail-porsenna-down.sql +132 -0
- package/db/migrations/postgresql/sqls/20260730120000-enapo-om-detail-porsenna-up.sql +287 -0
- package/db/scripts/ded_gid_mapping_mock_import.sql +48 -0
- package/dist/output-gateway/constants/Links.d.ts +1 -0
- package/dist/output-gateway/constants/Links.js +2 -1
- package/dist/output-gateway/constants/Links.js.map +1 -1
- package/dist/output-gateway/controllers/v2/EnoBuildingsController.d.ts +11 -0
- package/dist/output-gateway/controllers/v2/EnoBuildingsController.js +53 -0
- package/dist/output-gateway/controllers/v2/EnoBuildingsController.js.map +1 -0
- package/dist/output-gateway/helpers/objectMappers.d.ts +10 -0
- package/dist/output-gateway/helpers/objectMappers.js +37 -0
- package/dist/output-gateway/helpers/objectMappers.js.map +1 -0
- package/dist/output-gateway/index.js +8 -1
- package/dist/output-gateway/index.js.map +1 -1
- package/dist/output-gateway/ioc/Di.js +9 -1
- package/dist/output-gateway/ioc/Di.js.map +1 -1
- package/dist/output-gateway/ioc/ModuleContainerToken.d.ts +4 -0
- package/dist/output-gateway/ioc/ModuleContainerToken.js +4 -0
- package/dist/output-gateway/ioc/ModuleContainerToken.js.map +1 -1
- package/dist/output-gateway/models/EnoBuildingDetailViewModel.d.ts +35 -0
- package/dist/output-gateway/models/EnoBuildingDetailViewModel.js +43 -0
- package/dist/output-gateway/models/EnoBuildingDetailViewModel.js.map +1 -0
- package/dist/output-gateway/models/EnoConsumptionPointViewModel.d.ts +105 -0
- package/dist/output-gateway/models/EnoConsumptionPointViewModel.js +118 -0
- package/dist/output-gateway/models/EnoConsumptionPointViewModel.js.map +1 -0
- package/dist/output-gateway/models/EnoPorsennaDeviceViewModel.d.ts +27 -0
- package/dist/output-gateway/models/EnoPorsennaDeviceViewModel.js +41 -0
- package/dist/output-gateway/models/EnoPorsennaDeviceViewModel.js.map +1 -0
- package/dist/output-gateway/models/interfaces/IEnoBuildingDetailView.d.ts +30 -0
- package/dist/output-gateway/models/interfaces/IEnoBuildingDetailView.js +3 -0
- package/dist/output-gateway/models/interfaces/IEnoBuildingDetailView.js.map +1 -0
- package/dist/output-gateway/models/interfaces/IEnoConsumptionPointView.d.ts +104 -0
- package/dist/output-gateway/models/interfaces/IEnoConsumptionPointView.js +3 -0
- package/dist/output-gateway/models/interfaces/IEnoConsumptionPointView.js.map +1 -0
- package/dist/output-gateway/models/interfaces/IEnoPorsennaDeviceView.d.ts +22 -0
- package/dist/output-gateway/models/interfaces/IEnoPorsennaDeviceView.js +3 -0
- package/dist/output-gateway/models/interfaces/IEnoPorsennaDeviceView.js.map +1 -0
- package/dist/output-gateway/repositories/AbstractNumericParsingRepository.d.ts +12 -0
- package/dist/output-gateway/repositories/AbstractNumericParsingRepository.js +41 -0
- package/dist/output-gateway/repositories/AbstractNumericParsingRepository.js.map +1 -0
- package/dist/output-gateway/repositories/EnoBuildingAddressesRepository.d.ts +8 -0
- package/dist/output-gateway/repositories/EnoBuildingAddressesRepository.js +62 -0
- package/dist/output-gateway/repositories/EnoBuildingAddressesRepository.js.map +1 -0
- package/dist/output-gateway/repositories/EnoBuildingDetailRepository.d.ts +18 -0
- package/dist/output-gateway/repositories/EnoBuildingDetailRepository.js +100 -0
- package/dist/output-gateway/repositories/EnoBuildingDetailRepository.js.map +1 -0
- package/dist/output-gateway/repositories/EnoConsumptionPointsRepository.d.ts +8 -0
- package/dist/output-gateway/repositories/EnoConsumptionPointsRepository.js +51 -0
- package/dist/output-gateway/repositories/EnoConsumptionPointsRepository.js.map +1 -0
- package/dist/output-gateway/repositories/EnoPorsennaDevicesRepository.d.ts +8 -0
- package/dist/output-gateway/repositories/EnoPorsennaDevicesRepository.js +51 -0
- package/dist/output-gateway/repositories/EnoPorsennaDevicesRepository.js.map +1 -0
- package/dist/output-gateway/repositories/PorsennaConsumptionsRepository.d.ts +8 -0
- package/dist/output-gateway/repositories/PorsennaConsumptionsRepository.js +52 -0
- package/dist/output-gateway/repositories/PorsennaConsumptionsRepository.js.map +1 -0
- package/dist/output-gateway/repositories/PpasInvoiceChildRepository.d.ts +13 -0
- package/dist/output-gateway/repositories/PpasInvoiceChildRepository.js +39 -0
- package/dist/output-gateway/repositories/PpasInvoiceChildRepository.js.map +1 -0
- package/dist/output-gateway/repositories/interfaces/IEnoBuildingDetailAggregate.d.ts +22 -0
- package/dist/output-gateway/repositories/interfaces/IEnoBuildingDetailAggregate.js +3 -0
- package/dist/output-gateway/repositories/interfaces/IEnoBuildingDetailAggregate.js.map +1 -0
- package/dist/output-gateway/routers/interfaces/IEnoBuildingDetailResponse.d.ts +106 -0
- package/dist/output-gateway/routers/interfaces/IEnoBuildingDetailResponse.js +3 -0
- package/dist/output-gateway/routers/interfaces/IEnoBuildingDetailResponse.js.map +1 -0
- package/dist/output-gateway/routers/v2/V2EnoBuildingsRouter.d.ts +9 -0
- package/dist/output-gateway/routers/v2/V2EnoBuildingsRouter.js +40 -0
- package/dist/output-gateway/routers/v2/V2EnoBuildingsRouter.js.map +1 -0
- package/dist/output-gateway/transformations/EnoBuildingDetailTransformation.d.ts +14 -0
- package/dist/output-gateway/transformations/EnoBuildingDetailTransformation.js +149 -0
- package/dist/output-gateway/transformations/EnoBuildingDetailTransformation.js.map +1 -0
- package/dist/schema-definitions/models/enapo/EnapoGidMappingModel.d.ts +17 -0
- package/dist/schema-definitions/models/enapo/EnapoGidMappingModel.js +63 -0
- package/dist/schema-definitions/models/enapo/EnapoGidMappingModel.js.map +1 -0
- package/dist/schema-definitions/models/enapo/interfaces/IEnapoGidMapping.d.ts +11 -0
- package/dist/schema-definitions/models/enapo/interfaces/IEnapoGidMapping.js +3 -0
- package/dist/schema-definitions/models/enapo/interfaces/IEnapoGidMapping.js.map +1 -0
- package/dist/schema-definitions/models/eno/AddressModel.d.ts +1 -1
- package/dist/schema-definitions/models/eno/AddressModel.js +1 -1
- package/dist/schema-definitions/models/eno/AddressModel.js.map +1 -1
- package/dist/schema-definitions/models/eno/interfaces/IAddress.d.ts +1 -1
- package/docs/implementation_documentation.md +41 -2
- package/docs/openapi-output.yaml +260 -1
- package/package.json +1 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.EnoBuildingAddressesRepository = void 0;
|
|
13
|
+
const AddressModel_1 = require("../../schema-definitions/models/eno/AddressModel");
|
|
14
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
15
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
16
|
+
const AbstractNumericParsingRepository_1 = require("./AbstractNumericParsingRepository");
|
|
17
|
+
let EnoBuildingAddressesRepository = class EnoBuildingAddressesRepository extends AbstractNumericParsingRepository_1.AbstractNumericParsingRepository {
|
|
18
|
+
constructor() {
|
|
19
|
+
super("EnoBuildingAddressesModelData", AddressModel_1.AddressModel.TABLE_NAME, AddressModel_1.AddressModel.attributeModel, {
|
|
20
|
+
schema: "energetics",
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async GetByGid(gid) {
|
|
24
|
+
try {
|
|
25
|
+
const rows = this.parseNumericColumns((await this.sequelizeModel.findAll({
|
|
26
|
+
where: { gid },
|
|
27
|
+
order: [
|
|
28
|
+
["hlavni", "DESC"],
|
|
29
|
+
["poradi", "ASC"],
|
|
30
|
+
],
|
|
31
|
+
raw: true,
|
|
32
|
+
})));
|
|
33
|
+
const addresses = [];
|
|
34
|
+
const seenPopis = new Set();
|
|
35
|
+
for (const row of rows) {
|
|
36
|
+
if (row.popis === null) {
|
|
37
|
+
addresses.push(row);
|
|
38
|
+
}
|
|
39
|
+
else if (!seenPopis.has(row.popis)) {
|
|
40
|
+
seenPopis.add(row.popis);
|
|
41
|
+
addresses.push(row);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return addresses;
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
throw new golemio_errors_1.GeneralError("Database error ~ GetByGid EnoBuildingAddressesRepository", this.name, err, 500);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
GetAll() {
|
|
51
|
+
throw new Error("Not implemented");
|
|
52
|
+
}
|
|
53
|
+
GetOne() {
|
|
54
|
+
throw new Error("Not implemented");
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
exports.EnoBuildingAddressesRepository = EnoBuildingAddressesRepository;
|
|
58
|
+
exports.EnoBuildingAddressesRepository = EnoBuildingAddressesRepository = __decorate([
|
|
59
|
+
(0, tsyringe_1.injectable)(),
|
|
60
|
+
__metadata("design:paramtypes", [])
|
|
61
|
+
], EnoBuildingAddressesRepository);
|
|
62
|
+
//# sourceMappingURL=EnoBuildingAddressesRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnoBuildingAddressesRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/repositories/EnoBuildingAddressesRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mFAA4D;AAE5D,6EAAwE;AACxE,iEAAgE;AAChE,yFAAsF;AAG/E,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,mEAAgC;IAChF;QACI,KAAK,CAAC,+BAA+B,EAAE,2BAAY,CAAC,UAAU,EAAE,2BAAY,CAAC,cAAc,EAAE;YACzF,MAAM,EAAE,YAAY;SACvB,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,GAAW;QAC7B,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CACjC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBAC/B,KAAK,EAAE,EAAE,GAAG,EAAE;gBACd,KAAK,EAAE;oBACH,CAAC,QAAQ,EAAE,MAAM,CAAC;oBAClB,CAAC,QAAQ,EAAE,KAAK,CAAC;iBACpB;gBACD,GAAG,EAAE,IAAI;aACZ,CAAC,CAA0B,CAC/B,CAAC;YAEF,MAAM,SAAS,GAAe,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;YACpC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBACrB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;qBAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACzB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;YACL,CAAC;YAED,OAAO,SAAS,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,6BAAY,CAAC,0DAA0D,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5G,CAAC;IACL,CAAC;IAEM,MAAM;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;CACJ,CAAA;AA5CY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,qBAAU,GAAE;;GACA,8BAA8B,CA4C1C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AbstractNumericParsingRepository } from "./AbstractNumericParsingRepository";
|
|
2
|
+
import { IEnoBuildingDetailAggregate } from "./interfaces/IEnoBuildingDetailAggregate";
|
|
3
|
+
export declare class EnoBuildingDetailRepository extends AbstractNumericParsingRepository {
|
|
4
|
+
private addressesRepository;
|
|
5
|
+
private consumptionPointsRepository;
|
|
6
|
+
private distributionDevicesRepository;
|
|
7
|
+
private distributionPricesRepository;
|
|
8
|
+
private commercialDevicesRepository;
|
|
9
|
+
private commercialPricesRepository;
|
|
10
|
+
private porsennaDevicesRepository;
|
|
11
|
+
private porsennaConsumptionsRepository;
|
|
12
|
+
constructor();
|
|
13
|
+
GetDetail(gid: string): Promise<IEnoBuildingDetailAggregate | null>;
|
|
14
|
+
GetAll(): never;
|
|
15
|
+
GetOne(): never;
|
|
16
|
+
private findBuilding;
|
|
17
|
+
private collectIds;
|
|
18
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.EnoBuildingDetailRepository = void 0;
|
|
13
|
+
const EnoBuildingDetailViewModel_1 = require("../models/EnoBuildingDetailViewModel");
|
|
14
|
+
const PpasCommercialInvoiceDeviceModel_1 = require("../../schema-definitions/models/enapo/ppas/PpasCommercialInvoiceDeviceModel");
|
|
15
|
+
const PpasCommercialInvoicePriceModel_1 = require("../../schema-definitions/models/enapo/ppas/PpasCommercialInvoicePriceModel");
|
|
16
|
+
const PpasDistributionInvoiceDeviceModel_1 = require("../../schema-definitions/models/enapo/ppas/PpasDistributionInvoiceDeviceModel");
|
|
17
|
+
const PpasDistributionInvoicePriceModel_1 = require("../../schema-definitions/models/enapo/ppas/PpasDistributionInvoicePriceModel");
|
|
18
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
19
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
20
|
+
const AbstractNumericParsingRepository_1 = require("./AbstractNumericParsingRepository");
|
|
21
|
+
const EnoBuildingAddressesRepository_1 = require("./EnoBuildingAddressesRepository");
|
|
22
|
+
const EnoConsumptionPointsRepository_1 = require("./EnoConsumptionPointsRepository");
|
|
23
|
+
const EnoPorsennaDevicesRepository_1 = require("./EnoPorsennaDevicesRepository");
|
|
24
|
+
const PorsennaConsumptionsRepository_1 = require("./PorsennaConsumptionsRepository");
|
|
25
|
+
const PpasInvoiceChildRepository_1 = require("./PpasInvoiceChildRepository");
|
|
26
|
+
let EnoBuildingDetailRepository = class EnoBuildingDetailRepository extends AbstractNumericParsingRepository_1.AbstractNumericParsingRepository {
|
|
27
|
+
constructor() {
|
|
28
|
+
super(EnoBuildingDetailViewModel_1.EnoBuildingDetailViewModel.modelName, EnoBuildingDetailViewModel_1.EnoBuildingDetailViewModel.tableName, EnoBuildingDetailViewModel_1.EnoBuildingDetailViewModel.attributeModel, {
|
|
29
|
+
schema: "energetics",
|
|
30
|
+
});
|
|
31
|
+
this.addressesRepository = new EnoBuildingAddressesRepository_1.EnoBuildingAddressesRepository();
|
|
32
|
+
this.consumptionPointsRepository = new EnoConsumptionPointsRepository_1.EnoConsumptionPointsRepository();
|
|
33
|
+
this.distributionDevicesRepository = new PpasInvoiceChildRepository_1.PpasInvoiceChildRepository("EnoPpasDistributionInvoiceDeviceModelData", PpasDistributionInvoiceDeviceModel_1.PpasDistributionInvoiceDeviceModel.TABLE_NAME, PpasDistributionInvoiceDeviceModel_1.PpasDistributionInvoiceDeviceModel.attributeModel);
|
|
34
|
+
this.distributionPricesRepository = new PpasInvoiceChildRepository_1.PpasInvoiceChildRepository("EnoPpasDistributionInvoicePriceModelData", PpasDistributionInvoicePriceModel_1.PpasDistributionInvoicePriceModel.TABLE_NAME, PpasDistributionInvoicePriceModel_1.PpasDistributionInvoicePriceModel.attributeModel);
|
|
35
|
+
this.commercialDevicesRepository = new PpasInvoiceChildRepository_1.PpasInvoiceChildRepository("EnoPpasCommercialInvoiceDeviceModelData", PpasCommercialInvoiceDeviceModel_1.PpasCommercialInvoiceDeviceModel.TABLE_NAME, PpasCommercialInvoiceDeviceModel_1.PpasCommercialInvoiceDeviceModel.attributeModel);
|
|
36
|
+
this.commercialPricesRepository = new PpasInvoiceChildRepository_1.PpasInvoiceChildRepository("EnoPpasCommercialInvoicePriceModelData", PpasCommercialInvoicePriceModel_1.PpasCommercialInvoicePriceModel.TABLE_NAME, PpasCommercialInvoicePriceModel_1.PpasCommercialInvoicePriceModel.attributeModel);
|
|
37
|
+
this.porsennaDevicesRepository = new EnoPorsennaDevicesRepository_1.EnoPorsennaDevicesRepository();
|
|
38
|
+
this.porsennaConsumptionsRepository = new PorsennaConsumptionsRepository_1.PorsennaConsumptionsRepository();
|
|
39
|
+
}
|
|
40
|
+
async GetDetail(gid) {
|
|
41
|
+
const [building, addresses, points, porsennaDevices] = await Promise.all([
|
|
42
|
+
this.findBuilding(gid),
|
|
43
|
+
this.addressesRepository.GetByGid(gid),
|
|
44
|
+
this.consumptionPointsRepository.GetByGid(gid),
|
|
45
|
+
this.porsennaDevicesRepository.GetByGid(gid),
|
|
46
|
+
]);
|
|
47
|
+
if (building === null && addresses.length === 0 && points.length === 0 && porsennaDevices.length === 0) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
const distributionInvoiceIds = this.collectIds(points.map((point) => point.di_id));
|
|
51
|
+
const commercialInvoiceIds = this.collectIds(points.map((point) => point.ci_id));
|
|
52
|
+
const porsennaDeviceIds = this.collectIds(porsennaDevices.map((device) => device.device_id));
|
|
53
|
+
const [distributionDevices, distributionPrices, commercialDevices, commercialPrices, porsennaConsumption] = await Promise.all([
|
|
54
|
+
this.distributionDevicesRepository.GetByInvoiceIds(distributionInvoiceIds),
|
|
55
|
+
this.distributionPricesRepository.GetByInvoiceIds(distributionInvoiceIds),
|
|
56
|
+
this.commercialDevicesRepository.GetByInvoiceIds(commercialInvoiceIds),
|
|
57
|
+
this.commercialPricesRepository.GetByInvoiceIds(commercialInvoiceIds),
|
|
58
|
+
this.porsennaConsumptionsRepository.GetByDeviceIds(porsennaDeviceIds),
|
|
59
|
+
]);
|
|
60
|
+
return {
|
|
61
|
+
gid,
|
|
62
|
+
building,
|
|
63
|
+
addresses,
|
|
64
|
+
points,
|
|
65
|
+
distributionDevices,
|
|
66
|
+
distributionPrices,
|
|
67
|
+
commercialDevices,
|
|
68
|
+
commercialPrices,
|
|
69
|
+
porsennaDevices,
|
|
70
|
+
porsennaConsumption,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
GetAll() {
|
|
74
|
+
throw new Error("Not implemented");
|
|
75
|
+
}
|
|
76
|
+
GetOne() {
|
|
77
|
+
throw new Error("Not implemented");
|
|
78
|
+
}
|
|
79
|
+
async findBuilding(gid) {
|
|
80
|
+
try {
|
|
81
|
+
const row = (await this.sequelizeModel.findOne({
|
|
82
|
+
where: { gid },
|
|
83
|
+
raw: true,
|
|
84
|
+
}));
|
|
85
|
+
return this.parseNumericRow(row);
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
throw new golemio_errors_1.GeneralError("Database error ~ GetDetail EnoBuildingDetailRepository", this.name, err, 500);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
collectIds(ids) {
|
|
92
|
+
return [...new Set(ids.filter((id) => id !== null))];
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
exports.EnoBuildingDetailRepository = EnoBuildingDetailRepository;
|
|
96
|
+
exports.EnoBuildingDetailRepository = EnoBuildingDetailRepository = __decorate([
|
|
97
|
+
(0, tsyringe_1.injectable)(),
|
|
98
|
+
__metadata("design:paramtypes", [])
|
|
99
|
+
], EnoBuildingDetailRepository);
|
|
100
|
+
//# sourceMappingURL=EnoBuildingDetailRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnoBuildingDetailRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/repositories/EnoBuildingDetailRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IEnoConsumptionPointView } from "../models/interfaces/IEnoConsumptionPointView";
|
|
2
|
+
import { AbstractNumericParsingRepository } from "./AbstractNumericParsingRepository";
|
|
3
|
+
export declare class EnoConsumptionPointsRepository extends AbstractNumericParsingRepository {
|
|
4
|
+
constructor();
|
|
5
|
+
GetByGid(gid: string): Promise<IEnoConsumptionPointView[]>;
|
|
6
|
+
GetAll(): never;
|
|
7
|
+
GetOne(): never;
|
|
8
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.EnoConsumptionPointsRepository = void 0;
|
|
13
|
+
const EnoConsumptionPointViewModel_1 = require("../models/EnoConsumptionPointViewModel");
|
|
14
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
15
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
16
|
+
const AbstractNumericParsingRepository_1 = require("./AbstractNumericParsingRepository");
|
|
17
|
+
let EnoConsumptionPointsRepository = class EnoConsumptionPointsRepository extends AbstractNumericParsingRepository_1.AbstractNumericParsingRepository {
|
|
18
|
+
constructor() {
|
|
19
|
+
super(EnoConsumptionPointViewModel_1.EnoConsumptionPointViewModel.modelName, EnoConsumptionPointViewModel_1.EnoConsumptionPointViewModel.tableName, EnoConsumptionPointViewModel_1.EnoConsumptionPointViewModel.attributeModel, {
|
|
20
|
+
schema: "energetics",
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async GetByGid(gid) {
|
|
24
|
+
try {
|
|
25
|
+
const rows = (await this.sequelizeModel.findAll({
|
|
26
|
+
where: { gid },
|
|
27
|
+
order: [
|
|
28
|
+
["commodity", "ASC"],
|
|
29
|
+
["place_id", "ASC"],
|
|
30
|
+
],
|
|
31
|
+
raw: true,
|
|
32
|
+
}));
|
|
33
|
+
return this.parseNumericColumns(rows);
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
throw new golemio_errors_1.GeneralError("Database error ~ GetByGid EnoConsumptionPointsRepository", this.name, err, 500);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
GetAll() {
|
|
40
|
+
throw new Error("Not implemented");
|
|
41
|
+
}
|
|
42
|
+
GetOne() {
|
|
43
|
+
throw new Error("Not implemented");
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
exports.EnoConsumptionPointsRepository = EnoConsumptionPointsRepository;
|
|
47
|
+
exports.EnoConsumptionPointsRepository = EnoConsumptionPointsRepository = __decorate([
|
|
48
|
+
(0, tsyringe_1.injectable)(),
|
|
49
|
+
__metadata("design:paramtypes", [])
|
|
50
|
+
], EnoConsumptionPointsRepository);
|
|
51
|
+
//# sourceMappingURL=EnoConsumptionPointsRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnoConsumptionPointsRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/repositories/EnoConsumptionPointsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yFAAuF;AAEvF,6EAAwE;AACxE,iEAAgE;AAChE,yFAAsF;AAG/E,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,mEAAgC;IAChF;QACI,KAAK,CACD,2DAA4B,CAAC,SAAS,EACtC,2DAA4B,CAAC,SAAS,EACtC,2DAA4B,CAAC,cAAc,EAC3C;YACI,MAAM,EAAE,YAAY;SACvB,CACJ,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,GAAW;QAC7B,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBAC5C,KAAK,EAAE,EAAE,GAAG,EAAE;gBACd,KAAK,EAAE;oBACH,CAAC,WAAW,EAAE,KAAK,CAAC;oBACpB,CAAC,UAAU,EAAE,KAAK,CAAC;iBACtB;gBACD,GAAG,EAAE,IAAI;aACZ,CAAC,CAA0C,CAAC;YAE7C,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,6BAAY,CAAC,0DAA0D,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5G,CAAC;IACL,CAAC;IAEM,MAAM;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;CACJ,CAAA;AApCY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,qBAAU,GAAE;;GACA,8BAA8B,CAoC1C"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IEnoPorsennaDeviceView } from "../models/interfaces/IEnoPorsennaDeviceView";
|
|
2
|
+
import { AbstractNumericParsingRepository } from "./AbstractNumericParsingRepository";
|
|
3
|
+
export declare class EnoPorsennaDevicesRepository extends AbstractNumericParsingRepository {
|
|
4
|
+
constructor();
|
|
5
|
+
GetByGid(gid: string): Promise<IEnoPorsennaDeviceView[]>;
|
|
6
|
+
GetAll(): never;
|
|
7
|
+
GetOne(): never;
|
|
8
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.EnoPorsennaDevicesRepository = void 0;
|
|
13
|
+
const EnoPorsennaDeviceViewModel_1 = require("../models/EnoPorsennaDeviceViewModel");
|
|
14
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
15
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
16
|
+
const AbstractNumericParsingRepository_1 = require("./AbstractNumericParsingRepository");
|
|
17
|
+
let EnoPorsennaDevicesRepository = class EnoPorsennaDevicesRepository extends AbstractNumericParsingRepository_1.AbstractNumericParsingRepository {
|
|
18
|
+
constructor() {
|
|
19
|
+
super(EnoPorsennaDeviceViewModel_1.EnoPorsennaDeviceViewModel.modelName, EnoPorsennaDeviceViewModel_1.EnoPorsennaDeviceViewModel.tableName, EnoPorsennaDeviceViewModel_1.EnoPorsennaDeviceViewModel.attributeModel, {
|
|
20
|
+
schema: "energetics",
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async GetByGid(gid) {
|
|
24
|
+
try {
|
|
25
|
+
const rows = (await this.sequelizeModel.findAll({
|
|
26
|
+
where: { gid },
|
|
27
|
+
order: [
|
|
28
|
+
["source", "ASC"],
|
|
29
|
+
["identifier", "ASC"],
|
|
30
|
+
],
|
|
31
|
+
raw: true,
|
|
32
|
+
}));
|
|
33
|
+
return this.parseNumericColumns(rows);
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
throw new golemio_errors_1.GeneralError("Database error ~ GetByGid EnoPorsennaDevicesRepository", this.name, err, 500);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
GetAll() {
|
|
40
|
+
throw new Error("Not implemented");
|
|
41
|
+
}
|
|
42
|
+
GetOne() {
|
|
43
|
+
throw new Error("Not implemented");
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
exports.EnoPorsennaDevicesRepository = EnoPorsennaDevicesRepository;
|
|
47
|
+
exports.EnoPorsennaDevicesRepository = EnoPorsennaDevicesRepository = __decorate([
|
|
48
|
+
(0, tsyringe_1.injectable)(),
|
|
49
|
+
__metadata("design:paramtypes", [])
|
|
50
|
+
], EnoPorsennaDevicesRepository);
|
|
51
|
+
//# sourceMappingURL=EnoPorsennaDevicesRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnoPorsennaDevicesRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/repositories/EnoPorsennaDevicesRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qFAAmF;AAEnF,6EAAwE;AACxE,iEAAgE;AAChE,yFAAsF;AAG/E,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,mEAAgC;IAC9E;QACI,KAAK,CACD,uDAA0B,CAAC,SAAS,EACpC,uDAA0B,CAAC,SAAS,EACpC,uDAA0B,CAAC,cAAc,EACzC;YACI,MAAM,EAAE,YAAY;SACvB,CACJ,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,GAAW;QAC7B,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBAC5C,KAAK,EAAE,EAAE,GAAG,EAAE;gBACd,KAAK,EAAE;oBACH,CAAC,QAAQ,EAAE,KAAK,CAAC;oBACjB,CAAC,YAAY,EAAE,KAAK,CAAC;iBACxB;gBACD,GAAG,EAAE,IAAI;aACZ,CAAC,CAAwC,CAAC;YAE3C,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,6BAAY,CAAC,wDAAwD,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1G,CAAC;IACL,CAAC;IAEM,MAAM;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;CACJ,CAAA;AApCY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,qBAAU,GAAE;;GACA,4BAA4B,CAoCxC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IConsumption } from "../../schema-definitions/models/porsenna/interfaces/IConsumption";
|
|
2
|
+
import { AbstractNumericParsingRepository } from "./AbstractNumericParsingRepository";
|
|
3
|
+
export declare class PorsennaConsumptionsRepository extends AbstractNumericParsingRepository {
|
|
4
|
+
constructor();
|
|
5
|
+
GetByDeviceIds(deviceIds: string[]): Promise<IConsumption[]>;
|
|
6
|
+
GetAll(): never;
|
|
7
|
+
GetOne(): never;
|
|
8
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PorsennaConsumptionsRepository = void 0;
|
|
13
|
+
const PorsennaConsumptionModel_1 = require("../../schema-definitions/models/porsenna/PorsennaConsumptionModel");
|
|
14
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
15
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
16
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
17
|
+
const AbstractNumericParsingRepository_1 = require("./AbstractNumericParsingRepository");
|
|
18
|
+
let PorsennaConsumptionsRepository = class PorsennaConsumptionsRepository extends AbstractNumericParsingRepository_1.AbstractNumericParsingRepository {
|
|
19
|
+
constructor() {
|
|
20
|
+
super("EnoPorsennaConsumptionModelData", PorsennaConsumptionModel_1.PorsennaConsumptionModel.TABLE_NAME, PorsennaConsumptionModel_1.PorsennaConsumptionModel.attributeModel, {
|
|
21
|
+
schema: "energetics",
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async GetByDeviceIds(deviceIds) {
|
|
25
|
+
if (deviceIds.length === 0) {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
try {
|
|
29
|
+
const rows = (await this.sequelizeModel.findAll({
|
|
30
|
+
where: { device_id: { [sequelize_1.Op.in]: deviceIds } },
|
|
31
|
+
order: [["period", "ASC"]],
|
|
32
|
+
raw: true,
|
|
33
|
+
}));
|
|
34
|
+
return this.parseNumericColumns(rows);
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
throw new golemio_errors_1.GeneralError("Database error ~ GetByDeviceIds PorsennaConsumptionsRepository", this.name, err, 500);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
GetAll() {
|
|
41
|
+
throw new Error("Not implemented");
|
|
42
|
+
}
|
|
43
|
+
GetOne() {
|
|
44
|
+
throw new Error("Not implemented");
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
exports.PorsennaConsumptionsRepository = PorsennaConsumptionsRepository;
|
|
48
|
+
exports.PorsennaConsumptionsRepository = PorsennaConsumptionsRepository = __decorate([
|
|
49
|
+
(0, tsyringe_1.injectable)(),
|
|
50
|
+
__metadata("design:paramtypes", [])
|
|
51
|
+
], PorsennaConsumptionsRepository);
|
|
52
|
+
//# sourceMappingURL=PorsennaConsumptionsRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PorsennaConsumptionsRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/repositories/PorsennaConsumptionsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gHAAyF;AAEzF,6EAAwE;AACxE,mEAAyD;AACzD,iEAAgE;AAChE,yFAAsF;AAG/E,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,mEAAgC;IAChF;QACI,KAAK,CAAC,iCAAiC,EAAE,mDAAwB,CAAC,UAAU,EAAE,mDAAwB,CAAC,cAAc,EAAE;YACnH,MAAM,EAAE,YAAY;SACvB,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,SAAmB;QAC3C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBAC5C,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE;gBAC5C,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC1B,GAAG,EAAE,IAAI;aACZ,CAAC,CAA8B,CAAC;YAEjC,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,6BAAY,CAAC,gEAAgE,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClH,CAAC;IACL,CAAC;IAEM,MAAM;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;CACJ,CAAA;AAhCY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,qBAAU,GAAE;;GACA,8BAA8B,CAgC1C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ModelAttributes } from "@golemio/core/dist/shared/sequelize";
|
|
2
|
+
import { AbstractNumericParsingRepository } from "./AbstractNumericParsingRepository";
|
|
3
|
+
/**
|
|
4
|
+
* Read-only access to a PPAS invoice child table (devices/prices) keyed by `invoice_id`.
|
|
5
|
+
*/
|
|
6
|
+
export declare class PpasInvoiceChildRepository<T extends {
|
|
7
|
+
invoice_id: string;
|
|
8
|
+
}> extends AbstractNumericParsingRepository {
|
|
9
|
+
constructor(modelName: string, tableName: string, attributes: ModelAttributes);
|
|
10
|
+
GetByInvoiceIds(invoiceIds: string[]): Promise<T[]>;
|
|
11
|
+
GetAll(): never;
|
|
12
|
+
GetOne(): never;
|
|
13
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PpasInvoiceChildRepository = void 0;
|
|
4
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
5
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
6
|
+
const AbstractNumericParsingRepository_1 = require("./AbstractNumericParsingRepository");
|
|
7
|
+
/**
|
|
8
|
+
* Read-only access to a PPAS invoice child table (devices/prices) keyed by `invoice_id`.
|
|
9
|
+
*/
|
|
10
|
+
class PpasInvoiceChildRepository extends AbstractNumericParsingRepository_1.AbstractNumericParsingRepository {
|
|
11
|
+
constructor(modelName, tableName, attributes) {
|
|
12
|
+
super(modelName, tableName, attributes, {
|
|
13
|
+
schema: "energetics",
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async GetByInvoiceIds(invoiceIds) {
|
|
17
|
+
if (invoiceIds.length === 0) {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
const rows = (await this.sequelizeModel.findAll({
|
|
22
|
+
where: { invoice_id: { [sequelize_1.Op.in]: invoiceIds } },
|
|
23
|
+
raw: true,
|
|
24
|
+
}));
|
|
25
|
+
return this.parseNumericColumns(rows);
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
throw new golemio_errors_1.GeneralError("Database error ~ GetByInvoiceIds PpasInvoiceChildRepository", this.name, err, 500);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
GetAll() {
|
|
32
|
+
throw new Error("Not implemented");
|
|
33
|
+
}
|
|
34
|
+
GetOne() {
|
|
35
|
+
throw new Error("Not implemented");
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.PpasInvoiceChildRepository = PpasInvoiceChildRepository;
|
|
39
|
+
//# sourceMappingURL=PpasInvoiceChildRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PpasInvoiceChildRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/repositories/PpasInvoiceChildRepository.ts"],"names":[],"mappings":";;;AAAA,6EAAwE;AACxE,mEAA0E;AAC1E,yFAAsF;AAEtF;;GAEG;AACH,MAAa,0BAA6D,SAAQ,mEAAgC;IAC9G,YAAY,SAAiB,EAAE,SAAiB,EAAE,UAA2B;QACzE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE;YACpC,MAAM,EAAE,YAAY;SACvB,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,UAAoB;QAC7C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBAC5C,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE;gBAC9C,GAAG,EAAE,IAAI;aACZ,CAAC,CAAmB,CAAC;YAEtB,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,6BAAY,CAAC,6DAA6D,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/G,CAAC;IACL,CAAC;IAEM,MAAM;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;CACJ;AA/BD,gEA+BC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IEnoBuildingDetailView } from "../../models/interfaces/IEnoBuildingDetailView";
|
|
2
|
+
import { IEnoConsumptionPointView } from "../../models/interfaces/IEnoConsumptionPointView";
|
|
3
|
+
import { IEnoPorsennaDeviceView } from "../../models/interfaces/IEnoPorsennaDeviceView";
|
|
4
|
+
import { IAddress } from "../../../schema-definitions/models/eno/interfaces/IAddress";
|
|
5
|
+
import { IConsumption } from "../../../schema-definitions/models/porsenna/interfaces/IConsumption";
|
|
6
|
+
import { IPpasCommercialInvoiceDevice } from "../../../schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoiceDevice";
|
|
7
|
+
import { IPpasCommercialInvoicePrice } from "../../../schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoicePrice";
|
|
8
|
+
import { IPpasDistributionInvoiceDevice } from "../../../schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoiceDevice";
|
|
9
|
+
import { IPpasDistributionInvoicePrice } from "../../../schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoicePrice";
|
|
10
|
+
export interface IEnoBuildingDetailAggregate {
|
|
11
|
+
gid: string;
|
|
12
|
+
/** null when the GID is known to the mapping but has no eno_budova record */
|
|
13
|
+
building: IEnoBuildingDetailView | null;
|
|
14
|
+
addresses: IAddress[];
|
|
15
|
+
points: IEnoConsumptionPointView[];
|
|
16
|
+
distributionDevices: IPpasDistributionInvoiceDevice[];
|
|
17
|
+
distributionPrices: IPpasDistributionInvoicePrice[];
|
|
18
|
+
commercialDevices: IPpasCommercialInvoiceDevice[];
|
|
19
|
+
commercialPrices: IPpasCommercialInvoicePrice[];
|
|
20
|
+
porsennaDevices: IEnoPorsennaDeviceView[];
|
|
21
|
+
porsennaConsumption: IConsumption[];
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IEnoBuildingDetailAggregate.js","sourceRoot":"","sources":["../../../../src/output-gateway/repositories/interfaces/IEnoBuildingDetailAggregate.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { StripPrefix } from "../../helpers/objectMappers";
|
|
2
|
+
import { IEnoBuildingDetailView } from "../../models/interfaces/IEnoBuildingDetailView";
|
|
3
|
+
import { IEnoConsumptionPointView } from "../../models/interfaces/IEnoConsumptionPointView";
|
|
4
|
+
import { IPpasCommercialInvoiceDevice } from "../../../schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoiceDevice";
|
|
5
|
+
import { IPpasCommercialInvoicePrice } from "../../../schema-definitions/models/enapo/ppas/interfaces/IPpasCommercialInvoicePrice";
|
|
6
|
+
import { IPpasDistributionInvoiceDevice } from "../../../schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoiceDevice";
|
|
7
|
+
import { IPpasDistributionInvoicePrice } from "../../../schema-definitions/models/enapo/ppas/interfaces/IPpasDistributionInvoicePrice";
|
|
8
|
+
import { EnapoCommodity } from "../../../schema-definitions/models/enapo/interfaces/IEnapoGidMapping";
|
|
9
|
+
export type TEnoElectricityMetadata = StripPrefix<IEnoConsumptionPointView, "md_">;
|
|
10
|
+
export type TEnoDistributionInvoice = StripPrefix<IEnoConsumptionPointView, "di_">;
|
|
11
|
+
export type TEnoCommercialInvoice = StripPrefix<IEnoConsumptionPointView, "ci_">;
|
|
12
|
+
export type TEnoCommercialInstallation = Omit<StripPrefix<IEnoConsumptionPointView, "cii_">, "place_id">;
|
|
13
|
+
export type TEnoDistributionDevice = Omit<IPpasDistributionInvoiceDevice, "invoice_id">;
|
|
14
|
+
export type TEnoDistributionPrice = Omit<IPpasDistributionInvoicePrice, "invoice_id" | "customer_id">;
|
|
15
|
+
export type TEnoCommercialDevice = Omit<IPpasCommercialInvoiceDevice, "invoice_id" | "place_id">;
|
|
16
|
+
export type TEnoCommercialPrice = Omit<IPpasCommercialInvoicePrice, "invoice_id" | "customer_id" | "place_id">;
|
|
17
|
+
export interface IEnoPorsennaDeviceInfo {
|
|
18
|
+
name: string | null;
|
|
19
|
+
type: string | null;
|
|
20
|
+
level: string | null;
|
|
21
|
+
measurement_target: string | null;
|
|
22
|
+
meter_number: string | null;
|
|
23
|
+
supply_point_number: string | null;
|
|
24
|
+
disabled_at: Date | null;
|
|
25
|
+
tenant: string;
|
|
26
|
+
}
|
|
27
|
+
export interface IEnoPorsennaSubDevice {
|
|
28
|
+
name: string | null;
|
|
29
|
+
type: string | null;
|
|
30
|
+
meter_number: string | null;
|
|
31
|
+
disabled_at: Date | null;
|
|
32
|
+
}
|
|
33
|
+
export interface IEnoPorsennaYearlyConsumption {
|
|
34
|
+
period: string;
|
|
35
|
+
value: number;
|
|
36
|
+
unit: string;
|
|
37
|
+
days_covered: number | null;
|
|
38
|
+
}
|
|
39
|
+
export interface IEnoPorsennaBlock {
|
|
40
|
+
device: IEnoPorsennaDeviceInfo;
|
|
41
|
+
sub_devices: IEnoPorsennaSubDevice[];
|
|
42
|
+
yearly_consumption: IEnoPorsennaYearlyConsumption[];
|
|
43
|
+
}
|
|
44
|
+
export interface IEnoPorsennaOnlyBlock {
|
|
45
|
+
porsenna: IEnoPorsennaBlock | null;
|
|
46
|
+
}
|
|
47
|
+
export interface IEnoEnergyManagement {
|
|
48
|
+
source: string;
|
|
49
|
+
building_name: string | null;
|
|
50
|
+
address: string | null;
|
|
51
|
+
devices_total: number;
|
|
52
|
+
devices_active: number;
|
|
53
|
+
}
|
|
54
|
+
export interface IEnoElectricityBlock {
|
|
55
|
+
metadata: TEnoElectricityMetadata | null;
|
|
56
|
+
porsenna?: IEnoPorsennaBlock;
|
|
57
|
+
}
|
|
58
|
+
export interface IEnoGasDistributionBlock {
|
|
59
|
+
invoice: TEnoDistributionInvoice;
|
|
60
|
+
devices: TEnoDistributionDevice[];
|
|
61
|
+
prices: TEnoDistributionPrice[];
|
|
62
|
+
}
|
|
63
|
+
export interface IEnoGasCommercialBlock {
|
|
64
|
+
invoice: TEnoCommercialInvoice;
|
|
65
|
+
installation: TEnoCommercialInstallation;
|
|
66
|
+
devices: TEnoCommercialDevice[];
|
|
67
|
+
prices: TEnoCommercialPrice[];
|
|
68
|
+
}
|
|
69
|
+
export interface IEnoGasBlock {
|
|
70
|
+
distribution: IEnoGasDistributionBlock | null;
|
|
71
|
+
commercial: IEnoGasCommercialBlock | null;
|
|
72
|
+
porsenna?: IEnoPorsennaBlock;
|
|
73
|
+
}
|
|
74
|
+
export interface IEnoConsumptionPointResponse {
|
|
75
|
+
place_id: string;
|
|
76
|
+
id_type: "ean" | "eic" | "om";
|
|
77
|
+
commodity: EnapoCommodity;
|
|
78
|
+
is_first_gid: boolean;
|
|
79
|
+
is_active: boolean;
|
|
80
|
+
link_source: string;
|
|
81
|
+
valid_from: string | null;
|
|
82
|
+
valid_to: string | null;
|
|
83
|
+
address: string | null;
|
|
84
|
+
/** Present only when commodity = electricity */
|
|
85
|
+
electricity?: IEnoElectricityBlock;
|
|
86
|
+
/** Present only when commodity = gas */
|
|
87
|
+
gas?: IEnoGasBlock;
|
|
88
|
+
/** Present only when commodity = heat (Porsenna-sourced) */
|
|
89
|
+
heat?: IEnoPorsennaOnlyBlock;
|
|
90
|
+
/** Present only when commodity = water (Porsenna-sourced) */
|
|
91
|
+
water?: IEnoPorsennaOnlyBlock;
|
|
92
|
+
}
|
|
93
|
+
export interface IEnoBuildingAddressResponse {
|
|
94
|
+
popis: string | null;
|
|
95
|
+
hlavni: boolean | null;
|
|
96
|
+
poradi: number;
|
|
97
|
+
}
|
|
98
|
+
export interface IEnoBuildingDetailResponse {
|
|
99
|
+
gid: string;
|
|
100
|
+
/** null when the GID has no eno_budova record (known only to the OM mapping or Porsenna) */
|
|
101
|
+
building: Omit<IEnoBuildingDetailView, "gid"> | null;
|
|
102
|
+
addresses: IEnoBuildingAddressResponse[];
|
|
103
|
+
/** null when the building is not tracked in Porsenna (e-manazer) */
|
|
104
|
+
energy_management: IEnoEnergyManagement | null;
|
|
105
|
+
consumption_points: IEnoConsumptionPointResponse[];
|
|
106
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IEnoBuildingDetailResponse.js","sourceRoot":"","sources":["../../../../src/output-gateway/routers/interfaces/IEnoBuildingDetailResponse.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AbstractRouter } from "@golemio/core/dist/helpers/routing/AbstractRouter";
|
|
2
|
+
export declare class V2EnoBuildingsRouter extends AbstractRouter {
|
|
3
|
+
private controller;
|
|
4
|
+
private cacheHeaderMiddleware;
|
|
5
|
+
private maxAge;
|
|
6
|
+
private staleWhileRevalidate;
|
|
7
|
+
constructor();
|
|
8
|
+
protected initRoutes(): void;
|
|
9
|
+
}
|