@appsemble/node-utils
Version:
NodeJS utilities used by Appsemble internally.
21 lines • 812 B
JavaScript
import { assertKoaCondition, logger } from '@appsemble/node-utils';
export function createRobotsHandler({ getApp }) {
return async (ctx) => {
const app = await getApp({ context: ctx, query: { attributes: ['id', 'visibility'] } });
assertKoaCondition(app != null, ctx, 404, 'App not found');
switch (app.visibility) {
case 'public':
ctx.body = 'User-agent: *\nAllow: *\n';
break;
case 'unlisted':
case 'private':
ctx.body = 'User-agent: *\nDisallow: /\n';
break;
default:
logger.error('Unknown visibility', { visibility: app.visibility });
ctx.status = 500;
break;
}
};
}
//# sourceMappingURL=robotsHandler.js.map