import { YrkesomradeResponse } from './api/yrkesomrade.response.model';
import { mapResponseToYrkesgrupp, Yrkesgrupp } from './yrkesgrupp.model';

export interface Yrkesomrade {
  value: string;
  name: string;
  items: Yrkesgrupp[];
}

export function mapResponseToYrkesomrade(data: YrkesomradeResponse): Yrkesomrade {
  const { id, name, items } = data;

  return { value: id, name, items: items.map(item => mapResponseToYrkesgrupp(item)) };
}

export function yrkeToTextMap(yrkesomraden: Yrkesomrade[]): { [key: string]: string } {
  const translateMap: { [key: string]: string } = {};

  yrkesomraden.forEach(yrkesomrade => {
    translateMap[yrkesomrade.value] = yrkesomrade.name;
    yrkesomrade.items.forEach(yrkesgrupp => {
      translateMap[yrkesgrupp.value] = yrkesgrupp.name;
    });
  });
  return translateMap;
}
