UNPKG

@linaframework/arango-orm

Version:

> Please check out https://github.com/awesome-graphql-space/lina and https://github.com/oknoah/final/packages/arangolize for similar projects that MAY be more up to date

101 lines (76 loc) 3.09 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _typeof2 = require('babel-runtime/helpers/typeof'); var _typeof3 = _interopRequireDefault(_typeof2); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _model = require('./model'); var _model2 = _interopRequireDefault(_model); var _edgeSchema = require('../schemas/edgeSchema'); var _edgeSchema2 = _interopRequireDefault(_edgeSchema); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Edge = function (_Model) { (0, _inherits3.default)(Edge, _Model); function Edge() { (0, _classCallCheck3.default)(this, Edge); return (0, _possibleConstructorReturn3.default)(this, (Edge.__proto__ || (0, _getPrototypeOf2.default)(Edge)).apply(this, arguments)); } (0, _createClass3.default)(Edge, null, [{ key: '_getSchema', value: function _getSchema() { if (!this._normalSchema) { this._normalSchema = new _edgeSchema2.default(this.schema); } return this._normalSchema; } }, { key: '_getDocument', value: function _getDocument(documentHandle) { return this._call('edge', documentHandle); } }, { key: '_getCollection', value: async function _getCollection() { if (this._collection) { return this._collection; } var db = await this._getDatabase(); var edge = db.edgeCollection(this.name); try { await edge.create(); await this._setIndexes(edge); } catch (e) {} return this._collection = edge; } }, { key: 'add', value: async function add(from, to) { var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; this._validate(data); data = this._modelToDocument(data); data._removed = false; data.createdAt = new Date().toISOString(); data._from = (typeof from === 'undefined' ? 'undefined' : (0, _typeof3.default)(from)) === 'object' ? from._id : from; data._to = (typeof to === 'undefined' ? 'undefined' : (0, _typeof3.default)(to)) === 'object' ? to._id : to; var documentHandle = await this._call('save', data); var document = await this._call('edge', documentHandle); return this._createModelByDocument(document); } }]); return Edge; }(_model2.default); Edge._normalSchema = null; Edge._collection = null; exports.default = Edge;