Files
Torsten Schulz (local) 6cf8fa8a9c Add reputation attribute to FalukantCharacter model and update related services and views
- Introduced a new 'reputation' attribute in the FalukantCharacter model with a default value and validation.
- Updated FalukantService to include 'reputation' in character attributes for API responses.
- Enhanced ReputationView component to display current reputation and load it from the API.
- Added translations for reputation in both German and English locales.
2025-12-20 23:00:31 +01:00

60 lines
1.4 KiB
JavaScript

import { Model, DataTypes } from 'sequelize';
import { sequelize } from '../../../utils/sequelize.js';
class FalukantCharacter extends Model {}
FalukantCharacter.init(
{
userId: {
type: DataTypes.INTEGER,
allowNull: true},
regionId: {
type: DataTypes.INTEGER,
allowNull: false},
firstName: {
type: DataTypes.INTEGER,
allowNull: false},
lastName: {
type: DataTypes.INTEGER,
allowNull: false},
birthdate: {
type: DataTypes.DATE,
allowNull: false,
defaultValue: DataTypes.NOW},
gender: {
type: DataTypes.STRING},
health: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 100},
titleOfNobility: {
type: DataTypes.INTEGER,
allowNull: false},
moodId: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 1}
,
reputation: {
type: DataTypes.INTEGER,
allowNull: false,
// Initialisierung: zufällig 20..80 (Prozent)
// DB-seitig per DEFAULT umgesetzt, damit es auch ohne App-Logic gilt.
defaultValue: sequelize.literal('(floor(random()*61)+20)'),
validate: {
min: 0,
max: 100
}
}
},
{
sequelize,
modelName: 'FalukantCharacter',
tableName: 'character',
schema: 'falukant_data',
timestamps: true,
underscored: true}
);
export default FalukantCharacter;