Bugs in settings fixed, profile added
This commit is contained in:
@@ -13,6 +13,10 @@ const initializeSettings = async () => {
|
||||
where: { name: 'sexuality' },
|
||||
defaults: { name: 'sexuality' }
|
||||
});
|
||||
await SettingsType.findOrCreate({
|
||||
where: { name: 'flirt' },
|
||||
defaults: { name: 'flirt' }
|
||||
});
|
||||
};
|
||||
|
||||
export default initializeSettings;
|
||||
@@ -4,7 +4,7 @@ import UserParamValue from '../models/type/user_param_value.js';
|
||||
import Interest from '../models/type/interest.js';
|
||||
import { Op, } from 'sequelize';
|
||||
import InterestTranslation from '../models/type/interest_translation.js';
|
||||
import { sequelize } from '../utils/sequelize.js';
|
||||
import UserParamVisibilityType from '../models/type/user_param_visibility.js';
|
||||
|
||||
const initializeTypes = async () => {
|
||||
const settingsTypes = await SettingsType.findAll();
|
||||
@@ -27,8 +27,8 @@ const initializeTypes = async () => {
|
||||
birthdate: { type: 'date', setting: 'personal' },
|
||||
zip: { type: 'string', setting: 'personal' },
|
||||
town: { type: 'string', setting: 'personal' },
|
||||
bodyheight: { type: 'float', setting: 'view' },
|
||||
weight: { type: 'float', setting: 'view' },
|
||||
bodyheight: { type: 'float', setting: 'view', unit: 'cm' },
|
||||
weight: { type: 'float', setting: 'view', unit: 'kg' },
|
||||
eyecolor: { type: 'singleselect', setting: 'view' },
|
||||
haircolor: { type: 'singleselect', setting: 'view' },
|
||||
hairlength: { type: 'singleselect', setting: 'view' },
|
||||
@@ -39,19 +39,26 @@ const initializeTypes = async () => {
|
||||
sexualpreference: { type: 'singleselect', 'setting': 'sexuality', minAge: 14 },
|
||||
gender: { type: 'singleselect', setting: 'personal' },
|
||||
pubichair: { type: 'singleselect', setting: 'sexuality', minAge: 14 },
|
||||
penislenght: { type: 'int', setting: 'sexuality', minAge: 14, gender: 'male' },
|
||||
brasize: { type: 'string', setting: 'sexuality', minAge: 14, gender: 'female' }
|
||||
penislength: { type: 'int', setting: 'sexuality', minAge: 14, gender: 'male', unit: 'cm' },
|
||||
brasize: { type: 'string', setting: 'sexuality', minAge: 14, gender: 'female' },
|
||||
interestedInGender: { type: 'multiselect', setting: 'flirt', minAge: 14},
|
||||
hasChildren: { type: 'bool', setting: 'flirt', minAge: 14 },
|
||||
willChildren: { type: 'bool', setting: 'flirt', minAge: 14 },
|
||||
smokes: { type: 'singleselect', setting: 'flirt', minAge: 14},
|
||||
drinks: { type: 'singleselect', setting: 'flirt', minAge: 14 },
|
||||
};
|
||||
Object.keys(userParams).forEach(async (key) => {
|
||||
let orderId = 1;
|
||||
for (const key of Object.keys(userParams)) {
|
||||
const item = userParams[key];
|
||||
const createItem = { description: key, datatype: item.type, settingsId: getSettingsTypeId(item.setting) };
|
||||
const createItem = { description: key, datatype: item.type, settingsId: getSettingsTypeId(item.setting), orderId: orderId++ };
|
||||
if (item.minAge) createItem.minAge = item.minAge;
|
||||
if (item.gender) createItem.gender = item.gender;
|
||||
await UserParamType.findOrCreate({
|
||||
if (item.unit) createItem.unit = item.unit;
|
||||
await UserParamType.findOrCreate({
|
||||
where: { description: key },
|
||||
defaults: createItem
|
||||
});
|
||||
});
|
||||
}
|
||||
const valuesList = {
|
||||
gender: ['male', 'female', 'transfemale', 'transmale', 'nonbinary'],
|
||||
language: ['de', 'en'],
|
||||
@@ -62,17 +69,22 @@ const initializeTypes = async () => {
|
||||
freckles: ['much', 'medium', 'less', 'none'],
|
||||
sexualpreference: ['straight', 'gay', 'bi', 'pan', 'asexual'],
|
||||
pubichair: ['none', 'short', 'medium', 'long', 'hairy', 'waxed', 'landingstrip', 'bikinizone', 'other'],
|
||||
interestedInGender: ['male', 'female'],
|
||||
smokes: ['never', 'socially', 'often', 'daily'],
|
||||
drinks: ['never', 'socially', 'often', 'daily'],
|
||||
brasize: ['Keine', 'AA', 'A', 'B', 'C', 'D', 'E (DD)', 'F (E)', 'G (F)', 'H (FF)', 'I (G)', 'J (GG)', 'K (H)']
|
||||
};
|
||||
Object.keys(valuesList).forEach(async (key) => {
|
||||
const values = valuesList[key];
|
||||
const userParamTypeId = await getUserParamTypeId(key);
|
||||
let orderId = 1;
|
||||
values.forEach(async (value) => {
|
||||
await UserParamValue.findOrCreate({
|
||||
where: {
|
||||
userParamTypeId: userParamTypeId,
|
||||
value: value
|
||||
},
|
||||
defaults: { userParamTypeId: userParamTypeId, value: value }
|
||||
defaults: { userParamTypeId: userParamTypeId, value: value, orderId: orderId++ }
|
||||
})
|
||||
});
|
||||
});
|
||||
@@ -161,6 +173,18 @@ const initializeTypes = async () => {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
const visibilityTypes = ['Invisible', 'OnlyFriends', 'FriendsAndAdults', 'AdultsOnly', 'All'];
|
||||
for (const type of visibilityTypes) {
|
||||
try {
|
||||
await UserParamVisibilityType.findOrCreate({
|
||||
where: { description: type },
|
||||
defaults: { description: type }
|
||||
});
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default initializeTypes;
|
||||
|
||||
@@ -4,6 +4,7 @@ import initializeSettings from './initializeSettings.js';
|
||||
import initializeUserRights from './initializeUserRights.js';
|
||||
import setupAssociations from '../models/associations.js';
|
||||
import models from '../models/index.js';
|
||||
import { createTriggers } from '../models/trigger.js';
|
||||
|
||||
const syncDatabase = async () => {
|
||||
try {
|
||||
@@ -12,6 +13,7 @@ const syncDatabase = async () => {
|
||||
for (const model of Object.values(models)) {
|
||||
await model.sync();
|
||||
}
|
||||
createTriggers();
|
||||
|
||||
await initializeSettings();
|
||||
await initializeTypes();
|
||||
|
||||
Reference in New Issue
Block a user