UNPKG

@ultipa-graph/ultipa-node-sdk

Version:

NodeJS SDK for ultipa-server 4.0

174 lines 8.14 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.MetaExra = void 0; const connection_base_1 = require("./connection.base"); const types_1 = require("../../types"); const utils_1 = require("../../utils"); const { CommandList, VariableString, SchemaStringWithDefault } = utils_1.UQLMAKER; class MetaExra extends connection_base_1.ConnectionBase { /** * 插入点 */ insertNodes(schemaName, nodes, config) { var _a; return __awaiter(this, void 0, void 0, function* () { let req = { schema: schemaName, rows: nodes, silent: config.silent, upsert: config.insertType == types_1.ULTIPA.InsertType.INSERT_TYPE_UPSERT, overwrite: config.insertType == types_1.ULTIPA.InsertType.INSERT_TYPE_OVERWRITE }; let command = req.upsert ? CommandList.upsertNode : req.overwrite ? CommandList.insertOverrideNode : CommandList.insertNode; command = command.replace("<SCHEMA>", SchemaStringWithDefault(req.schema)); let uqlMaker = new utils_1.UQLMAKER(command, config, [req.rows]); if (!req.silent) { uqlMaker.addParam("as", "nodes"); uqlMaker.addParam("return", "nodes{_id, _uuid}"); } let res = yield this.uqlSingle(uqlMaker); return Object.assign(Object.assign({}, res.responseWithoutData), { data: (_a = res.uqlReply) === null || _a === void 0 ? void 0 : _a.singleDataNodes() }); }); } /** * 插入边 */ insertEdges(schemaName, edges, config) { var _a; return __awaiter(this, void 0, void 0, function* () { let req = { schema: schemaName, rows: edges, silent: config.silent, upsert: config.insertType == types_1.ULTIPA.InsertType.INSERT_TYPE_UPSERT, overwrite: config.insertType == types_1.ULTIPA.InsertType.INSERT_TYPE_OVERWRITE }; let command = req.upsert ? CommandList.upsertEdge : req.overwrite ? CommandList.insertOverrideEdge : CommandList.insertEdge; command = command.replace("<SCHEMA>", SchemaStringWithDefault(req.schema)); let uqlMaker = new utils_1.UQLMAKER(command, config, [req.rows]); if (!req.silent) { uqlMaker.addParam("as", "edges"); uqlMaker.addParam("return", "edges{_uuid}"); } let res = yield this.uqlSingle(uqlMaker); return Object.assign(Object.assign({}, res.responseWithoutData), { data: (_a = res.uqlReply) === null || _a === void 0 ? void 0 : _a.singleDataEdges() }); }); } /** * 删除点 */ deleteNodes(filter, config) { var _a; return __awaiter(this, void 0, void 0, function* () { let req = { filter: filter, silent: config.silent }; let command = CommandList.deleteNodes; let uqlMaker = new utils_1.UQLMAKER(command, config, VariableString(req.filter)); if (!req.silent) { uqlMaker.addParam("as", "nodes"); uqlMaker.addParam("return", "nodes{_id, _uuid}"); } let res = yield this.uqlSingle(uqlMaker); return Object.assign(Object.assign({}, res.responseWithoutData), { data: (_a = res.uqlReply) === null || _a === void 0 ? void 0 : _a.singleDataNodes() }); }); } /** * 删除边 */ deleteEdges(filter, config) { var _a; return __awaiter(this, void 0, void 0, function* () { let req = { filter: filter, silent: config.silent }; let command = CommandList.deleteEdges; let uqlMaker = new utils_1.UQLMAKER(command, config, VariableString(req.filter)); if (!req.silent) { uqlMaker.addParam("as", "edges"); uqlMaker.addParam("return", "edges{_uuid}"); } let res = yield this.uqlSingle(uqlMaker); return Object.assign(Object.assign({}, res.responseWithoutData), { data: (_a = res.uqlReply) === null || _a === void 0 ? void 0 : _a.singleDataEdges() }); }); } /** * 点查询` */ searchNodes(req, commonReq) { var _a; return __awaiter(this, void 0, void 0, function* () { let command = CommandList.nodes; let uqlMaker = new utils_1.UQLMAKER(command, commonReq, VariableString(req.filter)); let p_as = req.as || "nodes"; let p_return = req.return || ["*"]; let p_limit = req.limit || 3; uqlMaker.addParam("as", p_as); uqlMaker.addParam("limit", p_limit); uqlMaker.addParam("return", utils_1.UQLMAKER.Format_RETURN(p_as, p_return)); let res = yield this.uqlSingle(uqlMaker); return Object.assign(Object.assign({}, res.responseWithoutData), { data: (_a = res.uqlReply) === null || _a === void 0 ? void 0 : _a.singleDataNodes() }); }); } /** * 边查询 */ searchEdges(req, commonReq) { var _a; return __awaiter(this, void 0, void 0, function* () { let command = CommandList.edges; let uqlMaker = new utils_1.UQLMAKER(command, commonReq, VariableString(req.filter)); let p_as = req.as || "edges"; let p_return = req.return || ["*"]; let p_limit = req.limit || 3; uqlMaker.addParam("as", p_as); uqlMaker.addParam("limit", p_limit); uqlMaker.addParam("return", utils_1.UQLMAKER.Format_RETURN(p_as, p_return)); let res = yield this.uqlSingle(uqlMaker); return Object.assign(Object.assign({}, res.responseWithoutData), { data: (_a = res.uqlReply) === null || _a === void 0 ? void 0 : _a.singleDataEdges() }); }); } /** * 修改点数据 */ updateNodes(req, commonReq) { var _a; return __awaiter(this, void 0, void 0, function* () { let command = CommandList.updateNodes; let uqlMaker = new utils_1.UQLMAKER(command, commonReq, VariableString(req.filter)); uqlMaker.addParam("set", req.values); uqlMaker.addParam("as", "ds"); uqlMaker.addParam("return", "ds{*}"); let res = yield this.uqlSingle(uqlMaker); return Object.assign(Object.assign({}, res.responseWithoutData), { data: (_a = res.uqlReply) === null || _a === void 0 ? void 0 : _a.singleDataNodes() }); }); } /** * 修改边数据 */ updateEdges(req, commonReq) { var _a; return __awaiter(this, void 0, void 0, function* () { let command = CommandList.updateEdges; let uqlMaker = new utils_1.UQLMAKER(command, commonReq, VariableString(req.filter)); uqlMaker.addParam("set", req.values); uqlMaker.addParam("as", "ds"); uqlMaker.addParam("return", "ds{*}"); let res = yield this.uqlSingle(uqlMaker); return Object.assign(Object.assign({}, res.responseWithoutData), { data: (_a = res.uqlReply) === null || _a === void 0 ? void 0 : _a.singleDataEdges() }); }); } } exports.MetaExra = MetaExra; //# sourceMappingURL=meta.extra.js.map