|
const { DATABASE } = require('../lib/database'); |
|
const { DataTypes } = require('sequelize'); |
|
|
|
const UpdateDB = DATABASE.define('UpdateInfo', { |
|
id: { |
|
type: DataTypes.INTEGER, |
|
primaryKey: true, |
|
autoIncrement: false, |
|
defaultValue: 1, |
|
}, |
|
commitHash: { |
|
type: DataTypes.STRING, |
|
allowNull: false, |
|
}, |
|
}, { |
|
tableName: 'update_info', |
|
timestamps: false, |
|
hooks: { |
|
beforeCreate: (record) => { record.id = 1; }, |
|
beforeBulkCreate: (records) => { |
|
records.forEach(record => { record.id = 1; }); |
|
}, |
|
}, |
|
}); |
|
|
|
async function initializeUpdateDB() { |
|
await UpdateDB.sync(); |
|
const [record, created] = await UpdateDB.findOrCreate({ |
|
where: { id: 1 }, |
|
defaults: { commitHash: 'unknown' }, |
|
}); |
|
return record; |
|
} |
|
|
|
async function setCommitHash(hash) { |
|
await initializeUpdateDB(); |
|
const record = await UpdateDB.findByPk(1); |
|
record.commitHash = hash; |
|
await record.save(); |
|
} |
|
|
|
async function getCommitHash() { |
|
await initializeUpdateDB(); |
|
const record = await UpdateDB.findByPk(1); |
|
return record ? record.commitHash : 'unknown'; |
|
} |
|
|
|
module.exports = { |
|
UpdateDB, |
|
setCommitHash, |
|
getCommitHash, |
|
}; |
|
|