refactor: create Summoner Mongo Model

This commit is contained in:
Valentin Kaelin 2020-10-05 12:40:02 +02:00
parent e35492840e
commit 25af97d4a6
5 changed files with 27 additions and 20 deletions

View file

@ -1,6 +1,5 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import { SummonerModel } from '@ioc:Adonis/League'
import mongodb from '@ioc:Mongodb/Database'
import Summoner from 'App/Models/Summoner'
import MatchRepository from 'App/Repositories/MatchRepository'
import Jax from 'App/Services/Jax'
import MatchService from 'App/Services/MatchService'
@ -44,11 +43,9 @@ export default class SummonersController {
// { puuid: account.puuid }
// )
const summonersCollection = await mongodb.connection().collection('summoners')
let summonerDB:SummonerModel|null = await summonersCollection.findOne({ puuid: account.puuid })
let summonerDB = await Summoner.findOne({ puuid: account.puuid })
if(!summonerDB) {
await summonersCollection.insertOne({ puuid: account.puuid })
summonerDB = {puuid: account.puuid }
summonerDB = await Summoner.create({ puuid: account.puuid })
}
// Summoner names
@ -71,7 +68,7 @@ export default class SummonersController {
// SAVE IN DB
// await summonerDB.save()
await summonersCollection.updateOne({ puuid: account.puuid }, summonerDB)
await summonerDB.save()
} catch (error) {
console.log('username not found')
console.log(error)

View file

@ -0,0 +1,21 @@
import { Model } from '@ioc:Mongodb/Model'
import { MatchReferenceDto } from 'App/Services/Jax/src/Endpoints/MatchlistEndpoint'
export interface SummonerModel {
puuid: string,
matchList?: MatchReferenceDto[],
names?: SummonerNames[]
}
interface SummonerNames {
name: string,
date: Date
}
export default class Summoner extends Model implements SummonerModel {
public static collectionName = 'summoners'
public puuid: string
public matchList?: MatchReferenceDto[]
public names?: SummonerNames[]
}

View file

@ -3,7 +3,7 @@ import Jax from './Jax'
import { getSeasonNumber } from 'App/helpers'
import { MatchReferenceDto } from './Jax/src/Endpoints/MatchListEndpoint'
import { SummonerDTO } from './Jax/src/Endpoints/SummonerEndpoint'
import { SummonerModel } from '@ioc:Adonis/League'
import { SummonerModel } from 'App/Models/Summoner'
class MatchService {
/**

View file

@ -1,7 +1,7 @@
import Jax from './Jax'
import { SummonerDTO } from 'App/Services/Jax/src/Endpoints/SummonerEndpoint'
import { LeagueEntryDTO } from './Jax/src/Endpoints/LeagueEndpoint'
import { SummonerModel } from '@ioc:Adonis/League'
import { SummonerModel } from 'App/Models/Summoner'
class SummonerService {
private uniqueLeagues = ['CHALLENGER', 'GRANDMASTER', 'MASTER']

View file

@ -1,14 +1,3 @@
declare module '@ioc:Adonis/League' {
import { MatchReferenceDto } from 'App/Services/Jax/src/Endpoints/MatchlistEndpoint'
interface SummonerModel {
puuid: string,
matchList?: MatchReferenceDto[],
names?: SummonerNames[]
}
interface SummonerNames {
name: string,
date: Date
}
}