Files
LocationHub/server/src/services/wifiScanService.ts

46 lines
1.0 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;
}
interface UpdateWifiScanParams {
wifi_scan_id: string;
mac?: string;
rssi?: number;
}
@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);
}
}