feat: 添加用户租户管理功能,优化用户列表和租户信息展示,增强查询过滤条件
This commit is contained in:
@@ -7,8 +7,41 @@ function normalizeItems(items) {
|
||||
}
|
||||
|
||||
export const UserService = {
|
||||
async listUsers({ page, limit, tenantID, username, status, sortField, sortOrder } = {}) {
|
||||
const query = { page, limit, tenantID, username, status };
|
||||
async listUsers({
|
||||
page,
|
||||
limit,
|
||||
id,
|
||||
tenant_id,
|
||||
username,
|
||||
status,
|
||||
role,
|
||||
created_at_from,
|
||||
created_at_to,
|
||||
verified_at_from,
|
||||
verified_at_to,
|
||||
sortField,
|
||||
sortOrder
|
||||
} = {}) {
|
||||
const iso = (d) => {
|
||||
if (!d) return undefined;
|
||||
const date = d instanceof Date ? d : new Date(d);
|
||||
if (Number.isNaN(date.getTime())) return undefined;
|
||||
return date.toISOString();
|
||||
};
|
||||
|
||||
const query = {
|
||||
page,
|
||||
limit,
|
||||
id,
|
||||
tenant_id,
|
||||
username,
|
||||
status,
|
||||
role,
|
||||
created_at_from: iso(created_at_from),
|
||||
created_at_to: iso(created_at_to),
|
||||
verified_at_from: iso(verified_at_from),
|
||||
verified_at_to: iso(verified_at_to)
|
||||
};
|
||||
if (sortField && sortOrder) {
|
||||
if (sortOrder === 1) query.asc = sortField;
|
||||
if (sortOrder === -1) query.desc = sortField;
|
||||
@@ -55,5 +88,38 @@ export const UserService = {
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
},
|
||||
async listUserTenants(
|
||||
userID,
|
||||
{ page, limit, tenant_id, code, name, role, status, created_at_from, created_at_to } = {}
|
||||
) {
|
||||
if (!userID) throw new Error('userID is required');
|
||||
|
||||
const iso = (d) => {
|
||||
if (!d) return undefined;
|
||||
const date = d instanceof Date ? d : new Date(d);
|
||||
if (Number.isNaN(date.getTime())) return undefined;
|
||||
return date.toISOString();
|
||||
};
|
||||
|
||||
const query = {
|
||||
page,
|
||||
limit,
|
||||
tenant_id,
|
||||
code,
|
||||
name,
|
||||
role,
|
||||
status,
|
||||
created_at_from: iso(created_at_from),
|
||||
created_at_to: iso(created_at_to)
|
||||
};
|
||||
|
||||
const data = await requestJson(`/super/v1/users/${userID}/tenants`, { query });
|
||||
return {
|
||||
page: data?.page ?? page ?? 1,
|
||||
limit: data?.limit ?? limit ?? 10,
|
||||
total: data?.total ?? 0,
|
||||
items: normalizeItems(data?.items)
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user