1 import {Skill, SkillID} from '../shared/skills';
2 import { db } from './lib/db';
3 import { each } from 'lodash';
5 export async function getPlayerSkills(playerId: string): Promise<Skill[]> {
6 return db.select('*').from<Skill>('player_skills').where({
11 export async function getPlayerSkillsAsObject(playerId: string): Promise<Map<SkillID, Skill>> {
12 const arr = await getPlayerSkills(playerId);
14 const skillMap = arr.reduce((acc, skill) => {
15 acc.set(skill.id, skill);
17 }, new Map<SkillID, Skill>());
23 export async function updatePlayerSkills(playerId: string, skills: Record<SkillID, number>) {
26 each(skills, (val, skillId) => {
27 sql.push(`update player_skills set exp = exp + ${val} where id = '${skillId}' and player_id = '${playerId}'`);
31 await db.raw(sql.join(';'));