src/controller/1.0.0/language.controller.ts
1.0.0/languages
Methods |
|
Async downloadflag | |||||||||
downloadflag(filename: string, res)
|
|||||||||
Decorators :
@Get('get-flag')
|
|||||||||
Parameters :
Returns :
Promise<any>
|
Async getLanguages |
getLanguages()
|
Decorators :
@Get()
|
Returns :
Promise<any>
|
import {
Controller, Get, Query, Res
} from "@nestjs/common";
import * as fs from "fs";
import * as path from "path";
import { FIleMissingException } from "src/exception/file/file-missing.exception";
import { LanguageService100 } from "src/service/1.0.0/language.service";
@Controller("1.0.0/languages")
export class LanguageController100 {
constructor(private readonly languageService: LanguageService100) {}
@Get()
async getLanguages(): Promise<any> {
return {
languages: await this.languageService.getAll(),
};
}
@Get("get-flag")
async downloadflag(
@Query("filename") filename: string,
@Res() res
): Promise<any> {
if (
fs.existsSync(
path.resolve(__dirname, "../../../files/flags", filename)
) &&
fs
.statSync(path.resolve(__dirname, "../../../files/flags", filename))
.isFile()
) {
res.attachment(filename);
res.status(200);
res.sendFile(filename, {
root: path.resolve(__dirname, "../../../files/flags"),
});
} else {
throw new FIleMissingException();
}
}
}