@ultipa-graph/ultipa-driver
Version:
NodeJS SDK for ultipa-server 5.2
123 lines • 4.86 kB
JavaScript
;
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