- 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
79 lines
1.8 KiB
TypeScript
79 lines
1.8 KiB
TypeScript
// 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';
|
|
|
|
const TABLE_NAME = 'AsyncJobStatuses';
|
|
|
|
export default {
|
|
up: async (queryInterface: QueryInterface) => {
|
|
await queryInterface.createTable(TABLE_NAME, {
|
|
jobId: {
|
|
type: DataTypes.STRING,
|
|
primaryKey: true,
|
|
allowNull: false,
|
|
},
|
|
jobName: {
|
|
type: DataTypes.STRING,
|
|
allowNull: false,
|
|
},
|
|
tenantPartnerId: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: false,
|
|
references: {
|
|
model: 'TenantPartners',
|
|
key: 'id',
|
|
},
|
|
onUpdate: 'CASCADE',
|
|
onDelete: 'RESTRICT',
|
|
},
|
|
finishedAt: {
|
|
type: DataTypes.DATE,
|
|
allowNull: true,
|
|
},
|
|
stoppedAt: {
|
|
type: DataTypes.DATE,
|
|
allowNull: true,
|
|
},
|
|
stopScheduled: {
|
|
type: DataTypes.BOOLEAN,
|
|
allowNull: false,
|
|
defaultValue: false,
|
|
},
|
|
isFailed: {
|
|
type: DataTypes.BOOLEAN,
|
|
allowNull: false,
|
|
defaultValue: false,
|
|
},
|
|
paginationParams: {
|
|
type: DataTypes.JSON,
|
|
allowNull: false,
|
|
},
|
|
totalObjects: {
|
|
type: DataTypes.INTEGER,
|
|
allowNull: true,
|
|
},
|
|
createdAt: {
|
|
type: DataTypes.DATE,
|
|
allowNull: false,
|
|
defaultValue: DataTypes.NOW,
|
|
},
|
|
updatedAt: {
|
|
type: DataTypes.DATE,
|
|
allowNull: false,
|
|
defaultValue: DataTypes.NOW,
|
|
},
|
|
});
|
|
},
|
|
|
|
down: async (queryInterface: QueryInterface) => {
|
|
await queryInterface.dropTable(TABLE_NAME);
|
|
await queryInterface.sequelize.query(`
|
|
DROP TYPE IF EXISTS "enum_AsyncJobStatuses_jobName";
|
|
`);
|
|
},
|
|
};
|