Enhance FalukantService to include certificate attribute: Add 'certificate' to user attributes and ensure default value is set if absent. Update product type retrieval logic to utilize effective certificate value for filtering.
This commit is contained in:
@@ -847,9 +847,12 @@ class FalukantService extends BaseService {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
attributes: ['id', 'money', 'creditAmount', 'todayCreditTaken']
|
attributes: ['id', 'money', 'creditAmount', 'todayCreditTaken', 'certificate']
|
||||||
});
|
});
|
||||||
if (!u) throw new Error('User not found');
|
if (!u) throw new Error('User not found');
|
||||||
|
if (u.certificate == null) {
|
||||||
|
u.setDataValue('certificate', 1);
|
||||||
|
}
|
||||||
// Load UserHouse and HouseType in separate queries to avoid EagerLoadingError
|
// Load UserHouse and HouseType in separate queries to avoid EagerLoadingError
|
||||||
let userHouse = null;
|
let userHouse = null;
|
||||||
if (u.id != null) {
|
if (u.id != null) {
|
||||||
@@ -897,7 +900,7 @@ class FalukantService extends BaseService {
|
|||||||
const nobility = await TitleOfNobility.findOne({ where: { labelTr: 'noncivil' } });
|
const nobility = await TitleOfNobility.findOne({ where: { labelTr: 'noncivil' } });
|
||||||
if (!nobility) throw new Error('No title of nobility found with the label "noncivil".');
|
if (!nobility) throw new Error('No title of nobility found with the label "noncivil".');
|
||||||
const falukantUser = await FalukantUser.create({
|
const falukantUser = await FalukantUser.create({
|
||||||
userId: user.id, money: 50, creditAmount: 0, todayCreditTaken: 0, creditInterestRate: 0, mainBranchRegionId: region.id
|
userId: user.id, money: 50, creditAmount: 0, todayCreditTaken: 0, creditInterestRate: 0, certificate: 1, mainBranchRegionId: region.id
|
||||||
});
|
});
|
||||||
const date = new Date(); date.setDate(date.getDate() - 14);
|
const date = new Date(); date.setDate(date.getDate() - 14);
|
||||||
const ch = await FalukantCharacter.create({
|
const ch = await FalukantCharacter.create({
|
||||||
@@ -2017,8 +2020,9 @@ class FalukantService extends BaseService {
|
|||||||
if (!c) {
|
if (!c) {
|
||||||
throw new Error(`No FalukantCharacter found for user with id ${u.id}`);
|
throw new Error(`No FalukantCharacter found for user with id ${u.id}`);
|
||||||
}
|
}
|
||||||
|
const effectiveCertificate = u.certificate ?? 1;
|
||||||
const ps = await ProductType.findAll({
|
const ps = await ProductType.findAll({
|
||||||
where: { category: { [Op.lte]: u.certificate } },
|
where: { category: { [Op.lte]: effectiveCertificate } },
|
||||||
include: [{ model: Knowledge, as: 'knowledges', attributes: ['knowledge'], where: { characterId: c.id } }],
|
include: [{ model: Knowledge, as: 'knowledges', attributes: ['knowledge'], where: { characterId: c.id } }],
|
||||||
attributes: ['labelTr', 'id', 'sellCost', 'productionTime', 'category']
|
attributes: ['labelTr', 'id', 'sellCost', 'productionTime', 'category']
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user