@golemio/parkings
Version:
Golemio Parkings Module
148 lines • 6.98 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ParkingTariffsModel = void 0;
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
class ParkingTariffsModel extends sequelize_1.Model {
}
exports.ParkingTariffsModel = ParkingTariffsModel;
ParkingTariffsModel.tableName = "parkings_tariffs";
ParkingTariffsModel.attributeModel = {
tariff_id: {
primaryKey: true,
type: sequelize_1.DataTypes.STRING(50),
},
source: {
allowNull: false,
type: sequelize_1.DataTypes.STRING(255),
},
last_updated: { type: sequelize_1.DataTypes.DATE },
payment_mode: { type: sequelize_1.DataTypes.STRING(255) },
payment_additional_description: { type: sequelize_1.DataTypes.TEXT },
free_of_charge: { type: sequelize_1.DataTypes.BOOLEAN },
url_link_address: { type: sequelize_1.DataTypes.TEXT },
charge_band_name: { type: sequelize_1.DataTypes.STRING(50) },
accepts_payment_card: { type: sequelize_1.DataTypes.BOOLEAN },
accepts_cash: { type: sequelize_1.DataTypes.BOOLEAN },
accepts_mobile_payment: { type: sequelize_1.DataTypes.BOOLEAN },
accepts_litacka: { type: sequelize_1.DataTypes.BOOLEAN },
charge_currency: { type: sequelize_1.DataTypes.STRING(50) },
charge: { type: sequelize_1.DataTypes.DECIMAL },
charge_type: { type: sequelize_1.DataTypes.STRING(50) },
charge_order_index: {
primaryKey: true,
type: sequelize_1.DataTypes.SMALLINT,
},
charge_interval: { type: sequelize_1.DataTypes.INTEGER },
max_iterations_of_charge: { type: sequelize_1.DataTypes.INTEGER },
min_iterations_of_charge: { type: sequelize_1.DataTypes.INTEGER },
start_time_of_period: { type: sequelize_1.DataTypes.STRING(50) },
end_time_of_period: { type: sequelize_1.DataTypes.STRING(50) },
allowed_vehicle_type: { type: sequelize_1.DataTypes.STRING(255) },
allowed_fuel_type: { type: sequelize_1.DataTypes.STRING(255) },
valid_from: { type: sequelize_1.DataTypes.DATE },
valid_to: { type: sequelize_1.DataTypes.DATE },
maximum_duration_seconds: { type: sequelize_1.DataTypes.INTEGER },
periods_of_time: { type: sequelize_1.DataTypes.JSONB },
payment_methods: { type: sequelize_1.DataTypes.JSONB },
};
ParkingTariffsModel.jsonSchema = {
type: "array",
items: {
type: "object",
properties: {
tariff_id: { type: "string" },
source: { type: "string" },
last_updated: {
oneOf: [
{ type: "object", required: ["toISOString"] },
{ type: "string", format: "date-time" },
],
},
payment_mode: { type: "string" },
payment_additional_description: { oneOf: [{ type: "string" }, { type: "null", nullable: true }], nullable: true },
free_of_charge: { type: "boolean" },
url_link_address: { oneOf: [{ type: "string" }, { type: "null", nullable: true }], nullable: true },
charge_band_name: { type: "string" },
accepts_payment_card: { oneOf: [{ type: "boolean" }, { type: "null", nullable: true }], nullable: true },
accepts_cash: { oneOf: [{ type: "boolean" }, { type: "null", nullable: true }], nullable: true },
accepts_mobile_payment: { oneOf: [{ type: "boolean" }, { type: "null", nullable: true }], nullable: true },
accepts_litacka: { oneOf: [{ type: "boolean" }, { type: "null", nullable: true }], nullable: true },
charge_currency: { type: "string" },
charge: { type: "number" },
charge_type: { oneOf: [{ type: "string" }, { type: "null", nullable: true }], nullable: true },
charge_order_index: { type: "number" },
charge_interval: { oneOf: [{ type: "number" }, { type: "null", nullable: true }], nullable: true },
max_iterations_of_charge: { oneOf: [{ type: "number" }, { type: "null", nullable: true }], nullable: true },
min_iterations_of_charge: { oneOf: [{ type: "number" }, { type: "null", nullable: true }], nullable: true },
start_time_of_period: { oneOf: [{ type: "string" }, { type: "null", nullable: true }], nullable: true },
end_time_of_period: { oneOf: [{ type: "string" }, { type: "null", nullable: true }], nullable: true },
allowed_vehicle_type: { oneOf: [{ type: "string" }, { type: "null", nullable: true }], nullable: true },
allowed_fuel_type: { oneOf: [{ type: "string" }, { type: "null", nullable: true }], nullable: true },
valid_from: {
oneOf: [
{ type: "object", required: ["toISOString"] },
{ type: "string", format: "date-time" },
{ type: "null", nullable: true },
],
nullable: true,
},
valid_to: {
oneOf: [
{ type: "object", required: ["toISOString"] },
{ type: "string", format: "date-time" },
{ type: "null", nullable: true },
],
nullable: true,
},
maximum_duration_seconds: { oneOf: [{ type: "number" }, { type: "null", nullable: true }], nullable: true },
periods_of_time: {
type: "array",
items: {
type: "object",
properties: {
day_in_week: { type: "string" },
start: { type: "string" },
end: { type: "string" },
ph: { type: "string" },
},
required: ["day_in_week", "start", "end", "ph"],
},
nullable: true,
},
payment_methods: {
type: "array",
items: {
type: "string",
enum: [
"card_online",
"card_offline",
"litacka",
"cash",
"coins_only",
"mobile_app",
"sms_payment",
"apple_pay",
"google_pay",
],
},
nullable: true,
},
},
required: [
"tariff_id",
"source",
"last_updated",
"payment_mode",
"free_of_charge",
"charge_band_name",
"charge_currency",
"charge",
"charge_order_index",
],
additionalProperties: false,
},
};
ParkingTariffsModel.attributeUpdateList = Object.keys(ParkingTariffsModel.attributeModel)
.filter((att) => !["tariff_id", "source"].includes(att))
.concat("updated_at");
//# sourceMappingURL=ParkingTariffsModel.js.map