aboutsummaryrefslogtreecommitdiffstats
path: root/app/Controllers/Http/Api/Static/AnnouncementsController.ts
blob: 565df5e12b1f96a553be099b65d9fc048ffaca07 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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.resourcesPath(),
      'announcements',
      `${params.version}.json`,
    );

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

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