Skip to content
Merged
2 changes: 1 addition & 1 deletion api/aggregator.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const countlyConfig = require('./config', 'dont-enclose');
const plugins = require('../plugins/pluginManager.js');
const plugins = require('../plugins/pluginManager.ts');
const log = require('./utils/log.js')('aggregator-core:api');
const common = require('./utils/common.js');
const {WriteBatcher} = require('./parts/data/batcher.js');
Expand Down
452 changes: 2 additions & 450 deletions api/aggregator/processing.js

Large diffs are not rendered by default.

363 changes: 363 additions & 0 deletions api/aggregator/processing.ts

Large diffs are not rendered by default.

923 changes: 6 additions & 917 deletions api/aggregator/usage.js

Large diffs are not rendered by default.

984 changes: 984 additions & 0 deletions api/aggregator/usage.ts

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion api/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const https = require('https');
const fs = require('fs');
const formidable = require('formidable');
const countlyConfig = require('./config', 'dont-enclose');
const plugins = require('../plugins/pluginManager.js');
const plugins = require('../plugins/pluginManager.ts');
const log = require('./utils/log.js')('core:api');
const common = require('./utils/common.js');
const {processRequest} = require('./utils/requestProcessor');
Expand Down
2 changes: 1 addition & 1 deletion api/ingestor.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const http = require('http');
const formidable = require('formidable');
const countlyConfig = require('./config', 'dont-enclose');
const plugins = require('../plugins/pluginManager.js');
const plugins = require('../plugins/pluginManager.ts');
const log = require('./utils/log.js')('ingestor-core:api');
const {processRequest} = require('./ingestor/requestProcessor');
const common = require('./utils/common.js');
Expand Down
2 changes: 1 addition & 1 deletion api/ingestor/requestProcessor.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
const usage = require('./usage.js'); //special usage file for ingestor
const common = require('../utils/common.js');
const url = require('url');
const plugins = require("../../plugins/pluginManager.js");
const plugins = require("../../plugins/pluginManager.ts");
const log = require('../utils/log.js')('core:ingestor');
const crypto = require('crypto');
const { ignorePossibleDevices, checksumSaltVerification, validateRedirect} = require('../utils/requestProcessorCommon.js');
Expand Down
2 changes: 1 addition & 1 deletion api/ingestor/usage.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ var usage = {},
geoip = require('geoip-lite'),
geocoder = require('./../../bin/offline-geocoder/src/index.js')(),
log = require('./../utils/log.js')('ingestor:usage'),
plugins = require('./../../plugins/pluginManager.js'),
plugins = require('./../../plugins/pluginManager.ts'),
moment = require('moment-timezone');

/**
Expand Down
2 changes: 1 addition & 1 deletion api/init_configs.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var plugins = require('../plugins/pluginManager.js');
var plugins = require('../plugins/pluginManager.ts');
const countlyConfig = require('./config');
const countlyConfigApp = require('../frontend/express/config');
/**
Expand Down
2 changes: 1 addition & 1 deletion api/jobs/appExpire.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const async = require('async');
const plugins = require('../../plugins/pluginManager.js');
const plugins = require('../../plugins/pluginManager.ts');
const log = require('../utils/log.js')('job:appExpire');
const common = require('../utils/common.js');
const crypto = require('crypto');
Expand Down
2 changes: 1 addition & 1 deletion api/jobs/mutationManagerJob.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const log = require("../utils/log.js")("job:mutationManager");
const Job = require("../../jobServer/Job.js");
const mutationManager = require('../utils/mutationManager.js');
const tracker = require("../parts/mgmt/tracker.js");
const plugins = require('../../plugins/pluginManager.js');
const plugins = require('../../plugins/pluginManager.ts');

const DEFAULT_JOB_CONFIG = {
STALE_MS: 24 * 60 * 60 * 1000, // 24h - consider tasks running longer than this as stale
Expand Down
2 changes: 1 addition & 1 deletion api/jobs/ping.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* @typedef {import('../../types/pluginManager').Database} Database
*/

const plugins = require('../../plugins/pluginManager.js');
const plugins = require('../../plugins/pluginManager.ts');
const tracker = require('../parts/mgmt/tracker.js');
const Job = require("../../jobServer/Job");

Expand Down
2 changes: 1 addition & 1 deletion api/jobs/task.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
const Job = require("../../jobServer/Job");
const log = require('../utils/log.js')('api:task');
const asyncjs = require("async");
const plugins = require('../../plugins/pluginManager.js');
const plugins = require('../../plugins/pluginManager.ts');
const common = require('../utils/common.js');
/** @type {TaskManagerStatic} */
const taskmanager = require('../utils/taskmanager.js');
Expand Down
2 changes: 1 addition & 1 deletion api/jobs/ttlCleanup.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const plugins = require("../../plugins/pluginManager.js");
const plugins = require("../../plugins/pluginManager.ts");
const common = require('../utils/common');
// const job = require("../parts/jobs/job.js");
const log = require("../utils/log.js")("job:ttlCleanup");
Expand Down
2 changes: 1 addition & 1 deletion api/jobs/userMerge.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

// const job = require('../parts/jobs/job.js');
const Job = require("../../jobServer/Job");
const plugins = require('../../plugins/pluginManager.js');
const plugins = require('../../plugins/pluginManager.ts');
const log = require('../utils/log.js')('job:userMerge');
const Promise = require("bluebird");
const usersApi = require('../parts/mgmt/app_users.js');
Expand Down
2 changes: 1 addition & 1 deletion api/parts/data/batcher.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

const crypto = require('crypto');
const cluster = require('cluster');
const plugins = require('../../../plugins/pluginManager.js');
const plugins = require('../../../plugins/pluginManager.ts');
const log = require('../../utils/log.js')("batcher");
const common = require('../../utils/common.js');

Expand Down
2 changes: 1 addition & 1 deletion api/parts/data/cacher.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @typedef {import('../../../types/pluginManager').Database} Database
*/

const plugins = require('../../../plugins/pluginManager.js');
const plugins = require('../../../plugins/pluginManager.ts');
//const log = require('../../utils/log.js')("cacher");

/**
Expand Down
2 changes: 1 addition & 1 deletion api/parts/data/dataBatchReader.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const common = require("../../utils/common");
const log = require('../../utils/log.js')("dataBatchReader");
var plugins = require("../../../plugins/pluginManager.js");
var plugins = require("../../../plugins/pluginManager.ts");
var {fetchDataForAggregator} = require("../queries/aggregator.js");

/**
Expand Down
2 changes: 1 addition & 1 deletion api/parts/data/events.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ var countlyEvents = {},
async = require('async'),
crypto = require('crypto'),
Promise = require("bluebird"),
plugins = require('../../../plugins/pluginManager.js');
plugins = require('../../../plugins/pluginManager.ts');



Expand Down
2 changes: 1 addition & 1 deletion api/parts/data/exports.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
var exports = {},
common = require('./../../utils/common.js'),
moment = require('moment-timezone'),
plugin = require('./../../../plugins/pluginManager.js'),
plugin = require('./../../../plugins/pluginManager.ts'),
json2csv = require('json2csv');

const log = require('./../../utils/log.js')('core:export');
Expand Down
2 changes: 1 addition & 1 deletion api/parts/data/fetch.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ var fetch = {},
_ = require('underscore'),
crypto = require('crypto'),
usage = require('./usage.js'),
plugins = require('../../../plugins/pluginManager.js');
plugins = require('../../../plugins/pluginManager.ts');


/**
Expand Down
49 changes: 0 additions & 49 deletions api/parts/data/geoData.js

This file was deleted.

83 changes: 83 additions & 0 deletions api/parts/data/geoData.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
/**
* Module for geographic data operations
* @module api/parts/data/geoData
*/

import type { Database } from '../../../plugins/pluginManager';
import { createRequire } from 'module';

const require = createRequire(import.meta.url);
const log = require('../../utils/log.js')('core:geo');
const common = require('../../utils/common.js');

/** Options for loading city coordinates */
export interface LoadCityCoordinatesOptions {
/** Database connection to use, defaults to common.db */
db: Database;
/** MongoDB query object to filter cities */
query: Record<string, any>;
/** MongoDB projection object for fields to return */
projection: Record<string, number>;
/** Country code to filter by */
country: string;
}

/** City coordinate data returned from database */
export interface CityCoordinate {
/** Country code */
country?: string;
/** Location coordinates [longitude, latitude] */
loc?: [number, number];
/** City name */
name?: string;
/** MongoDB ObjectId */
_id?: any;
}

/** Callback for loadCityCoordinates */
export type LoadCityCoordinatesCallback = (err: Error | null, cities: CityCoordinate[]) => void;

/**
* GeoData module for geographic data operations
*/
export interface GeoData {
/**
* Load city coordinates from the database
* @param options - Options for loading city coordinates
* @param callback - Callback function receiving error and cities array
*/
loadCityCoordiantes: (options: Partial<LoadCityCoordinatesOptions>, callback: LoadCityCoordinatesCallback) => void;
}

const geoData: GeoData = {
loadCityCoordiantes(options: Partial<LoadCityCoordinatesOptions>, callback: LoadCityCoordinatesCallback): void {
const db = options.db || common.db;
let query: Record<string, any> = options.query || {};
const projection = options.projection || { 'country': 1, 'loc': 1, 'name': 1 };

if (query) {
try {
query = JSON.parse(query as unknown as string);
}
catch (_e) {
log.e("Can't parse city query");
query = {};
}
}

if (options.country) {
query.country = options.country;
}

const pipeline = [{ '$match': query }, { '$project': projection }];

db.collection('cityCoordinates').aggregate(pipeline).toArray((err: Error | null, cities: CityCoordinate[]) => {
if (err) {
log.e(err);
}
callback(err, cities || []);
});
}
};

export default geoData;
2 changes: 1 addition & 1 deletion api/parts/data/usage.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ var usage = {},
geocoder = require('./../../../bin/offline-geocoder/src/index.js')(),
log = require('../../utils/log.js')('api:usage'),
async = require('async'),
plugins = require('../../../plugins/pluginManager.js'),
plugins = require('../../../plugins/pluginManager.ts'),
crypto = require('crypto'),
moment = require('moment-timezone');

Expand Down
2 changes: 1 addition & 1 deletion api/parts/mgmt/app_users.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
/** @lends module:api/parts/mgmt/app_users */
var usersApi = {},
common = require('./../../utils/common.js'),
plugins = require('../../../plugins/pluginManager.js'),
plugins = require('../../../plugins/pluginManager.ts'),
{ ObjectId } = require('mongodb');
var path = require('path');
var config = require("../../config.js");
Expand Down
2 changes: 1 addition & 1 deletion api/parts/mgmt/apps.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ var appsApi = {},
log = common.log('mgmt:apps'),
moment = require('moment-timezone'),
crypto = require('crypto'),
plugins = require('../../../plugins/pluginManager.js'),
plugins = require('../../../plugins/pluginManager.ts'),
jimp = require('jimp'),
fs = require('fs'),
{ hasUpdateRight, hasDeleteRight, getUserApps, getAdminApps } = require('./../../utils/rights.js'),
Expand Down
2 changes: 1 addition & 1 deletion api/parts/mgmt/ip.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

var ip = {},
net = require('net'),
plugins = require('../../../plugins/pluginManager.js'),
plugins = require('../../../plugins/pluginManager.ts'),
icanhazip = require("icanhazip");

const log = require('../../utils/log.js')('core:api');
Expand Down
2 changes: 1 addition & 1 deletion api/parts/mgmt/mail.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
var mail = {},
nodemailer = require('nodemailer'),
localize = require('../../utils/localization.js'),
plugins = require('../../../plugins/pluginManager.js'),
plugins = require('../../../plugins/pluginManager.ts'),
versionInfo = require('../../../frontend/express/version.info'),
/** @type {Authorizer} */
authorize = require('../../utils/authorizer'),
Expand Down
2 changes: 1 addition & 1 deletion api/parts/mgmt/tracker.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ var tracker = {},
server = "9c28c347849f2c03caf1b091ec7be8def435e85e",
user = "fa6e9ae7b410cb6d756e8088c5f3936bf1fab5f3",
url = "https://stats.count.ly",
plugins = require('../../../plugins/pluginManager.js');
plugins = require('../../../plugins/pluginManager.ts');

var IS_FLEX = false;

Expand Down
2 changes: 1 addition & 1 deletion api/parts/mgmt/users.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ var usersApi = {},
common = require('./../../utils/common.js'),
mail = require('./mail.js'),
countlyConfig = require('./../../../frontend/express/config.js'),
plugins = require('../../../plugins/pluginManager.js'),
plugins = require('../../../plugins/pluginManager.ts'),
{ hasAdminAccess, getUserApps, getAdminApps, hasReadRight } = require('./../../utils/rights.js');

const countlyCommon = require('../../lib/countly.common.js');
Expand Down
2 changes: 1 addition & 1 deletion api/tcp_example.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

const net = require('net');
const countlyConfig = require('./config', 'dont-enclose');
const plugins = require('../plugins/pluginManager.js');
const plugins = require('../plugins/pluginManager.ts');
const log = require('./utils/log.js')('core:tcp');
const common = require('./utils/common.js');
const {processRequest} = require('./utils/requestProcessor');
Expand Down
2 changes: 1 addition & 1 deletion api/utils/calculatedDataManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ var calculatedDataManager = {};
var common = require("./common.js");
var crypto = require("crypto");
var fetch = require("../parts/data/fetch.js");
var plugins = require("../../plugins/pluginManager.js");
var plugins = require("../../plugins/pluginManager.ts");

var collection = "drill_data_cache";
const log = require('./log.js')('core:calculatedDataManager');
Expand Down
2 changes: 1 addition & 1 deletion api/utils/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const moment = require('moment-timezone');
const crypto = require('crypto');
const logger = require('./log.js');
const mcc_mnc_list = require('mcc-mnc-list');
const plugins = require('../../plugins/pluginManager.js');
const plugins = require('../../plugins/pluginManager.ts');
const countlyConfig = require('./../config', 'dont-enclose');
const argon2 = require('argon2');
const mongodb = require('mongodb');
Expand Down
2 changes: 1 addition & 1 deletion api/utils/mutationManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

const common = require('./common.js'),
log = require('./log.js')('api:mutationManager'),
plugins = require('../../plugins/pluginManager.js'),
plugins = require('../../plugins/pluginManager.ts'),
manager = {};

let chHealth = null;
Expand Down
Loading
Loading