{"version":3,"sources":["../controller/routes.js","../provider/group.js","module-create.js"],"names":[],"mappings":"AAqBA,MAAA,CAAA,6BAAA,CAAA,EAAA,CAAA,UAAA,CACA,aAEA,MAAA,EAEA,CALA,C,CCDA,MAAA,CAAA,0BAAA,CAAA,CAAA,QAAA,CAAA,QAAA,CAAA,MAAA,CAAA,UAAA,CAAA,cAAA,CAAA,cAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,OAAA,CAAA,OAAA,CAAA,WAAA,CAAA,CACA,aAQA,MAAA,WAAA,CAKA,MAAA,CAYA,WAZA,sBAYA,MAZA,CAYA,CAUA,MAFA,CAAA,MAAA,CAAA,CAAA,CAAA,QAAA,CAAA,MAAA,EAAA,EAAA,CANA,CACA,QAAA,CAAA,6DADA,CAEA,EAAA,CAAA,iDAFA,CAGA,IAAA,CAAA,UAHA,CAMA,CAEA,CAAA,GAAA,CAAA,OAAA,CAAA,SAAA,OAAA,CAAA,MAAA,CAAA,CACA,WAAA,CAAA,CACA,GAAA,CAAA,OAAA,CAAA,KAAA,CAAA,aAAA,CAAA,QAAA,CAAA,WAAA,CADA,CAEA,MAAA,CAAA,MAFA,CAGA,IAAA,CAAA,MAHA,CAIA,QAAA,CAAA,MAJA,CAAA,CAAA,CAMA,IANA,CAMA,SAAA,KAAA,CAAA,CACA,OAAA,CAAA,KAAA,CACA,CARA,EASA,KATA,CASA,UAAA,CACA,MAAA,CAAA,GAAA,CAAA,KAAA,CAAA,EAAA,CAAA,4BAAA,CAAA,CAAA,CACA,CAXA,CAYA,CAbA,CAcA,CApCA,CA4CA,WA5CA,sBA4CA,GA5CA,CA4CA,CAEA,MAAA,IAAA,CAAA,OAAA,CAAA,SAAA,OAAA,CAAA,MAAA,CAAA,OAEA,CAAA,CAAA,CAAA,QAAA,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,OAAA,CAAA,GAAA,CAFA,CAGA,MAAA,CAAA,GAAA,CAAA,SAAA,CAAA,EAAA,CAAA,wBAAA,CAAA,CAAA,CAHA,KAMA,CAAA,WAAA,CAAA,CACA,GAAA,CAAA,OAAA,CAAA,KAAA,CAAA,QAAA,CAAA,QAAA,CAAA,WAAA,CADA,CAEA,MAAA,CAAA,MAFA,CAGA,IAAA,CAAA,CAAA,GAAA,CAAA,GAAA,CAHA,CAIA,QAAA,CAAA,MAJA,CAAA,CAAA,CAMA,IANA,CAMA,SAAA,QAAA,CAAA,CACA,OAAA,CAAA,QAAA,CACA,CARA,EASA,KATA,CASA,UAAA,CACA,MAAA,CAAA,GAAA,CAAA,KAAA,CAAA,EAAA,CAAA,wBAAA,CAAA,CAAA,CACA,CAXA,CAYA,CAlBA,CAmBA,CAjEA,CAmEA,CACA,CAlFA,C,CCnBA,MAAA,CAAA,mCAAA,CAAA,UAAA,CAAA,CAAA,C","sourcesContent":["/**\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License\n * as published by the Free Software Foundation; under version 2\n * of the License (non-upgradable).\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\n *\n * Copyright (c) 2014 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);\n * \n * \n */\n\n//@see http://forge.taotesting.com/projects/tao/wiki/Front_js\ndefine('taoGroups/controller/routes',[],function(){\n    'use strict';\n\n    return {\n    };\n});\n\n","/**\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License\n * as published by the Free Software Foundation; under version 2\n * of the License (non-upgradable).\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\n *\n * Copyright (c) 2017-2019  (original work) Open Assessment Technologies SA;\n *\n * @author Alexander Zagovorichev <zagovorichev@1pt.com>\n */\n\ndefine('taoGroups/provider/group',['jquery', 'lodash', 'i18n', 'util/url', 'core/promise', 'core/request'], function ($, _, __, urlUtil, Promise, coreRequest) {\n    'use strict';\n\n    /**\n     * Creates a group provider\n     *\n     * @typedef {Object} groupProvider\n     * @type {{addInstance: groupProvider.addInstance}}\n     */\n    return function groupProviderFactory () {\n\n        /**\n         * @returns {groupProvider}\n         */\n        return {\n\n            /**\n             * Create new group\n             *\n             * @param config\n             * @param {String} [config.classUri] - rdf uri of the Group for current environment\n             * @param {String} [config.id] - id of the Group for current environment\n             * @param {String} [config.signature] - id signature received from BE, required\n             * @param {String} [config.type] - Type of the instance\n             * @return {*}\n             */\n            addInstance (config) {\n\n                const _defaults = {\n                    classUri: 'http_2_www_0_tao_0_lu_1_Ontologies_1_TAOGroup_0_rdf_3_Group',\n                    id: 'http://www.tao.lu/Ontologies/TAOGroup.rdf#Group',\n                    type: 'instance'\n                };\n\n                config = _.defaults(config || {}, _defaults);\n\n                return new Promise((resolve, reject) => {\n                        coreRequest({\n                            url: urlUtil.route('addInstance', 'Groups', 'taoGroups'),\n                            method: 'POST',\n                            data: config,\n                            dataType: 'json',\n                        })\n                        .then(function (group) {\n                            resolve(group);\n                        })\n                        .catch(function () {\n                            reject(new Error(__('Unable to create new group')));\n                        });\n                });\n            },\n\n            /**\n             * Group deleting\n             *\n             * @param uri\n             * @return {*}\n             */\n            deleteGroup (uri) {\n\n                return new Promise((resolve, reject) => {\n\n                    if (!_.isString(uri) || _.isEmpty(uri)) {\n                        return reject(new TypeError(__('Group uri is not valid')));\n                    }\n\n                    coreRequest({\n                        url: urlUtil.route('delete', 'Groups', 'taoGroups'),\n                        method: 'POST',\n                        data: {uri: uri},\n                        dataType: 'json',\n                    })\n                    .then(function (response) {\n                        resolve(response);\n                    })\n                    .catch(function () {\n                        reject(new Error(__('Unable to delete group')));\n                    });\n                });\n            }\n        };\n    };\n});\n\n","\ndefine(\"taoGroups/loader/taoGroups.bundle\", function(){});\n"]}