Add telemetry support from via Judd

This commit is contained in:
kittentm 2026-02-22 19:48:25 +01:00
commit 227002a9ef
19 changed files with 4110 additions and 4 deletions

3
judd/titles/index.js Normal file
View file

@ -0,0 +1,3 @@
module.exports = {
'wup-agmj': require('./splatoon')
};

71
judd/titles/splatoon.js Normal file
View file

@ -0,0 +1,71 @@
const multer = require('multer');
const { joi } = require('../util');
const { SplatfestResult } = require('../models/splatfest_result');
module.exports = {
type: 'splatfest',
result_model: SplatfestResult,
validation_schema: joi.object({
ServerEnv: joi.string(),
PId: joi.numberstring(),
MiiName: joi.string(),
Model: joi.numberstring(),
Skin: joi.numberstring(),
EyeColor: joi.numberstring(),
Weapon: joi.numberstring(),
SumPaint: joi.numberstring(),
Gear_Shoes: joi.numberstring(),
Gear_Shoes_Skill0: joi.numberstring(),
Gear_Shoes_Skill1: joi.numberstring(),
Gear_Shoes_Skill2: joi.numberstring(),
Gear_Clothes: joi.numberstring(),
Gear_Clothes_Skill0: joi.numberstring(),
Gear_Clothes_Skill1: joi.numberstring(),
Gear_Clothes_Skill2: joi.numberstring(),
Gear_Head: joi.numberstring(),
Gear_Head_Skill0: joi.numberstring(),
Gear_Head_Skill1: joi.numberstring(),
Gear_Head_Skill2: joi.numberstring(),
Rank: joi.numberstring(),
Udemae: joi.numberstring(),
RegularKillSum: joi.numberstring(),
WinSum: joi.numberstring(),
LoseSum: joi.numberstring(),
TodaysCondition: joi.numberstring(),
Region: joi.string(),
Area: joi.numberstring(),
FesID: joi.numberstring(),
FesState: joi.numberstring(),
FesTeam: joi.numberstring(),
FesGrade: joi.numberstring(),
FesPoint: joi.numberstring(),
FesPower: joi.numberstring(),
BestFesPower: joi.numberstring(),
Money: joi.numberstring(),
Shell: joi.numberstring(),
TotalBonusShell: joi.numberstring(),
MatchingTime: joi.numberstring(),
IsRematch: joi.numberstring(),
SaveDataCorrupted: joi.numberstring(),
DisconnectedPId: joi.numberstring(),
DisconnectedMemHash: joi.numberstring(),
SessionID: joi.numberstring(),
StartNetworkTime: joi.numberstring(),
GameMode: joi.numberstring(),
Rule: joi.numberstring(),
Stage: joi.numberstring(),
Team: joi.numberstring(),
IsWinGame: joi.numberstring(),
Kill: joi.numberstring(),
Death: joi.numberstring(),
Paint: joi.numberstring(),
IsNetworkBurst: joi.numberstring(),
BottleneckPlayerNum: joi.numberstring(),
MaxSilenceFrame: joi.numberstring(),
MemoryHash: joi.numberstring(),
Paint_Alpha: joi.numberstring(),
Paint_Bravo: joi.numberstring(),
FaceImg: joi.binary()
}).unknown(true).options({ presence: 'optional' }).required(),
multipart_validator: multer().any()
};