chore: update AP helpers export, 404 logic reversal, no slugify in userslug in mock profile from remote instance

This commit is contained in:
Julian Lam
2023-06-02 14:22:43 -04:00
parent a05b674e27
commit 0cbbce8c16
3 changed files with 11 additions and 6 deletions

View File

@@ -6,12 +6,13 @@ const winston = require('winston');
const request = require('request-promise-native'); const request = require('request-promise-native');
const db = require('../database'); const db = require('../database');
const helpers = require('./helpers');
const ActivityPub = module.exports; const ActivityPub = module.exports;
ActivityPub.helpers = require('./helpers');
ActivityPub.getActor = async (id) => { ActivityPub.getActor = async (id) => {
const { hostname, actorUri: uri } = await helpers.query(id); const { hostname, actorUri: uri } = await ActivityPub.helpers.query(id);
if (!uri) { if (!uri) {
return false; return false;
} }

View File

@@ -76,7 +76,7 @@ profileController.getFederated = async function (req, res, next) {
const payload = { const payload = {
uid, uid,
username: `${preferredUsername}@${hostname}`, username: `${preferredUsername}@${hostname}`,
userslug: slugify(`${preferredUsername}@${hostname}`), userslug: `${preferredUsername}@${hostname}`,
fullname: name, fullname: name,
joindate: new Date(published).getTime(), joindate: new Date(published).getTime(),
picture: typeof icon === 'string' ? icon : icon.url, picture: typeof icon === 'string' ? icon : icon.url,

View File

@@ -17,6 +17,7 @@ const posts = require('../posts');
const messaging = require('../messaging'); const messaging = require('../messaging');
const flags = require('../flags'); const flags = require('../flags');
const slugify = require('../slugify'); const slugify = require('../slugify');
const activitypub = require('../activitypub');
const helpers = require('./helpers'); const helpers = require('./helpers');
const controllerHelpers = require('../controllers/helpers'); const controllerHelpers = require('../controllers/helpers');
@@ -24,11 +25,14 @@ const controllerHelpers = require('../controllers/helpers');
const Assert = module.exports; const Assert = module.exports;
Assert.user = helpers.try(async (req, res, next) => { Assert.user = helpers.try(async (req, res, next) => {
if (!await user.exists(req.params.uid)) { if (
return controllerHelpers.formatApiResponse(404, res, new Error('[[error:no-user]]')); (isFinite(req.params.uid) && await user.exists(req.params.uid)) ||
(req.params.uid.indexOf('@') !== -1 && await activitypub.helpers.query(req.params.uid))
) {
return next();
} }
next(); controllerHelpers.formatApiResponse(404, res, new Error('[[error:no-user]]'));
}); });
Assert.group = helpers.try(async (req, res, next) => { Assert.group = helpers.try(async (req, res, next) => {