@golemio/pid 3.15.3-dev.1841156396 → 3.15.3-dev.1844226755
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/output-gateway/jis/controllers/v1/V1EventsController.d.ts +0 -3
- package/dist/output-gateway/jis/controllers/v1/V1EventsController.js +3 -22
- package/dist/output-gateway/jis/controllers/v1/V1EventsController.js.map +1 -1
- package/dist/output-gateway/jis/data-access/JISEventsRepository.d.ts +1 -0
- package/dist/output-gateway/jis/data-access/JISEventsRepository.js +30 -10
- package/dist/output-gateway/jis/data-access/JISEventsRepository.js.map +1 -1
- package/dist/output-gateway/jis/dto/EventsDto.d.ts +6 -0
- package/dist/output-gateway/jis/dto/EventsDto.js +21 -0
- package/dist/output-gateway/jis/dto/EventsDto.js.map +1 -0
- package/dist/output-gateway/jis/dto/interfaces/IEventsCustomFormatQueryDto.d.ts +5 -0
- package/dist/output-gateway/jis/dto/interfaces/IEventsCustomFormatQueryDto.js +3 -0
- package/dist/output-gateway/jis/dto/interfaces/IEventsCustomFormatQueryDto.js.map +1 -0
- package/package.json +1 -1
|
@@ -6,7 +6,4 @@ export declare class V1EventsController {
|
|
|
6
6
|
private eventsCustomFormatTransformation;
|
|
7
7
|
constructor(jisEventsRepository: JISEventsRepository, eventsCustomFormatTransformation: JISEventsCustomFormatTransformation);
|
|
8
8
|
getAllEventsInCustomFormat: RequestHandler;
|
|
9
|
-
private recordBadRequestException;
|
|
10
|
-
private isValidQueryStringParam;
|
|
11
|
-
private isValidQueryArrayParam;
|
|
12
9
|
}
|
|
@@ -17,8 +17,9 @@ const OgJisToken_1 = require("../../ioc/OgJisToken");
|
|
|
17
17
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
18
18
|
const JISEventsRepository_1 = require("../../data-access/JISEventsRepository");
|
|
19
19
|
const JISEventsCustomFormatTransformation_1 = require("../../transofrmations/JISEventsCustomFormatTransformation");
|
|
20
|
-
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
21
20
|
const monitoring_1 = require("@golemio/core/dist/monitoring");
|
|
21
|
+
const EventsDto_1 = require("../../dto/EventsDto");
|
|
22
|
+
const shared_1 = require("../../../shared");
|
|
22
23
|
let V1EventsController = exports.V1EventsController = class V1EventsController {
|
|
23
24
|
constructor(jisEventsRepository, eventsCustomFormatTransformation) {
|
|
24
25
|
this.jisEventsRepository = jisEventsRepository;
|
|
@@ -26,16 +27,7 @@ let V1EventsController = exports.V1EventsController = class V1EventsController {
|
|
|
26
27
|
this.getAllEventsInCustomFormat = async (req, res, next) => {
|
|
27
28
|
const span = (0, monitoring_1.createChildSpan)("V1EventsController.getAllEventsInCustomFormat");
|
|
28
29
|
try {
|
|
29
|
-
const {
|
|
30
|
-
if (organizationNames !== undefined && !this.isValidQueryArrayParam(organizationNames)) {
|
|
31
|
-
return next(this.recordBadRequestException("organizationNames is not valid", span));
|
|
32
|
-
}
|
|
33
|
-
else if (displayPeriodStart && !this.isValidQueryStringParam(displayPeriodStart)) {
|
|
34
|
-
return next(this.recordBadRequestException("displayPeriodStart is not valid", span));
|
|
35
|
-
}
|
|
36
|
-
else if (displayPeriodEnd && !this.isValidQueryStringParam(displayPeriodEnd)) {
|
|
37
|
-
return next(this.recordBadRequestException("displayPeriodEnd is not valid", span));
|
|
38
|
-
}
|
|
30
|
+
const { displayPeriodEnd, displayPeriodStart, organizationNames } = shared_1.RopidRouterUtils.mapObjectToDTOInstance(EventsDto_1.EventsCustomFormatQueryDto, req.query);
|
|
39
31
|
const events = await this.jisEventsRepository.getAllForCustomFormat(organizationNames, displayPeriodStart, displayPeriodEnd);
|
|
40
32
|
const transformedEvents = this.eventsCustomFormatTransformation.transformArray(events);
|
|
41
33
|
return res.status(200).json(transformedEvents);
|
|
@@ -48,17 +40,6 @@ let V1EventsController = exports.V1EventsController = class V1EventsController {
|
|
|
48
40
|
span?.end();
|
|
49
41
|
}
|
|
50
42
|
};
|
|
51
|
-
this.recordBadRequestException = (errorMessage, span) => {
|
|
52
|
-
const exception = new golemio_errors_1.GeneralError(errorMessage, this.constructor.name, undefined, 400);
|
|
53
|
-
span?.recordException(exception);
|
|
54
|
-
return exception;
|
|
55
|
-
};
|
|
56
|
-
this.isValidQueryStringParam = (param) => {
|
|
57
|
-
return typeof param === "string";
|
|
58
|
-
};
|
|
59
|
-
this.isValidQueryArrayParam = (param) => {
|
|
60
|
-
return Array.isArray(param) && param.length > 0 && param.every((item) => typeof item === "string");
|
|
61
|
-
};
|
|
62
43
|
}
|
|
63
44
|
};
|
|
64
45
|
exports.V1EventsController = V1EventsController = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V1EventsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/jis/controllers/v1/V1EventsController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qDAAoD;AACpD,iEAAwE;AAExE,+EAA4E;AAC5E,mHAAkH;AAClH,
|
|
1
|
+
{"version":3,"file":"V1EventsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/jis/controllers/v1/V1EventsController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qDAAoD;AACpD,iEAAwE;AAExE,+EAA4E;AAC5E,mHAAkH;AAClH,8DAAgE;AAChE,mDAAmE;AACnE,4CAA8C;AAGvC,IAAM,kBAAkB,gCAAxB,MAAM,kBAAkB;IAC3B,YAC4C,mBAAgD,EAExF,gCAA6E;QAF7B,wBAAmB,GAAnB,mBAAmB,CAAqB;QAEhF,qCAAgC,GAAhC,gCAAgC,CAAqC;QAG1E,+BAA0B,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACzE,MAAM,IAAI,GAAG,IAAA,4BAAe,EAAC,+CAA+C,CAAC,CAAC;YAC9E,IAAI;gBACA,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,yBAAgB,CAAC,sBAAsB,CACvG,sCAA0B,EAC1B,GAAG,CAAC,KAAK,CACZ,CAAC;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAC/D,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,CACnB,CAAC;gBACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,gCAAgC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAEvF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aAClD;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;oBAAS;gBACN,IAAI,EAAE,GAAG,EAAE,CAAC;aACf;QACL,CAAC,CAAC;IAvBC,CAAC;CAwBP,CAAA;6BA7BY,kBAAkB;IAD9B,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,uBAAU,CAAC,mBAAmB,CAAC,CAAA;IACtC,WAAA,IAAA,iBAAM,EAAC,uBAAU,CAAC,mCAAmC,CAAC,CAAA;qCADc,yCAAmB;QAE9C,yEAAmC;GAJxE,kBAAkB,CA6B9B"}
|
|
@@ -15,4 +15,5 @@ export declare class JISEventsRepository extends AbstractValidatableRepository {
|
|
|
15
15
|
sequelizeModel: ModelStatic<JISEventsModel>;
|
|
16
16
|
constructor(connector: IDatabaseConnector, logger: ILogger, eventsRopidGTFSRoutesRepository: JISEventsRopidGTFSRoutesRepository, ropidGTFSRoutesRepository: RopidGTFSRoutesRepository);
|
|
17
17
|
getAllForCustomFormat: (organizationNames?: string[], displayPeriodStart?: string, displayPeriodEnd?: string) => Promise<JISEventsModel[]>;
|
|
18
|
+
private buildWhereForCustomFormat;
|
|
18
19
|
}
|
|
@@ -33,16 +33,7 @@ let JISEventsRepository = exports.JISEventsRepository = class JISEventsRepositor
|
|
|
33
33
|
this.tableName = JISEventsModel_1.JISEventsModel.tableName;
|
|
34
34
|
this.getAllForCustomFormat = async (organizationNames, displayPeriodStart, displayPeriodEnd) => {
|
|
35
35
|
try {
|
|
36
|
-
const where =
|
|
37
|
-
if (organizationNames) {
|
|
38
|
-
where.organization_name = { [sequelize_1.Op.in]: organizationNames };
|
|
39
|
-
}
|
|
40
|
-
if (displayPeriodStart) {
|
|
41
|
-
where.display_period_start = { [sequelize_1.Op.gte]: displayPeriodStart };
|
|
42
|
-
}
|
|
43
|
-
if (displayPeriodEnd) {
|
|
44
|
-
where.display_period_end = { [sequelize_1.Op.or]: [{ [sequelize_1.Op.lte]: displayPeriodEnd }, { [sequelize_1.Op.is]: null }] };
|
|
45
|
-
}
|
|
36
|
+
const where = this.buildWhereForCustomFormat(organizationNames, displayPeriodStart, displayPeriodEnd);
|
|
46
37
|
return await this.sequelizeModel.findAll({
|
|
47
38
|
where,
|
|
48
39
|
include: { model: this.ropidGTFSRoutesRepository["sequelizeModel"], as: "routes" },
|
|
@@ -63,6 +54,35 @@ let JISEventsRepository = exports.JISEventsRepository = class JISEventsRepositor
|
|
|
63
54
|
as: "routes",
|
|
64
55
|
});
|
|
65
56
|
}
|
|
57
|
+
buildWhereForCustomFormat(organizationNames, displayPeriodStart, displayPeriodEnd) {
|
|
58
|
+
const where = {};
|
|
59
|
+
if (displayPeriodStart && displayPeriodEnd) {
|
|
60
|
+
where[sequelize_1.Op.or] = [
|
|
61
|
+
{ display_period_start: { [sequelize_1.Op.between]: [displayPeriodStart, displayPeriodEnd] } },
|
|
62
|
+
{ display_period_end: { [sequelize_1.Op.between]: [displayPeriodStart, displayPeriodEnd] } },
|
|
63
|
+
{
|
|
64
|
+
[sequelize_1.Op.and]: [
|
|
65
|
+
{ display_period_start: { [sequelize_1.Op.lte]: displayPeriodStart } },
|
|
66
|
+
{ display_period_end: { [sequelize_1.Op.gte]: displayPeriodEnd } },
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
if (displayPeriodStart) {
|
|
73
|
+
where.display_period_start = { [sequelize_1.Op.gte]: displayPeriodStart };
|
|
74
|
+
}
|
|
75
|
+
if (displayPeriodEnd) {
|
|
76
|
+
where.display_period_end = { [sequelize_1.Op.or]: [{ [sequelize_1.Op.lte]: displayPeriodEnd }, { [sequelize_1.Op.is]: null }] };
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (organizationNames) {
|
|
80
|
+
where.organization_name = {
|
|
81
|
+
[sequelize_1.Op.in]: organizationNames.map((organizationName) => organizationName.toUpperCase()),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
return where;
|
|
85
|
+
}
|
|
66
86
|
};
|
|
67
87
|
exports.JISEventsRepository = JISEventsRepository = __decorate([
|
|
68
88
|
(0, tsyringe_1.injectable)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JISEventsRepository.js","sourceRoot":"","sources":["../../../../src/output-gateway/jis/data-access/JISEventsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAAuC;AACvC,0FAAgE;AAGhE,8IAA2I;AAC3I,wEAAqE;AACrE,mFAAkF;AAClF,mEAAoF;AACpF,iEAAwE;AACxE,6FAA0F;AAC1F,kDAA+C;AAC/C,2EAAwE;AACxE,6EAAwE;AAGjE,IAAM,mBAAmB,iCAAzB,MAAM,mBAAoB,SAAQ,6DAA6B;IAMlE,YACyC,SAA6B,EACxC,MAAe,EAEzC,+BAA2E,EAC7B,yBAA4D;QAE1G,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAHjB,oCAA+B,GAA/B,+BAA+B,CAAoC;QACrB,8BAAyB,GAAzB,yBAAyB,CAA2B;QATvG,WAAM,GAAG,iBAAS,CAAC;QACnB,cAAS,GAAG,+BAAc,CAAC,SAAS,CAAC;QAwBrC,0BAAqB,GAAG,KAAK,EAChC,iBAA4B,EAC5B,kBAA2B,EAC3B,gBAAyB,EAC3B,EAAE;YACA,IAAI;gBACA,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"JISEventsRepository.js","sourceRoot":"","sources":["../../../../src/output-gateway/jis/data-access/JISEventsRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IEventsCustomFormatQueryDto } from "./interfaces/IEventsCustomFormatQueryDto";
|
|
2
|
+
export declare class EventsCustomFormatQueryDto implements IEventsCustomFormatQueryDto {
|
|
3
|
+
organizationNames?: string[];
|
|
4
|
+
displayPeriodEnd?: string;
|
|
5
|
+
displayPeriodStart?: string;
|
|
6
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
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.EventsCustomFormatQueryDto = void 0;
|
|
13
|
+
const decorators_1 = require("../../shared/decorators");
|
|
14
|
+
class EventsCustomFormatQueryDto {
|
|
15
|
+
}
|
|
16
|
+
exports.EventsCustomFormatQueryDto = EventsCustomFormatQueryDto;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, decorators_1.TransformArray)(),
|
|
19
|
+
__metadata("design:type", Array)
|
|
20
|
+
], EventsCustomFormatQueryDto.prototype, "organizationNames", void 0);
|
|
21
|
+
//# sourceMappingURL=EventsDto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventsDto.js","sourceRoot":"","sources":["../../../../src/output-gateway/jis/dto/EventsDto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAAuD;AAGvD,MAAa,0BAA0B;CAKtC;AALD,gEAKC;AAHG;IADC,IAAA,2BAAc,GAAE;;qEACY"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IEventsCustomFormatQueryDto.js","sourceRoot":"","sources":["../../../../../src/output-gateway/jis/dto/interfaces/IEventsCustomFormatQueryDto.ts"],"names":[],"mappings":""}
|