routing improved, settings initialized

This commit is contained in:
Torsten Schulz
2024-07-21 18:47:45 +02:00
parent 12d66d6f9c
commit cd0699f3fd
23 changed files with 476 additions and 69 deletions

View File

@@ -0,0 +1,18 @@
import SettingsType from "../models/type/settings_type.js";
const initializeSettings = async () => {
await SettingsType.findOrCreate({
where: { name: 'personal' },
defaults: { name: 'personal' }
});
await SettingsType.findOrCreate({
where: { name: 'view' },
defaults: { name: 'view' }
});
await SettingsType.findOrCreate({
where: { name: 'sexuality' },
defaults: { name: 'sexuality' }
});
};
export default initializeSettings;

View File

@@ -1,9 +1,86 @@
import UserParamType from '../models/type/user_param.js';
import SettingsType from '../models/type/settings_type.js'; // Importiere SettingsType
const initializeTypes = async () => {
const settingsTypes = await SettingsType.findAll();
const settingsTypeMap = settingsTypes.reduce((map, type) => {
map[type.name] = type.id;
return map;
}, {});
const getSettingsTypeId = (name) => settingsTypeMap[name];
await UserParamType.findOrCreate({
where: { description: 'language' },
defaults: { description: 'language' }
defaults: { description: 'language', datatype: 'string', settingsTypeId: getSettingsTypeId('personal') }
});
await UserParamType.findOrCreate({
where: { description: 'birthdate' },
defaults: { description: 'birthdate', datatype: 'date', settingsTypeId: getSettingsTypeId('personal') }
});
await UserParamType.findOrCreate({
where: { description: 'zip' },
defaults: { description: 'zip', datatype: 'string', settingsTypeId: getSettingsTypeId('personal') }
});
await UserParamType.findOrCreate({
where: { description: 'town' },
defaults: { description: 'town', datatype: 'string', settingsTypeId: getSettingsTypeId('personal') }
});
await UserParamType.findOrCreate({
where: { description: 'bodyheight' },
defaults: { description: 'bodyheight', datatype: 'float', settingsTypeId: getSettingsTypeId('view') }
});
await UserParamType.findOrCreate({
where: { description: 'weight' },
defaults: { description: 'weight', datatype: 'float', settingsTypeId: getSettingsTypeId('view') }
});
await UserParamType.findOrCreate({
where: { description: 'eyecolor' },
defaults: { description: 'eyecolor', datatype: 'string', settingsTypeId: getSettingsTypeId('view') }
});
await UserParamType.findOrCreate({
where: { description: 'haircolor' },
defaults: { description: 'haircolor', datatype: 'string', settingsTypeId: getSettingsTypeId('view') }
});
await UserParamType.findOrCreate({
where: { description: 'hairlength' },
defaults: { description: 'hairlength', datatype: 'int', settingsTypeId: getSettingsTypeId('view') }
});
await UserParamType.findOrCreate({
where: { description: 'skincolor' },
defaults: { description: 'skincolor', datatype: 'int', settingsTypeId: getSettingsTypeId('view') }
});
await UserParamType.findOrCreate({
where: { description: 'freckles' },
defaults: { description: 'freckles', datatype: 'int', settingsTypeId: getSettingsTypeId('view') }
});
await UserParamType.findOrCreate({
where: { description: 'piercings' },
defaults: { description: 'piercings', datatype: 'bool', settingsTypeId: getSettingsTypeId('view') }
});
await UserParamType.findOrCreate({
where: { description: 'tattoos' },
defaults: { description: 'tattoos', datatype: 'bool', settingsTypeId: getSettingsTypeId('view') }
});
await UserParamType.findOrCreate({
where: { description: 'sexualpreference' },
defaults: { description: 'sexualpreference', minAge: 14, datatype: 'int', settingsTypeId: getSettingsTypeId('sexuality') }
});
await UserParamType.findOrCreate({
where: { description: 'gender' },
defaults: { description: 'gender', datatype: 'string', settingsTypeId: getSettingsTypeId('personal') }
});
await UserParamType.findOrCreate({
where: { description: 'pubichair' },
defaults: { description: 'pubichair', minAge: 14, datatype: 'int', settingsTypeId: getSettingsTypeId('sexuality') }
});
await UserParamType.findOrCreate({
where: { description: 'penislength' },
defaults: { description: 'penislength', minAge: 14, gender: 'm', datatype: 'int', settingsTypeId: getSettingsTypeId('sexuality') }
});
await UserParamType.findOrCreate({
where: { description: 'brasize' },
defaults: { description: 'brasize', minAge: 14, gender: 'f', datatype: 'string', settingsTypeId: getSettingsTypeId('sexuality') }
});
};

View File

@@ -0,0 +1,39 @@
import UserRightType from "../models/type/user_right.js";
const initializeUserRights = async() => {
await UserRightType.findOrCreate({
where: { title: "mainadmin"},
defaults: { title: "mainadmin"}
});
await UserRightType.findOrCreate({
where: { title: "contactrequests"},
defaults: { title: "contactrequests"}
});
await UserRightType.findOrCreate({
where: { title: "useradministration"},
defaults: { title: "useradministration"}
});
await UserRightType.findOrCreate({
where: { title: "forum"},
defaults: { title: "forum"}
});
await UserRightType.findOrCreate({
where: { title: "rights"},
defaults: { title: "rights"}
});
await UserRightType.findOrCreate({
where: { title: "interrests"},
defaults: { title: "interrests"}
});
await UserRightType.findOrCreate({
where: { title: "falukant"},
defaults: { title: "falukant"}
});
await UserRightType.findOrCreate({
where: { title: "developer"},
defaults: { title: "developer"}
});
};
export default initializeUserRights;

View File

@@ -1,10 +1,14 @@
import { initializeDatabase } from './sequelize.js';
import initializeTypes from './initializeTypes.js';
import initializeSettings from './initializeSettings.js';
import initializeUserRights from './initializeUserRights.js';
const syncDatabase = async () => {
try {
await initializeDatabase();
await initializeSettings();
await initializeTypes();
await initializeUserRights();
console.log('All models were synchronized successfully.');
} catch (error) {
console.error('Unable to synchronize the database:', error);