@golemio/pid 2.3.2-dev.660767513 → 2.3.2-dev.662776826

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.
Files changed (41) hide show
  1. package/db/example/pb/alerts.pb +0 -0
  2. package/db/migrations/postgresql/.config.json +1 -1
  3. package/db/migrations/postgresql/20221006090821-metro-railtrack-gps.js +53 -0
  4. package/db/migrations/postgresql/sqls/20221006090821-metro-railtrack-gps-down.sql +1 -0
  5. package/db/migrations/postgresql/sqls/20221006090821-metro-railtrack-gps-up.sql +18 -0
  6. package/dist/integration-engine/index.js +9 -1
  7. package/dist/integration-engine/index.js.map +1 -1
  8. package/dist/integration-engine/ropid-gtfs/workers/railtrack/RailtrackWorker.d.ts +5 -0
  9. package/dist/integration-engine/ropid-gtfs/workers/railtrack/RailtrackWorker.js +16 -0
  10. package/dist/integration-engine/ropid-gtfs/workers/railtrack/RailtrackWorker.js.map +1 -0
  11. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.d.ts +12 -0
  12. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js +34 -0
  13. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js.map +1 -0
  14. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.d.ts +6 -0
  15. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js +52 -0
  16. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js.map +1 -0
  17. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/interfaces/MetroRailtrackDataInterfaces.d.ts +24 -0
  18. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/interfaces/MetroRailtrackDataInterfaces.js +3 -0
  19. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/interfaces/MetroRailtrackDataInterfaces.js.map +1 -0
  20. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/schema/MetroRailtrackDataSchema.d.ts +4 -0
  21. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/schema/MetroRailtrackDataSchema.js +51 -0
  22. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/schema/MetroRailtrackDataSchema.js.map +1 -0
  23. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/transformations/MetroRailtrackDataTransformation.d.ts +8 -0
  24. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/transformations/MetroRailtrackDataTransformation.js +31 -0
  25. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/transformations/MetroRailtrackDataTransformation.js.map +1 -0
  26. package/dist/schema-definitions/ropid-gtfs/RopidGtfsSchedule.d.ts +1 -2
  27. package/dist/schema-definitions/ropid-gtfs/models/railtrack/MetroRailtrackGPSModel.d.ts +13 -0
  28. package/dist/schema-definitions/ropid-gtfs/models/railtrack/MetroRailtrackGPSModel.js +52 -0
  29. package/dist/schema-definitions/ropid-gtfs/models/railtrack/MetroRailtrackGPSModel.js.map +1 -0
  30. package/dist/schema-definitions/ropid-gtfs/models/railtrack/index.d.ts +1 -0
  31. package/dist/schema-definitions/ropid-gtfs/models/railtrack/index.js +18 -0
  32. package/dist/schema-definitions/ropid-gtfs/models/railtrack/index.js.map +1 -0
  33. package/dist/schema-definitions/ropid-gtfs/models/railtrack/interfaces/IMetroRailtrackGPSModel.d.ts +7 -0
  34. package/dist/schema-definitions/ropid-gtfs/models/railtrack/interfaces/IMetroRailtrackGPSModel.js +3 -0
  35. package/dist/schema-definitions/ropid-gtfs/models/railtrack/interfaces/IMetroRailtrackGPSModel.js.map +1 -0
  36. package/dist/schema-definitions/shared/index.d.ts +1 -0
  37. package/dist/schema-definitions/vehicle-positions/index.d.ts +1 -2
  38. package/docs/openapi-output.yaml +64 -9
  39. package/package.json +1 -1
  40. package/docs/.gitkeep +0 -0
  41. package/docs/pid_docs_trains_proposal.pdf +0 -0
Binary file
@@ -1 +1 @@
1
- { "schema": "pid" }
1
+ { "schema": "pid, public" }
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20221006090821-metro-railtrack-gps-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20221006090821-metro-railtrack-gps-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1 @@
1
+ DROP TABLE IF EXISTS ropidgtfs_metro_railtrack_gps;
@@ -0,0 +1,18 @@
1
+ CREATE TABLE IF NOT EXISTS ropidgtfs_metro_railtrack_gps (
2
+ "track_id" VARCHAR(15) NOT NULL,
3
+ "route_name" CHAR(1) NOT NULL,
4
+ "coordinates" GEOMETRY NOT NULL,
5
+ "gtfs_stop_id" VARCHAR(25),
6
+
7
+ -- Audit fields
8
+ create_batch_id bigint,
9
+ created_at timestamp with time zone,
10
+ created_by character varying(150),
11
+ update_batch_id bigint,
12
+ updated_at timestamp with time zone,
13
+ updated_by character varying(150),
14
+
15
+ CONSTRAINT ropidgtfs_metro_railtrack_gps_pkey PRIMARY KEY (track_id, route_name)
16
+ );
17
+
18
+ CREATE INDEX IF NOT EXISTS ropidgtfs_metro_railtrack_gps_stop_idx ON ropidgtfs_metro_railtrack_gps (gtfs_stop_id);
@@ -27,11 +27,19 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.workers = exports.VehiclePositions = exports.RopidVYMI = exports.RopidGTFS = void 0;
30
+ const RailtrackWorker_1 = require("./ropid-gtfs/workers/railtrack/RailtrackWorker");
30
31
  const RopidVYMIWorker_1 = require("./ropid-vymi/workers/RopidVYMIWorker");
31
32
  const RunsWorker_1 = require("./vehicle-positions/workers/runs/RunsWorker");
32
33
  exports.RopidGTFS = __importStar(require("./ropid-gtfs"));
33
34
  exports.RopidVYMI = __importStar(require("./ropid-vymi"));
34
35
  exports.VehiclePositions = __importStar(require("./vehicle-positions"));
35
36
  __exportStar(require("./queueDefinitions"), exports);
36
- exports.workers = [RunsWorker_1.RunsWorker, RopidVYMIWorker_1.RopidVYMIWorker];
37
+ exports.workers = [
38
+ // Vehicle Positions
39
+ RunsWorker_1.RunsWorker,
40
+ // ROPID GTFS
41
+ RailtrackWorker_1.RailtrackWorker,
42
+ // ROPID VYMI
43
+ RopidVYMIWorker_1.RopidVYMIWorker,
44
+ ];
37
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0EAAuE;AACvE,4EAAyE;AAEzE,0DAA0C;AAC1C,0DAA0C;AAC1C,wEAAwD;AACxD,qDAAmC;AACtB,QAAA,OAAO,GAAoC,CAAC,uBAAU,EAAE,iCAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oFAAiF;AACjF,0EAAuE;AACvE,4EAAyE;AAEzE,0DAA0C;AAC1C,0DAA0C;AAC1C,wEAAwD;AACxD,qDAAmC;AAEtB,QAAA,OAAO,GAAoC;IACpD,oBAAoB;IACpB,uBAAU;IACV,aAAa;IACb,iCAAe;IACf,aAAa;IACb,iCAAe;CAClB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { AbstractWorker } from "@golemio/core/dist/integration-engine/workers";
2
+ export declare class RailtrackWorker extends AbstractWorker {
3
+ protected name: string;
4
+ constructor();
5
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RailtrackWorker = void 0;
4
+ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
5
+ const ropid_gtfs_1 = require("../../../../schema-definitions/ropid-gtfs");
6
+ const SaveMetroRailtrackDataToDBTask_1 = require("./tasks/SaveMetroRailtrackDataToDBTask");
7
+ class RailtrackWorker extends workers_1.AbstractWorker {
8
+ constructor() {
9
+ super();
10
+ this.name = ropid_gtfs_1.RopidGTFS.name + "Railtrack";
11
+ // Register tasks
12
+ this.registerTask(new SaveMetroRailtrackDataToDBTask_1.SaveMetroRailtrackDataToDBTask(this.getQueuePrefix()));
13
+ }
14
+ }
15
+ exports.RailtrackWorker = RailtrackWorker;
16
+ //# sourceMappingURL=RailtrackWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RailtrackWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/RailtrackWorker.ts"],"names":[],"mappings":";;;AAAA,2EAA+E;AAC/E,0EAA4C;AAC5C,2FAAwF;AAExF,MAAa,eAAgB,SAAQ,wBAAc;IAG/C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,sBAAS,CAAC,IAAI,GAAG,WAAW,CAAC;QAK1C,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,+DAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;CACJ;AATD,0CASC"}
@@ -0,0 +1,12 @@
1
+ import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
2
+ import { IMetroRailtrackDataInput } from "./interfaces/MetroRailtrackDataInterfaces";
3
+ import { MetroRailtrackDataValidationSchema } from "./schema/MetroRailtrackDataSchema";
4
+ export declare class SaveMetroRailtrackDataToDBTask extends AbstractTask<IMetroRailtrackDataInput> {
5
+ readonly queueName = "saveMetroRailtrackDataToDB";
6
+ readonly queueTtl: number;
7
+ readonly schema: typeof MetroRailtrackDataValidationSchema;
8
+ private readonly railtrackDataTransformation;
9
+ private readonly railtrackGPSRepository;
10
+ constructor(queuePrefix: string);
11
+ protected execute(data: IMetroRailtrackDataInput): Promise<void>;
12
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SaveMetroRailtrackDataToDBTask = void 0;
13
+ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
14
+ const MetroRailtrackGPSRepository_1 = require("./data-access/MetroRailtrackGPSRepository");
15
+ const MetroRailtrackDataTransformation_1 = require("./transformations/MetroRailtrackDataTransformation");
16
+ const MetroRailtrackDataSchema_1 = require("./schema/MetroRailtrackDataSchema");
17
+ class SaveMetroRailtrackDataToDBTask extends workers_1.AbstractTask {
18
+ constructor(queuePrefix) {
19
+ super(queuePrefix);
20
+ this.queueName = "saveMetroRailtrackDataToDB";
21
+ this.queueTtl = 5 * 60 * 1000; // 5 minutes
22
+ this.schema = MetroRailtrackDataSchema_1.MetroRailtrackDataValidationSchema;
23
+ this.railtrackDataTransformation = new MetroRailtrackDataTransformation_1.MetroRailtrackDataTransformation();
24
+ this.railtrackGPSRepository = new MetroRailtrackGPSRepository_1.MetroRailtrackGPSRepository();
25
+ }
26
+ execute(data) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ const railtrackGPSData = yield this.railtrackDataTransformation.transform(data);
29
+ yield this.railtrackGPSRepository.replaceData(railtrackGPSData);
30
+ });
31
+ }
32
+ }
33
+ exports.SaveMetroRailtrackDataToDBTask = SaveMetroRailtrackDataToDBTask;
34
+ //# sourceMappingURL=SaveMetroRailtrackDataToDBTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SaveMetroRailtrackDataToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAA6E;AAC7E,2FAAwF;AACxF,yGAAsG;AAEtG,gFAAuF;AAEvF,MAAa,8BAA+B,SAAQ,sBAAsC;IAQtF,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,4BAA4B,CAAC;QACzC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,6DAAkC,CAAC;QAOxD,IAAI,CAAC,2BAA2B,GAAG,IAAI,mEAAgC,EAAE,CAAC;QAC1E,IAAI,CAAC,sBAAsB,GAAG,IAAI,yDAA2B,EAAE,CAAC;IACpE,CAAC;IAEe,OAAO,CAAC,IAA8B;;YAClD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChF,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACpE,CAAC;KAAA;CACJ;AAlBD,wEAkBC"}
@@ -0,0 +1,6 @@
1
+ import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
2
+ import { MetroRailtrackGPSModel } from "../../../../../../schema-definitions/ropid-gtfs/models/railtrack/MetroRailtrackGPSModel";
3
+ export declare class MetroRailtrackGPSRepository extends PostgresModel implements IModel {
4
+ constructor();
5
+ replaceData: (data: MetroRailtrackGPSModel[], isReturning?: boolean) => Promise<MetroRailtrackGPSModel[]>;
6
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MetroRailtrackGPSRepository = void 0;
13
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
14
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
15
+ const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
16
+ const models_1 = require("@golemio/core/dist/integration-engine/models");
17
+ const MetroRailtrackGPSModel_1 = require("../../../../../../schema-definitions/ropid-gtfs/models/railtrack/MetroRailtrackGPSModel");
18
+ const ropid_gtfs_1 = require("../../../../../../schema-definitions/ropid-gtfs");
19
+ class MetroRailtrackGPSRepository extends models_1.PostgresModel {
20
+ constructor() {
21
+ super("MetroRailtrackGPSRepository", {
22
+ pgTableName: MetroRailtrackGPSModel_1.MetroRailtrackGPSModel.TABLE_NAME,
23
+ pgSchema: ropid_gtfs_1.RopidGTFS.pgSchema,
24
+ outputSequelizeAttributes: MetroRailtrackGPSModel_1.MetroRailtrackGPSModel.attributeModel,
25
+ savingType: "insertOnly",
26
+ }, new golemio_validator_1.JSONSchemaValidator("MetroRailtrackGPSRepository", MetroRailtrackGPSModel_1.MetroRailtrackGPSModel.arrayJsonSchema));
27
+ this.replaceData = (data, isReturning = false) => __awaiter(this, void 0, void 0, function* () {
28
+ var _a;
29
+ let transaction;
30
+ try {
31
+ yield this.validate(data);
32
+ transaction = yield ((_a = this.sequelizeModel.sequelize) === null || _a === void 0 ? void 0 : _a.transaction());
33
+ yield this.sequelizeModel.truncate({ transaction });
34
+ const instances = yield this.sequelizeModel.bulkCreate(data, {
35
+ ignoreDuplicates: true,
36
+ returning: isReturning,
37
+ transaction,
38
+ });
39
+ yield (transaction === null || transaction === void 0 ? void 0 : transaction.commit());
40
+ return instances;
41
+ }
42
+ catch (err) {
43
+ const exception = new golemio_errors_1.CustomError(`[${this.constructor.name}] Could not save data: ${err.message}`, true, this.constructor.name, undefined, err);
44
+ helpers_1.log.error(exception);
45
+ yield (transaction === null || transaction === void 0 ? void 0 : transaction.rollback());
46
+ throw exception;
47
+ }
48
+ });
49
+ }
50
+ }
51
+ exports.MetroRailtrackGPSRepository = MetroRailtrackGPSRepository;
52
+ //# sourceMappingURL=MetroRailtrackGPSRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetroRailtrackGPSRepository.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,mFAAkF;AAClF,6EAAuE;AACvE,2EAAoE;AACpE,yEAAqF;AACrF,oIAAiG;AACjG,gFAA4C;AAE5C,MAAa,2BAA4B,SAAQ,sBAAa;IAC1D;QACI,KAAK,CACD,6BAA6B,EAC7B;YACI,WAAW,EAAE,+CAAsB,CAAC,UAAU;YAC9C,QAAQ,EAAE,sBAAS,CAAC,QAAQ;YAC5B,yBAAyB,EAAE,+CAAsB,CAAC,cAAc;YAChE,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,6BAA6B,EAAE,+CAAsB,CAAC,eAAe,CAAC,CACjG,CAAC;QAGC,gBAAW,GAAG,CAAO,IAA8B,EAAE,WAAW,GAAG,KAAK,EAAqC,EAAE;;YAClH,IAAI,WAAoC,CAAC;YAEzC,IAAI;gBACA,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAE1B,WAAW,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,cAAc,CAAC,SAAS,0CAAE,WAAW,EAAE,CAAA,CAAC;gBACjE,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;gBACpD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAyB,IAAI,EAAE;oBACjF,gBAAgB,EAAE,IAAI;oBACtB,SAAS,EAAE,WAAW;oBACtB,WAAW;iBACd,CAAC,CAAC;gBAEH,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE,CAAA,CAAC;gBAC5B,OAAO,SAAS,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,SAAS,GAAG,IAAI,4BAAW,CAC7B,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,0BAA0B,GAAG,CAAC,OAAO,EAAE,EAChE,IAAI,EACJ,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,GAAG,CACN,CAAC;gBAEF,aAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACrB,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,EAAE,CAAA,CAAC;gBAC9B,MAAM,SAAS,CAAC;aACnB;QACL,CAAC,CAAA,CAAC;IA/BF,CAAC;CAgCJ;AA5CD,kEA4CC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @example
3
+ * {
4
+ * data: [
5
+ * {
6
+ * track_section: "2107",
7
+ * line: "A",
8
+ * gps_lat: "50.075360",
9
+ * gps_lon: "14.341560",
10
+ * stop_id: "U306Z101P"
11
+ * }
12
+ * ]
13
+ * }
14
+ */
15
+ export interface IMetroRailtrackDataInput<TOmitOptions extends keyof IMetroRailtrack | "" = ""> {
16
+ data: Array<Omit<IMetroRailtrack, TOmitOptions>>;
17
+ }
18
+ export interface IMetroRailtrack {
19
+ track_section: string;
20
+ line: string;
21
+ gps_lat: string;
22
+ gps_lon: string;
23
+ stop_id: string;
24
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=MetroRailtrackDataInterfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetroRailtrackDataInterfaces.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/interfaces/MetroRailtrackDataInterfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { IMetroRailtrack, IMetroRailtrackDataInput } from "../interfaces/MetroRailtrackDataInterfaces";
2
+ export declare class MetroRailtrackDataValidationSchema implements IMetroRailtrackDataInput {
3
+ data: IMetroRailtrack[];
4
+ }
@@ -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.MetroRailtrackDataValidationSchema = void 0;
13
+ const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
14
+ const class_transformer_1 = require("@golemio/core/dist/shared/class-transformer");
15
+ class MetroRailtrackValidationSchema {
16
+ }
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ __metadata("design:type", String)
20
+ ], MetroRailtrackValidationSchema.prototype, "track_section", void 0);
21
+ __decorate([
22
+ (0, class_validator_1.IsString)(),
23
+ (0, class_validator_1.IsByteLength)(1, 1),
24
+ __metadata("design:type", String)
25
+ ], MetroRailtrackValidationSchema.prototype, "line", void 0);
26
+ __decorate([
27
+ (0, class_validator_1.IsString)(),
28
+ (0, class_validator_1.IsLatitude)(),
29
+ __metadata("design:type", String)
30
+ ], MetroRailtrackValidationSchema.prototype, "gps_lat", void 0);
31
+ __decorate([
32
+ (0, class_validator_1.IsString)(),
33
+ (0, class_validator_1.IsLongitude)(),
34
+ __metadata("design:type", String)
35
+ ], MetroRailtrackValidationSchema.prototype, "gps_lon", void 0);
36
+ __decorate([
37
+ (0, class_validator_1.IsString)(),
38
+ __metadata("design:type", String)
39
+ ], MetroRailtrackValidationSchema.prototype, "stop_id", void 0);
40
+ class MetroRailtrackDataValidationSchema {
41
+ }
42
+ __decorate([
43
+ (0, class_validator_1.IsArray)(),
44
+ (0, class_validator_1.ArrayMinSize)(1),
45
+ (0, class_validator_1.IsObject)({ each: true }),
46
+ (0, class_validator_1.ValidateNested)(),
47
+ (0, class_transformer_1.Type)(() => MetroRailtrackValidationSchema),
48
+ __metadata("design:type", Array)
49
+ ], MetroRailtrackDataValidationSchema.prototype, "data", void 0);
50
+ exports.MetroRailtrackDataValidationSchema = MetroRailtrackDataValidationSchema;
51
+ //# sourceMappingURL=MetroRailtrackDataSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetroRailtrackDataSchema.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/schema/MetroRailtrackDataSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EASmD;AACnD,mFAAmE;AAGnE,MAAM,8BAA8B;CAkBnC;AAhBG;IADC,IAAA,0BAAQ,GAAE;;qEACY;AAIvB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,8BAAY,EAAC,CAAC,EAAE,CAAC,CAAC;;4DACL;AAId;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+DACI;AAIjB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,6BAAW,GAAE;;+DACG;AAGjB;IADC,IAAA,0BAAQ,GAAE;;+DACM;AAGrB,MAAa,kCAAkC;CAO9C;AADG;IALC,IAAA,yBAAO,GAAE;IACT,IAAA,8BAAY,EAAC,CAAC,CAAC;IACf,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC;;gEAClB;AAN7B,gFAOC"}
@@ -0,0 +1,8 @@
1
+ import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine/transformations";
2
+ import { MetroRailtrackGPSModel } from "../../../../../../schema-definitions/ropid-gtfs/models/railtrack/MetroRailtrackGPSModel";
3
+ import { IMetroRailtrackDataInput, IMetroRailtrack } from "../interfaces/MetroRailtrackDataInterfaces";
4
+ export declare class MetroRailtrackDataTransformation extends BaseTransformation implements ITransformation {
5
+ name: string;
6
+ transform: ({ data }: IMetroRailtrackDataInput) => Promise<MetroRailtrackGPSModel[]>;
7
+ protected transformElement: (element: IMetroRailtrack) => MetroRailtrackGPSModel;
8
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MetroRailtrackDataTransformation = void 0;
4
+ const transformations_1 = require("@golemio/core/dist/integration-engine/transformations");
5
+ class MetroRailtrackDataTransformation extends transformations_1.BaseTransformation {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.name = "MetroRailtrackData";
9
+ this.transform = ({ data }) => {
10
+ const dto = [];
11
+ for (const dataItem of data) {
12
+ const dtoItem = this.transformElement(dataItem);
13
+ dto.push(dtoItem);
14
+ }
15
+ return Promise.resolve(dto);
16
+ };
17
+ this.transformElement = (element) => {
18
+ return {
19
+ track_id: element.track_section,
20
+ route_name: element.line,
21
+ coordinates: {
22
+ type: "Point",
23
+ coordinates: [Number.parseFloat(element.gps_lat), Number.parseFloat(element.gps_lon)],
24
+ },
25
+ gtfs_stop_id: element.stop_id === "" ? null : element.stop_id,
26
+ };
27
+ };
28
+ }
29
+ }
30
+ exports.MetroRailtrackDataTransformation = MetroRailtrackDataTransformation;
31
+ //# sourceMappingURL=MetroRailtrackDataTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetroRailtrackDataTransformation.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/transformations/MetroRailtrackDataTransformation.ts"],"names":[],"mappings":";;;AAAA,2FAA4G;AAO5G,MAAa,gCAAiC,SAAQ,oCAAkB;IAAxE;;QACW,SAAI,GAAG,oBAAoB,CAAC;QAE5B,cAAS,GAAG,CAAC,EAAE,IAAI,EAA4B,EAAqC,EAAE;YACzF,MAAM,GAAG,GAA6B,EAAE,CAAC;YACzC,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE;gBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAChD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACrB;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC;QAEQ,qBAAgB,GAAG,CAAC,OAAwB,EAA0B,EAAE;YAC9E,OAAO;gBACH,QAAQ,EAAE,OAAO,CAAC,aAAa;gBAC/B,UAAU,EAAE,OAAO,CAAC,IAAI;gBACxB,WAAW,EAAE;oBACT,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBACxF;gBACD,YAAY,EAAE,OAAO,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;aACtC,CAAC;QAChC,CAAC,CAAC;IACN,CAAC;CAAA;AAxBD,4EAwBC"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="mongoose" />
1
2
  /// <reference types="mongoose/types/aggregate" />
2
3
  /// <reference types="mongoose/types/callback" />
3
4
  /// <reference types="mongoose/types/collection" />
@@ -21,8 +22,6 @@
21
22
  /// <reference types="mongoose/types/utility" />
22
23
  /// <reference types="mongoose/types/validation" />
23
24
  /// <reference types="mongoose/types/virtuals" />
24
- /// <reference types="mongoose" />
25
- /// <reference types="mongoose/types/inferschematype" />
26
25
  import { ModelAttributes } from "@golemio/core/dist/shared/sequelize";
27
26
  export interface IRopidGTFSStopsOutput {
28
27
  level_id: string;
@@ -0,0 +1,13 @@
1
+ import { Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
2
+ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
3
+ import { Point } from "@golemio/core/dist/shared/geojson";
4
+ import { IMetroRailtrackGPSModel } from "./interfaces/IMetroRailtrackGPSModel";
5
+ export declare class MetroRailtrackGPSModel extends Model<MetroRailtrackGPSModel> implements IMetroRailtrackGPSModel {
6
+ static TABLE_NAME: string;
7
+ track_id: string;
8
+ route_name: string;
9
+ coordinates: Point;
10
+ gtfs_stop_id: string | null;
11
+ static attributeModel: ModelAttributes<MetroRailtrackGPSModel>;
12
+ static arrayJsonSchema: JSONSchemaType<IMetroRailtrackGPSModel[]>;
13
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MetroRailtrackGPSModel = void 0;
4
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
5
+ const schema_definitions_1 = require("@golemio/core/dist/schema-definitions");
6
+ class MetroRailtrackGPSModel extends sequelize_1.Model {
7
+ }
8
+ exports.MetroRailtrackGPSModel = MetroRailtrackGPSModel;
9
+ MetroRailtrackGPSModel.TABLE_NAME = "ropidgtfs_metro_railtrack_gps";
10
+ MetroRailtrackGPSModel.attributeModel = {
11
+ track_id: {
12
+ type: sequelize_1.DataTypes.STRING(15),
13
+ primaryKey: true,
14
+ },
15
+ route_name: {
16
+ type: sequelize_1.DataTypes.CHAR(1),
17
+ primaryKey: true,
18
+ },
19
+ coordinates: {
20
+ type: sequelize_1.DataTypes.GEOMETRY,
21
+ allowNull: false,
22
+ },
23
+ gtfs_stop_id: {
24
+ type: sequelize_1.DataTypes.STRING(25),
25
+ },
26
+ };
27
+ MetroRailtrackGPSModel.arrayJsonSchema = {
28
+ type: "array",
29
+ items: {
30
+ type: "object",
31
+ properties: {
32
+ track_id: {
33
+ type: "string",
34
+ },
35
+ route_name: {
36
+ type: "string",
37
+ },
38
+ coordinates: {
39
+ $ref: "#/definitions/geometry",
40
+ },
41
+ gtfs_stop_id: {
42
+ type: ["null", "string"],
43
+ },
44
+ },
45
+ required: ["track_id", "route_name", "coordinates", "gtfs_stop_id"],
46
+ },
47
+ definitions: {
48
+ // @ts-expect-error
49
+ geometry: schema_definitions_1.SharedSchemaProvider.Geometry,
50
+ },
51
+ };
52
+ //# sourceMappingURL=MetroRailtrackGPSModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetroRailtrackGPSModel.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/ropid-gtfs/models/railtrack/MetroRailtrackGPSModel.ts"],"names":[],"mappings":";;;AAAA,mEAAwF;AAGxF,8EAA6E;AAG7E,MAAa,sBAAuB,SAAQ,iBAA6B;;AAAzE,wDAmDC;AAlDiB,iCAAU,GAAG,+BAA+B,CAAC;AAO7C,qCAAc,GAA4C;IACpE,QAAQ,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,UAAU,EAAE,IAAI;KACnB;IACD,UAAU,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACvB,UAAU,EAAE,IAAI;KACnB;IACD,WAAW,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK;KACnB;IACD,YAAY,EAAE;QACV,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;KAC7B;CACJ,CAAC;AAEY,sCAAe,GAA8C;IACvE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,QAAQ,EAAE;gBACN,IAAI,EAAE,QAAQ;aACjB;YACD,UAAU,EAAE;gBACR,IAAI,EAAE,QAAQ;aACjB;YACD,WAAW,EAAE;gBACT,IAAI,EAAE,wBAAwB;aACjC;YACD,YAAY,EAAE;gBACV,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;aAC3B;SACJ;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC;KACtE;IACD,WAAW,EAAE;QACT,mBAAmB;QACnB,QAAQ,EAAE,yCAAoB,CAAC,QAAQ;KAC1C;CACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./MetroRailtrackGPSModel";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./MetroRailtrackGPSModel"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/ropid-gtfs/models/railtrack/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC"}
@@ -0,0 +1,7 @@
1
+ import { Point } from "@golemio/core/dist/shared/geojson";
2
+ export interface IMetroRailtrackGPSModel {
3
+ track_id: string;
4
+ route_name: string;
5
+ coordinates: Point;
6
+ gtfs_stop_id: string | null;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IMetroRailtrackGPSModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMetroRailtrackGPSModel.js","sourceRoot":"","sources":["../../../../../../src/schema-definitions/ropid-gtfs/models/railtrack/interfaces/IMetroRailtrackGPSModel.ts"],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
+ /// <reference types="mongoose" />
1
2
  import { SchemaDefinition } from "@golemio/core/dist/shared/mongoose";
2
3
  import Sequelize from "@golemio/core/dist/shared/sequelize";
3
4
  export interface IRopidSchemaDefinitions {
@@ -1,3 +1,4 @@
1
+ /// <reference types="mongoose" />
1
2
  /// <reference types="mongoose/types/aggregate" />
2
3
  /// <reference types="mongoose/types/callback" />
3
4
  /// <reference types="mongoose/types/collection" />
@@ -21,8 +22,6 @@
21
22
  /// <reference types="mongoose/types/utility" />
22
23
  /// <reference types="mongoose/types/validation" />
23
24
  /// <reference types="mongoose/types/virtuals" />
24
- /// <reference types="mongoose" />
25
- /// <reference types="mongoose/types/inferschematype" />
26
25
  import Sequelize from "@golemio/core/dist/shared/sequelize";
27
26
  declare const forExport: {
28
27
  pgSchema: string;
@@ -686,6 +686,25 @@ paths:
686
686
  "404":
687
687
  description: Not found
688
688
 
689
+ /vehiclepositions/gtfsrt/alerts.pb:
690
+ get:
691
+ summary: GET GTFS RealTime Alerts Protocol Buffer
692
+ description: ""
693
+ tags:
694
+ - 🗺 GTFS RealTime Vehicle Positions
695
+ responses:
696
+ "200":
697
+ description: successful operation
698
+ content:
699
+ application/octet-stream:
700
+ schema:
701
+ type: string
702
+ format: binary
703
+ "401":
704
+ $ref: "#/components/responses/UnauthorizedError"
705
+ "404":
706
+ description: Not found
707
+
689
708
  /pid/departureboards:
690
709
  get:
691
710
  summary: GET Departure Board
@@ -835,7 +854,7 @@ paths:
835
854
  - 🚏 PID Departure Boards
836
855
  responses:
837
856
  "200":
838
- description: Can return empty data in departures property (empty array []) if no departures were found
857
+ description: List of all active infotexts
839
858
  content:
840
859
  application/json:
841
860
  schema:
@@ -845,6 +864,25 @@ paths:
845
864
  - $ref: "#/components/schemas/PIDDepartureBoardInfotext"
846
865
  - type: object
847
866
  properties:
867
+ related_stops:
868
+ type: array
869
+ description: ""
870
+ items:
871
+ type: object
872
+ properties:
873
+ id:
874
+ type: string
875
+ example: "U118S1"
876
+ description: GTFS station IDs for which the infotexts apply.
877
+ name:
878
+ type: string
879
+ example: "Flora"
880
+ description: GTFS station name.
881
+ platform_code:
882
+ type: string
883
+ nullable: true
884
+ example: null
885
+ description: GTFS station platform code.
848
886
  related_routes:
849
887
  type: array
850
888
  description: ""
@@ -853,6 +891,14 @@ paths:
853
891
  example: "L152"
854
892
  description: ""
855
893
  example: ["L152", "L177"]
894
+ vymi_id:
895
+ type: number
896
+ description: ROPID VYMI event identifier.
897
+ example: 83
898
+ vymi_id_dtb:
899
+ type: number
900
+ description: ROPID VYMI database identifier.
901
+ example: 3
856
902
  expiration_date:
857
903
  type: string
858
904
  nullable: true
@@ -860,6 +906,10 @@ paths:
860
906
  last_updated:
861
907
  type: string
862
908
  example: "2021-01-07T12:48:06+01:00"
909
+ last_updated_user:
910
+ type: string
911
+ description: ROPID VYMI user.
912
+ example: "user"
863
913
  "401":
864
914
  $ref: "#/components/responses/UnauthorizedError"
865
915
  "404":
@@ -1471,7 +1521,18 @@ components:
1471
1521
  type: array
1472
1522
  description: List of active infotexts for selected stops.
1473
1523
  items:
1474
- $ref: "#/components/schemas/PIDDepartureBoardInfotext"
1524
+ allOf:
1525
+ - $ref: "#/components/schemas/PIDDepartureBoardInfotext"
1526
+ - type: object
1527
+ properties:
1528
+ related_stops:
1529
+ type: array
1530
+ description: ""
1531
+ items:
1532
+ type: string
1533
+ example: "U118S1"
1534
+ description: GTFS station IDs for which the infotexts apply.
1535
+
1475
1536
 
1476
1537
  PIDDepartureBoardDeparture:
1477
1538
  title: PID Departure Board Departure
@@ -1519,13 +1580,7 @@ components:
1519
1580
  type: string
1520
1581
  description: Type of display on board by the intended form of presentation (where applicable). Enumerating `inline` (to be presented along with departures, usually in a marquee), `general` (to be displayed full screen instead of departures), `general-alternate` (full screen alternates with departures).
1521
1582
  example: "inline"
1522
- related_stops:
1523
- type: array
1524
- description: Type of display on board by the intended form of presentation (where applicable). Enumerating `inline` (to be presented along with departures, usually in a marquee), `general` (to be displayed full screen instead of departures), `general-alternate` (full screen alternates with departures).
1525
- items:
1526
- type: string
1527
- example: "U118S1"
1528
- description: GTFS station IDs for which the infotexts apply.
1583
+
1529
1584
  required:
1530
1585
  - valid_from
1531
1586
  - valid_to
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/pid",
3
- "version": "2.3.2-dev.660767513",
3
+ "version": "2.3.2-dev.662776826",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/docs/.gitkeep DELETED
File without changes
Binary file