44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
import { inject, injectable } from "tsyringe";
|
|
import { WifiScanRepository } from "../repositories/wifiScanRepository";
|
|
import { WifiLocationRepository } from "../repositories/wifiLocationRepository";
|
|
import { WifiLocationHistoryRepository } from "../repositories/wifiLocationHistoryRepository";
|
|
|
|
interface CreateWifiLocationHistoryParams {
|
|
mac: string;
|
|
latitude: number;
|
|
longitude: number;
|
|
}
|
|
|
|
interface UpdateWifiLocationHistoryParams {
|
|
mac: string;
|
|
latitude: number;
|
|
longitude: number;
|
|
}
|
|
|
|
@injectable()
|
|
export class WifiLocationHistoryService {
|
|
constructor(
|
|
@inject(WifiLocationHistoryRepository) private repository: WifiLocationHistoryRepository
|
|
) {}
|
|
|
|
public async getAllWifiLocationHistories() {
|
|
return this.repository.findAll();
|
|
}
|
|
|
|
public async getWifiLocationHistoryById(id: string) {
|
|
return this.repository.findById(id);
|
|
}
|
|
|
|
public async createWifiLocationHistory(data: CreateWifiLocationHistoryParams) {
|
|
return this.repository.create(data);
|
|
}
|
|
|
|
public async updateWifiLocationHistory(data: UpdateWifiLocationHistoryParams) {
|
|
return this.repository.update(data.mac, data);
|
|
}
|
|
|
|
public async deleteWifiLocationHistory(id: string) {
|
|
return this.repository.delete(id);
|
|
}
|
|
}
|