@golemio/fypr 1.7.1 → 1.7.2-dev.2594687674
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 +3 -0
- package/db/example/06_information_panels_presets.sql +145 -0
- package/db/migrations/postgresql/20260601000000-add-information-panels-presets.js +53 -0
- package/db/migrations/postgresql/sqls/20260601000000-add-information-panels-presets-down.sql +4 -0
- package/db/migrations/postgresql/sqls/20260601000000-add-information-panels-presets-up.sql +50 -0
- package/dist/integration-engine/ioc/Di.js +10 -2
- package/dist/integration-engine/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ioc/FYPRIEContainerTokens.d.ts +4 -0
- package/dist/integration-engine/ioc/FYPRIEContainerTokens.js +6 -0
- package/dist/integration-engine/ioc/FYPRIEContainerTokens.js.map +1 -1
- package/dist/integration-engine/repositories/InformationPanelPresetsRepository.d.ts +17 -0
- package/dist/integration-engine/repositories/InformationPanelPresetsRepository.js +77 -0
- package/dist/integration-engine/repositories/InformationPanelPresetsRepository.js.map +1 -0
- package/dist/integration-engine/repositories/InformationPanelPresetsRoutesRepository.d.ts +13 -0
- package/dist/integration-engine/repositories/InformationPanelPresetsRoutesRepository.js +63 -0
- package/dist/integration-engine/repositories/InformationPanelPresetsRoutesRepository.js.map +1 -0
- package/dist/integration-engine/repositories/InformationPanelPresetsStopsRepository.d.ts +13 -0
- package/dist/integration-engine/repositories/InformationPanelPresetsStopsRepository.js +61 -0
- package/dist/integration-engine/repositories/InformationPanelPresetsStopsRepository.js.map +1 -0
- package/dist/integration-engine/workers/FYPRWorker.js +1 -0
- package/dist/integration-engine/workers/FYPRWorker.js.map +1 -1
- package/dist/integration-engine/workers/tasks/UpdatePresetsTask.d.ts +18 -0
- package/dist/integration-engine/workers/tasks/UpdatePresetsTask.js +103 -0
- package/dist/integration-engine/workers/tasks/UpdatePresetsTask.js.map +1 -0
- package/dist/output-gateway/fypr/controllers/v1/V1FyprElementKindsController.js +4 -2
- package/dist/output-gateway/fypr/controllers/v1/V1FyprElementKindsController.js.map +1 -1
- package/dist/output-gateway/fypr/data-access/FyprElementRepository.d.ts +6 -1
- package/dist/output-gateway/fypr/data-access/FyprElementRepository.js +26 -4
- package/dist/output-gateway/fypr/data-access/FyprElementRepository.js.map +1 -1
- package/dist/output-gateway/fypr/routers/v1/V1FyprElementKindsRouter.js +12 -1
- package/dist/output-gateway/fypr/routers/v1/V1FyprElementKindsRouter.js.map +1 -1
- package/dist/output-gateway/fypr/transformations/InformationPanelOutputTransformation.d.ts +3 -3
- package/dist/output-gateway/fypr/transformations/InformationPanelOutputTransformation.js +9 -5
- package/dist/output-gateway/fypr/transformations/InformationPanelOutputTransformation.js.map +1 -1
- package/dist/output-gateway/interfaces/IOGInformationPanel.d.ts +2 -1
- package/dist/output-gateway/interfaces/IOGInformationPanelScopes.d.ts +10 -0
- package/dist/output-gateway/interfaces/IOGInformationPanelScopes.js +3 -0
- package/dist/output-gateway/interfaces/IOGInformationPanelScopes.js.map +1 -0
- package/dist/output-gateway/ioc/Di.js +13 -9
- package/dist/output-gateway/ioc/Di.js.map +1 -1
- package/dist/schema-definitions/const.d.ts +1 -0
- package/dist/schema-definitions/const.js +2 -1
- package/dist/schema-definitions/const.js.map +1 -1
- package/dist/schema-definitions/data-sources/GolemioPresetsJSONSchema.d.ts +3 -0
- package/dist/schema-definitions/data-sources/GolemioPresetsJSONSchema.js +45 -0
- package/dist/schema-definitions/data-sources/GolemioPresetsJSONSchema.js.map +1 -0
- package/dist/schema-definitions/data-sources/interfaces/IGolemioPresetsResponse.d.ts +15 -0
- package/dist/schema-definitions/data-sources/interfaces/IGolemioPresetsResponse.js +3 -0
- package/dist/schema-definitions/data-sources/interfaces/IGolemioPresetsResponse.js.map +1 -0
- package/dist/schema-definitions/index.d.ts +8 -0
- package/dist/schema-definitions/index.js +10 -0
- package/dist/schema-definitions/index.js.map +1 -1
- package/dist/schema-definitions/models/InformationPanelPresetsModel.d.ts +16 -0
- package/dist/schema-definitions/models/InformationPanelPresetsModel.js +45 -0
- package/dist/schema-definitions/models/InformationPanelPresetsModel.js.map +1 -0
- package/dist/schema-definitions/models/InformationPanelPresetsRoutesAggModel.d.ts +10 -0
- package/dist/schema-definitions/models/InformationPanelPresetsRoutesAggModel.js +15 -0
- package/dist/schema-definitions/models/InformationPanelPresetsRoutesAggModel.js.map +1 -0
- package/dist/schema-definitions/models/InformationPanelPresetsRoutesModel.d.ts +15 -0
- package/dist/schema-definitions/models/InformationPanelPresetsRoutesModel.js +50 -0
- package/dist/schema-definitions/models/InformationPanelPresetsRoutesModel.js.map +1 -0
- package/dist/schema-definitions/models/InformationPanelPresetsStopsModel.d.ts +13 -0
- package/dist/schema-definitions/models/InformationPanelPresetsStopsModel.js +38 -0
- package/dist/schema-definitions/models/InformationPanelPresetsStopsModel.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/IInformationPanelPreset.d.ts +7 -0
- package/dist/schema-definitions/models/interfaces/IInformationPanelPreset.js +3 -0
- package/dist/schema-definitions/models/interfaces/IInformationPanelPreset.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/IInformationPanelPresetRoute.d.ts +6 -0
- package/dist/schema-definitions/models/interfaces/IInformationPanelPresetRoute.js +3 -0
- package/dist/schema-definitions/models/interfaces/IInformationPanelPresetRoute.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/IInformationPanelPresetStop.d.ts +4 -0
- package/dist/schema-definitions/models/interfaces/IInformationPanelPresetStop.js +3 -0
- package/dist/schema-definitions/models/interfaces/IInformationPanelPresetStop.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/IPresetRouteAgg.d.ts +5 -0
- package/dist/schema-definitions/models/interfaces/IPresetRouteAgg.js +3 -0
- package/dist/schema-definitions/models/interfaces/IPresetRouteAgg.js.map +1 -0
- package/docs/openapi-output.yaml +63 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema-definitions/index.ts"],"names":[],"mappings":";;;AACA,gEAA6D;AAC7D,0EAAuE;AACvE,wDAAqD;AACrD,0DAAuD;AACvD,oDAAiD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema-definitions/index.ts"],"names":[],"mappings":";;;AACA,gEAA6D;AAC7D,0EAAuE;AACvE,0GAAuG;AACvG,wDAAqD;AACrD,0DAAuD;AACvD,oDAAiD;AAmBpC,QAAA,kBAAkB,GAM3B;IACA,eAAe,EAAE;QACb,WAAW,EAAE,SAAS;QACtB,EAAE,EAAE,SAAS;QACb,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE,mCAAgB,CAAC,SAAS;QACrC,cAAc,EAAE,mCAAgB,CAAC,cAAc;KAClD;IACD,oBAAoB,EAAE;QAClB,WAAW,EAAE,kBAAkB;QAC/B,EAAE,EAAE,mBAAmB;QACvB,SAAS,EAAE,oBAAoB;QAC/B,SAAS,EAAE,6CAAqB,CAAC,SAAS;QAC1C,cAAc,EAAE,6CAAqB,CAAC,cAAc;QACpD,MAAM,EAAE;YACJ,MAAM,EAAE;gBACJ,SAAS,EAAE,6EAAqC,CAAC,SAAS;gBAC1D,EAAE,EAAE,kBAAkB;gBACtB,UAAU,EAAE,+BAA+B;gBAC3C,SAAS,EAAE,aAAa;gBACxB,cAAc,EAAE,6EAAqC,CAAC,cAAc;aACvE;SACJ;KACJ;IACD,QAAQ,EAAE;QACN,WAAW,EAAE,SAAS;QACtB,EAAE,EAAE,UAAU;QACd,SAAS,EAAE,UAAU;QACrB,SAAS,EAAE,2BAAY,CAAC,SAAS;QACjC,cAAc,EAAE,2BAAY,CAAC,cAAc;KAC9C;IACD,SAAS,EAAE;QACP,WAAW,EAAE,WAAW;QACxB,EAAE,EAAE,YAAY;QAChB,SAAS,EAAE,WAAW;QACtB,SAAS,EAAE,6BAAa,CAAC,SAAS;QAClC,cAAc,EAAE,6BAAa,CAAC,cAAc;KAC/C;IACD,MAAM,EAAE;QACJ,WAAW,EAAE,OAAO;QACpB,EAAE,EAAE,QAAQ;QACZ,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,uBAAU,CAAC,SAAS;QAC/B,cAAc,EAAE,uBAAU,CAAC,cAAc;KAC5C;CACJ,CAAC;AAIW,QAAA,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,0BAAkB,CAAsB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
|
|
2
|
+
import { CreationOptional, InferAttributes, InferCreationAttributes, Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
|
|
3
|
+
import { IInformationPanelPreset } from "./interfaces/IInformationPanelPreset";
|
|
4
|
+
export declare class InformationPanelPresetsModel extends Model<InferAttributes<InformationPanelPresetsModel>, InferCreationAttributes<InformationPanelPresetsModel>> implements IInformationPanelPreset {
|
|
5
|
+
static readonly tableName = "information_panels_presets";
|
|
6
|
+
id: CreationOptional<string>;
|
|
7
|
+
route_name: string;
|
|
8
|
+
note: string;
|
|
9
|
+
is_testing: boolean;
|
|
10
|
+
information_panel_document_id: string | null;
|
|
11
|
+
created_at: CreationOptional<Date>;
|
|
12
|
+
updated_at: CreationOptional<Date>;
|
|
13
|
+
static readonly attributeModel: ModelAttributes<InformationPanelPresetsModel>;
|
|
14
|
+
static getUpdateAttributes(): string[];
|
|
15
|
+
static readonly jsonSchema: JSONSchemaType<Array<Omit<IInformationPanelPreset, "id">>>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InformationPanelPresetsModel = void 0;
|
|
4
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
5
|
+
const const_1 = require("../const");
|
|
6
|
+
class InformationPanelPresetsModel extends sequelize_1.Model {
|
|
7
|
+
static getUpdateAttributes() {
|
|
8
|
+
return ["is_testing", "note", "information_panel_document_id", "updated_at"];
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.InformationPanelPresetsModel = InformationPanelPresetsModel;
|
|
12
|
+
InformationPanelPresetsModel.tableName = "information_panels_presets";
|
|
13
|
+
InformationPanelPresetsModel.attributeModel = {
|
|
14
|
+
id: {
|
|
15
|
+
primaryKey: true,
|
|
16
|
+
allowNull: false,
|
|
17
|
+
type: sequelize_1.DataTypes.UUID,
|
|
18
|
+
defaultValue: sequelize_1.DataTypes.UUIDV4,
|
|
19
|
+
},
|
|
20
|
+
route_name: {
|
|
21
|
+
type: sequelize_1.DataTypes.STRING(100),
|
|
22
|
+
allowNull: false,
|
|
23
|
+
unique: true,
|
|
24
|
+
},
|
|
25
|
+
note: { type: sequelize_1.DataTypes.STRING(1000) },
|
|
26
|
+
is_testing: { type: sequelize_1.DataTypes.BOOLEAN },
|
|
27
|
+
information_panel_document_id: { type: sequelize_1.DataTypes.STRING(255), allowNull: true },
|
|
28
|
+
created_at: { type: sequelize_1.DataTypes.DATE, allowNull: false },
|
|
29
|
+
updated_at: { type: sequelize_1.DataTypes.DATE, allowNull: false },
|
|
30
|
+
};
|
|
31
|
+
InformationPanelPresetsModel.jsonSchema = {
|
|
32
|
+
type: "array",
|
|
33
|
+
items: {
|
|
34
|
+
type: "object",
|
|
35
|
+
properties: {
|
|
36
|
+
route_name: { type: "string" },
|
|
37
|
+
note: { type: "string" },
|
|
38
|
+
is_testing: { type: "boolean" },
|
|
39
|
+
information_panel_document_id: const_1.nullableString,
|
|
40
|
+
},
|
|
41
|
+
required: ["route_name", "note", "is_testing"],
|
|
42
|
+
additionalProperties: false,
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=InformationPanelPresetsModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InformationPanelPresetsModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/InformationPanelPresetsModel.ts"],"names":[],"mappings":";;;AACA,mEAO6C;AAE7C,oCAA4C;AAG5C,MAAa,4BACT,SAAQ,iBAA2G;IAgC5G,MAAM,CAAC,mBAAmB;QAC7B,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,+BAA+B,EAAE,YAAY,CAAC,CAAC;IACjF,CAAC;;AAnCL,oEAmDC;AA/C0B,sCAAS,GAAG,4BAA4B,CAAC;AAUzC,2CAAc,GAAkD;IACnF,EAAE,EAAE;QACA,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,YAAY,EAAE,qBAAS,CAAC,MAAM;KACjC;IACD,UAAU,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;KACf;IACD,IAAI,EAAE,EAAE,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;IACtC,UAAU,EAAE,EAAE,IAAI,EAAE,qBAAS,CAAC,OAAO,EAAE;IACvC,6BAA6B,EAAE,EAAE,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;IAC/E,UAAU,EAAE,EAAE,IAAI,EAAE,qBAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;IACtD,UAAU,EAAE,EAAE,IAAI,EAAE,qBAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;CACzD,CAAC;AAMqB,uCAAU,GAA+D;IAC5F,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,6BAA6B,EAAE,sBAAqB;SACvD;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC;QAC9C,oBAAoB,EAAE,KAAK;KAC9B;CACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { InferAttributes, InferCreationAttributes, Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
|
|
2
|
+
import { IPresetRouteAgg } from "./interfaces/IPresetRouteAgg";
|
|
3
|
+
export declare class InformationPanelPresetsRoutesAggModel extends Model<InferAttributes<InformationPanelPresetsRoutesAggModel>, InferCreationAttributes<InformationPanelPresetsRoutesAggModel>> {
|
|
4
|
+
static readonly tableName = "v_information_panels_presets_routes_agg";
|
|
5
|
+
information_panel_document_id: string;
|
|
6
|
+
route_name: string;
|
|
7
|
+
note: string;
|
|
8
|
+
routes: IPresetRouteAgg[];
|
|
9
|
+
static readonly attributeModel: ModelAttributes<InformationPanelPresetsRoutesAggModel>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InformationPanelPresetsRoutesAggModel = void 0;
|
|
4
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
5
|
+
class InformationPanelPresetsRoutesAggModel extends sequelize_1.Model {
|
|
6
|
+
}
|
|
7
|
+
exports.InformationPanelPresetsRoutesAggModel = InformationPanelPresetsRoutesAggModel;
|
|
8
|
+
InformationPanelPresetsRoutesAggModel.tableName = "v_information_panels_presets_routes_agg";
|
|
9
|
+
InformationPanelPresetsRoutesAggModel.attributeModel = {
|
|
10
|
+
information_panel_document_id: { type: sequelize_1.DataTypes.STRING, primaryKey: true },
|
|
11
|
+
route_name: { type: sequelize_1.DataTypes.STRING, primaryKey: true },
|
|
12
|
+
note: { type: sequelize_1.DataTypes.STRING },
|
|
13
|
+
routes: { type: sequelize_1.DataTypes.JSONB },
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=InformationPanelPresetsRoutesAggModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InformationPanelPresetsRoutesAggModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/InformationPanelPresetsRoutesAggModel.ts"],"names":[],"mappings":";;;AAAA,mEAAkI;AAGlI,MAAa,qCAAsC,SAAQ,iBAG1D;;AAHD,sFAiBC;AAb0B,+CAAS,GAAG,yCAAyC,CAAC;AAOtD,oDAAc,GAA2D;IAC5F,6BAA6B,EAAE,EAAE,IAAI,EAAE,qBAAS,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;IAC3E,UAAU,EAAE,EAAE,IAAI,EAAE,qBAAS,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;IACxD,IAAI,EAAE,EAAE,IAAI,EAAE,qBAAS,CAAC,MAAM,EAAE;IAChC,MAAM,EAAE,EAAE,IAAI,EAAE,qBAAS,CAAC,KAAK,EAAE;CACpC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
|
|
2
|
+
import { CreationOptional, InferAttributes, InferCreationAttributes, Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
|
|
3
|
+
import { IInformationPanelPresetRoute } from "./interfaces/IInformationPanelPresetRoute";
|
|
4
|
+
export declare class InformationPanelPresetsRoutesModel extends Model<InferAttributes<InformationPanelPresetsRoutesModel>, InferCreationAttributes<InformationPanelPresetsRoutesModel>> implements IInformationPanelPresetRoute {
|
|
5
|
+
static readonly tableName = "information_panels_presets_routes";
|
|
6
|
+
preset_id: string;
|
|
7
|
+
stop_id: string;
|
|
8
|
+
route_type: number;
|
|
9
|
+
route_short_name: string;
|
|
10
|
+
created_at: CreationOptional<Date>;
|
|
11
|
+
updated_at: CreationOptional<Date>;
|
|
12
|
+
static readonly attributeModel: ModelAttributes<InformationPanelPresetsRoutesModel>;
|
|
13
|
+
static getUpdateAttributes(): string[];
|
|
14
|
+
static readonly jsonSchema: JSONSchemaType<IInformationPanelPresetRoute[]>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InformationPanelPresetsRoutesModel = void 0;
|
|
4
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
5
|
+
class InformationPanelPresetsRoutesModel extends sequelize_1.Model {
|
|
6
|
+
static getUpdateAttributes() {
|
|
7
|
+
return ["updated_at"];
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.InformationPanelPresetsRoutesModel = InformationPanelPresetsRoutesModel;
|
|
11
|
+
InformationPanelPresetsRoutesModel.tableName = "information_panels_presets_routes";
|
|
12
|
+
InformationPanelPresetsRoutesModel.attributeModel = {
|
|
13
|
+
preset_id: {
|
|
14
|
+
primaryKey: true,
|
|
15
|
+
allowNull: false,
|
|
16
|
+
type: sequelize_1.DataTypes.UUID,
|
|
17
|
+
},
|
|
18
|
+
stop_id: {
|
|
19
|
+
primaryKey: true,
|
|
20
|
+
allowNull: false,
|
|
21
|
+
type: sequelize_1.DataTypes.STRING(50),
|
|
22
|
+
},
|
|
23
|
+
route_type: {
|
|
24
|
+
primaryKey: true,
|
|
25
|
+
allowNull: false,
|
|
26
|
+
type: sequelize_1.DataTypes.SMALLINT,
|
|
27
|
+
},
|
|
28
|
+
route_short_name: {
|
|
29
|
+
primaryKey: true,
|
|
30
|
+
allowNull: false,
|
|
31
|
+
type: sequelize_1.DataTypes.STRING(50),
|
|
32
|
+
},
|
|
33
|
+
created_at: { type: sequelize_1.DataTypes.DATE, allowNull: false },
|
|
34
|
+
updated_at: { type: sequelize_1.DataTypes.DATE, allowNull: false },
|
|
35
|
+
};
|
|
36
|
+
InformationPanelPresetsRoutesModel.jsonSchema = {
|
|
37
|
+
type: "array",
|
|
38
|
+
items: {
|
|
39
|
+
type: "object",
|
|
40
|
+
properties: {
|
|
41
|
+
preset_id: { type: "string" },
|
|
42
|
+
stop_id: { type: "string" },
|
|
43
|
+
route_type: { type: "number" },
|
|
44
|
+
route_short_name: { type: "string" },
|
|
45
|
+
},
|
|
46
|
+
required: ["preset_id", "stop_id", "route_type", "route_short_name"],
|
|
47
|
+
additionalProperties: false,
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=InformationPanelPresetsRoutesModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InformationPanelPresetsRoutesModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/InformationPanelPresetsRoutesModel.ts"],"names":[],"mappings":";;;AACA,mEAO6C;AAI7C,MAAa,kCACT,SAAQ,iBAGP;IAqCM,MAAM,CAAC,mBAAmB;QAC7B,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;;AA3CL,gFA2DC;AApD0B,4CAAS,GAAG,mCAAmC,CAAC;AAShD,iDAAc,GAAwD;IACzF,SAAS,EAAE;QACP,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,OAAO,EAAE;QACL,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;KAC7B;IACD,UAAU,EAAE;QACR,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,qBAAS,CAAC,QAAQ;KAC3B;IACD,gBAAgB,EAAE;QACd,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;KAC7B;IACD,UAAU,EAAE,EAAE,IAAI,EAAE,qBAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;IACtD,UAAU,EAAE,EAAE,IAAI,EAAE,qBAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;CACzD,CAAC;AAMqB,6CAAU,GAAmD;IAChF,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACvC;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,CAAC;QACpE,oBAAoB,EAAE,KAAK;KAC9B;CACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
|
|
2
|
+
import { CreationOptional, InferAttributes, InferCreationAttributes, Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
|
|
3
|
+
import { IInformationPanelPresetStop } from "./interfaces/IInformationPanelPresetStop";
|
|
4
|
+
export declare class InformationPanelPresetsStopsModel extends Model<InferAttributes<InformationPanelPresetsStopsModel>, InferCreationAttributes<InformationPanelPresetsStopsModel>> implements IInformationPanelPresetStop {
|
|
5
|
+
static readonly tableName = "information_panels_presets_stops";
|
|
6
|
+
preset_id: string;
|
|
7
|
+
stop_id: string;
|
|
8
|
+
created_at: CreationOptional<Date>;
|
|
9
|
+
updated_at: CreationOptional<Date>;
|
|
10
|
+
static readonly attributeModel: ModelAttributes<InformationPanelPresetsStopsModel>;
|
|
11
|
+
static getUpdateAttributes(): string[];
|
|
12
|
+
static readonly jsonSchema: JSONSchemaType<IInformationPanelPresetStop[]>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InformationPanelPresetsStopsModel = void 0;
|
|
4
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
5
|
+
class InformationPanelPresetsStopsModel extends sequelize_1.Model {
|
|
6
|
+
static getUpdateAttributes() {
|
|
7
|
+
return ["updated_at"];
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.InformationPanelPresetsStopsModel = InformationPanelPresetsStopsModel;
|
|
11
|
+
InformationPanelPresetsStopsModel.tableName = "information_panels_presets_stops";
|
|
12
|
+
InformationPanelPresetsStopsModel.attributeModel = {
|
|
13
|
+
preset_id: {
|
|
14
|
+
primaryKey: true,
|
|
15
|
+
allowNull: false,
|
|
16
|
+
type: sequelize_1.DataTypes.UUID,
|
|
17
|
+
},
|
|
18
|
+
stop_id: {
|
|
19
|
+
primaryKey: true,
|
|
20
|
+
allowNull: false,
|
|
21
|
+
type: sequelize_1.DataTypes.STRING(50),
|
|
22
|
+
},
|
|
23
|
+
created_at: { type: sequelize_1.DataTypes.DATE, allowNull: false },
|
|
24
|
+
updated_at: { type: sequelize_1.DataTypes.DATE, allowNull: false },
|
|
25
|
+
};
|
|
26
|
+
InformationPanelPresetsStopsModel.jsonSchema = {
|
|
27
|
+
type: "array",
|
|
28
|
+
items: {
|
|
29
|
+
type: "object",
|
|
30
|
+
properties: {
|
|
31
|
+
preset_id: { type: "string" },
|
|
32
|
+
stop_id: { type: "string" },
|
|
33
|
+
},
|
|
34
|
+
required: ["preset_id", "stop_id"],
|
|
35
|
+
additionalProperties: false,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=InformationPanelPresetsStopsModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InformationPanelPresetsStopsModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/InformationPanelPresetsStopsModel.ts"],"names":[],"mappings":";;;AACA,mEAO6C;AAI7C,MAAa,iCACT,SAAQ,iBAAqH;IAyBtH,MAAM,CAAC,mBAAmB;QAC7B,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;;AA5BL,8EA0CC;AAtC0B,2CAAS,GAAG,kCAAkC,CAAC;AAO/C,gDAAc,GAAuD;IACxF,SAAS,EAAE;QACP,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,qBAAS,CAAC,IAAI;KACvB;IACD,OAAO,EAAE;QACL,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;KAC7B;IACD,UAAU,EAAE,EAAE,IAAI,EAAE,qBAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;IACtD,UAAU,EAAE,EAAE,IAAI,EAAE,qBAAS,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;CACzD,CAAC;AAMqB,4CAAU,GAAkD;IAC/E,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC9B;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;QAClC,oBAAoB,EAAE,KAAK;KAC9B;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IInformationPanelPreset.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/IInformationPanelPreset.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IInformationPanelPresetRoute.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/IInformationPanelPresetRoute.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IInformationPanelPresetStop.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/IInformationPanelPresetStop.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPresetRouteAgg.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/IPresetRouteAgg.ts"],"names":[],"mappings":""}
|
package/docs/openapi-output.yaml
CHANGED
|
@@ -148,6 +148,17 @@ paths:
|
|
|
148
148
|
when false, returns only non-JIS panels. Panels with a null
|
|
149
149
|
jis_graphic value are excluded when this parameter is provided.
|
|
150
150
|
Omit to return all panels regardless of JIS status.
|
|
151
|
+
- name: scopes
|
|
152
|
+
in: query
|
|
153
|
+
required: false
|
|
154
|
+
schema:
|
|
155
|
+
type: string
|
|
156
|
+
enum:
|
|
157
|
+
- routes
|
|
158
|
+
description: >-
|
|
159
|
+
Extend the panel response with related resources. Currently only "routes" is
|
|
160
|
+
supported — adds routes directly to each panel with preset routes grouped by
|
|
161
|
+
preset name. Only valid for information-panels.
|
|
151
162
|
responses:
|
|
152
163
|
"200":
|
|
153
164
|
description: OK
|
|
@@ -831,14 +842,66 @@ components:
|
|
|
831
842
|
Fully composed information panel schema. Combines InformationPanelBase (writable
|
|
832
843
|
type-specific and base fields) with ElementReadOnly (server-set timestamps and id).
|
|
833
844
|
Returned by the list endpoint GET /v1/information-panels.
|
|
845
|
+
When ?scopes=routes is provided, the response includes a routes array directly
|
|
846
|
+
on each panel with preset routes grouped by preset name.
|
|
834
847
|
allOf:
|
|
835
848
|
- $ref: "#/components/schemas/ElementReadOnly"
|
|
836
849
|
- $ref: "#/components/schemas/InformationPanelBase"
|
|
850
|
+
- $ref: "#/components/schemas/InformationPanelScopes"
|
|
837
851
|
- type: object
|
|
838
852
|
required:
|
|
839
853
|
- id
|
|
840
854
|
- source_updated_at
|
|
841
855
|
|
|
856
|
+
InformationPanelScopes:
|
|
857
|
+
description: >-
|
|
858
|
+
Additional resources included when ?scopes=routes is requested.
|
|
859
|
+
Present only when the panel has presets with associated routes.
|
|
860
|
+
type: object
|
|
861
|
+
properties:
|
|
862
|
+
routes:
|
|
863
|
+
type: array
|
|
864
|
+
description: Preset routes grouped by preset name.
|
|
865
|
+
items:
|
|
866
|
+
type: object
|
|
867
|
+
required:
|
|
868
|
+
- route_name
|
|
869
|
+
- note
|
|
870
|
+
- routes
|
|
871
|
+
properties:
|
|
872
|
+
route_name:
|
|
873
|
+
type: string
|
|
874
|
+
example: "gema-masarykovo_nadrazi-a"
|
|
875
|
+
description: Name of the preset (matches the presets array value).
|
|
876
|
+
note:
|
|
877
|
+
type: string
|
|
878
|
+
example: "LED v přístřešku Hradčanská B"
|
|
879
|
+
description: Note describing the preset.
|
|
880
|
+
routes:
|
|
881
|
+
type: array
|
|
882
|
+
description: Routes serving stops in this preset.
|
|
883
|
+
items:
|
|
884
|
+
type: object
|
|
885
|
+
required:
|
|
886
|
+
- stop_id
|
|
887
|
+
- route_type
|
|
888
|
+
- route_short_name
|
|
889
|
+
properties:
|
|
890
|
+
stop_id:
|
|
891
|
+
type: string
|
|
892
|
+
example: "U953Z1P"
|
|
893
|
+
description: Stop identifier in THMP registry.
|
|
894
|
+
route_type:
|
|
895
|
+
type: integer
|
|
896
|
+
example: 0
|
|
897
|
+
description: >-
|
|
898
|
+
GTFS route type (0 = tram, 1 = metro,
|
|
899
|
+
3 = bus, etc.).
|
|
900
|
+
route_short_name:
|
|
901
|
+
type: string
|
|
902
|
+
example: "22"
|
|
903
|
+
description: Short name of the route.
|
|
904
|
+
|
|
842
905
|
InformationPanelBase:
|
|
843
906
|
description: >-
|
|
844
907
|
Writable fields for an information panel element. Extends ElementBase via allOf
|