File

src/controller/1.0.0/language.controller.ts

Prefix

1.0.0/languages

Index

Methods

Methods

Async downloadflag
downloadflag(filename: string, res)
Decorators :
@Get('get-flag')
Parameters :
Name Type Optional
filename string No
res No
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();
    }
  }
}

result-matching ""

    No results matching ""