UNPKG

rcs-sdk

Version:

封装客户端与平台间的相互调用功能。

102 lines 4.96 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()); }); }; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.detailByUser = exports.listByUser = void 0; const rcs_data_1 = require("rcs-data"); const constants_1 = require("../constants"); const util_1 = require("../util"); const request_1 = require("../util/request"); function listByUser() { return __awaiter(this, void 0, void 0, function* () { let data; if ((0, util_1.runAsMock)('contact')) { const { mockFilePathContactList } = this.config; data = yield (0, util_1.getMockData)(mockFilePathContactList); } else { try { const access_token = this.accessToken.value; const cmd = `${this.config.contactApiServer}/mongo/document/getContactList?access_token=${access_token}&db=vCard&cl=users`; const params = { timeout: this.config.contactApiTimeout, }; data = yield request_1.default.post(cmd, { params }).then((r) => { if (r['code'] != 0) { return Promise.reject({ message: r['msg'] }); } return r['result']; }); } catch (error) { return (0, util_1.newSdkResult)(constants_1.RequestFunc.GETCONTACTLIST, null, 1001, error.message); } } let contacts; contacts = data.map((_a) => { var { userid, nickname, domain, sex, headimgurl } = _a, extra = __rest(_a, ["userid", "nickname", "domain", "sex", "headimgurl"]); let [host, port] = domain.split(':'); let nameAddr = new rcs_data_1.NameAddrHeader(new rcs_data_1.URI('sip', extra.mobile, host, port), nickname); return { userid, nameAddr, headimgurl, sex, extra }; }); const sdkrst = (0, util_1.newSdkResult)(constants_1.RequestFunc.GETCONTACTLIST, contacts); return sdkrst; }); } exports.listByUser = listByUser; function detailByUser(userid) { return __awaiter(this, void 0, void 0, function* () { let access_token = this.accessToken.value; let data; if ((0, util_1.runAsMock)('contact')) { const { mockFilePathContactList } = this.config; data = yield (0, util_1.getMockData)(mockFilePathContactList); } else { try { const cmd = `${this.config.contactApiServer}/mongo/document/getContactDetail?access_token=${access_token}&db=vCard&cl=users&userid=${userid}`; const params = { timeout: this.config.contactApiTimeout, }; data = yield request_1.default.post(cmd, { params }).then((r) => { if (r['code'] != 0) { return Promise.reject({ message: r['msg'] }); } return r['result']; }); } catch (error) { return (0, util_1.newSdkResult)(constants_1.RequestFunc.GETCONTACTDETAIL, null, 1001, error.message); } } let contacts; contacts = data.map((_a) => { var { userid, nickname, domain, sex, headimgurl } = _a, extra = __rest(_a, ["userid", "nickname", "domain", "sex", "headimgurl"]); let [host, port] = domain.split(':'); let nameAddr = new rcs_data_1.NameAddrHeader(new rcs_data_1.URI('sip', extra.mobile, host, port), nickname); return { userid, nameAddr, headimgurl, sex, extra }; }); const sdkrst = (0, util_1.newSdkResult)(constants_1.RequestFunc.GETCONTACTDETAIL, contacts); return sdkrst; }); } exports.detailByUser = detailByUser; //# sourceMappingURL=contact.js.map