Skip to content

Commit b648817

Browse files
committed
fix: incorrect error from suggested_apps
1 parent 1389298 commit b648817

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

packages/backend/src/routers/suggest_apps.js

+19-2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ const express = require('express');
2121
const router = new express.Router();
2222
const auth = require('../middleware/auth.js');
2323
const config = require('../config');
24+
const { Context } = require('../util/context.js');
25+
const fs = require('../middleware/fs.js');
26+
const { NodeInternalIDSelector } = require('../filesystem/node/selectors.js');
2427

2528
// -----------------------------------------------------------------------//
2629
// POST /suggest_apps
@@ -51,10 +54,24 @@ router.post('/suggest_apps', auth, express.json(), async (req, res, next)=>{
5154
if(fsentry === false)
5255
return res.status(400).send('Path not found.');
5356
}
57+
58+
const services = Context.get('services');
59+
const fs = services.get('filesystem')
60+
const node = await fs.node(new NodeInternalIDSelector('mysql', fsentry.id, {
61+
source: 'suggest_apps'
62+
}))
5463

5564
// check permission
56-
if(!await chkperm(fsentry, req.user.id, 'read'))
57-
return res.status(403).send({ code:`forbidden`, message: `permission denied.`});
65+
const actor = req.actor ?? Context.get('actor');
66+
if ( ! actor ) {
67+
return res.status(500).send('failed to get Actor object');
68+
}
69+
const svc_acl = services.get('acl');
70+
if ( ! await svc_acl.check(actor, node, 'read') ) {
71+
(await svc_acl.get_safe_acl_error(actor, node, 'read'))
72+
.write(res);
73+
return;
74+
}
5875

5976
// get suggestions
6077
try{

0 commit comments

Comments
 (0)