Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter
- CitrineOS core extracted (CSMS OCPP 2.0.1) - OpenOCPP extracted (firmware OCPP 1.6J/2.0.1) - ShapeShifter library installed (pip install -e) - ShapeShifter specification extracted - EVerest extracted TODO updated with progress
This commit is contained in:
@@ -0,0 +1,157 @@
|
||||
// SPDX-FileCopyrightText: 2025 Contributors to the CitrineOS Project
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
'use strict';
|
||||
|
||||
/** @type {import('sequelize-cli').Migration} */
|
||||
import { DataTypes, QueryInterface } from 'sequelize';
|
||||
|
||||
export default {
|
||||
up: async (queryInterface: QueryInterface) => {
|
||||
await queryInterface.changeColumn('InstalledCertificates', 'certificateType', {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false,
|
||||
});
|
||||
await queryInterface.sequelize.query(`
|
||||
DROP TYPE "enum_InstalledCertificates_certificateType";
|
||||
`);
|
||||
|
||||
await queryInterface.changeColumn('Connectors', 'status', {
|
||||
type: DataTypes.STRING,
|
||||
});
|
||||
await queryInterface.sequelize.query(`
|
||||
DROP TYPE "enum_Connectors_status";
|
||||
`);
|
||||
// Default value references enum type, since default value is changed before column type, so we had to change the column to STRING first.
|
||||
await queryInterface.changeColumn('Connectors', 'status', {
|
||||
type: DataTypes.STRING,
|
||||
defaultValue: 'Unknown',
|
||||
});
|
||||
|
||||
await queryInterface.changeColumn('Connectors', 'errorCode', {
|
||||
type: DataTypes.STRING,
|
||||
});
|
||||
await queryInterface.sequelize.query(`
|
||||
DROP TYPE "enum_Connectors_errorCode";
|
||||
`);
|
||||
// Default value references enum type, since default value is changed before column type, so we had to change the column to STRING first.
|
||||
await queryInterface.changeColumn('Connectors', 'errorCode', {
|
||||
type: DataTypes.STRING,
|
||||
defaultValue: 'NoError',
|
||||
});
|
||||
},
|
||||
|
||||
down: async (queryInterface: QueryInterface) => {
|
||||
await queryInterface.sequelize.query(`
|
||||
DO $$
|
||||
BEGIN
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM pg_type WHERE typname = 'enum_InstalledCertificates_certificateType'
|
||||
) THEN
|
||||
CREATE TYPE "enum_InstalledCertificates_certificateType" AS ENUM (
|
||||
'V2GRootCertificate',
|
||||
'MORootCertificate',
|
||||
'CSMSRootCertificate',
|
||||
'V2GCertificateChain',
|
||||
'ManufacturerRootCertificate'
|
||||
);
|
||||
END IF;
|
||||
END$$;
|
||||
|
||||
DO $$
|
||||
BEGIN
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM pg_type WHERE typname = 'enum_Connectors_status'
|
||||
) THEN
|
||||
CREATE TYPE "enum_Connectors_status" AS ENUM (
|
||||
'Available',
|
||||
'Preparing',
|
||||
'Charging',
|
||||
'SuspendedEVSE',
|
||||
'SuspendedEV',
|
||||
'Finishing',
|
||||
'Reserved',
|
||||
'Unavailable',
|
||||
'Faulted'
|
||||
);
|
||||
END IF;
|
||||
END$$;
|
||||
|
||||
DO $$
|
||||
BEGIN
|
||||
IF NOT EXISTS (
|
||||
SELECT 1 FROM pg_type WHERE typname = 'enum_Connectors_errorCode'
|
||||
) THEN
|
||||
CREATE TYPE "enum_Connectors_errorCode" AS ENUM (
|
||||
'ConnectorLockFailure',
|
||||
'EVCommunicationError',
|
||||
'GroundFailure',
|
||||
'HighTemperature',
|
||||
'InternalError',
|
||||
'LocalListConflict',
|
||||
'NoError',
|
||||
'OtherError',
|
||||
'OverCurrentFailure',
|
||||
'PowerMeterFailure',
|
||||
'PowerSwitchFailure',
|
||||
'ReaderFailure',
|
||||
'ResetFailure',
|
||||
'UnderVoltage',
|
||||
'OverVoltage',
|
||||
'WeakSignal'
|
||||
);
|
||||
END IF;
|
||||
END$$;
|
||||
`);
|
||||
|
||||
await queryInterface.changeColumn('InstalledCertificates', 'certificateType', {
|
||||
type: DataTypes.ENUM(
|
||||
'V2GRootCertificate',
|
||||
'MORootCertificate',
|
||||
'CSMSRootCertificate',
|
||||
'V2GCertificateChain',
|
||||
'ManufacturerRootCertificate',
|
||||
),
|
||||
allowNull: false,
|
||||
});
|
||||
|
||||
await queryInterface.changeColumn('Connectors', 'status', {
|
||||
type: DataTypes.ENUM(
|
||||
'Available',
|
||||
'Preparing',
|
||||
'Charging',
|
||||
'SuspendedEVSE',
|
||||
'SuspendedEV',
|
||||
'Finishing',
|
||||
'Reserved',
|
||||
'Unavailable',
|
||||
'Faulted',
|
||||
),
|
||||
allowNull: false,
|
||||
defaultValue: 'Unknown',
|
||||
});
|
||||
|
||||
await queryInterface.changeColumn('Connectors', 'errorCode', {
|
||||
type: DataTypes.ENUM(
|
||||
'ConnectorLockFailure',
|
||||
'EVCommunicationError',
|
||||
'GroundFailure',
|
||||
'HighTemperature',
|
||||
'InternalError',
|
||||
'LocalListConflict',
|
||||
'NoError',
|
||||
'OtherError',
|
||||
'OverCurrentFailure',
|
||||
'PowerMeterFailure',
|
||||
'PowerSwitchFailure',
|
||||
'ReaderFailure',
|
||||
'ResetFailure',
|
||||
'UnderVoltage',
|
||||
'OverVoltage',
|
||||
'WeakSignal',
|
||||
),
|
||||
allowNull: false,
|
||||
defaultValue: 'NoError',
|
||||
});
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user