增加分组库存与客服
This commit is contained in:
@@ -7,6 +7,7 @@ import {
|
||||
getAdminUserById,
|
||||
getAdminUserByUsername,
|
||||
listAdminUsers,
|
||||
replaceAdminUserInventoryGroupBindings,
|
||||
updateAdminUser,
|
||||
} from '../../repositories/admin-user-repo.js'
|
||||
import { addHours, nowIso } from '../../utils/time.js'
|
||||
@@ -127,6 +128,7 @@ export async function verifyAdminSessionToken(token) {
|
||||
userId: Number(user.id),
|
||||
username: String(user.username || ''),
|
||||
role: normalizeAdminRole(user.role),
|
||||
allowedInventoryGroups: normalizeInventoryGroupCodes(user.inventory_group_codes),
|
||||
expiresAt,
|
||||
}
|
||||
}
|
||||
@@ -141,6 +143,7 @@ export async function getAdminSessionSummary(token) {
|
||||
userId: session.userId,
|
||||
username: session.username,
|
||||
role: session.role,
|
||||
inventoryGroupCodes: session.allowedInventoryGroups,
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -216,6 +219,18 @@ export async function createManagedAdminUser(payload = {}) {
|
||||
}
|
||||
}
|
||||
|
||||
export async function updateManagedAdminUserInventoryGroups(userId, payload = {}, session) {
|
||||
const user = await getRequiredAdminUser(userId)
|
||||
const inventoryGroupCodes = normalizeInventoryGroupCodes(payload.inventoryGroupCodes)
|
||||
|
||||
await ensureAdminUserChangeAllowed(user, {}, session)
|
||||
const updated = await replaceAdminUserInventoryGroupBindings(user.id, inventoryGroupCodes, nowIso())
|
||||
|
||||
return {
|
||||
user: mapAdminUser(updated),
|
||||
}
|
||||
}
|
||||
|
||||
export async function updateManagedAdminUserRole(userId, payload = {}, session) {
|
||||
const user = await getRequiredAdminUser(userId)
|
||||
const role = normalizeAdminRole(payload.role)
|
||||
@@ -315,6 +330,7 @@ function createAdminSession(user) {
|
||||
userId: Number(user.id),
|
||||
username: String(user.username || ''),
|
||||
role: normalizeAdminRole(user.role),
|
||||
inventoryGroupCodes: normalizeInventoryGroupCodes(user.inventory_group_codes),
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -445,7 +461,14 @@ function mapAdminUser(user) {
|
||||
username: String(user.username || ''),
|
||||
role: normalizeAdminRole(user.role),
|
||||
status: normalizeAdminUserStatus(user.status),
|
||||
inventoryGroupCodes: normalizeInventoryGroupCodes(user.inventory_group_codes),
|
||||
createdAt: user.created_at,
|
||||
updatedAt: user.updated_at,
|
||||
}
|
||||
}
|
||||
|
||||
function normalizeInventoryGroupCodes(values) {
|
||||
return Array.from(new Set((Array.isArray(values) ? values : [])
|
||||
.map((value) => String(value || '').trim())
|
||||
.filter(Boolean)))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user