UNPKG

@ultipa-graph/ultipa-driver

Version:

NodeJS SDK for ultipa-server 5.2

123 lines 4.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MetaExra = void 0; const connection_base_1 = require("./connection.base"); const utils_1 = require("../../utils"); const { CommandList, VariableString, SchemaStringWithDefault } = utils_1.UQLMAKER; class MetaExra extends connection_base_1.ConnectionBase { /** * 插入点 */ async insertNodes(req, commonReq) { 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, commonReq, [req.rows]); uqlMaker.addParam("as", "nodes"); uqlMaker.addParam("return", "nodes{_id, _uuid}"); let res = await this.uqlSingle(uqlMaker); return { ...res.responseWithoutData, data: res.QueryReply?.singleDataNodes() }; } /** * 插入边 */ async insertEdges(req, commonReq) { 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, commonReq, [req.rows]); uqlMaker.addParam("as", "edges"); uqlMaker.addParam("return", "edges{_uuid}"); let res = await this.uqlSingle(uqlMaker); return { ...res.responseWithoutData, data: res.QueryReply?.singleDataEdges() }; } /** * 删除点 */ async deleteNodes(req, commonReq) { let command = CommandList.deleteNodes; let uqlMaker = new utils_1.UQLMAKER(command, commonReq, VariableString(req.filter)); uqlMaker.addEmptyParam("detach", true); return connection_base_1.ConnectionBase.UqlUpdateSimple(this, uqlMaker); } /** * 删除边 */ async deleteEdges(req, commonReq) { let command = CommandList.deleteEdges; let uqlMaker = new utils_1.UQLMAKER(command, commonReq, VariableString(req.filter)); return connection_base_1.ConnectionBase.UqlUpdateSimple(this, uqlMaker); } /** * 点查询` */ async searchNodes(req, commonReq) { 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 = await this.uqlSingle(uqlMaker); return { ...res.responseWithoutData, data: res.QueryReply?.singleDataNodes() }; } /** * 边查询 */ async searchEdges(req, commonReq) { 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 = await this.uqlSingle(uqlMaker); return { ...res.responseWithoutData, data: res.QueryReply?.singleDataEdges() }; } /** * 修改点数据 */ async updateNodes(req, commonReq) { 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 = await this.uqlSingle(uqlMaker); return { ...res.responseWithoutData, data: res.QueryReply?.singleDataNodes() }; } /** * 修改边数据 */ async updateEdges(req, commonReq) { 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 = await this.uqlSingle(uqlMaker); return { ...res.responseWithoutData, data: res.QueryReply?.singleDataEdges() }; } } exports.MetaExra = MetaExra; //# sourceMappingURL=meta.extra.js.map