UNPKG

@ultipa-graph/ultipa-node-sdk

Version:

NodeJS SDK for ultipa-server 4.0

52 lines 2.71 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.deleteEdges = exports.deleteNodes = void 0; const types_1 = require("../../types"); const UltipaTransaction_Recorder_1 = require("../UltipaTransaction.Recorder"); // filter should be { <filter> } function deleteNodes(session, filter) { return __awaiter(this, void 0, void 0, function* () { // find out all the existed nodes let res = yield session.conn.uql(`find().nodes({${filter}}) return nodes{*}`); if (res.status.code != types_1.ULTIPA.Code.SUCCESS) { yield session.throwError(res.status.message); } // find out all the existed edges related to the nodes let resEdges = yield session.conn.uql(`n({${filter}}).e(as edges).n() with distinct edges return edges{*}`); if (resEdges.status.code != types_1.ULTIPA.Code.SUCCESS) { yield session.throwError(resEdges.status.message); } session.recorder.logs.push({ Op: UltipaTransaction_Recorder_1.UltipaTransactionRecorderOp.Delete_Nodes, nodes: res.data.alias("nodes").asNodes(), edges: resEdges.data.alias("edges").asEdges() }); return yield session.conn.uql(`delete().nodes({${filter}})`); }); } exports.deleteNodes = deleteNodes; function deleteEdges(session, filter) { return __awaiter(this, void 0, void 0, function* () { // find out all the existed nodes let res = yield session.conn.uql(`find().edges({${filter}}) return edges{*}`); if (res.status.code != types_1.ULTIPA.Code.SUCCESS) { yield session.throwError(res.status.message); } session.recorder.logs.push({ Op: UltipaTransaction_Recorder_1.UltipaTransactionRecorderOp.Delete_Edges, edges: res.data.alias("edges").asEdges() }); return yield session.conn.uql(`delete().edges({${filter}})`); }); } exports.deleteEdges = deleteEdges; //# sourceMappingURL=Transaction.Deletes.js.map