forked from spacebar/SplatNet-Backend
Update 'splatfest' type to 'telemetry type to make more sense. + actually made index be index & post be post instead of post being index.
This commit is contained in:
parent
fff6d3399f
commit
88aac5afe2
5 changed files with 12 additions and 51 deletions
|
|
@ -69,11 +69,4 @@ const SplatfestResult = connection.define('SplatfestResult', {
|
||||||
tableName: 'results',
|
tableName: 'results',
|
||||||
timestamps: true
|
timestamps: true
|
||||||
});
|
});
|
||||||
|
|
||||||
SplatfestResult.afterCreate((result, options) => {
|
|
||||||
console.log('---------------------');
|
|
||||||
console.log(result.toJSON());
|
|
||||||
console.log('');
|
|
||||||
});
|
|
||||||
|
|
||||||
module.exports = { SplatfestResult };
|
module.exports = { SplatfestResult };
|
||||||
|
|
@ -1,36 +1,5 @@
|
||||||
const router = require('express').Router();
|
const express = require('express');
|
||||||
const titles = require('../titles');
|
const app = express();
|
||||||
|
const postRoutes = require('./post');
|
||||||
|
|
||||||
router.post('/post', async (request, response, next) => {
|
app.use('/', postRoutes.post);
|
||||||
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
|
|
||||||
};
|
|
||||||
|
|
@ -5,24 +5,22 @@ router.post('/post', async (request, response, next) => {
|
||||||
const title = titles[request.titleCode];
|
const title = titles[request.titleCode];
|
||||||
|
|
||||||
if (!title) {
|
if (!title) {
|
||||||
console.error(`Title config not found for code: ${request.titleCode}`);
|
console.warn(`[Blocked] POST request with unknown title code: ${request.titleCode}`);
|
||||||
return response.status(500).send('error: title not configured');
|
return response.status(404).send('Not Found');
|
||||||
}
|
}
|
||||||
|
|
||||||
const resultType = title.type;
|
|
||||||
const ResultTypeModel = title.result_model;
|
const ResultTypeModel = title.result_model;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const result = await ResultTypeModel.create({
|
const result = await ResultTypeModel.create({
|
||||||
type: resultType,
|
type: title.type,
|
||||||
bossUniqueId: request.headers['x-boss-uniqueid'],
|
bossUniqueId: request.headers['x-boss-uniqueid'],
|
||||||
bossDigest: request.headers['x-boss-digest'],
|
bossDigest: request.headers['x-boss-digest'],
|
||||||
...request.resultData
|
...request.resultData
|
||||||
});
|
});
|
||||||
console.log(`[Database] Saved ${resultType} result for ID: ${result.bossUniqueId}`);
|
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Database Save Error:', error);
|
console.error('[Database Error]', error.message);
|
||||||
return next(error);
|
return next(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const morgan = require('morgan');
|
const morgan = require('morgan');
|
||||||
const routes = require('./routes')
|
const routes = require('./routes')
|
||||||
|
const telemetryRoute = require('./routes/post');
|
||||||
const titleCodeMiddleware = require('./middleware/title-code');
|
const titleCodeMiddleware = require('./middleware/title-code');
|
||||||
const rawBodyMiddleware = require('./middleware/raw-body');
|
const rawBodyMiddleware = require('./middleware/raw-body');
|
||||||
const validateBOSSDigestMiddleware = require('./middleware/validate-boss-digest');
|
const validateBOSSDigestMiddleware = require('./middleware/validate-boss-digest');
|
||||||
|
|
@ -18,7 +19,7 @@ app.use(rawBodyMiddleware);
|
||||||
app.use(validateBOSSDigestMiddleware);
|
app.use(validateBOSSDigestMiddleware);
|
||||||
app.use(copyRequestStreamMiddleware);
|
app.use(copyRequestStreamMiddleware);
|
||||||
app.use(validateMultipartMiddleware);
|
app.use(validateMultipartMiddleware);
|
||||||
app.use(routes.post);
|
app.use(telemetryRoute);
|
||||||
|
|
||||||
app.use((request, response) => {
|
app.use((request, response) => {
|
||||||
const protocol = request.protocol;
|
const protocol = request.protocol;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ const { joi } = require('../util');
|
||||||
const { SplatfestResult } = require('../models/splatfest_result');
|
const { SplatfestResult } = require('../models/splatfest_result');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
type: 'splatfest',
|
type: 'telemetry',
|
||||||
result_model: SplatfestResult,
|
result_model: SplatfestResult,
|
||||||
validation_schema: joi.object({
|
validation_schema: joi.object({
|
||||||
ServerEnv: joi.string(),
|
ServerEnv: joi.string(),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue