'use strict';

Object.defineProperty(exports, "__esModule", {
	value: true
});

var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

var _elementLayouts = require('./../models/elementLayouts');

var _elementLayouts2 = _interopRequireDefault(_elementLayouts);

var _baseManager = require('./../managers/baseManager');

var _baseManager2 = _interopRequireDefault(_baseManager);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /*
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * *******************************************************************************
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *  * Copyright (c) 2018 Edgeworx, Inc.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *  *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *  * This program and the accompanying materials are made available under the
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *  * terms of the Eclipse Public License v. 2.0 which is available at
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *  * http://www.eclipse.org/legal/epl-2.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *  *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *  * SPDX-License-Identifier: EPL-2.0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *  *******************************************************************************
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                */

var ElementLayoutsManager = function (_BaseManager) {
	_inherits(ElementLayoutsManager, _BaseManager);

	function ElementLayoutsManager() {
		_classCallCheck(this, ElementLayoutsManager);

		return _possibleConstructorReturn(this, (ElementLayoutsManager.__proto__ || Object.getPrototypeOf(ElementLayoutsManager)).apply(this, arguments));
	}

	_createClass(ElementLayoutsManager, [{
		key: 'create',
		value: function create(elementLayoutObj) {
			return _elementLayouts2.default.create(elementLayoutObj);
		}
	}, {
		key: 'findByElementKey',
		value: function findByElementKey(elementKey) {
			return _elementLayouts2.default.findAll({
				where: {
					elementKey: elementKey
				}
			});
		}
	}, {
		key: 'updateLayoutByElementKey',
		value: function updateLayoutByElementKey(elementKey, data) {
			return _elementLayouts2.default.update(data, {
				where: {
					elementKey: elementKey
				}
			});
		}
	}, {
		key: 'deleteLayoutsByElementKey',
		value: function deleteLayoutsByElementKey(elementKey) {
			return _elementLayouts2.default.destroy({
				where: {
					elementKey: elementKey
				}
			});
		}
	}]);

	return ElementLayoutsManager;
}(_baseManager2.default);

var instance = new ElementLayoutsManager();
exports.default = instance;