diff --git a/judd/models/splatfest_result.js b/judd/models/splatfest_result.js index 2220d09..208738c 100644 --- a/judd/models/splatfest_result.js +++ b/judd/models/splatfest_result.js @@ -69,11 +69,4 @@ const SplatfestResult = connection.define('SplatfestResult', { tableName: 'results', timestamps: true }); - -SplatfestResult.afterCreate((result, options) => { - console.log('---------------------'); - console.log(result.toJSON()); - console.log(''); -}); - module.exports = { SplatfestResult }; \ No newline at end of file diff --git a/judd/routes/index.js b/judd/routes/index.js index 09d1eee..e002398 100644 --- a/judd/routes/index.js +++ b/judd/routes/index.js @@ -1,36 +1,5 @@ -const router = require('express').Router(); -const titles = require('../titles'); +const express = require('express'); +const app = express(); +const postRoutes = require('./post'); -router.post('/post', async (request, response, next) => { - const title = titles[request.titleCode]; - - if (!title) { - console.warn(`[Blocked] POST request with unknown title code: ${request.titleCode}`); - return response.status(404).send('Not Found'); - } - - const ResultTypeModel = title.result_model; - - try { - const result = await ResultTypeModel.create({ - type: title.type, - bossUniqueId: request.headers['x-boss-uniqueid'], - bossDigest: request.headers['x-boss-digest'], - ...request.resultData - }); - - console.log(`\n--- ${title.type.toUpperCase()} RESULT SAVED ---`); - console.log(`User: ${result.MiiName || 'Unknown'}`); - console.log('----------------------------------\n'); - - } catch (error) { - console.error('[Database Error]', error.message); - return next(error); - } - - return response.send('success'); -}); - -module.exports = { - post: router -}; \ No newline at end of file +app.use('/', postRoutes.post); \ No newline at end of file diff --git a/judd/routes/post.js b/judd/routes/post.js index bd5d03f..63d95ee 100644 --- a/judd/routes/post.js +++ b/judd/routes/post.js @@ -5,24 +5,22 @@ router.post('/post', async (request, response, next) => { const title = titles[request.titleCode]; if (!title) { - console.error(`Title config not found for code: ${request.titleCode}`); - return response.status(500).send('error: title not configured'); + console.warn(`[Blocked] POST request with unknown title code: ${request.titleCode}`); + return response.status(404).send('Not Found'); } - const resultType = title.type; const ResultTypeModel = title.result_model; try { const result = await ResultTypeModel.create({ - type: resultType, + type: title.type, bossUniqueId: request.headers['x-boss-uniqueid'], bossDigest: request.headers['x-boss-digest'], - ...request.resultData + ...request.resultData }); - console.log(`[Database] Saved ${resultType} result for ID: ${result.bossUniqueId}`); } catch (error) { - console.error('Database Save Error:', error); + console.error('[Database Error]', error.message); return next(error); } diff --git a/judd/server.js b/judd/server.js index 9862ced..671763e 100644 --- a/judd/server.js +++ b/judd/server.js @@ -1,6 +1,7 @@ const express = require('express'); const morgan = require('morgan'); const routes = require('./routes') +const telemetryRoute = require('./routes/post'); const titleCodeMiddleware = require('./middleware/title-code'); const rawBodyMiddleware = require('./middleware/raw-body'); const validateBOSSDigestMiddleware = require('./middleware/validate-boss-digest'); @@ -18,7 +19,7 @@ app.use(rawBodyMiddleware); app.use(validateBOSSDigestMiddleware); app.use(copyRequestStreamMiddleware); app.use(validateMultipartMiddleware); -app.use(routes.post); +app.use(telemetryRoute); app.use((request, response) => { const protocol = request.protocol; diff --git a/judd/titles/splatoon.js b/judd/titles/splatoon.js index 87c6c73..3ae06e5 100644 --- a/judd/titles/splatoon.js +++ b/judd/titles/splatoon.js @@ -3,7 +3,7 @@ const { joi } = require('../util'); const { SplatfestResult } = require('../models/splatfest_result'); module.exports = { - type: 'splatfest', + type: 'telemetry', result_model: SplatfestResult, validation_schema: joi.object({ ServerEnv: joi.string(),