aboutsummaryrefslogtreecommitdiffstats
path: root/app/Controllers/Http/Api/Static/AnnouncementsController.ts
diff options
context:
space:
mode:
Diffstat (limited to 'app/Controllers/Http/Api/Static/AnnouncementsController.ts')
-rw-r--r--app/Controllers/Http/Api/Static/AnnouncementsController.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/app/Controllers/Http/Api/Static/AnnouncementsController.ts b/app/Controllers/Http/Api/Static/AnnouncementsController.ts
new file mode 100644
index 0000000..c20707b
--- /dev/null
+++ b/app/Controllers/Http/Api/Static/AnnouncementsController.ts
@@ -0,0 +1,20 @@
1import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext';
2import Application from '@ioc:Adonis/Core/Application';
3import path from 'node:path';
4import fs from 'fs-extra';
5
6export default class AnnouncementsController {
7 public async show({ response, params }: HttpContextContract) {
8 const announcement = path.join(
9 Application.resourcesPath(),
10 'announcements',
11 `${params.version}.json`,
12 );
13
14 if (await fs.pathExists(announcement)) {
15 return response.download(announcement);
16 }
17
18 return response.status(404).send('No announcement found.');
19 }
20}