@golemio/pid 2.3.2-dev.661128816 → 2.3.2-dev.662795967
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/migrations/postgresql/.config.json +1 -1
- package/db/migrations/postgresql/20221006090821-metro-railtrack-gps.js +53 -0
- package/db/migrations/postgresql/sqls/20221006090821-metro-railtrack-gps-down.sql +1 -0
- package/db/migrations/postgresql/sqls/20221006090821-metro-railtrack-gps-up.sql +18 -0
- package/dist/integration-engine/index.js +9 -1
- package/dist/integration-engine/index.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/RailtrackWorker.d.ts +5 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/RailtrackWorker.js +16 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/RailtrackWorker.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.d.ts +12 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js +34 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.d.ts +6 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js +52 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/interfaces/MetroRailtrackDataInterfaces.d.ts +24 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/interfaces/MetroRailtrackDataInterfaces.js +3 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/interfaces/MetroRailtrackDataInterfaces.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/schema/MetroRailtrackDataSchema.d.ts +4 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/schema/MetroRailtrackDataSchema.js +51 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/schema/MetroRailtrackDataSchema.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/transformations/MetroRailtrackDataTransformation.d.ts +8 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/transformations/MetroRailtrackDataTransformation.js +31 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/transformations/MetroRailtrackDataTransformation.js.map +1 -0
- package/dist/output-gateway/ropid-gtfs/models/GTFSStopTimesModel.d.ts +1 -0
- package/dist/output-gateway/ropid-gtfs/models/GTFSStopTimesModel.js +36 -36
- package/dist/output-gateway/ropid-gtfs/models/GTFSStopTimesModel.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/RopidGtfsSchedule.d.ts +1 -2
- package/dist/schema-definitions/ropid-gtfs/models/railtrack/MetroRailtrackGPSModel.d.ts +13 -0
- package/dist/schema-definitions/ropid-gtfs/models/railtrack/MetroRailtrackGPSModel.js +52 -0
- package/dist/schema-definitions/ropid-gtfs/models/railtrack/MetroRailtrackGPSModel.js.map +1 -0
- package/dist/schema-definitions/ropid-gtfs/models/railtrack/index.d.ts +1 -0
- package/dist/schema-definitions/ropid-gtfs/models/railtrack/index.js +18 -0
- package/dist/schema-definitions/ropid-gtfs/models/railtrack/index.js.map +1 -0
- package/dist/schema-definitions/ropid-gtfs/models/railtrack/interfaces/IMetroRailtrackGPSModel.d.ts +7 -0
- package/dist/schema-definitions/ropid-gtfs/models/railtrack/interfaces/IMetroRailtrackGPSModel.js +3 -0
- package/dist/schema-definitions/ropid-gtfs/models/railtrack/interfaces/IMetroRailtrackGPSModel.js.map +1 -0
- package/dist/schema-definitions/shared/index.d.ts +1 -0
- package/dist/schema-definitions/vehicle-positions/index.d.ts +1 -2
- package/package.json +1 -1
- package/docs/.gitkeep +0 -0
|
@@ -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 = [
|
|
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;
|
|
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,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
|
+
}
|
package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js
ADDED
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"MetroRailtrackDataInterfaces.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/interfaces/MetroRailtrackDataInterfaces.ts"],"names":[],"mappings":""}
|
|
@@ -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"}
|
|
@@ -45,42 +45,40 @@ class GTFSStopTimesModel extends output_gateway_1.SequelizeModel {
|
|
|
45
45
|
this.GetAll = (options) => __awaiter(this, void 0, void 0, function* () {
|
|
46
46
|
const { limit, offset, to, from, date, stopId, stop } = options;
|
|
47
47
|
const include = [];
|
|
48
|
+
const where = {
|
|
49
|
+
stop_id: stopId,
|
|
50
|
+
[sequelize_1.default.Op.and]: [],
|
|
51
|
+
};
|
|
52
|
+
if (from) {
|
|
53
|
+
where[sequelize_1.default.Op.and].push(GTFSStopTimesModel.arrivalTimeComparison(from, "<="));
|
|
54
|
+
}
|
|
55
|
+
if (to) {
|
|
56
|
+
where[sequelize_1.default.Op.and].push(GTFSStopTimesModel.arrivalTimeComparison(to, ">="));
|
|
57
|
+
}
|
|
58
|
+
if (date) {
|
|
59
|
+
include.push({
|
|
60
|
+
attributes: [],
|
|
61
|
+
include: [
|
|
62
|
+
{
|
|
63
|
+
as: "service",
|
|
64
|
+
attributes: [],
|
|
65
|
+
model: output_gateway_1.sequelizeConnection.models[ropid_gtfs_1.RopidGTFS.calendar.pgTableName].scope({
|
|
66
|
+
method: ["forDate", date],
|
|
67
|
+
}),
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
model: output_gateway_1.sequelizeConnection.models[ropid_gtfs_1.RopidGTFS.trips.pgTableName],
|
|
71
|
+
required: true,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
if (stop) {
|
|
75
|
+
include.push({
|
|
76
|
+
as: "stop",
|
|
77
|
+
model: output_gateway_1.sequelizeConnection.models[ropid_gtfs_1.RopidGTFS.stops.pgTableName],
|
|
78
|
+
});
|
|
79
|
+
}
|
|
48
80
|
try {
|
|
49
|
-
|
|
50
|
-
stop_id: stopId,
|
|
51
|
-
[sequelize_1.default.Op.and]: [],
|
|
52
|
-
};
|
|
53
|
-
if (from) {
|
|
54
|
-
where[sequelize_1.default.Op.and].push(sequelize_1.default.literal(`to_timestamp('${from}', 'HH24:mm:ss') ` +
|
|
55
|
-
`<= to_timestamp(regexp_replace(arrival_time, '^24', '00'), 'HH24:MI:SS')`));
|
|
56
|
-
}
|
|
57
|
-
if (to) {
|
|
58
|
-
where[sequelize_1.default.Op.and].push(sequelize_1.default.literal(`to_timestamp('${to}', 'HH24:mm:ss') ` +
|
|
59
|
-
`>= to_timestamp(regexp_replace(arrival_time, '^24', '00'), 'HH24:MI:SS')`));
|
|
60
|
-
}
|
|
61
|
-
if (date) {
|
|
62
|
-
include.push({
|
|
63
|
-
attributes: [],
|
|
64
|
-
include: [
|
|
65
|
-
{
|
|
66
|
-
as: "service",
|
|
67
|
-
attributes: [],
|
|
68
|
-
model: output_gateway_1.sequelizeConnection.models[ropid_gtfs_1.RopidGTFS.calendar.pgTableName].scope({
|
|
69
|
-
method: ["forDate", date],
|
|
70
|
-
}),
|
|
71
|
-
},
|
|
72
|
-
],
|
|
73
|
-
model: output_gateway_1.sequelizeConnection.models[ropid_gtfs_1.RopidGTFS.trips.pgTableName],
|
|
74
|
-
required: true,
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
if (stop) {
|
|
78
|
-
include.push({
|
|
79
|
-
as: "stop",
|
|
80
|
-
model: output_gateway_1.sequelizeConnection.models[ropid_gtfs_1.RopidGTFS.stops.pgTableName],
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
const data = yield this.sequelizeModel.findAll({
|
|
81
|
+
return yield this.sequelizeModel.findAll({
|
|
84
82
|
include,
|
|
85
83
|
limit,
|
|
86
84
|
offset,
|
|
@@ -90,7 +88,6 @@ class GTFSStopTimesModel extends output_gateway_1.SequelizeModel {
|
|
|
90
88
|
],
|
|
91
89
|
where,
|
|
92
90
|
});
|
|
93
|
-
return data;
|
|
94
91
|
}
|
|
95
92
|
catch (err) {
|
|
96
93
|
throw new golemio_errors_1.CustomError("Database error", true, "GTFSStopTimesModel", 500, err);
|
|
@@ -102,4 +99,7 @@ class GTFSStopTimesModel extends output_gateway_1.SequelizeModel {
|
|
|
102
99
|
}
|
|
103
100
|
}
|
|
104
101
|
exports.GTFSStopTimesModel = GTFSStopTimesModel;
|
|
102
|
+
GTFSStopTimesModel.arrivalTimeComparison = (time, operator) => {
|
|
103
|
+
return sequelize_1.default.literal(`'${time}'::time ${operator} regexp_replace(arrival_time, '^24', '00')::time`);
|
|
104
|
+
};
|
|
105
105
|
//# sourceMappingURL=GTFSStopTimesModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GTFSStopTimesModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/ropid-gtfs/models/GTFSStopTimesModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"GTFSStopTimesModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/ropid-gtfs/models/GTFSStopTimesModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
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
|
/// <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;
|
package/package.json
CHANGED
package/docs/.gitkeep
DELETED
|
File without changes
|