@ultipa-graph/ultipa-node-sdk
Version:
NodeJS SDK for ultipa-server 4.0
52 lines • 2.71 kB
JavaScript
;
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