mirror of
https://github.com/PretendoNetwork/miiverse-api.git
synced 2026-09-09 09:05:14 -05:00
Added friends list request. Refactored util document. Code cleanup
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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");
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user