aboutsummaryrefslogtreecommitdiffstats
path: root/app/Controllers/Http/Api/Static/AnnouncementsController.ts
blob: c20707b5dea48287c1316aab11705ef4c13e39da (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext';
import Application from '@ioc:Adonis/Core/Application';
import path from 'node:path';
import fs from 'fs-extra';

export default class AnnouncementsController {
  public async show({ response, params }: HttpContextContract) {
    const announcement = path.join(
      Application.resourcesPath(),
      'announcements',
      `${params.version}.json`,
    );

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

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