完善配置查询接口
This commit is contained in:
@@ -119,8 +119,23 @@ export async function getGatewayConfig(page?: number, filters?: {
|
||||
|
||||
page = filters?.mac ? 1 : Math.max(1, page || 1)
|
||||
|
||||
const condition = filters ? and(
|
||||
filters.mac ? eq(gateway.macaddr, filters.mac) : undefined,
|
||||
filters.public ? eq(edge.public, filters.public) : undefined,
|
||||
filters.city ? eq(cityhash.city, filters.city) : undefined,
|
||||
filters.user ? eq(gateway.user, filters.user) : undefined,
|
||||
filters.inner_ip ? eq(gateway.network, filters.inner_ip) : undefined,
|
||||
) : undefined
|
||||
|
||||
const [total, result] = await Promise.all([
|
||||
drizzle.$count(gateway, filters?.mac ? eq(gateway.macaddr, filters?.mac) : undefined),
|
||||
drizzle
|
||||
.select({
|
||||
value: count(),
|
||||
})
|
||||
.from(gateway)
|
||||
.leftJoin(cityhash, eq(cityhash.hash, gateway.cityhash))
|
||||
.leftJoin(edge, eq(edge.macaddr, gateway.edge))
|
||||
.where(condition),
|
||||
drizzle
|
||||
.select({
|
||||
city: cityhash.city,
|
||||
@@ -134,13 +149,7 @@ export async function getGatewayConfig(page?: number, filters?: {
|
||||
.from(gateway)
|
||||
.leftJoin(cityhash, eq(cityhash.hash, gateway.cityhash))
|
||||
.leftJoin(edge, eq(edge.macaddr, gateway.edge))
|
||||
.where(filters ? and(
|
||||
filters.mac ? eq(gateway.macaddr, filters.mac) : undefined,
|
||||
filters.public ? eq(edge.public, filters.public) : undefined,
|
||||
filters.city ? eq(cityhash.city, filters.city) : undefined,
|
||||
filters.user ? eq(gateway.user, filters.user) : undefined,
|
||||
filters.inner_ip ? eq(gateway.network, filters.inner_ip) : undefined,
|
||||
) : undefined)
|
||||
.where(condition)
|
||||
.orderBy(sql`inet_aton(gateway.inner_ip)`)
|
||||
.offset((page - 1) * 250)
|
||||
.limit(250),
|
||||
@@ -148,7 +157,7 @@ export async function getGatewayConfig(page?: number, filters?: {
|
||||
return {
|
||||
success: true,
|
||||
data: {
|
||||
total,
|
||||
total: total[0].value,
|
||||
page,
|
||||
size: 250,
|
||||
items: result,
|
||||
|
||||
Reference in New Issue
Block a user