1
0

Create shopping server

This commit is contained in:
2025-07-18 10:48:00 +02:00
parent 6426e333f9
commit 99d531ba8c
9 changed files with 4108 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
const { DataTypes } = require('sequelize');
module.exports = (sequelize) => {
const ShoppingItem = sequelize.define('ShoppingItem', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
},
name: {
type: DataTypes.STRING,
allowNull: false,
validate: {
notEmpty: true,
},
},
amount: {
type: DataTypes.STRING,
allowNull: false,
defaultValue: '1',
},
checked: {
type: DataTypes.BOOLEAN,
defaultValue: false,
},
checkedAt: {
type: DataTypes.DATE,
allowNull: true,
},
date: {
type: DataTypes.DATE,
allowNull: false,
defaultValue: DataTypes.NOW,
},
}, {
timestamps: true,
hooks: {
beforeUpdate: (item, options) => {
// Set checkedAt timestamp when item is checked
if (item.checked && !item.previous('checked')) {
item.checkedAt = new Date();
} else if (!item.checked) {
item.checkedAt = null;
}
},
},
});
return ShoppingItem;
};