summaryrefslogtreecommitdiffstats
path: root/app/Controllers/Http/Api/Static/AnnouncementsController.ts
blob: 090ee1c8c0f1ee0fae49d9f17798bc7f52a72a15 (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.');
  }
}