diff options
Diffstat (limited to 'app/Controllers/Http/Api/Static/AnnouncementsController.ts')
-rw-r--r-- | app/Controllers/Http/Api/Static/AnnouncementsController.ts | 20 |
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 @@ | |||
1 | import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'; | ||
2 | import Application from '@ioc:Adonis/Core/Application'; | ||
3 | import path from 'node:path'; | ||
4 | import fs from 'fs-extra'; | ||
5 | |||
6 | export 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 | } | ||