Removed redundant Option for enum

This commit is contained in:
Franka Schmid 2025-01-21 09:23:02 +01:00
parent 77b0b2d3fb
commit 2a6e9b016e
4 changed files with 56 additions and 66 deletions

@ -281,12 +281,11 @@ impl DeviceService for Device {
1 => device::OrderBy::DevEui,
2 => device::OrderBy::LastSeenAt,
3 => device::OrderBy::DeviceProfileName,
_ => device::OrderBy::Name,
_ => device::OrderBy::Name,
};
let count = device::get_count(&filters).await.map_err(|e| e.status())?;
let items = device::list(req.limit as i64, req.offset as i64, &filters, Some(order_by), req.order_by_desc)
let items = device::list(req.limit as i64, req.offset as i64, &filters, order_by, req.order_by_desc)
.await
.map_err(|e| e.status())?;

@ -243,7 +243,7 @@ impl GatewayService for Gateway {
};
let count = gateway::get_count(&filters).await.map_err(|e| e.status())?;
let result = gateway::list(req.limit as i64, req.offset as i64, &filters, Some(order_by), req.order_by_desc)
let result = gateway::list(req.limit as i64, req.offset as i64, &filters, order_by, req.order_by_desc)
.await
.map_err(|e| e.status())?;

@ -614,7 +614,7 @@ pub async fn list(
limit: i64,
offset: i64,
filters: &Filters,
order_by: Option<OrderBy>,
order_by: OrderBy,
order_by_desc: bool,
) -> Result<Vec<DeviceListItem>, Error> {
let mut q = device::dsl::device
@ -659,33 +659,29 @@ pub async fn list(
}
let descending: bool = order_by_desc;
if let Some(order) = order_by {
match order{
OrderBy::Name if !descending =>
q = q.order_by(device::dsl::name),
OrderBy::Name if descending =>
q = q.order_by(device::dsl::name.desc()),
OrderBy::DevEui if !descending =>
q = q.order_by(device::dsl::dev_eui),
OrderBy::DevEui if descending =>
q = q.order_by(device::dsl::dev_eui.desc()),
OrderBy::LastSeenAt if !descending =>
q = q.order_by(device::dsl::last_seen_at)
.then_order_by(device::dsl::name),
OrderBy::LastSeenAt if descending =>
q = q.order_by(device::dsl::last_seen_at.desc())
.then_order_by(device::dsl::name),
OrderBy::DeviceProfileName if !descending =>
q = q.order_by(device_profile::dsl::name.asc())
.then_order_by(device::dsl::name),
OrderBy::DeviceProfileName if descending =>
q = q.order_by(device_profile::dsl::name.desc())
.then_order_by(device::dsl::name),
_ => q = q.order_by(device::dsl::name)
};
} else {
q = q.order_by(device::dsl::name)
};
match order_by{
OrderBy::Name if !descending =>
q = q.order_by(device::dsl::name),
OrderBy::Name if descending =>
q = q.order_by(device::dsl::name.desc()),
OrderBy::DevEui if !descending =>
q = q.order_by(device::dsl::dev_eui),
OrderBy::DevEui if descending =>
q = q.order_by(device::dsl::dev_eui.desc()),
OrderBy::LastSeenAt if !descending =>
q = q.order_by(device::dsl::last_seen_at)
.then_order_by(device::dsl::name),
OrderBy::LastSeenAt if descending =>
q = q.order_by(device::dsl::last_seen_at.desc())
.then_order_by(device::dsl::name),
OrderBy::DeviceProfileName if !descending =>
q = q.order_by(device_profile::dsl::name.asc())
.then_order_by(device::dsl::name),
OrderBy::DeviceProfileName if descending =>
q = q.order_by(device_profile::dsl::name.desc())
.then_order_by(device::dsl::name),
_ => q = q.order_by(device::dsl::name)
};
q.limit(limit)
.offset(offset)
@ -1043,7 +1039,7 @@ pub mod test {
let count = get_count(&tst.filters).await.unwrap() as usize;
assert_eq!(tst.count, count);
let items = list(tst.limit, tst.offset, &tst.filters, Some(tst.order), tst.order_by_desc).await.unwrap();
let items = list(tst.limit, tst.offset, &tst.filters, tst.order, tst.order_by_desc).await.unwrap();
assert_eq!(
tst.devs
.iter()
@ -1054,7 +1050,6 @@ pub mod test {
.map(|d| d.dev_eui.to_string())
.collect::<String>()
);
}
// delete

@ -316,7 +316,7 @@ pub async fn list(
limit: i64,
offset: i64,
filters: &Filters,
order_by: Option<OrderBy>,
order_by: OrderBy,
order_by_desc: bool,
) -> Result<Vec<GatewayListItem>, Error> {
let mut q = gateway::dsl::gateway
@ -362,26 +362,22 @@ pub async fn list(
let descending: bool = order_by_desc;
if let Some(order) = order_by {
match order {
OrderBy::Name if !descending=>
q = q.order_by(gateway::dsl::name),
OrderBy::Name if descending =>
q = q.order_by(gateway::dsl::name.desc()),
OrderBy::GatewayId if !descending =>
q = q.order_by(gateway::dsl::gateway_id),
OrderBy::GatewayId if descending =>
q = q.order_by(gateway::dsl::gateway_id.desc()),
OrderBy::LastSeenAt if !descending =>
q = q.order_by(gateway::dsl::last_seen_at)
.then_order_by(gateway::dsl::name),
OrderBy::LastSeenAt if descending =>
q = q.order_by(gateway::dsl::last_seen_at.desc())
.then_order_by(gateway::dsl::name),
_ => q = q.order_by(gateway::dsl::name)
};
} else {
q = q.order_by(gateway::dsl::name)
match order_by {
OrderBy::Name if !descending=>
q = q.order_by(gateway::dsl::name),
OrderBy::Name if descending =>
q = q.order_by(gateway::dsl::name.desc()),
OrderBy::GatewayId if !descending =>
q = q.order_by(gateway::dsl::gateway_id),
OrderBy::GatewayId if descending =>
q = q.order_by(gateway::dsl::gateway_id.desc()),
OrderBy::LastSeenAt if !descending =>
q = q.order_by(gateway::dsl::last_seen_at)
.then_order_by(gateway::dsl::name),
OrderBy::LastSeenAt if descending =>
q = q.order_by(gateway::dsl::last_seen_at.desc())
.then_order_by(gateway::dsl::name),
_ => q = q.order_by(gateway::dsl::name)
};
let items = q
@ -554,7 +550,7 @@ pub mod test {
count: usize,
limit: i64,
offset: i64,
order: Option<OrderBy>,
order: OrderBy,
order_by_desc: bool,
}
@ -637,7 +633,7 @@ pub mod test {
count: 1,
limit: 10,
offset: 0,
order: None,
order: OrderBy::Name,
order_by_desc: false,
},
FilterTest {
@ -650,7 +646,7 @@ pub mod test {
count: 0,
limit: 10,
offset: 0,
order: None,
order: OrderBy::Name,
order_by_desc: false,
},
FilterTest {
@ -663,7 +659,7 @@ pub mod test {
count: 1,
limit: 10,
offset: 0,
order: None,
order: OrderBy::Name,
order_by_desc: false,
},
FilterTest {
@ -676,7 +672,7 @@ pub mod test {
count: 1,
limit: 10,
offset: 0,
order: None,
order: OrderBy::Name,
order_by_desc: false,
},
FilterTest {
@ -689,7 +685,7 @@ pub mod test {
count: 0,
limit: 10,
offset: 0,
order: None,
order: OrderBy::Name,
order_by_desc: false,
},
FilterTest {
@ -702,7 +698,7 @@ pub mod test {
count: 1,
limit: 10,
offset: 0,
order: None,
order: OrderBy::Name,
order_by_desc: false,
},
FilterTest {
@ -715,7 +711,7 @@ pub mod test {
count: 0,
limit: 10,
offset: 0,
order: None,
order: OrderBy::Name,
order_by_desc: false,
},
FilterTest {
@ -728,7 +724,7 @@ pub mod test {
count: 1,
limit: 10,
offset: 0,
order: Some(OrderBy::Name),
order: OrderBy::Name,
order_by_desc: false,
},
FilterTest {
@ -741,7 +737,7 @@ pub mod test {
count: 1,
limit: 10,
offset: 0,
order: Some(OrderBy::Name),
order: OrderBy::Name,
order_by_desc: false,
},
FilterTest {
@ -754,7 +750,7 @@ pub mod test {
count: 1,
limit: 10,
offset: 0,
order: Some(OrderBy::Name),
order: OrderBy::Name,
order_by_desc: true,
},
];