UNPKG

shiqiyue-linkedin-private-api

Version:

![Build](https://github.com/eilonmore/linkedin-private-api/workflows/Build/badge.svg?branch=master)

81 lines 3.39 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SearchRequest = void 0; const utils_1 = require("../utils"); const json_bigint_1 = __importDefault(require("json-bigint")); class SearchRequest { constructor({ request }) { this.request = request; } searchBlended({ skip = 0, limit = 10, filters = {}, keywords, origin = "TYPEAHEAD_ESCAPE_HATCH" }) { const queryParams = { filters, count: limit, ...(keywords ? { keywords: encodeURIComponent(keywords) } : {}), origin: origin, q: 'all', queryContext: { spellCorrectionEnabled: true, relatedSearchesEnabled: true, kcardTypes: "PROFILE|COMPANY" }, start: skip, }; console.log(utils_1.paramsSerializer(queryParams)); return this.request.get('search/blended', { params: queryParams, }); } searchCluster({ start = 0, query = {}, keywords = "" }) { const q = { flagshipSearchIntent: "SEARCH_SRP", keywords: encodeURIComponent(keywords), queryParameters: Object.assign({ resultType: ["PEOPLE"] }, query), includeFiltersInResponse: false }; const queryStr = utils_1.querySerializer(q); const u = `search/dash/clusters?decorationId=${this.request.decorationIds.SearchClusterCollection}&origin=SWITCH_SEARCH_VERTICAL&q=all&query=${queryStr}&start=${start}`; console.log(u); return this.request.get(u); } lazyLoadAction({ ids }) { const nids = []; for (const id of ids) { nids.push(encodeURIComponent(id).replace(/\(/g, '%28').replace(/\)/g, '%29')); } const url = `voyagerSearchDashLazyLoadedActions?decorationId=${this.request.decorationIds.SearchLazyLoadedActions}&ids=List(${nids.join(',')})`; console.log(url); return this.request.get(url, { transformResponse: function (data, headers) { return json_bigint_1.default().parse(data); } }); } searchGeo({ keywords }) { keywords = encodeURIComponent(keywords); return this.request.get(`voyagerSearchDashReusableTypeahead?decorationId=${this.request.decorationIds.ReusableTypeaheadCollection}&keywords=${keywords}&q=type&query=(typeaheadFilterQuery:(geoSearchTypes:List(MARKET_AREA,COUNTRY_REGION,ADMIN_DIVISION_1,CITY)))&type=GEO`); } searchJobs({ skip = 0, limit = 10, filters = {}, keywords, }) { const queryParams = { filters, count: limit, ...(keywords ? { keywords: encodeURIComponent(keywords) } : {}), origin: 'JOB_SEARCH_RESULTS_PAGE', decorationId: this.request.decorationIds.WebJobSearchHitLite, q: 'jserpFilters', queryContext: { primaryHitType: 'JOBS', spellCorrectionEnabled: true, }, start: skip, }; return this.request.get('search/hits', { params: queryParams, }); } } exports.SearchRequest = SearchRequest; //# sourceMappingURL=search.request.js.map