import Sekcia from './../models/Sekcia'
import VapiWrapper from './../VapiWrapper'

export default class SekcieStore extends VapiWrapper {
  constructor (baseUrl) {
    super (
      baseUrl,
      {
        state: {
          sekcia: new Sekcia({}),
          sekcie: []
        }
      }
    )
    .get({
      action: 'ziskajSekciu',
      property: 'sekcia',
      path: ({id}) => `/sekcie/${id}`,
      onSuccess: (state, payload) => {
        state.sekcia = new Sekcia(payload.data.data)
      }
    })
    .get({
      action: 'ziskajZoznamSekciiUcebnehoMaterialu',
      property: 'sekcie',
      path: ({id}) => `/ucebne-materialy/${id}/sekcie`,
      onSuccess: (state, payload) => {
        if (Array.isArray(payload.data.data)) {
          state.sekcie = payload.data.data.map((sekcia) => {
            return new Sekcia(sekcia)
          })
        } else {
          state.sekcie = []
        }
      }
    })
  }
}
