import { inject, injectable } from "tsyringe"; import { WifiScanRepository } from "../repositories/wifiScanRepository"; interface CreateWifiScanParams { lp_ttn_end_device_uplinks_id: string; mac: string; rssi: number; scanned_at_utc?: Date; } interface UpdateWifiScanParams { wifi_scan_id: string; mac?: string; rssi?: number; scanned_at_utc?: Date; } @injectable() export class WifiScanService { constructor( @inject(WifiScanRepository) private repository: WifiScanRepository ) {} public async getAllWifiScans() { return this.repository.findAll(); } public async getWifiScanById(id: string) { return this.repository.findById(id); } public async createWifiScan(data: CreateWifiScanParams) { return this.repository.create(data); } public async createWifiScans(data: CreateWifiScanParams[]) { return await this.repository.createMany(data); } public async updateWifiScan(data: UpdateWifiScanParams) { return this.repository.update(data.wifi_scan_id, data); } public async deleteWifiScan(id: string) { return this.repository.delete(id); } }