aboutsummaryrefslogtreecommitdiffstats
path: root/app/Controllers/Http/Api/Static
diff options
context:
space:
mode:
Diffstat (limited to 'app/Controllers/Http/Api/Static')
-rw-r--r--app/Controllers/Http/Api/Static/AnnouncementsController.ts20
-rw-r--r--app/Controllers/Http/Api/Static/EmptyController.ts7
-rw-r--r--app/Controllers/Http/Api/Static/FeaturesController.ts14
3 files changed, 41 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}
diff --git a/app/Controllers/Http/Api/Static/EmptyController.ts b/app/Controllers/Http/Api/Static/EmptyController.ts
new file mode 100644
index 0000000..a07790e
--- /dev/null
+++ b/app/Controllers/Http/Api/Static/EmptyController.ts
@@ -0,0 +1,7 @@
1import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext';
2
3export default class EmptyController {
4 public async show({ response }: HttpContextContract) {
5 return response.send([]);
6 }
7}
diff --git a/app/Controllers/Http/Api/Static/FeaturesController.ts b/app/Controllers/Http/Api/Static/FeaturesController.ts
new file mode 100644
index 0000000..d471b11
--- /dev/null
+++ b/app/Controllers/Http/Api/Static/FeaturesController.ts
@@ -0,0 +1,14 @@
1import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext';
2
3export default class FeaturesController {
4 public async show({ response }: HttpContextContract) {
5 return response.send({
6 isServiceProxyEnabled: true,
7 isWorkspaceEnabled: true,
8 isAnnouncementsEnabled: true,
9 isSettingsWSEnabled: false,
10 isMagicBarEnabled: true,
11 isTodosEnabled: true,
12 });
13 }
14}