{"version":3,"file":"ArtworkService-cb9d9166.js","sources":["../../../app/javascript/services/ArtworkService.js"],"sourcesContent":["import api from '~/api'\nimport ValidationService, { isMax, isMin, isRequired, maxLength } from '~/services/ValidationService'\n\nconst validate = (artwork) => {\n return new Promise((resolve, reject) => {\n const thisYear = new Date().getFullYear()\n const validationRules = {\n title: [isRequired('Zadajte názov diela')],\n description: [isRequired('Zadajte popis diela'), maxLength(5000, 'Zadajte najviac 5000 znakov')],\n excerpt: [maxLength(255, 'Zadajte najviac 255 znakov')],\n year: [isMin(thisYear - 75, 'Zadajte správny rok'), isMax(thisYear, 'Zadajte správny rok')],\n course_id: [isRequired('Zadajte predmet')],\n artwork_type_id: [isRequired('Zadajte typ diela')]\n }\n\n ValidationService.validate(artwork, validationRules).then((result) => {\n result.isValid ? resolve() : reject(result.errors)\n })\n })\n}\n\nexport default {\n list() {\n return api.artworks.list()\n },\n\n listAll({ page, perPage }) {\n return api.artworks.listAll({ query: { page: page, per_page: perPage } })\n },\n\n search(q) {\n return api.artworks.search({ query: { q } })\n },\n\n get(id) {\n return api.artworks.get({ id })\n },\n\n getFormOptions() {\n return api.artworks.formOptions()\n },\n\n async create(data) {\n return new Promise(async (resolve, reject) => {\n try {\n await validate(data)\n // Convert attachments format\n const payload = { ...data }\n payload.image_order = (payload.images || []).map(({ id }) => id)\n payload.images = (payload.images || []).map(({ signed_id }) => signed_id)\n payload.video = payload.video && payload.video.signed_id\n payload.audio = payload.audio && payload.audio.signed_id\n payload.document = payload.document && payload.document.signed_id\n const resource = await api.artworks.create({ data: { artwork: payload } })\n resolve(resource)\n } catch (e) {\n reject(e?.response?.data || e)\n }\n })\n },\n\n async update(id, data) {\n return new Promise(async (resolve, reject) => {\n try {\n await validate(data)\n // Convert attachments format\n const payload = { ...data }\n payload.image_order = (payload.images || []).map(({ id }) => id)\n payload.images = (payload.images || []).map(({ signed_id }) => signed_id)\n payload.video = payload.video && payload.video.signed_id\n payload.audio = payload.audio && payload.audio.signed_id\n payload.document = payload.document && payload.document.signed_id\n const resource = await api.artworks.update({ params: { id: id }, data: { artwork: payload } })\n resolve(resource)\n } catch (e) {\n reject(e?.response?.data || e)\n }\n })\n },\n\n destroy(id) {\n return api.artworks.destroy({ id })\n },\n\n stats() {\n return api.artworks.stats()\n }\n}\n"],"names":["validate","artwork","resolve","reject","thisYear","validationRules","isRequired","maxLength","isMin","isMax","ValidationService","result","ArtworkService","api","page","perPage","q","id","data","payload","signed_id","resource","e","_a"],"mappings":"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"}