Add public Android APK download
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
const downloadsService = require('./downloads.service');
|
||||
|
||||
const downloadAndroidApk = async (req, res, next) => {
|
||||
try {
|
||||
const { filePath, fileName } = await downloadsService.getAndroidApk();
|
||||
return res.download(filePath, fileName);
|
||||
} catch (error) {
|
||||
return next(error);
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
downloadAndroidApk,
|
||||
};
|
||||
@@ -0,0 +1,8 @@
|
||||
const express = require('express');
|
||||
const downloadsController = require('./downloads.controller');
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
router.get('/android-apk', downloadsController.downloadAndroidApk);
|
||||
|
||||
module.exports = router;
|
||||
@@ -0,0 +1,24 @@
|
||||
const fs = require('fs/promises');
|
||||
const path = require('path');
|
||||
const env = require('../../config/env');
|
||||
|
||||
const getAndroidApk = async () => {
|
||||
const filePath = env.androidApkPath;
|
||||
|
||||
try {
|
||||
await fs.access(filePath);
|
||||
} catch {
|
||||
const error = new Error('Android APK not found.');
|
||||
error.statusCode = 404;
|
||||
throw error;
|
||||
}
|
||||
|
||||
return {
|
||||
filePath,
|
||||
fileName: path.basename(filePath),
|
||||
};
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
getAndroidApk,
|
||||
};
|
||||
Reference in New Issue
Block a user