enumManager.ts 901 B

12345678910111213141516171819202122232425262728
  1. import ApiRequestService from "./apiRequestService";
  2. import UrlBuilder from "~/services/utils/urlBuilder";
  3. import HydraDenormalizer from "~/services/data/serializer/denormalizer/hydraDenormalizer";
  4. import {AssociativeArray} from "~/services/data/data";
  5. class EnumManager {
  6. private apiRequestService: ApiRequestService;
  7. public constructor(apiRequestService: ApiRequestService) {
  8. this.apiRequestService = apiRequestService
  9. }
  10. public async fetch(enumName: string): Promise<Array<AssociativeArray>> {
  11. const url = UrlBuilder.join('api', 'enum', enumName)
  12. const response = await this.apiRequestService.get(url)
  13. const data = await HydraDenormalizer.denormalize(response)
  14. return data.items.map(
  15. (v: string, k: string | number) => {
  16. return {value: k, label: v}
  17. }
  18. )
  19. }
  20. }
  21. export default EnumManager