Enhance NPC creation functionality and validation in Admin module
- Updated AdminController to validate the count parameter, ensuring it is between 1 and 500. - Refactored NPC creation logic in AdminService to create NPCs for each city-title combination, improving efficiency. - Enhanced frontend localization files to reflect changes in count descriptions and validation messages. - Updated CreateNPCView to provide user guidance on count input and display detailed creation results.
This commit is contained in:
@@ -389,13 +389,17 @@ class AdminController {
|
||||
try {
|
||||
const { userid: userId } = req.headers;
|
||||
const { regionIds, minAge, maxAge, minTitleId, maxTitleId, count } = req.body;
|
||||
const countValue = parseInt(count) || 1;
|
||||
if (countValue < 1 || countValue > 500) {
|
||||
return res.status(400).json({ error: 'Count must be between 1 and 500' });
|
||||
}
|
||||
const result = await AdminService.createNPCs(userId, {
|
||||
regionIds: regionIds && regionIds.length > 0 ? regionIds : null,
|
||||
minAge: parseInt(minAge) || 0,
|
||||
maxAge: parseInt(maxAge) || 100,
|
||||
minTitleId: parseInt(minTitleId) || 1,
|
||||
maxTitleId: parseInt(maxTitleId) || 19,
|
||||
count: parseInt(count) || 1
|
||||
count: countValue
|
||||
});
|
||||
res.status(200).json(result);
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user