mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-07-04 15:48:03 +02:00
fix: throw errors when local objects don't exist
This commit is contained in:
@@ -6,6 +6,7 @@ const nconf = require('nconf');
|
|||||||
const validator = require('validator');
|
const validator = require('validator');
|
||||||
|
|
||||||
const posts = require('../posts');
|
const posts = require('../posts');
|
||||||
|
const categories = require('../categories');
|
||||||
const request = require('../request');
|
const request = require('../request');
|
||||||
const db = require('../database');
|
const db = require('../database');
|
||||||
const ttl = require('../cache/ttl');
|
const ttl = require('../cache/ttl');
|
||||||
@@ -188,6 +189,9 @@ Helpers.resolveObjects = async (ids) => {
|
|||||||
}
|
}
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 'user': {
|
case 'user': {
|
||||||
|
if (!await user.exists(resolvedId)) {
|
||||||
|
throw new Error('[[error:activitypub.invalid-id]]');
|
||||||
|
}
|
||||||
return activitypub.mocks.actors.user(resolvedId);
|
return activitypub.mocks.actors.user(resolvedId);
|
||||||
}
|
}
|
||||||
case 'post': {
|
case 'post': {
|
||||||
@@ -197,12 +201,15 @@ Helpers.resolveObjects = async (ids) => {
|
|||||||
{ stripTags: false }
|
{ stripTags: false }
|
||||||
)).pop();
|
)).pop();
|
||||||
if (!post) {
|
if (!post) {
|
||||||
return;
|
throw new Error('[[error:activitypub.invalid-id]]');
|
||||||
}
|
}
|
||||||
return activitypub.mocks.note(post);
|
return activitypub.mocks.note(post);
|
||||||
}
|
}
|
||||||
case 'category': {
|
case 'category': {
|
||||||
return activitypub.mocks.category(resolvedId);
|
if (!await categories.exists(resolvedId)) {
|
||||||
|
throw new Error('[[error:activitypub.invalid-id]]');
|
||||||
|
}
|
||||||
|
return activitypub.mocks.actors.category(resolvedId);
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
return activitypub.get('uid', 0, id);
|
return activitypub.get('uid', 0, id);
|
||||||
|
|||||||
Reference in New Issue
Block a user