LocationHub/server/src/services/wifiLocationService.ts

47 lines
1.2 KiB
TypeScript

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