| 202 | } |
| 203 | |
| 204 | pub async fn get_for_dev_eui(dev_eui: EUI64) -> Result<Tenant, Error> { |
| 205 | let t = tenant::dsl::tenant |
| 206 | .inner_join(application::table.on(application::tenant_id.eq(tenant::id))) |
| 207 | .inner_join(device::table.on(device::application_id.eq(application::id))) |
| 208 | .select(tenant::all_columns) |
| 209 | .filter(device::dev_eui.eq(dev_eui)) |
| 210 | .first(&mut get_async_db_conn().await?) |
| 211 | .await |
| 212 | .map_err(|e| Error::from_diesel(e, dev_eui.to_string()))?; |
| 213 | |
| 214 | Ok(t) |
| 215 | } |
| 216 | |
| 217 | pub async fn get_for_application_id(app_id: Uuid) -> Result<Tenant, Error> { |
| 218 | let t = tenant::dsl::tenant |