Added friends list request. Refactored util document. Code cleanup

This commit is contained in:
Jemma
2023-04-12 10:13:51 -05:00
parent 6aa22c8c31
commit 831fcb2bc0
8 changed files with 630 additions and 19 deletions

View File

@@ -9,7 +9,7 @@ function auth(req, res, next) {
let paramPackData = req.headers["x-nintendo-parampack"];
if(paramPackData)
paramPackData = paramPackData = util.data.decodeParamPack(paramPackData);
paramPackData = paramPackData = util.decodeParamPack(paramPackData);
else if(req.path.includes('/users/'))
return next();
@@ -19,7 +19,7 @@ function auth(req, res, next) {
if(!token || !paramPackData)
badAuth(res);
else {
const pid = util.data.processServiceToken(token);
const pid = util.processServiceToken(token);
if(pid === null)
badAuth(res);

View File

@@ -2,13 +2,13 @@ const express = require('express');
const router = express.Router();
const database = require('../../../database');
const comPostGen = require('../../../util/xmlResponseGenerator');
const processHeaders = require('../../../util/util');
const util = require('../../../util/util');
const {COMMUNITY} = require("../../../models/communities");
const {POST} = require("../../../models/post");
/* GET post titles. */
router.get('/', async function (req, res) {
const paramPack = processHeaders.data.decodeParamPack(req.headers["x-nintendo-parampack"]);
const paramPack = util.decodeParamPack(req.headers["x-nintendo-parampack"]);
let community = await database.getCommunityByTitleID(paramPack.title_id);
if(!community) res.sendStatus(404);
@@ -37,7 +37,7 @@ router.get('/new', async function (req, res) {
});
router.get('/:appID/posts', async function (req, res) {
const paramPack = processHeaders.data.decodeParamPack(req.headers["x-nintendo-parampack"]);
const paramPack = util.decodeParamPack(req.headers["x-nintendo-parampack"]);
let community = await COMMUNITY.findOne({ app_id: req.params.appID });
if(!community)
community = await database.getCommunityByTitleID(paramPack.title_id);

View File

@@ -138,7 +138,7 @@ router.get('/', async function(req, res) {
});
router.post('/:post_id/empathies', upload.none(), async function (req, res) {
let pid = util.data.processServiceToken(req.headers["x-nintendo-servicetoken"]);
let pid = util.processServiceToken(req.headers["x-nintendo-servicetoken"]);
const post = await database.getPostByID(req.params.post_id);
if(pid === null) {
res.sendStatus(403);

View File

@@ -2,8 +2,6 @@ const express = require('express');
const router = express.Router();
const database = require('../../../database');
const xmlGenerator = require('../../../util/xmlResponseGenerator');
const processHeaders = require("../../../util/util");
const {COMMUNITY} = require("../../../models/communities");
const {POST} = require("../../../models/post");
const comPostGen = require("../../../util/xmlResponseGenerator");

View File

@@ -29,7 +29,7 @@ router.post('/:post_id.delete', async function (req, res) {
});
router.post('/:post_id/empathies', upload.none(), async function (req, res) {
let pid = util.data.processServiceToken(req.headers["x-nintendo-servicetoken"]);
let pid = util.processServiceToken(req.headers["x-nintendo-servicetoken"]);
const post = await database.getPostByID(req.params.post_id);
if(pid === null) {
res.sendStatus(403);
@@ -70,7 +70,7 @@ router.post('/:post_id/empathies', upload.none(), async function (req, res) {
});
router.get('/:post_id/replies', async function (req, res) {
let pid = util.data.processServiceToken(req.headers["x-nintendo-servicetoken"]);
let pid = util.processServiceToken(req.headers["x-nintendo-servicetoken"]);
const post = await database.getPostByID(req.params.post_id);
if(!post)
return res.sendStatus(404);
@@ -109,7 +109,7 @@ module.exports = router;
async function newPost(req, res) {
let PNID = await database.getPNID(req.pid), userSettings = await database.getUserSettings(req.pid), postID = snowflake.nextId(), parentPost = null;
let paramPackData = util.data.decodeParamPack(req.headers["x-nintendo-parampack"]);
let paramPackData = util.decodeParamPack(req.headers["x-nintendo-parampack"]);
let community_id = req.body.community_id;
let community = await database.getCommunityByID(community_id)
@@ -132,12 +132,12 @@ async function newPost(req, res) {
appData = req.body.app_data.replace(/[^A-Za-z0-9+/=\s]/g, "");
if (req.body.painting) {
painting = req.body.painting.replace(/\0/g, "").trim();
paintingURI = await util.data.processPainting(painting, true);
await util.data.uploadCDNAsset('pn-cdn', `paintings/${req.pid}/${postID}.png`, paintingURI, 'public-read');
paintingURI = await util.processPainting(painting, true);
await util.uploadCDNAsset('pn-cdn', `paintings/${req.pid}/${postID}.png`, paintingURI, 'public-read');
}
if (req.body.screenshot) {
screenshot = req.body.screenshot.replace(/\0/g, "").trim();
await util.data.uploadCDNAsset('pn-cdn', `screenshots/${req.pid}/${postID}.jpg`, Buffer.from(screenshot, 'base64'), 'public-read');
await util.uploadCDNAsset('pn-cdn', `screenshots/${req.pid}/${postID}.jpg`, Buffer.from(screenshot, 'base64'), 'public-read');
}
let miiFace;

View File

@@ -3,15 +3,22 @@ const NodeRSA = require('node-rsa');
const fs = require('fs-extra');
const database = require('../database');
const logger = require('../logger');
const grpc = require('nice-grpc');
const grpcServices = require('grpc');
const config = require('../../config.json');
const { SETTINGS } = require('../models/settings');
const { CONTENT } = require('../models/content');
const { NOTIFICATIONS } = require('../models/notifications');
let TGA = require('tga');
let pako = require('pako');
let PNG = require('pngjs').PNG;
let bmp = require("bmp-js");
const { FriendsDefinition } = grpcServices.friends.service;
const TGA = require('tga');
const pako = require('pako');
const PNG = require('pngjs').PNG;
const bmp = require("bmp-js");
const aws = require('aws-sdk');
const { ip, port, api_key } = config.grpc.friends;
const channel = grpc.createChannel(`${ip}:${port}`);
const client = grpc.createClient(FriendsDefinition, channel);
const spacesEndpoint = new aws.Endpoint('nyc3.digitaloceanspaces.com');
const s3 = new aws.S3({
@@ -299,6 +306,15 @@ let methods = {
else
return await saveNotification(pid, type, title, content, reference_id, '');
},
getFriends: async function(pid) {
return await client.getUserFriendPIDs({
pid: pid
}, {
metadata: grpc.Metadata({
'X-API-Key': api_key
})
});
}
};
exports.data = methods;
module.exports = methods;