Skip to content
Snippets Groups Projects
draw.service.ts 1.16 KiB
Newer Older
L4168's avatar
L4168 committed
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';

L4168's avatar
L4168 committed
import { MapDrawingEntity } from '../draw/coordinate.entity';

L4168's avatar
L4168 committed
@Injectable()
export class DrawService {
  constructor(
    @InjectRepository(MapDrawingEntity)
    private mapDrawingRepository: Repository<MapDrawingEntity>,
  ) {}

Samuli Virtapohja's avatar
Samuli Virtapohja committed
  async draw(gameId, data: MapDrawingEntity) {
    data['gameId'] = gameId;
Samuli Virtapohja's avatar
Samuli Virtapohja committed
    const drawing = await this.mapDrawingRepository.create(data);

    if (data.mapDrawingId == null || data.mapDrawingId == '') {
      // luo uuden instanssin.
L4168's avatar
L4168 committed
      const mapDrawing = await this.mapDrawingRepository.insert(drawing);
      return mapDrawing.identifiers;
Samuli Virtapohja's avatar
Samuli Virtapohja committed
    } else {
      //päivittää mapDrawingin
      return await this.mapDrawingRepository.save(drawing);
L4168's avatar
L4168 committed
    }
  }

  // draw map based on game and
Samuli Virtapohja's avatar
Samuli Virtapohja committed
  async drawMap(id, data: MapDrawingEntity) {
    data['gameId'] = id;
    data['drawingIsActive'] = true;
    // get faction
    const mapDrawings = await this.mapDrawingRepository.create(data);
L4168's avatar
L4168 committed

Samuli Virtapohja's avatar
Samuli Virtapohja committed
    // return mapdrawings with given faction and gameid
    return await this.mapDrawingRepository.find(mapDrawings);
L4168's avatar
L4168 committed
  }
}