import { inject, injectable } from "tsyringe"; import { ICreateGroupRequestData } from "@spt-aki/models/eft/match/ICreateGroupRequestData"; import { TimeUtil } from "@spt-aki/utils/TimeUtil"; @injectable() export class MatchLocationService { protected locations = {}; constructor( @inject("TimeUtil") protected timeUtil: TimeUtil ) { } public createGroup(sessionID: string, info: ICreateGroupRequestData): any { const groupID = "test"; this.locations[info.location].groups[groupID] = { "_id": groupID, "owner": `pmc${sessionID}`, "location": info.location, "gameVersion": "live", "region": "EUR", "status": "wait", "isSavage": false, "timeShift": "CURR", "dt": this.timeUtil.getTimestamp(), "players": [ { "_id": `pmc${sessionID}`, "region": "EUR", "ip": "127.0.0.1", "savageId": `scav${sessionID}`, "accessKeyId": "" } ], "customDataCenter": [] }; return this.locations[info.location].groups[groupID]; } public deleteGroup(info: any): void { for (const locationID in this.locations) { for (const groupID in this.locations[locationID].groups) { if (groupID === info.groupId) { delete this.locations[locationID].groups[groupID]; return; } } } } }