Fix healthchecks: install curl in backend and frontend images

This commit is contained in:
Agent Zero
2026-05-24 21:54:58 +00:00
commit cdf350c618
52 changed files with 7885 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
const { DataTypes } = require('sequelize');
const { sequelize } = require('../config/database');
const User = require('./User');
const Block = sequelize.define('Block', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
},
name: {
type: DataTypes.STRING,
allowNull: false,
},
svg_data: {
type: DataTypes.TEXT,
allowNull: false,
},
category: {
type: DataTypes.STRING,
allowNull: true,
defaultValue: 'Allgemein',
},
is_public: {
type: DataTypes.BOOLEAN,
defaultValue: true,
},
});
Block.belongsTo(User, { foreignKey: 'userId', allowNull: true, onDelete: 'SET NULL' });
User.hasMany(Block, { foreignKey: 'userId' });
module.exports = Block;
+29
View File
@@ -0,0 +1,29 @@
const { DataTypes } = require('sequelize');
const { sequelize } = require('../config/database');
const User = require('./User');
const Drawing = sequelize.define('Drawing', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
},
name: {
type: DataTypes.STRING,
allowNull: false,
defaultValue: 'Unbenannt',
},
canvas_json: {
type: DataTypes.TEXT,
allowNull: true,
},
thumbnail: {
type: DataTypes.TEXT,
allowNull: true,
},
});
Drawing.belongsTo(User, { foreignKey: 'userId', onDelete: 'CASCADE' });
User.hasMany(Drawing, { foreignKey: 'userId' });
module.exports = Drawing;
+31
View File
@@ -0,0 +1,31 @@
const { DataTypes } = require('sequelize');
const { sequelize } = require('../config/database');
const bcrypt = require('bcryptjs');
const User = sequelize.define('User', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
},
email: {
type: DataTypes.STRING,
unique: true,
allowNull: false,
validate: { isEmail: true },
},
password: {
type: DataTypes.STRING,
allowNull: false,
},
});
User.beforeCreate(async (user) => {
user.password = await bcrypt.hash(user.password, 10);
});
User.prototype.validatePassword = async function (password) {
return bcrypt.compare(password, this.password);
};
module.exports = User;