LocationHub/server/src/services/wifiScanService.ts
2025-02-08 21:24:40 +01:00

48 lines
1.1 KiB
TypeScript

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);
}
}