@ultipa-graph/ultipa-node-sdk
Version:
NodeJS SDK for ultipa-server 4.0
174 lines • 8.14 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.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