aboutsummaryrefslogtreecommitdiffstats
path: root/app/Controllers/Http/Api/Static/AnnouncementsController.ts
blob: 85aed4d1681592d2732873da8cb174fb085ca4df (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import type { HttpContext } from '@adonisjs/core/http';
import app from '@adonisjs/core/services/app';
import path from 'node:path';
import fs from 'fs-extra';

export default class AnnouncementsController {
  public async show({ response, params }: HttpContext) {
    const announcement = path.join(
      app.appRoot.host,
      'resources',
      'announcements',
      `${params.version}.json`,
    );

    if (await fs.pathExists(announcement)) {
      return response.download(announcement);
    }

    return response.status(404).send('No announcement found.');
  }
}