Skip to content

Commit

Permalink
Make SendRide code slightly less ugly
Browse files Browse the repository at this point in the history
  • Loading branch information
RubberDuckShobe committed Sep 2, 2023
1 parent 80d298f commit ee5dccc
Show file tree
Hide file tree
Showing 4 changed files with 92 additions and 155 deletions.
5 changes: 2 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
},
"homepage": "https://github.com/AudiosurfResearch/Wavebreaker#readme",
"devDependencies": {
"@types/node": "^18.6.1",
"@types/node": "^20.5.9",
"@types/node-steam-openid": "^1.0.0",
"@types/steamapi": "^2.2.2",
"@types/steamid": "^2.0.1",
Expand All @@ -50,10 +50,9 @@
"discord.js": "^14.13.0",
"fastify": "^4.22.0",
"fastify-https-redirect": "^1.0.4",
"ioredis": "^5.3.2",
"musicbrainz-api": "^0.10.3",
"node-steam-openid": "^1.2.0",
"redis": "^4.6.8",
"redis-om": "^0.4.2",
"steamapi": "^2.4.2",
"steamid": "^2.0.0",
"xml2js": "^0.6.2"
Expand Down
49 changes: 19 additions & 30 deletions routes/as1/gameplay.ts
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,23 @@ export default async function routes(fastify: FastifyInstance) {
},
});

const scoreComponent = {
trackShape: request.body.trackshape,
xstats: request.body.xstats,
density: request.body.density,
vehicleId: request.body.vehicle,
score: request.body.score,
feats: request.body.feats,
songLength: request.body.songlength,
goldThreshold: request.body.goldthreshold,
skillPoints: calcSkillPoints(
request.body.score,
request.body.goldthreshold,
request.body.league
),
iss: request.body.iss,
isj: request.body.isj,
};
const score = await prisma.score.upsert({
where: {
userId_leagueId_songId: {
Expand All @@ -320,45 +337,17 @@ export default async function routes(fastify: FastifyInstance) {
create: {
userId: user.id,
leagueId: request.body.league,
trackShape: request.body.trackshape,
xstats: request.body.xstats,
density: request.body.density,
vehicleId: request.body.vehicle,
score: request.body.score,
feats: request.body.feats,
songLength: request.body.songlength,
goldThreshold: request.body.goldthreshold,
skillPoints: calcSkillPoints(
request.body.score,
request.body.goldthreshold,
request.body.league
),
iss: request.body.iss,
isj: request.body.isj,
songId: request.body.songid,
...scoreComponent,
},
update: {
playCount: {
increment: 1,
},
...(prevScore &&
prevScore.score < request.body.score && {
trackShape: request.body.trackshape,
xstats: request.body.xstats,
density: request.body.density,
vehicleId: request.body.vehicle,
score: request.body.score,
feats: request.body.feats,
songLength: request.body.songlength,
goldThreshold: request.body.goldthreshold,
skillPoints: calcSkillPoints(
request.body.score,
request.body.goldthreshold,
request.body.league
),
iss: request.body.iss,
isj: request.body.isj,
rideTime: new Date(),
...scoreComponent,
}),
},
});
Expand Down
10 changes: 2 additions & 8 deletions util/db.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { PrismaClient, Song, User } from "@prisma/client";
import { createClient } from "redis";
import Redis from "ioredis";

export const prisma = new PrismaClient({
log: [
Expand All @@ -10,13 +10,7 @@ export const prisma = new PrismaClient({
],
});

export const redis = createClient({
url: process.env.REDIS_URL,
});
redis.on("error", (err) => console.error("Redis Client Error", err));
redis.connect().then(() => {
console.log("Connected to Redis");
});
export const redis = new Redis(process.env.REDIS_URL);

export interface ExtendedUser extends User {
totalScore: number;
Expand Down
Loading

0 comments on commit ee5dccc

Please sign in to comment.