import { inject, injectable } from "tsyringe"; import { WifiScanRepository } from "../repositories/wifiScanRepository"; import { WifiLocationRepository } from "../repositories/wifiLocationRepository"; interface CreateWifiLocationParams { mac: string; latitude: number; longitude: number; } interface UpdateWifiLocationParams { mac: string; latitude: number; longitude: number; } @injectable() export class WifiLocationService { constructor( @inject(WifiLocationRepository) private repository: WifiLocationRepository ) {} public async getAllWifiLocations() { return this.repository.findAll(); } public async getWifiLocationById(id: string) { return this.repository.findById(id); } public async createWifiLocation(data: CreateWifiLocationParams) { return this.repository.create(data); } public async createWifiLocations(data: CreateWifiLocationParams[]) { return await this.repository.createMany(data); } public async updateWifiLocation(data: UpdateWifiLocationParams) { return this.repository.update(data.mac, data); } public async deleteWifiLocation(id: string) { return this.repository.delete(id); } }