From 2ab1087843c79d82c1037bc5f0893f3a848d7f54 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 23 Jul 2025 14:23:33 +0300 Subject: [PATCH 01/81] Add filter schema ids --- workers/loc.api/data-validator/filter.schema.ids.js | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 workers/loc.api/data-validator/filter.schema.ids.js diff --git a/workers/loc.api/data-validator/filter.schema.ids.js b/workers/loc.api/data-validator/filter.schema.ids.js new file mode 100644 index 00000000..646ef8c3 --- /dev/null +++ b/workers/loc.api/data-validator/filter.schema.ids.js @@ -0,0 +1,6 @@ +'use strict' + +const FILTER_SCHEMA_NAMES = require('./filter.schema.names') +const { getSchemaIds } = require('./helpers') + +module.exports = getSchemaIds(FILTER_SCHEMA_NAMES) From 1215a4dbcbfa4f9b84a9b47b5cffbd2959059d04 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 23 Jul 2025 14:23:55 +0300 Subject: [PATCH 02/81] Add filter schema names --- workers/loc.api/data-validator/filter.schema.names.js | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 workers/loc.api/data-validator/filter.schema.names.js diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js new file mode 100644 index 00000000..fc1fa594 --- /dev/null +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -0,0 +1,5 @@ +'use strict' + +module.exports = { + GET_POSITIONS_HISTORY_REQ_FILTER: 'getPositionsHistoryReqFilter' +} From c1161f4be17afb0c763c16e5aa6abd80f60f0f9d Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 23 Jul 2025 14:25:19 +0300 Subject: [PATCH 03/81] Add filter models for filter schemas --- .../filter-schemas/helpers/filter-models.js | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js new file mode 100644 index 00000000..1af479f8 --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -0,0 +1,26 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../../filter.schema.ids') + +module.exports = new Map([ + [ + FILTER_SCHEMA_IDS.GET_POSITIONS_HISTORY_REQ_FILTER, + { + id: { type: 'integer' }, + symbol: { type: 'string' }, + status: { type: 'string' }, + amount: { type: 'number' }, + basePrice: { type: 'number' }, + closePrice: { type: 'number' }, + marginFunding: { type: 'number' }, + marginFundingType: { type: 'integer' }, + pl: { type: 'number' }, + plPerc: { type: 'number' }, + liquidationPrice: { type: 'number' }, + leverage: { type: 'number' }, + placeholder: { type: 'string' }, + mtsCreate: { type: 'integer' }, + mtsUpdate: { type: 'integer' } + } + ] +]) From 2ad525220fa232bdd557be52ecf01097d0511979 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 23 Jul 2025 14:26:15 +0300 Subject: [PATCH 04/81] Add filter schema getter --- .../helpers/get-filter-schema.js | 104 ++++++++++++++++++ .../filter-schemas/helpers/index.js | 9 ++ 2 files changed, 113 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/helpers/get-filter-schema.js create mode 100644 workers/loc.api/data-validator/filter-schemas/helpers/index.js diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/get-filter-schema.js b/workers/loc.api/data-validator/filter-schemas/helpers/get-filter-schema.js new file mode 100644 index 00000000..b5359581 --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/helpers/get-filter-schema.js @@ -0,0 +1,104 @@ +'use strict' + +const { + FilterParamsValidSchemaFindingError +} = require('../../../errors') +const FILTER_CONDITIONS = require('../../../helpers/filter.conditions') +const _filterModels = require('./filter-models') + +const getFilterModel = ( + filterSchemaId, + filterModels = _filterModels +) => { + if ( + !filterSchemaId || + typeof filterSchemaId !== 'string' || + !filterModels.has(filterSchemaId) + ) { + throw new FilterParamsValidSchemaFindingError() + } + + return filterModels.get(filterSchemaId) +} + +module.exports = ( + filterSchemaId, + filterModels = _filterModels +) => { + const model = getFilterModel(filterSchemaId, filterModels) + + if ( + !model || + typeof model !== 'object' || + Object.keys(model).length === 0 + ) { + throw new FilterParamsValidSchemaFindingError() + } + + const properties = { ...model } + const objSchema = { + type: 'object', + additionalProperties: false, + properties + } + const arrSchema = { + type: 'object', + additionalProperties: false, + properties: Object.entries(model).reduce((accum, [key, item]) => { + return { + ...accum, + [key]: { + type: 'array', + minItems: 1, + items: { ...item } + } + } + }, {}) + } + const fieldsArrSchema = { + type: 'array', + minItems: 1, + items: { + type: 'string', + enum: Object.keys(model) + } + } + + const baseProperties = { + [FILTER_CONDITIONS.GT]: objSchema, + [FILTER_CONDITIONS.GTE]: objSchema, + [FILTER_CONDITIONS.LT]: objSchema, + [FILTER_CONDITIONS.LTE]: objSchema, + [FILTER_CONDITIONS.NOT]: objSchema, + [FILTER_CONDITIONS.LIKE]: objSchema, + [FILTER_CONDITIONS.EQ]: objSchema, + [FILTER_CONDITIONS.NE]: objSchema, + [FILTER_CONDITIONS.IN]: arrSchema, + [FILTER_CONDITIONS.NIN]: arrSchema, + [FILTER_CONDITIONS.IS_NULL]: fieldsArrSchema, + [FILTER_CONDITIONS.IS_NOT_NULL]: fieldsArrSchema + } + const filterSchema = { + $id: filterSchemaId, + oneOf: [ + { + type: 'object', + additionalProperties: false, + properties: { + [FILTER_CONDITIONS.OR]: { + type: 'object', + additionalProperties: false, + properties: baseProperties + } + } + }, + { + type: 'object', + additionalProperties: false, + properties: baseProperties + } + ] + } + + return filterSchema +} diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/index.js b/workers/loc.api/data-validator/filter-schemas/helpers/index.js new file mode 100644 index 00000000..d0ebd35f --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/helpers/index.js @@ -0,0 +1,9 @@ +'use strict' + +const filterModels = require('./filter-models') +const getFilterSchema = require('./get-filter-schema') + +module.exports = { + filterModels, + getFilterSchema +} From 0ccc9bb9c0fd9b56f36ed98e80d179df39c79818 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 23 Jul 2025 14:27:26 +0300 Subject: [PATCH 05/81] Add getPositionsHistory req filter schema --- .../filter-schemas/getPositionsHistoryReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getPositionsHistoryReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getPositionsHistoryReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getPositionsHistoryReqFilter.js new file mode 100644 index 00000000..76dba1db --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getPositionsHistoryReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_POSITIONS_HISTORY_REQ_FILTER +) From 296a534114d621b309826c646e9aaf30592f5071 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 23 Jul 2025 14:28:36 +0300 Subject: [PATCH 06/81] Add entry point for filter schemas --- workers/loc.api/data-validator/filter-schemas/index.js | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/index.js diff --git a/workers/loc.api/data-validator/filter-schemas/index.js b/workers/loc.api/data-validator/filter-schemas/index.js new file mode 100644 index 00000000..ea0a894a --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/index.js @@ -0,0 +1,6 @@ +'use strict' + +const FILTER_SCHEMA_NAMES = require('../filter.schema.names') +const { requireSchemas } = require('../helpers') + +module.exports = requireSchemas(FILTER_SCHEMA_NAMES) From 10eeb4fd54e5027d5d348b01559dde9e43126c89 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 23 Jul 2025 14:30:00 +0300 Subject: [PATCH 07/81] Add filter schemas into data validator --- workers/loc.api/data-validator/index.js | 28 ++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/index.js b/workers/loc.api/data-validator/index.js index 0793445c..2ee6ea52 100644 --- a/workers/loc.api/data-validator/index.js +++ b/workers/loc.api/data-validator/index.js @@ -17,11 +17,17 @@ const { const SCHEMA_DOMAIN = require('./schema.domain') const SCHEMA_NAMES = require('./schema.names') const SCHEMA_IDS = require('./schema.ids') +const FILTER_SCHEMA_NAMES = require('./filter.schema.names') +const FILTER_SCHEMA_IDS = require('./filter.schema.ids') const schemas = require('./schemas') +const filterSchemas = require('./filter-schemas') const ajv = new Ajv({ // Compile schema on initialization - schemas: Object.values(schemas), + schemas: [ + ...Object.values(schemas), + ...Object.values(filterSchemas) + ], // Strict mode strict: true, @@ -92,11 +98,31 @@ const validate = (args, schemaId, opts) => { throw new ArgsParamsError({ data: validate.errors }) } +const reinit = (args) => { + const { + schemaNames, + schemaIds, + filterSchemaNames, + filterSchemaIds, + schemas = [] + } = args ?? {} + + Object.assign(SCHEMA_NAMES, schemaNames) + Object.assign(SCHEMA_IDS, schemaIds) + Object.assign(FILTER_SCHEMA_NAMES, filterSchemaNames) + Object.assign(FILTER_SCHEMA_IDS, filterSchemaIds) + + addSchemas(schemas) +} + module.exports = { SCHEMA_DOMAIN, SCHEMA_NAMES, SCHEMA_IDS, + FILTER_SCHEMA_NAMES, + FILTER_SCHEMA_IDS, + reinit, addSchemas, validate } From 82126e8d75738a5c7b75f13424d65017da8bbe48 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Thu, 24 Jul 2025 13:39:38 +0300 Subject: [PATCH 08/81] Add filter validation schema id getter --- .../helpers/get-filter-validation-schema-id.js | 14 ++++++++++++++ .../helpers/prepare-response/helpers/index.js | 2 ++ 2 files changed, 16 insertions(+) create mode 100644 workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js new file mode 100644 index 00000000..d2f897fb --- /dev/null +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -0,0 +1,14 @@ +'use strict' + +const { FILTER_SCHEMA_IDS } = require('../../../data-validator') + +const PARAMS_SCHEMAS_MAP = { + positionsHistory: FILTER_SCHEMA_IDS.GET_POSITIONS_HISTORY_REQ_FILTER +} + +module.exports = ( + method, + map = PARAMS_SCHEMAS_MAP +) => { + return map?.[method] +} diff --git a/workers/loc.api/helpers/prepare-response/helpers/index.js b/workers/loc.api/helpers/prepare-response/helpers/index.js index 0b2b812a..d63190d3 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/index.js +++ b/workers/loc.api/helpers/prepare-response/helpers/index.js @@ -3,6 +3,7 @@ const getParamsMap = require('./get-params-map') const getParamsSchemaName = require('./get-params-schema-name') const getValidationSchemaId = require('./get-validation-schema-id') +const getFilterValidationSchemaId = require('./get-filter-validation-schema-id') const omitPrivateModelFields = require('./omit-private-model-fields') const getBfxApiMethodName = require('./get-bfx-api-method-name') const getSymbolsForFiltering = require('./get-symbols-for-filtering') @@ -14,6 +15,7 @@ module.exports = { getParamsMap, getParamsSchemaName, getValidationSchemaId, + getFilterValidationSchemaId, omitPrivateModelFields, getBfxApiMethodName, getSymbolsForFiltering, From b51d6d016efb4ea0bf823ade78d21cead11fee15 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Thu, 24 Jul 2025 13:41:07 +0300 Subject: [PATCH 09/81] Add filter api method names --- .../helpers/filter.api.method.names.js | 31 +++++++++++++++++++ workers/loc.api/helpers/index.js | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 workers/loc.api/helpers/filter.api.method.names.js diff --git a/workers/loc.api/helpers/filter.api.method.names.js b/workers/loc.api/helpers/filter.api.method.names.js new file mode 100644 index 00000000..04ba4e64 --- /dev/null +++ b/workers/loc.api/helpers/filter.api.method.names.js @@ -0,0 +1,31 @@ +'use strict' + +module.exports = { + /** + * It's an alias to POSITIONS_HISTORY model + */ + POSITIONS_HISTORY: 'positionsHistory', + POSITIONS_SNAPSHOT: 'positionsSnapshot', + POSITIONS_AUDIT: 'positionsAudit', + + /** + * It's an alias to TRADES model + */ + TRADES: 'trades', + ORDER_TRADES: 'orderTrades', + + LEDGERS: 'ledgers', + TICKERS_HISTORY: 'tickersHistory', + FUNDING_TRADES: 'fundingTrades', + PUBLIC_TRADES: 'publicTrades', + ORDERS: 'orders', + MOVEMENTS: 'movements', + FUNDING_OFFER_HISTORY: 'fundingOfferHistory', + FUNDING_LOAN_HISTORY: 'fundingLoanHistory', + FUNDING_CREDIT_HISTORY: 'fundingCreditHistory', + STATUS_MESSAGES: 'statusMessages', + LOGINS: 'logins', + CHANGE_LOGS: 'changeLogs', + CANDLES: 'candles', + PAY_INVOICE_LIST: 'payInvoiceList' +} diff --git a/workers/loc.api/helpers/index.js b/workers/loc.api/helpers/index.js index 5da352d6..1d394c3a 100644 --- a/workers/loc.api/helpers/index.js +++ b/workers/loc.api/helpers/index.js @@ -63,6 +63,7 @@ const filterModels = require('./filter-models') const checkFilterParams = require('./check-filter-params') const normalizeFilterParams = require('./normalize-filter-params') const FILTER_MODELS_NAMES = require('./filter.models.names') +const FILTER_API_METHOD_NAMES = require('./filter.api.method.names') const FILTER_CONDITIONS = require('./filter.conditions') const getDataFromApi = require('./get-data-from-api') const splitSymbolPairs = require('./split-symbol-pairs') @@ -118,6 +119,7 @@ module.exports = { checkFilterParams, normalizeFilterParams, FILTER_MODELS_NAMES, + FILTER_API_METHOD_NAMES, FILTER_CONDITIONS, getDataFromApi, parsePositionsAuditId, From 52e4288e81c36207661d17fa34104a67d4c5fac7 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Thu, 24 Jul 2025 13:42:17 +0300 Subject: [PATCH 10/81] Use filter api method names with normalizer --- workers/loc.api/helpers/normalize-filter-params.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workers/loc.api/helpers/normalize-filter-params.js b/workers/loc.api/helpers/normalize-filter-params.js index 1a7fb9f1..451275e8 100644 --- a/workers/loc.api/helpers/normalize-filter-params.js +++ b/workers/loc.api/helpers/normalize-filter-params.js @@ -2,7 +2,7 @@ const { cloneDeep } = require('lib-js-util-base') -const FILTER_MODELS_NAMES = require('./filter.models.names') +const FILTER_API_METHOD_NAMES = require('./filter.api.method.names') const FILTER_CONDITIONS = require('./filter.conditions') const _filterConditionsNames = Object @@ -58,7 +58,7 @@ const _normalizeProp = ( } const _normalizers = { - [FILTER_MODELS_NAMES.PUBLIC_TRADES] (filter) { + [FILTER_API_METHOD_NAMES.PUBLIC_TRADES] (filter) { return _normalizeProp(filter, 'rate', (val) => { return typeof val === 'string' ? Number.parseFloat(val) From 6d9df53b2c90c791aacd469fe6f0fec66c620bff Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Thu, 24 Jul 2025 13:43:25 +0300 Subject: [PATCH 11/81] Use filter models in main report service --- workers/loc.api/service.report.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/service.report.js b/workers/loc.api/service.report.js index 5ac9aae9..665a4762 100644 --- a/workers/loc.api/service.report.js +++ b/workers/loc.api/service.report.js @@ -7,10 +7,12 @@ const { parseLoginsExtraDataFields, accountCache, getTimezoneConf, - filterModels, parsePositionsAuditId, prepareSymbolResponse } = require('./helpers') +const { + filterModels +} = require('./data-validator/filter-schemas/helpers') const { omitPrivateModelFields } = require('./helpers/prepare-response/helpers') From d2864887cba72614236f72a206d998e49d9020dc Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Thu, 24 Jul 2025 13:45:33 +0300 Subject: [PATCH 12/81] Use data validator for filters in prepare-response service --- workers/loc.api/helpers/prepare-response/index.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/workers/loc.api/helpers/prepare-response/index.js b/workers/loc.api/helpers/prepare-response/index.js index d2dae441..2c6e6573 100644 --- a/workers/loc.api/helpers/prepare-response/index.js +++ b/workers/loc.api/helpers/prepare-response/index.js @@ -3,13 +3,13 @@ const { MinLimitParamError } = require('../../errors') const filterResponse = require('../filter-response') -const checkFilterParams = require('../check-filter-params') const normalizeFilterParams = require('../normalize-filter-params') const prepareSymbolResponse = require('./prepare-symbol-response') const { getValidationSchemaId, + getFilterValidationSchemaId, omitPrivateModelFields, getBfxApiMethodName, getSymbolsForFiltering, @@ -141,10 +141,14 @@ const prepareApiResponse = ( isNotMoreThanInnerMax: _isNotMoreThanInnerMax } = params ?? {} const schemaId = getValidationSchemaId(apiMethodName) + const filterSchemaId = getFilterValidationSchemaId(apiMethodName) await dataValidator.validate(reqArgs, schemaId) const args = normalizeFilterParams(apiMethodName, reqArgs) - checkFilterParams(apiMethodName, args) + await dataValidator.validate( + { params: args?.params?.filter }, + filterSchemaId + ) const symbols = getSymbolsForFiltering({ apiMethodName, symbPropName, args }) const isSyncRequest = args?.params?.isSyncRequest From cf837074d981fc239ad30d3940e57ae7cef8bcb0 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Thu, 24 Jul 2025 13:46:52 +0300 Subject: [PATCH 13/81] Inject data validator into GenerateReportFile service --- workers/loc.api/di/app.deps.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/di/app.deps.js b/workers/loc.api/di/app.deps.js index eed0ba6d..91c69ec6 100644 --- a/workers/loc.api/di/app.deps.js +++ b/workers/loc.api/di/app.deps.js @@ -144,7 +144,8 @@ module.exports = ({ TYPES.ReportFileJobData, TYPES.RService, TYPES.RootPath, - TYPES.CONF + TYPES.CONF, + TYPES.DataValidator ] )) bind(TYPES.WriteDataToStream).toConstantValue( From 3d0f7637574d3aa31544f1eadc8ce50544c48271 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Thu, 24 Jul 2025 13:48:12 +0300 Subject: [PATCH 14/81] Use data validator for filters in GenerateReportFile service --- workers/loc.api/generate-report-file/index.js | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/workers/loc.api/generate-report-file/index.js b/workers/loc.api/generate-report-file/index.js index a6f11819..0cda2e22 100644 --- a/workers/loc.api/generate-report-file/index.js +++ b/workers/loc.api/generate-report-file/index.js @@ -1,10 +1,12 @@ 'use strict' const { - checkFilterParams, - FILTER_MODELS_NAMES, + FILTER_API_METHOD_NAMES, normalizeFilterParams } = require('../helpers') +const { + getFilterValidationSchemaId +} = require('../helpers/prepare-response/helpers') const { EmailSendingError, GrcPDFAvailabilityError @@ -62,7 +64,7 @@ const _getReportFileStoreStatus = async ({ return { isSendEmail: true } } -const _filterModelNameMap = Object.values(FILTER_MODELS_NAMES) +const _filterApiMethodNameMap = Object.values(FILTER_API_METHOD_NAMES) .reduce((map, name) => { const baseName = `${name[0].toUpperCase()}${name.slice(1)}` const key = `get${baseName}FileJobData` @@ -84,17 +86,17 @@ const _truncateFileNameEnding = (name) => { return `${cleanedName[0].toLowerCase()}${cleanedName.slice(1)}` } -const _getFilterModelNamesAndArgs = ( +const _getfilterApiMethodNamesAndArgs = ( name, reqArgs ) => { if (name !== 'getMultipleFileJobData') { - const filterModelName = _filterModelNameMap.get(name) + const filterApiMethodName = _filterApiMethodNameMap.get(name) const truncatedName = _truncateFileNameEnding(name) const args = normalizeFilterParams(truncatedName, reqArgs) return [{ - filterModelName, + filterApiMethodName, args }] } @@ -110,10 +112,10 @@ const _getFilterModelNamesAndArgs = ( const name = `${method}JobData` const truncatedName = _truncateFileNameEnding(method) const args = normalizeFilterParams(truncatedName, { params }) - const filterModelName = _filterModelNameMap.get(name) + const filterApiMethodName = _filterApiMethodNameMap.get(name) return { - filterModelName, + filterApiMethodName, args } }) @@ -125,7 +127,8 @@ module.exports = ( reportFileJobData, rService, rootPath, - conf + conf, + dataValidator ) => async ( name, args @@ -138,13 +141,17 @@ module.exports = ( rootPath, conf }) - const checkingDataArr = _getFilterModelNamesAndArgs( + const checkingDataArr = _getfilterApiMethodNamesAndArgs( name, args ) - for (const { filterModelName, args } of checkingDataArr) { - checkFilterParams(filterModelName, args) + for (const { filterApiMethodName, args } of checkingDataArr) { + const filterSchemaId = getFilterValidationSchemaId(filterApiMethodName) + await dataValidator.validate( + { params: args?.params?.filter }, + filterSchemaId + ) } const getter = reportFileJobData[name].bind(reportFileJobData) From f46e28907317d5c142bb2a1740b892c16f5b1b7f Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 25 Jul 2025 09:34:38 +0300 Subject: [PATCH 15/81] Fix filter schema import --- workers/loc.api/data-validator/filter-schemas/index.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter-schemas/index.js b/workers/loc.api/data-validator/filter-schemas/index.js index ea0a894a..4f82d9bc 100644 --- a/workers/loc.api/data-validator/filter-schemas/index.js +++ b/workers/loc.api/data-validator/filter-schemas/index.js @@ -1,6 +1,11 @@ 'use strict' +const path = require('node:path') + const FILTER_SCHEMA_NAMES = require('../filter.schema.names') const { requireSchemas } = require('../helpers') -module.exports = requireSchemas(FILTER_SCHEMA_NAMES) +module.exports = requireSchemas( + FILTER_SCHEMA_NAMES, + path.join(__dirname, '../filter-schemas') +) From 8119ceb273246ebddaba3dc91b78521b5ea9461a Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 25 Jul 2025 09:54:48 +0300 Subject: [PATCH 16/81] Use filter api method names with schema id getter --- .../helpers/get-filter-validation-schema-id.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index d2f897fb..79edc993 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -1,9 +1,11 @@ 'use strict' +const FILTER_API_METHOD_NAMES = require('../../filter.api.method.names') const { FILTER_SCHEMA_IDS } = require('../../../data-validator') const PARAMS_SCHEMAS_MAP = { - positionsHistory: FILTER_SCHEMA_IDS.GET_POSITIONS_HISTORY_REQ_FILTER + [FILTER_API_METHOD_NAMES.POSITIONS_HISTORY]: FILTER_SCHEMA_IDS + .GET_POSITIONS_HISTORY_REQ_FILTER } module.exports = ( From acfc968693280c453ffe20e2076a196f8d0af23b Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 25 Jul 2025 11:12:31 +0300 Subject: [PATCH 17/81] Use pos hist validation schema for pos snapshot --- .../prepare-response/helpers/get-filter-validation-schema-id.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index 79edc993..50951b7e 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -5,6 +5,8 @@ const { FILTER_SCHEMA_IDS } = require('../../../data-validator') const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.POSITIONS_HISTORY]: FILTER_SCHEMA_IDS + .GET_POSITIONS_HISTORY_REQ_FILTER, + [FILTER_API_METHOD_NAMES.POSITIONS_SNAPSHOT]: FILTER_SCHEMA_IDS .GET_POSITIONS_HISTORY_REQ_FILTER } From b6547b6be644d27b0e84d437793b3a217b4e3ddf Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 25 Jul 2025 11:13:21 +0300 Subject: [PATCH 18/81] Use pos hist validation schema for pos audit --- .../prepare-response/helpers/get-filter-validation-schema-id.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index 50951b7e..077f3af6 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -7,6 +7,8 @@ const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.POSITIONS_HISTORY]: FILTER_SCHEMA_IDS .GET_POSITIONS_HISTORY_REQ_FILTER, [FILTER_API_METHOD_NAMES.POSITIONS_SNAPSHOT]: FILTER_SCHEMA_IDS + .GET_POSITIONS_HISTORY_REQ_FILTER, + [FILTER_API_METHOD_NAMES.POSITIONS_AUDIT]: FILTER_SCHEMA_IDS .GET_POSITIONS_HISTORY_REQ_FILTER } From c91c8d9033c41e36ea12c9e84afa4a2f9e5fb687 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 25 Jul 2025 11:38:03 +0300 Subject: [PATCH 19/81] Add filter schema name for trades req filter --- workers/loc.api/data-validator/filter.schema.names.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index fc1fa594..1c768342 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -1,5 +1,6 @@ 'use strict' module.exports = { - GET_POSITIONS_HISTORY_REQ_FILTER: 'getPositionsHistoryReqFilter' + GET_POSITIONS_HISTORY_REQ_FILTER: 'getPositionsHistoryReqFilter', + GET_TRADES_REQ_FILTER: 'getTradesReqFilter' } From 1a638861448ba9b2b4a53c092a2cfcef94c5ff1b Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 25 Jul 2025 11:38:39 +0300 Subject: [PATCH 20/81] Add filter model for trades req filter --- .../filter-schemas/helpers/filter-models.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js index 1af479f8..025b9ad1 100644 --- a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -22,5 +22,21 @@ module.exports = new Map([ mtsCreate: { type: 'integer' }, mtsUpdate: { type: 'integer' } } + ], + [ + FILTER_SCHEMA_IDS.GET_TRADES_REQ_FILTER, + { + id: { type: 'integer' }, + symbol: { type: 'string' }, + mtsCreate: { type: 'integer' }, + orderID: { type: 'integer' }, + execAmount: { type: 'number' }, + execPrice: { type: 'number' }, + orderType: { type: 'string' }, + orderPrice: { type: 'number' }, + maker: { type: 'integer' }, + fee: { type: 'number' }, + feeCurrency: { type: 'string' } + } ] ]) From 8077dc1b9ba09206a69708f8018c5a7af5de1ed1 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 25 Jul 2025 11:39:05 +0300 Subject: [PATCH 21/81] Add filter schema for trades req filter --- .../data-validator/filter-schemas/getTradesReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getTradesReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getTradesReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getTradesReqFilter.js new file mode 100644 index 00000000..673da4bc --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getTradesReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_TRADES_REQ_FILTER +) From 0d282cee670a9c8da228c7a83738a34c54e66b4d Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 25 Jul 2025 11:39:29 +0300 Subject: [PATCH 22/81] Use trades req filter schema in prepare-response service --- .../helpers/get-filter-validation-schema-id.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index 077f3af6..46474740 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -9,7 +9,10 @@ const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.POSITIONS_SNAPSHOT]: FILTER_SCHEMA_IDS .GET_POSITIONS_HISTORY_REQ_FILTER, [FILTER_API_METHOD_NAMES.POSITIONS_AUDIT]: FILTER_SCHEMA_IDS - .GET_POSITIONS_HISTORY_REQ_FILTER + .GET_POSITIONS_HISTORY_REQ_FILTER, + + [FILTER_API_METHOD_NAMES.TRADES]: FILTER_SCHEMA_IDS + .GET_TRADES_REQ_FILTER } module.exports = ( From 4cb419744eb2f06a8031930466288200b88097f8 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 25 Jul 2025 11:41:03 +0300 Subject: [PATCH 23/81] Use trades validation schema for order trades --- .../prepare-response/helpers/get-filter-validation-schema-id.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index 46474740..91d0e955 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -12,6 +12,8 @@ const PARAMS_SCHEMAS_MAP = { .GET_POSITIONS_HISTORY_REQ_FILTER, [FILTER_API_METHOD_NAMES.TRADES]: FILTER_SCHEMA_IDS + .GET_TRADES_REQ_FILTER, + [FILTER_API_METHOD_NAMES.ORDER_TRADES]: FILTER_SCHEMA_IDS .GET_TRADES_REQ_FILTER } From b012c085816263383848a19b1909d80f7c04386a Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Mon, 28 Jul 2025 09:55:01 +0300 Subject: [PATCH 24/81] Add filter schema name for ledgers req filter --- workers/loc.api/data-validator/filter.schema.names.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index 1c768342..1b45443d 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -2,5 +2,6 @@ module.exports = { GET_POSITIONS_HISTORY_REQ_FILTER: 'getPositionsHistoryReqFilter', - GET_TRADES_REQ_FILTER: 'getTradesReqFilter' + GET_TRADES_REQ_FILTER: 'getTradesReqFilter', + GET_LEDGERS_REQ_FILTER: 'getLedgersReqFilter' } From 2ff982e51ddcffbafe32c391fa1d8b76a3dff605 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Mon, 28 Jul 2025 09:57:08 +0300 Subject: [PATCH 25/81] Add filter model for ledgers req filter --- .../filter-schemas/helpers/filter-models.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js index 025b9ad1..6d40d347 100644 --- a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -38,5 +38,19 @@ module.exports = new Map([ fee: { type: 'number' }, feeCurrency: { type: 'string' } } + ], + [ + FILTER_SCHEMA_IDS.GET_LEDGERS_REQ_FILTER, + { + id: { type: 'integer' }, + currency: { type: 'string' }, + mts: { type: 'integer' }, + amount: { type: 'number' }, + amountUsd: { type: 'number' }, + balance: { type: 'number' }, + balanceUsd: { type: 'number' }, + description: { type: 'string' }, + wallet: { type: 'string' } + } ] ]) From 9f5e9309791a3f7625026260bd13f80b5bfb3f86 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Mon, 28 Jul 2025 09:57:48 +0300 Subject: [PATCH 26/81] Add filter schema for ledgers req filter --- .../data-validator/filter-schemas/getLedgersReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getLedgersReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getLedgersReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getLedgersReqFilter.js new file mode 100644 index 00000000..4d2672b1 --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getLedgersReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_LEDGERS_REQ_FILTER +) From b51ed2348410247b4dd381d69d8e2b71ea831a63 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Mon, 28 Jul 2025 09:58:19 +0300 Subject: [PATCH 27/81] Use ledgers req filter schema in prepare-response service --- .../helpers/get-filter-validation-schema-id.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index 91d0e955..7f7c16e2 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -14,7 +14,10 @@ const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.TRADES]: FILTER_SCHEMA_IDS .GET_TRADES_REQ_FILTER, [FILTER_API_METHOD_NAMES.ORDER_TRADES]: FILTER_SCHEMA_IDS - .GET_TRADES_REQ_FILTER + .GET_TRADES_REQ_FILTER, + + [FILTER_API_METHOD_NAMES.LEDGERS]: FILTER_SCHEMA_IDS + .GET_LEDGERS_REQ_FILTER } module.exports = ( From 76c02cbdddb06cbcfa0ab3c543d98f9af96ddfe8 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Mon, 28 Jul 2025 10:41:56 +0300 Subject: [PATCH 28/81] Add filter schema name for tickers history req filter --- workers/loc.api/data-validator/filter.schema.names.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index 1b45443d..e4aa5124 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -3,5 +3,6 @@ module.exports = { GET_POSITIONS_HISTORY_REQ_FILTER: 'getPositionsHistoryReqFilter', GET_TRADES_REQ_FILTER: 'getTradesReqFilter', - GET_LEDGERS_REQ_FILTER: 'getLedgersReqFilter' + GET_LEDGERS_REQ_FILTER: 'getLedgersReqFilter', + GET_TICKERS_HISTORY_REQ_FILTER: 'getTickersHistoryReqFilter' } From 2e8a8d516d5c5a3632f2cfa3e5df674897dc4305 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Mon, 28 Jul 2025 10:42:34 +0300 Subject: [PATCH 29/81] Add filter model for tickers history req filter --- .../filter-schemas/helpers/filter-models.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js index 6d40d347..1346b916 100644 --- a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -52,5 +52,15 @@ module.exports = new Map([ description: { type: 'string' }, wallet: { type: 'string' } } + ], + [ + FILTER_SCHEMA_IDS.GET_TICKERS_HISTORY_REQ_FILTER, + { + symbol: { type: 'string' }, + bid: { type: 'number' }, + bidPeriod: { type: 'integer' }, + ask: { type: 'number' }, + mtsUpdate: { type: 'integer' } + } ] ]) From 88cefa5bcc5c2f73bdf0ab8608f4a21b83c59b46 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Mon, 28 Jul 2025 10:43:06 +0300 Subject: [PATCH 30/81] Add filter schema for tickers history req filter --- .../filter-schemas/getTickersHistoryReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getTickersHistoryReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getTickersHistoryReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getTickersHistoryReqFilter.js new file mode 100644 index 00000000..eb6bdbb7 --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getTickersHistoryReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_TICKERS_HISTORY_REQ_FILTER +) From 1f32d49a34e3434d78718d18759fa69664bb5ce3 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Mon, 28 Jul 2025 10:43:25 +0300 Subject: [PATCH 31/81] Use tickers history req filter schema in prepare-response service --- .../helpers/get-filter-validation-schema-id.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index 7f7c16e2..9ce56ee8 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -17,7 +17,9 @@ const PARAMS_SCHEMAS_MAP = { .GET_TRADES_REQ_FILTER, [FILTER_API_METHOD_NAMES.LEDGERS]: FILTER_SCHEMA_IDS - .GET_LEDGERS_REQ_FILTER + .GET_LEDGERS_REQ_FILTER, + [FILTER_API_METHOD_NAMES.TICKERS_HISTORY]: FILTER_SCHEMA_IDS + .GET_TICKERS_HISTORY_REQ_FILTER } module.exports = ( From 219b233959cf94a05f58378829833529eebb8ae3 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Mon, 28 Jul 2025 10:50:50 +0300 Subject: [PATCH 32/81] Add filter schema name for funding trades req filter --- workers/loc.api/data-validator/filter.schema.names.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index e4aa5124..0fab5927 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -4,5 +4,6 @@ module.exports = { GET_POSITIONS_HISTORY_REQ_FILTER: 'getPositionsHistoryReqFilter', GET_TRADES_REQ_FILTER: 'getTradesReqFilter', GET_LEDGERS_REQ_FILTER: 'getLedgersReqFilter', - GET_TICKERS_HISTORY_REQ_FILTER: 'getTickersHistoryReqFilter' + GET_TICKERS_HISTORY_REQ_FILTER: 'getTickersHistoryReqFilter', + GET_FUNDING_TRADES_REQ_FILTER: 'getFundingTradesReqFilter' } From 5e0b4b57e8681008dbc887246012533b9a19ee58 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Mon, 28 Jul 2025 10:51:18 +0300 Subject: [PATCH 33/81] Add filter model for funding trades req filter --- .../filter-schemas/helpers/filter-models.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js index 1346b916..5007688f 100644 --- a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -62,5 +62,18 @@ module.exports = new Map([ ask: { type: 'number' }, mtsUpdate: { type: 'integer' } } + ], + [ + FILTER_SCHEMA_IDS.GET_FUNDING_TRADES_REQ_FILTER, + { + id: { type: 'integer' }, + symbol: { type: 'string' }, + mtsCreate: { type: 'integer' }, + offerID: { type: 'integer' }, + amount: { type: 'number' }, + rate: { type: 'number' }, + period: { type: 'integer' }, + maker: { type: 'integer' } + } ] ]) From 20bf89963a9c8f72d334e31fefd90f9a72675f1a Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Mon, 28 Jul 2025 10:52:10 +0300 Subject: [PATCH 34/81] Add filter schema for funding trades req filter --- .../filter-schemas/getFundingTradesReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getFundingTradesReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getFundingTradesReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getFundingTradesReqFilter.js new file mode 100644 index 00000000..46ad9ce8 --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getFundingTradesReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_FUNDING_TRADES_REQ_FILTER +) From d34bf90d3353516b87313fcf88c2b175b4c0b216 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Mon, 28 Jul 2025 10:52:31 +0300 Subject: [PATCH 35/81] Use funding trades req filter schema in prepare-response service --- .../helpers/get-filter-validation-schema-id.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index 9ce56ee8..e7de0cd0 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -19,7 +19,9 @@ const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.LEDGERS]: FILTER_SCHEMA_IDS .GET_LEDGERS_REQ_FILTER, [FILTER_API_METHOD_NAMES.TICKERS_HISTORY]: FILTER_SCHEMA_IDS - .GET_TICKERS_HISTORY_REQ_FILTER + .GET_TICKERS_HISTORY_REQ_FILTER, + [FILTER_API_METHOD_NAMES.FUNDING_TRADES]: FILTER_SCHEMA_IDS + .GET_FUNDING_TRADES_REQ_FILTER } module.exports = ( From 88a504cf752b4093a10241782ccb62fdbd1ae198 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:34:13 +0300 Subject: [PATCH 36/81] Add filter schema name for public trades req filter --- workers/loc.api/data-validator/filter.schema.names.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index 0fab5927..7812bbcd 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -5,5 +5,6 @@ module.exports = { GET_TRADES_REQ_FILTER: 'getTradesReqFilter', GET_LEDGERS_REQ_FILTER: 'getLedgersReqFilter', GET_TICKERS_HISTORY_REQ_FILTER: 'getTickersHistoryReqFilter', - GET_FUNDING_TRADES_REQ_FILTER: 'getFundingTradesReqFilter' + GET_FUNDING_TRADES_REQ_FILTER: 'getFundingTradesReqFilter', + GET_PUBLIC_TRADES_REQ_FILTER: 'getPublicTradesReqFilter' } From d492cb96cb05642799fa236c6f892e42cc213b6f Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:34:44 +0300 Subject: [PATCH 37/81] Add filter model for public trades req filter --- .../filter-schemas/helpers/filter-models.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js index 5007688f..4305054d 100644 --- a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -75,5 +75,16 @@ module.exports = new Map([ period: { type: 'integer' }, maker: { type: 'integer' } } + ], + [ + FILTER_SCHEMA_IDS.GET_PUBLIC_TRADES_REQ_FILTER, + { + id: { type: 'integer' }, + mts: { type: 'integer' }, + rate: { type: 'number' }, + period: { type: 'integer' }, + amount: { type: 'number' }, + price: { type: 'number' } + } ] ]) From 89223f21dcadd75bdff6a8cf8e538ccbfc497ca2 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:35:14 +0300 Subject: [PATCH 38/81] Add filter schema for public trades req filter --- .../filter-schemas/getPublicTradesReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getPublicTradesReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getPublicTradesReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getPublicTradesReqFilter.js new file mode 100644 index 00000000..1616c607 --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getPublicTradesReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_PUBLIC_TRADES_REQ_FILTER +) From a2e0a2f96ca4c96f9eba3cfac8ad9bee857da0f7 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:35:39 +0300 Subject: [PATCH 39/81] Use public trades req filter schema in prepare-response service --- .../helpers/get-filter-validation-schema-id.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index e7de0cd0..ffa812c3 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -21,7 +21,9 @@ const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.TICKERS_HISTORY]: FILTER_SCHEMA_IDS .GET_TICKERS_HISTORY_REQ_FILTER, [FILTER_API_METHOD_NAMES.FUNDING_TRADES]: FILTER_SCHEMA_IDS - .GET_FUNDING_TRADES_REQ_FILTER + .GET_FUNDING_TRADES_REQ_FILTER, + [FILTER_API_METHOD_NAMES.PUBLIC_TRADES]: FILTER_SCHEMA_IDS + .GET_PUBLIC_TRADES_REQ_FILTER } module.exports = ( From cb4326b31e2ad7ccc86d716bb1aa1bae8f4bb9ae Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:41:08 +0300 Subject: [PATCH 40/81] Add filter schema name for orders req filter --- workers/loc.api/data-validator/filter.schema.names.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index 7812bbcd..541e14e0 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -6,5 +6,6 @@ module.exports = { GET_LEDGERS_REQ_FILTER: 'getLedgersReqFilter', GET_TICKERS_HISTORY_REQ_FILTER: 'getTickersHistoryReqFilter', GET_FUNDING_TRADES_REQ_FILTER: 'getFundingTradesReqFilter', - GET_PUBLIC_TRADES_REQ_FILTER: 'getPublicTradesReqFilter' + GET_PUBLIC_TRADES_REQ_FILTER: 'getPublicTradesReqFilter', + GET_ORDERS_REQ_FILTER: 'getOrdersReqFilter' } From ff52639a7b38b880d9f22e4ac83c074d717b2f97 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:41:27 +0300 Subject: [PATCH 41/81] Add filter model for orders req filter --- .../filter-schemas/helpers/filter-models.js | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js index 4305054d..55984c31 100644 --- a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -86,5 +86,29 @@ module.exports = new Map([ amount: { type: 'number' }, price: { type: 'number' } } + ], + [ + FILTER_SCHEMA_IDS.GET_ORDERS_REQ_FILTER, + { + id: { type: 'integer' }, + gid: { type: 'integer' }, + cid: { type: 'integer' }, + symbol: { type: 'string' }, + mtsCreate: { type: 'integer' }, + mtsUpdate: { type: 'integer' }, + amount: { type: 'number' }, + amountOrig: { type: 'number' }, + type: { type: 'string' }, + typePrev: { type: 'string' }, + flags: { type: 'integer' }, + status: { type: 'string' }, + price: { type: 'number' }, + priceAvg: { type: 'number' }, + priceTrailing: { type: 'number' }, + priceAuxLimit: { type: 'number' }, + notify: { type: 'integer' }, + placedId: { type: 'integer' }, + amountExecuted: { type: 'number' } + } ] ]) From f3820bf09461c64b9e4cf373a155436c5f063627 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:41:47 +0300 Subject: [PATCH 42/81] Add filter schema for orders req filter --- .../data-validator/filter-schemas/getOrdersReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getOrdersReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getOrdersReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getOrdersReqFilter.js new file mode 100644 index 00000000..53b550e9 --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getOrdersReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_ORDERS_REQ_FILTER +) From 8729d275712d0ef9b0ef2b2a86d00b1fadfc082c Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:42:18 +0300 Subject: [PATCH 43/81] Use orders req filter schema in prepare-response service --- .../helpers/get-filter-validation-schema-id.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index ffa812c3..f894e903 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -23,7 +23,9 @@ const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.FUNDING_TRADES]: FILTER_SCHEMA_IDS .GET_FUNDING_TRADES_REQ_FILTER, [FILTER_API_METHOD_NAMES.PUBLIC_TRADES]: FILTER_SCHEMA_IDS - .GET_PUBLIC_TRADES_REQ_FILTER + .GET_PUBLIC_TRADES_REQ_FILTER, + [FILTER_API_METHOD_NAMES.ORDERS]: FILTER_SCHEMA_IDS + .GET_ORDERS_REQ_FILTER } module.exports = ( From 22dfd173d7381c5d42e7746c01adcc90dff033bc Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:48:05 +0300 Subject: [PATCH 44/81] Add filter schema name for movements req filter --- workers/loc.api/data-validator/filter.schema.names.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index 541e14e0..97c5dc20 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -7,5 +7,6 @@ module.exports = { GET_TICKERS_HISTORY_REQ_FILTER: 'getTickersHistoryReqFilter', GET_FUNDING_TRADES_REQ_FILTER: 'getFundingTradesReqFilter', GET_PUBLIC_TRADES_REQ_FILTER: 'getPublicTradesReqFilter', - GET_ORDERS_REQ_FILTER: 'getOrdersReqFilter' + GET_ORDERS_REQ_FILTER: 'getOrdersReqFilter', + GET_MOVEMENTS_REQ_FILTER: 'getMovementsReqFilter' } From 8c96ed85a0d0d396523b384c4b57457e83fff282 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:48:29 +0300 Subject: [PATCH 45/81] Add filter model for movements req filter --- .../filter-schemas/helpers/filter-models.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js index 55984c31..1231fdb6 100644 --- a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -110,5 +110,22 @@ module.exports = new Map([ placedId: { type: 'integer' }, amountExecuted: { type: 'number' } } + ], + [ + FILTER_SCHEMA_IDS.GET_MOVEMENTS_REQ_FILTER, + { + id: { type: 'integer' }, + currency: { type: 'string' }, + currencyName: { type: 'string' }, + mtsStarted: { type: 'integer' }, + mtsUpdated: { type: 'integer' }, + status: { type: 'string' }, + amount: { type: 'number' }, + amountUsd: { type: 'number' }, + fees: { type: 'number' }, + destinationAddress: { type: 'string' }, + transactionId: { type: 'string' }, + note: { type: 'string' } + } ] ]) From 75b1d813efddb5a457a15a3ce19c7ec36bfd5211 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:48:50 +0300 Subject: [PATCH 46/81] Add filter schema for movements req filter --- .../filter-schemas/getMovementsReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getMovementsReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getMovementsReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getMovementsReqFilter.js new file mode 100644 index 00000000..babcc835 --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getMovementsReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_MOVEMENTS_REQ_FILTER +) From 12e420f0d50b6b0df6a4cc57851c1db10bd41985 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:49:13 +0300 Subject: [PATCH 47/81] Use movements req filter schema in prepare-response service --- .../helpers/get-filter-validation-schema-id.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index f894e903..b406b759 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -25,7 +25,9 @@ const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.PUBLIC_TRADES]: FILTER_SCHEMA_IDS .GET_PUBLIC_TRADES_REQ_FILTER, [FILTER_API_METHOD_NAMES.ORDERS]: FILTER_SCHEMA_IDS - .GET_ORDERS_REQ_FILTER + .GET_ORDERS_REQ_FILTER, + [FILTER_API_METHOD_NAMES.MOVEMENTS]: FILTER_SCHEMA_IDS + .GET_MOVEMENTS_REQ_FILTER } module.exports = ( From 979465db1f1cadd0ac9e499d0ec8d656f52294f4 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:54:16 +0300 Subject: [PATCH 48/81] Add filter schema name for funding offer history req filter --- workers/loc.api/data-validator/filter.schema.names.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index 97c5dc20..f8448127 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -8,5 +8,6 @@ module.exports = { GET_FUNDING_TRADES_REQ_FILTER: 'getFundingTradesReqFilter', GET_PUBLIC_TRADES_REQ_FILTER: 'getPublicTradesReqFilter', GET_ORDERS_REQ_FILTER: 'getOrdersReqFilter', - GET_MOVEMENTS_REQ_FILTER: 'getMovementsReqFilter' + GET_MOVEMENTS_REQ_FILTER: 'getMovementsReqFilter', + GET_FUNDING_OFFER_HISTORY_REQ_FILTER: 'getFundingOfferHistoryReqFilter' } From ca88b0b51fa860a824b22ef9764a7a1c1a321121 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:54:35 +0300 Subject: [PATCH 49/81] Add filter model for funding offer history req filter --- .../filter-schemas/helpers/filter-models.js | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js index 1231fdb6..95b65906 100644 --- a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -127,5 +127,26 @@ module.exports = new Map([ transactionId: { type: 'string' }, note: { type: 'string' } } + ], + [ + FILTER_SCHEMA_IDS.GET_FUNDING_OFFER_HISTORY_REQ_FILTER, + { + id: { type: 'integer' }, + symbol: { type: 'string' }, + mtsCreate: { type: 'integer' }, + mtsUpdate: { type: 'integer' }, + amount: { type: 'number' }, + amountOrig: { type: 'number' }, + type: { type: 'string' }, + flags: { type: 'string' }, + status: { type: 'string' }, + rate: { type: 'string' }, + period: { type: 'integer' }, + notify: { type: 'integer' }, + hidden: { type: 'integer' }, + renew: { type: 'integer' }, + rateReal: { type: 'integer' }, + amountExecuted: { type: 'number' } + } ] ]) From ae71fb17a34ac4256650b8a20ffa0f3206f7ec12 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:54:57 +0300 Subject: [PATCH 50/81] Add filter schema for funding offer history req filter --- .../filter-schemas/getFundingOfferHistoryReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getFundingOfferHistoryReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getFundingOfferHistoryReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getFundingOfferHistoryReqFilter.js new file mode 100644 index 00000000..48a386a5 --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getFundingOfferHistoryReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_FUNDING_OFFER_HISTORY_REQ_FILTER +) From 5223aeeba128772145ff2793a9cde7830bca498a Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 29 Jul 2025 11:55:45 +0300 Subject: [PATCH 51/81] Use funding offer history req filter schema in prepare-response service --- .../helpers/get-filter-validation-schema-id.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index b406b759..0a939055 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -27,7 +27,9 @@ const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.ORDERS]: FILTER_SCHEMA_IDS .GET_ORDERS_REQ_FILTER, [FILTER_API_METHOD_NAMES.MOVEMENTS]: FILTER_SCHEMA_IDS - .GET_MOVEMENTS_REQ_FILTER + .GET_MOVEMENTS_REQ_FILTER, + [FILTER_API_METHOD_NAMES.FUNDING_OFFER_HISTORY]: FILTER_SCHEMA_IDS + .GET_FUNDING_OFFER_HISTORY_REQ_FILTER } module.exports = ( From 48e83bdb9e9990cb7e013b21f30a6afcaa591a62 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 30 Jul 2025 10:55:02 +0300 Subject: [PATCH 52/81] Add filter schema name for funding loan history req filter --- workers/loc.api/data-validator/filter.schema.names.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index f8448127..236b1a7e 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -9,5 +9,6 @@ module.exports = { GET_PUBLIC_TRADES_REQ_FILTER: 'getPublicTradesReqFilter', GET_ORDERS_REQ_FILTER: 'getOrdersReqFilter', GET_MOVEMENTS_REQ_FILTER: 'getMovementsReqFilter', - GET_FUNDING_OFFER_HISTORY_REQ_FILTER: 'getFundingOfferHistoryReqFilter' + GET_FUNDING_OFFER_HISTORY_REQ_FILTER: 'getFundingOfferHistoryReqFilter', + GET_FUNDING_LOAN_HISTORY_REQ_FILTER: 'getFundingLoanHistoryReqFilter' } From df8cb1de4959f1209efb446d0fc42bede2119113 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 30 Jul 2025 10:55:24 +0300 Subject: [PATCH 53/81] Add filter model for funding loan history req filter --- .../filter-schemas/helpers/filter-models.js | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js index 95b65906..0b6eea79 100644 --- a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -148,5 +148,27 @@ module.exports = new Map([ rateReal: { type: 'integer' }, amountExecuted: { type: 'number' } } + ], + [ + FILTER_SCHEMA_IDS.GET_FUNDING_LOAN_HISTORY_REQ_FILTER, + { + id: { type: 'integer' }, + symbol: { type: 'string' }, + side: { type: 'integer' }, + mtsCreate: { type: 'integer' }, + mtsUpdate: { type: 'integer' }, + amount: { type: 'number' }, + flags: { type: 'string' }, + status: { type: 'string' }, + rate: { type: 'string' }, + period: { type: 'integer' }, + mtsOpening: { type: 'integer' }, + mtsLastPayout: { type: 'integer' }, + notify: { type: 'integer' }, + hidden: { type: 'integer' }, + renew: { type: 'integer' }, + rateReal: { type: 'integer' }, + noClose: { type: 'integer' } + } ] ]) From 711336f0e35dbe2de30996fc3722a56bd403af5c Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 30 Jul 2025 10:55:57 +0300 Subject: [PATCH 54/81] Add filter schema for funding loan history req filter --- .../filter-schemas/getFundingLoanHistoryReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getFundingLoanHistoryReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getFundingLoanHistoryReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getFundingLoanHistoryReqFilter.js new file mode 100644 index 00000000..89706043 --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getFundingLoanHistoryReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_FUNDING_LOAN_HISTORY_REQ_FILTER +) From 8efd4aa75dc21eff34ebe42ad424fcebed0788c6 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 30 Jul 2025 10:56:43 +0300 Subject: [PATCH 55/81] Use funding loan history req filter schema in prepare-response service --- .../helpers/get-filter-validation-schema-id.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index 0a939055..e6ec55b2 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -29,7 +29,9 @@ const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.MOVEMENTS]: FILTER_SCHEMA_IDS .GET_MOVEMENTS_REQ_FILTER, [FILTER_API_METHOD_NAMES.FUNDING_OFFER_HISTORY]: FILTER_SCHEMA_IDS - .GET_FUNDING_OFFER_HISTORY_REQ_FILTER + .GET_FUNDING_OFFER_HISTORY_REQ_FILTER, + [FILTER_API_METHOD_NAMES.FUNDING_LOAN_HISTORY]: FILTER_SCHEMA_IDS + .GET_FUNDING_LOAN_HISTORY_REQ_FILTER } module.exports = ( From 6cda1184ef6325bfaa410d759cfa74164f4619e8 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 30 Jul 2025 11:10:28 +0300 Subject: [PATCH 56/81] Add filter schema name for funding credit history req filter --- workers/loc.api/data-validator/filter.schema.names.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index 236b1a7e..6c136568 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -10,5 +10,5 @@ module.exports = { GET_ORDERS_REQ_FILTER: 'getOrdersReqFilter', GET_MOVEMENTS_REQ_FILTER: 'getMovementsReqFilter', GET_FUNDING_OFFER_HISTORY_REQ_FILTER: 'getFundingOfferHistoryReqFilter', - GET_FUNDING_LOAN_HISTORY_REQ_FILTER: 'getFundingLoanHistoryReqFilter' + GET_FUNDING_CREDIT_HISTORY_REQ_FILTER: 'getFundingCreditHistoryReqFilter' } From 6d00af1a4c9a5dc2771ad2b03ee3e1c0736eb052 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 30 Jul 2025 11:10:59 +0300 Subject: [PATCH 57/81] Add filter model for funding credit history req filter --- .../filter-schemas/helpers/filter-models.js | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js index 0b6eea79..2ec37d87 100644 --- a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -170,5 +170,28 @@ module.exports = new Map([ rateReal: { type: 'integer' }, noClose: { type: 'integer' } } + ], + [ + FILTER_SCHEMA_IDS.GET_FUNDING_CREDIT_HISTORY_REQ_FILTER, + { + id: { type: 'integer' }, + symbol: { type: 'string' }, + side: { type: 'integer' }, + mtsCreate: { type: 'integer' }, + mtsUpdate: { type: 'integer' }, + amount: { type: 'number' }, + flags: { type: 'string' }, + status: { type: 'string' }, + rate: { type: 'string' }, + period: { type: 'integer' }, + mtsOpening: { type: 'integer' }, + mtsLastPayout: { type: 'integer' }, + notify: { type: 'integer' }, + hidden: { type: 'integer' }, + renew: { type: 'integer' }, + rateReal: { type: 'integer' }, + noClose: { type: 'integer' }, + positionPair: { type: 'string' } + } ] ]) From 4f939c6721c58295f4ef12c05b49f9e78efd0d0d Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 30 Jul 2025 11:11:25 +0300 Subject: [PATCH 58/81] Add filter schema for funding credit history req filter --- .../filter-schemas/getFundingCreditHistoryReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getFundingCreditHistoryReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getFundingCreditHistoryReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getFundingCreditHistoryReqFilter.js new file mode 100644 index 00000000..83c23235 --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getFundingCreditHistoryReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_FUNDING_CREDIT_HISTORY_REQ_FILTER +) From 0bc918455d9f3bde0945020c29e3559729a62173 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 30 Jul 2025 11:11:56 +0300 Subject: [PATCH 59/81] Use funding credit history req filter schema in prepare-response service --- .../helpers/get-filter-validation-schema-id.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index e6ec55b2..15be4ca9 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -31,7 +31,9 @@ const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.FUNDING_OFFER_HISTORY]: FILTER_SCHEMA_IDS .GET_FUNDING_OFFER_HISTORY_REQ_FILTER, [FILTER_API_METHOD_NAMES.FUNDING_LOAN_HISTORY]: FILTER_SCHEMA_IDS - .GET_FUNDING_LOAN_HISTORY_REQ_FILTER + .GET_FUNDING_LOAN_HISTORY_REQ_FILTER, + [FILTER_API_METHOD_NAMES.FUNDING_CREDIT_HISTORY]: FILTER_SCHEMA_IDS + .GET_FUNDING_CREDIT_HISTORY_REQ_FILTER } module.exports = ( From 94c5149d54d167400a0b1f76938ce65431c627af Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 30 Jul 2025 11:19:51 +0300 Subject: [PATCH 60/81] Add filter schema name for status messages req filter --- workers/loc.api/data-validator/filter.schema.names.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index 6c136568..d1d1ef7d 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -10,5 +10,6 @@ module.exports = { GET_ORDERS_REQ_FILTER: 'getOrdersReqFilter', GET_MOVEMENTS_REQ_FILTER: 'getMovementsReqFilter', GET_FUNDING_OFFER_HISTORY_REQ_FILTER: 'getFundingOfferHistoryReqFilter', - GET_FUNDING_CREDIT_HISTORY_REQ_FILTER: 'getFundingCreditHistoryReqFilter' + GET_FUNDING_CREDIT_HISTORY_REQ_FILTER: 'getFundingCreditHistoryReqFilter', + GET_STATUS_MESSAGES_REQ_FILTER: 'getStatusMessagesReqFilter' } From cd9c838dba614e9f76bccc7b1f75e1997fe48677 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 30 Jul 2025 11:20:36 +0300 Subject: [PATCH 61/81] Add filter model for status messages req filter --- .../filter-schemas/helpers/filter-models.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js index 2ec37d87..e8267d9b 100644 --- a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -193,5 +193,19 @@ module.exports = new Map([ noClose: { type: 'integer' }, positionPair: { type: 'string' } } + ], + [ + FILTER_SCHEMA_IDS.GET_STATUS_MESSAGES_REQ_FILTER, + { + key: { type: 'string' }, + timestamp: { type: 'integer' }, + price: { type: 'number' }, + priceSpot: { type: 'number' }, + fundBal: { type: 'number' }, + fundingAccrued: { type: 'number' }, + fundingStep: { type: 'number' }, + clampMin: { type: 'number' }, + clampMax: { type: 'number' } + } ] ]) From 86ab059e724a5f7784660ab2a86382161dceb47f Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 30 Jul 2025 11:21:02 +0300 Subject: [PATCH 62/81] Add filter schema for status messages req filter --- .../filter-schemas/getStatusMessagesReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getStatusMessagesReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getStatusMessagesReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getStatusMessagesReqFilter.js new file mode 100644 index 00000000..23a670f5 --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getStatusMessagesReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_STATUS_MESSAGES_REQ_FILTER +) From ac45ba76660be29bff076c16e70d255edad8e279 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Wed, 30 Jul 2025 11:21:21 +0300 Subject: [PATCH 63/81] Use status messages req filter schema in prepare-response service --- .../helpers/get-filter-validation-schema-id.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index 15be4ca9..61767fa2 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -33,7 +33,9 @@ const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.FUNDING_LOAN_HISTORY]: FILTER_SCHEMA_IDS .GET_FUNDING_LOAN_HISTORY_REQ_FILTER, [FILTER_API_METHOD_NAMES.FUNDING_CREDIT_HISTORY]: FILTER_SCHEMA_IDS - .GET_FUNDING_CREDIT_HISTORY_REQ_FILTER + .GET_FUNDING_CREDIT_HISTORY_REQ_FILTER, + [FILTER_API_METHOD_NAMES.STATUS_MESSAGES]: FILTER_SCHEMA_IDS + .GET_STATUS_MESSAGES_REQ_FILTER } module.exports = ( From ad93d83814995849c2e802ef66c6394578455304 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Thu, 31 Jul 2025 11:49:03 +0300 Subject: [PATCH 64/81] Add filter schema name for logins req filter --- workers/loc.api/data-validator/filter.schema.names.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index d1d1ef7d..19be3618 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -11,5 +11,6 @@ module.exports = { GET_MOVEMENTS_REQ_FILTER: 'getMovementsReqFilter', GET_FUNDING_OFFER_HISTORY_REQ_FILTER: 'getFundingOfferHistoryReqFilter', GET_FUNDING_CREDIT_HISTORY_REQ_FILTER: 'getFundingCreditHistoryReqFilter', - GET_STATUS_MESSAGES_REQ_FILTER: 'getStatusMessagesReqFilter' + GET_STATUS_MESSAGES_REQ_FILTER: 'getStatusMessagesReqFilter', + GET_LOGINS_REQ_FILTER: 'getLoginsReqFilter' } From 2fd577cf40c4b18aee611af724b77af2f27bcc5b Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Thu, 31 Jul 2025 11:50:03 +0300 Subject: [PATCH 65/81] Add filter model for logins req filter --- .../filter-schemas/helpers/filter-models.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js index e8267d9b..f0e36928 100644 --- a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -207,5 +207,13 @@ module.exports = new Map([ clampMin: { type: 'number' }, clampMax: { type: 'number' } } + ], + [ + FILTER_SCHEMA_IDS.GET_LOGINS_REQ_FILTER, + { + id: { type: 'integer' }, + time: { type: 'integer' }, + ip: { type: 'string' } + } ] ]) From a6012c741f6230999289290040860fbf118ec2cb Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Thu, 31 Jul 2025 11:50:36 +0300 Subject: [PATCH 66/81] Add filter schema for logins req filter --- .../data-validator/filter-schemas/getLoginsReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getLoginsReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getLoginsReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getLoginsReqFilter.js new file mode 100644 index 00000000..08620cef --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getLoginsReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_LOGINS_REQ_FILTER +) From 9d45062b41f81cc809bb45fc24828836312e2196 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Thu, 31 Jul 2025 11:51:02 +0300 Subject: [PATCH 67/81] Use logins req filter schema in prepare-response service --- .../helpers/get-filter-validation-schema-id.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index 61767fa2..557ae9a4 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -35,7 +35,9 @@ const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.FUNDING_CREDIT_HISTORY]: FILTER_SCHEMA_IDS .GET_FUNDING_CREDIT_HISTORY_REQ_FILTER, [FILTER_API_METHOD_NAMES.STATUS_MESSAGES]: FILTER_SCHEMA_IDS - .GET_STATUS_MESSAGES_REQ_FILTER + .GET_STATUS_MESSAGES_REQ_FILTER, + [FILTER_API_METHOD_NAMES.LOGINS]: FILTER_SCHEMA_IDS + .GET_LOGINS_REQ_FILTER } module.exports = ( From 43b1726e0e1c92cd4abd103a2af83dccf6065e1f Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Thu, 31 Jul 2025 12:00:02 +0300 Subject: [PATCH 68/81] Add filter schema name for change logs req filter --- workers/loc.api/data-validator/filter.schema.names.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index 19be3618..01d69ffc 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -12,5 +12,6 @@ module.exports = { GET_FUNDING_OFFER_HISTORY_REQ_FILTER: 'getFundingOfferHistoryReqFilter', GET_FUNDING_CREDIT_HISTORY_REQ_FILTER: 'getFundingCreditHistoryReqFilter', GET_STATUS_MESSAGES_REQ_FILTER: 'getStatusMessagesReqFilter', - GET_LOGINS_REQ_FILTER: 'getLoginsReqFilter' + GET_LOGINS_REQ_FILTER: 'getLoginsReqFilter', + GET_CHANGE_LOGS_REQ_FILTER: 'getChangeLogsReqFilter' } From bd90c27451c9a8476c24684c2795a3bf02d7f14c Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Thu, 31 Jul 2025 12:00:32 +0300 Subject: [PATCH 69/81] Add filter model for change logs req filter --- .../filter-schemas/helpers/filter-models.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js index f0e36928..06b84fe8 100644 --- a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -215,5 +215,14 @@ module.exports = new Map([ time: { type: 'integer' }, ip: { type: 'string' } } + ], + [ + FILTER_SCHEMA_IDS.GET_CHANGE_LOGS_REQ_FILTER, + { + mtsCreate: { type: 'integer' }, + log: { type: 'string' }, + ip: { type: 'string' }, + userAgent: { type: 'string' } + } ] ]) From 0e2c8d8eb6dc4a1037c7a92c02fff5debfaa3219 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Thu, 31 Jul 2025 12:00:54 +0300 Subject: [PATCH 70/81] Add filter schema for change logs req filter --- .../filter-schemas/getChangeLogsReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getChangeLogsReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getChangeLogsReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getChangeLogsReqFilter.js new file mode 100644 index 00000000..44bf215c --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getChangeLogsReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_CHANGE_LOGS_REQ_FILTER +) From 9046dbfb792e147964465c51f338254ad8dd5dd8 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Thu, 31 Jul 2025 12:01:23 +0300 Subject: [PATCH 71/81] Use change logs req filter schema in prepare-response service --- .../helpers/get-filter-validation-schema-id.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index 557ae9a4..c1ed5e4d 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -37,7 +37,9 @@ const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.STATUS_MESSAGES]: FILTER_SCHEMA_IDS .GET_STATUS_MESSAGES_REQ_FILTER, [FILTER_API_METHOD_NAMES.LOGINS]: FILTER_SCHEMA_IDS - .GET_LOGINS_REQ_FILTER + .GET_LOGINS_REQ_FILTER, + [FILTER_API_METHOD_NAMES.CHANGE_LOGS]: FILTER_SCHEMA_IDS + .GET_CHANGE_LOGS_REQ_FILTER } module.exports = ( From 8aa6cc74543814f7f3024cd3756f38fbb6099b5f Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 1 Aug 2025 10:32:35 +0300 Subject: [PATCH 72/81] Add filter schema name for candles req filter --- workers/loc.api/data-validator/filter.schema.names.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index 01d69ffc..0ae4be45 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -13,5 +13,6 @@ module.exports = { GET_FUNDING_CREDIT_HISTORY_REQ_FILTER: 'getFundingCreditHistoryReqFilter', GET_STATUS_MESSAGES_REQ_FILTER: 'getStatusMessagesReqFilter', GET_LOGINS_REQ_FILTER: 'getLoginsReqFilter', - GET_CHANGE_LOGS_REQ_FILTER: 'getChangeLogsReqFilter' + GET_CHANGE_LOGS_REQ_FILTER: 'getChangeLogsReqFilter', + GET_CANDLES_REQ_FILTER: 'getCandlesReqFilter' } From 945b3bf828fd5c8064644ff95750ed3a4139b946 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 1 Aug 2025 10:34:03 +0300 Subject: [PATCH 73/81] Add filter model for candles req filter --- .../filter-schemas/helpers/filter-models.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js index 06b84fe8..35ac9a80 100644 --- a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -224,5 +224,16 @@ module.exports = new Map([ ip: { type: 'string' }, userAgent: { type: 'string' } } + ], + [ + FILTER_SCHEMA_IDS.GET_CANDLES_REQ_FILTER, + { + mts: { type: 'integer' }, + open: { type: 'number' }, + close: { type: 'number' }, + high: { type: 'number' }, + low: { type: 'number' }, + volume: { type: 'number' } + } ] ]) From 75746b580cc8c880f5b2e4a947c5ecd863e266f8 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 1 Aug 2025 10:34:25 +0300 Subject: [PATCH 74/81] Add filter schema for candles req filter --- .../data-validator/filter-schemas/getCandlesReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getCandlesReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getCandlesReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getCandlesReqFilter.js new file mode 100644 index 00000000..d79415e3 --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getCandlesReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_CANDLES_REQ_FILTER +) From a0e7eb9947cbe053062d2388d9e853865ae32996 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 1 Aug 2025 10:34:49 +0300 Subject: [PATCH 75/81] Use candles req filter schema in prepare-response service --- .../helpers/get-filter-validation-schema-id.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index c1ed5e4d..09b87d5c 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -39,7 +39,9 @@ const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.LOGINS]: FILTER_SCHEMA_IDS .GET_LOGINS_REQ_FILTER, [FILTER_API_METHOD_NAMES.CHANGE_LOGS]: FILTER_SCHEMA_IDS - .GET_CHANGE_LOGS_REQ_FILTER + .GET_CHANGE_LOGS_REQ_FILTER, + [FILTER_API_METHOD_NAMES.CANDLES]: FILTER_SCHEMA_IDS + .GET_CANDLES_REQ_FILTER } module.exports = ( From 867eead5be2634bc938bb9870bc5a652b1e4eb2b Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 1 Aug 2025 11:01:58 +0300 Subject: [PATCH 76/81] Add filter schema name for pay invoice list req filter --- workers/loc.api/data-validator/filter.schema.names.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index 0ae4be45..a44f3b3f 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -14,5 +14,6 @@ module.exports = { GET_STATUS_MESSAGES_REQ_FILTER: 'getStatusMessagesReqFilter', GET_LOGINS_REQ_FILTER: 'getLoginsReqFilter', GET_CHANGE_LOGS_REQ_FILTER: 'getChangeLogsReqFilter', - GET_CANDLES_REQ_FILTER: 'getCandlesReqFilter' + GET_CANDLES_REQ_FILTER: 'getCandlesReqFilter', + GET_PAY_INVOICE_LIST_REQ_FILTER: 'getPayInvoiceListReqFilter' } From 5ba571db8e04831ef809c914613a56cc1bdc1dbd Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 1 Aug 2025 11:04:01 +0300 Subject: [PATCH 77/81] Add filter model for pay invoice list req filter --- .../filter-schemas/helpers/filter-models.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js index 35ac9a80..ca03c41d 100644 --- a/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js +++ b/workers/loc.api/data-validator/filter-schemas/helpers/filter-models.js @@ -235,5 +235,20 @@ module.exports = new Map([ low: { type: 'number' }, volume: { type: 'number' } } + ], + [ + FILTER_SCHEMA_IDS.GET_PAY_INVOICE_LIST_REQ_FILTER, + { + id: { type: 'string' }, + t: { type: 'integer' }, + duration: { type: 'number' }, + amount: { type: 'number' }, + currency: { type: 'string' }, + orderId: { type: 'string' }, + webhook: { type: 'string' }, + redirectUrl: { type: 'string' }, + status: { type: 'string' }, + merchantName: { type: 'string' } + } ] ]) From 277bf3765f64edc024f9a929cf42dbe65ee251a4 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 1 Aug 2025 11:05:07 +0300 Subject: [PATCH 78/81] Add filter schema for pay invoice list req filter --- .../filter-schemas/getPayInvoiceListReqFilter.js | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 workers/loc.api/data-validator/filter-schemas/getPayInvoiceListReqFilter.js diff --git a/workers/loc.api/data-validator/filter-schemas/getPayInvoiceListReqFilter.js b/workers/loc.api/data-validator/filter-schemas/getPayInvoiceListReqFilter.js new file mode 100644 index 00000000..e1c39b40 --- /dev/null +++ b/workers/loc.api/data-validator/filter-schemas/getPayInvoiceListReqFilter.js @@ -0,0 +1,8 @@ +'use strict' + +const FILTER_SCHEMA_IDS = require('../filter.schema.ids') +const { getFilterSchema } = require('./helpers') + +module.exports = getFilterSchema( + FILTER_SCHEMA_IDS.GET_PAY_INVOICE_LIST_REQ_FILTER +) From 964197ccd0ac7383d74d28d0d7bad6d3b848e163 Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 1 Aug 2025 11:05:30 +0300 Subject: [PATCH 79/81] Use pay invoice list req filter schema in prepare-response service --- .../helpers/get-filter-validation-schema-id.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js index 09b87d5c..c87d0ac3 100644 --- a/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js +++ b/workers/loc.api/helpers/prepare-response/helpers/get-filter-validation-schema-id.js @@ -41,7 +41,9 @@ const PARAMS_SCHEMAS_MAP = { [FILTER_API_METHOD_NAMES.CHANGE_LOGS]: FILTER_SCHEMA_IDS .GET_CHANGE_LOGS_REQ_FILTER, [FILTER_API_METHOD_NAMES.CANDLES]: FILTER_SCHEMA_IDS - .GET_CANDLES_REQ_FILTER + .GET_CANDLES_REQ_FILTER, + [FILTER_API_METHOD_NAMES.PAY_INVOICE_LIST]: FILTER_SCHEMA_IDS + .GET_PAY_INVOICE_LIST_REQ_FILTER } module.exports = ( From 03eb28f929b97eb3a231e530cc37e1a0a52a640f Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Fri, 1 Aug 2025 11:07:21 +0300 Subject: [PATCH 80/81] Add filter schema name for funding loan history req filter --- workers/loc.api/data-validator/filter.schema.names.js | 1 + 1 file changed, 1 insertion(+) diff --git a/workers/loc.api/data-validator/filter.schema.names.js b/workers/loc.api/data-validator/filter.schema.names.js index a44f3b3f..46bb8756 100644 --- a/workers/loc.api/data-validator/filter.schema.names.js +++ b/workers/loc.api/data-validator/filter.schema.names.js @@ -10,6 +10,7 @@ module.exports = { GET_ORDERS_REQ_FILTER: 'getOrdersReqFilter', GET_MOVEMENTS_REQ_FILTER: 'getMovementsReqFilter', GET_FUNDING_OFFER_HISTORY_REQ_FILTER: 'getFundingOfferHistoryReqFilter', + GET_FUNDING_LOAN_HISTORY_REQ_FILTER: 'getFundingLoanHistoryReqFilter', GET_FUNDING_CREDIT_HISTORY_REQ_FILTER: 'getFundingCreditHistoryReqFilter', GET_STATUS_MESSAGES_REQ_FILTER: 'getStatusMessagesReqFilter', GET_LOGINS_REQ_FILTER: 'getLoginsReqFilter', From 9dcf73772f9185bfa54af8cf072ae3c7ba77ec8e Mon Sep 17 00:00:00 2001 From: Vladimir Voronkov Date: Tue, 5 Aug 2025 14:19:32 +0300 Subject: [PATCH 81/81] Clean up outdated check-filter-params logic --- .../loc.api/helpers/check-filter-params.js | 144 ---------- workers/loc.api/helpers/filter-models.js | 254 ------------------ .../loc.api/helpers/filter.models.names.js | 31 --- workers/loc.api/helpers/index.js | 6 - 4 files changed, 435 deletions(-) delete mode 100644 workers/loc.api/helpers/check-filter-params.js delete mode 100644 workers/loc.api/helpers/filter-models.js delete mode 100644 workers/loc.api/helpers/filter.models.names.js diff --git a/workers/loc.api/helpers/check-filter-params.js b/workers/loc.api/helpers/check-filter-params.js deleted file mode 100644 index ee82e58b..00000000 --- a/workers/loc.api/helpers/check-filter-params.js +++ /dev/null @@ -1,144 +0,0 @@ -'use strict' - -const Ajv = require('ajv') - -const { - FilterParamsValidSchemaFindingError, - ArgsParamsFilterError -} = require('../errors') -const _filterModels = require('./filter-models') -const FILTER_MODELS_NAMES = require('./filter.models.names') -const FILTER_CONDITIONS = require('./filter.conditions') - -const _getModel = ( - name, - filterModels = _filterModels -) => { - if ( - !name || - typeof name !== 'string' || - !filterModels.has(name) - ) { - throw new FilterParamsValidSchemaFindingError() - } - - return { ...filterModels.get(name) } -} - -const _getFilterSchema = (model = {}) => { - if ( - !model || - typeof model !== 'object' || - Object.keys(model).length === 0 - ) { - throw new FilterParamsValidSchemaFindingError() - } - - const properties = { ...model } - const objSchema = { - type: 'object', - additionalProperties: false, - properties - } - const arrSchema = { - type: 'object', - additionalProperties: false, - properties: Object.entries(model).reduce((accum, [key, item]) => { - return { - ...accum, - [key]: { - type: 'array', - minItems: 1, - items: { ...item } - } - } - }, {}) - } - const fieldsArrSchema = { - type: 'array', - minItems: 1, - items: { - type: 'string', - enum: Object.keys(model) - } - } - - const baseProperties = { - [FILTER_CONDITIONS.GT]: objSchema, - [FILTER_CONDITIONS.GTE]: objSchema, - [FILTER_CONDITIONS.LT]: objSchema, - [FILTER_CONDITIONS.LTE]: objSchema, - [FILTER_CONDITIONS.NOT]: objSchema, - [FILTER_CONDITIONS.LIKE]: objSchema, - [FILTER_CONDITIONS.EQ]: objSchema, - [FILTER_CONDITIONS.NE]: objSchema, - [FILTER_CONDITIONS.IN]: arrSchema, - [FILTER_CONDITIONS.NIN]: arrSchema, - [FILTER_CONDITIONS.IS_NULL]: fieldsArrSchema, - [FILTER_CONDITIONS.IS_NOT_NULL]: fieldsArrSchema - } - const filterSchema = { - oneOf: [ - { - type: 'object', - additionalProperties: false, - properties: { - [FILTER_CONDITIONS.OR]: { - type: 'object', - additionalProperties: false, - properties: baseProperties - } - } - }, - { - type: 'object', - additionalProperties: false, - properties: baseProperties - } - ] - } - - return filterSchema -} - -const _getMethodApiName = (methodApi) => { - if ( - methodApi === FILTER_MODELS_NAMES.POSITIONS_AUDIT || - methodApi === FILTER_MODELS_NAMES.POSITIONS_SNAPSHOT - ) { - return FILTER_MODELS_NAMES.POSITIONS_HISTORY - } - if (methodApi === FILTER_MODELS_NAMES.ORDER_TRADES) { - return FILTER_MODELS_NAMES.TRADES - } - - return methodApi -} - -module.exports = ( - methodApi, - args = {}, - filterModels -) => { - const { params } = { ...args } - const { filter } = { ...params } - - if ( - !filter || - typeof filter !== 'object' || - Object.keys(filter).length === 0 - ) { - return - } - - const ajv = new Ajv({ allowUnionTypes: true }) - const methodName = _getMethodApiName(methodApi) - const model = _getModel(methodName, filterModels) - const filterSchema = _getFilterSchema(model) - - if (ajv.validate(filterSchema, filter)) { - return - } - - throw new ArgsParamsFilterError({ data: ajv.errors }) -} diff --git a/workers/loc.api/helpers/filter-models.js b/workers/loc.api/helpers/filter-models.js deleted file mode 100644 index 18033822..00000000 --- a/workers/loc.api/helpers/filter-models.js +++ /dev/null @@ -1,254 +0,0 @@ -'use strict' - -const FILTER_MODELS_NAMES = require('./filter.models.names') - -module.exports = new Map([ - [ - FILTER_MODELS_NAMES.TICKERS_HISTORY, - { - symbol: { type: 'string' }, - bid: { type: 'number' }, - bidPeriod: { type: 'integer' }, - ask: { type: 'number' }, - mtsUpdate: { type: 'integer' } - } - ], - [ - FILTER_MODELS_NAMES.POSITIONS_HISTORY, - { - id: { type: 'integer' }, - symbol: { type: 'string' }, - status: { type: 'string' }, - amount: { type: 'number' }, - basePrice: { type: 'number' }, - closePrice: { type: 'number' }, - marginFunding: { type: 'number' }, - marginFundingType: { type: 'integer' }, - pl: { type: 'number' }, - plPerc: { type: 'number' }, - liquidationPrice: { type: 'number' }, - leverage: { type: 'number' }, - placeholder: { type: 'string' }, - mtsCreate: { type: 'integer' }, - mtsUpdate: { type: 'integer' } - } - ], - [ - FILTER_MODELS_NAMES.LEDGERS, - { - id: { type: 'integer' }, - currency: { type: 'string' }, - mts: { type: 'integer' }, - amount: { type: 'number' }, - amountUsd: { type: 'number' }, - balance: { type: 'number' }, - balanceUsd: { type: 'number' }, - description: { type: 'string' }, - wallet: { type: 'string' } - } - ], - [ - FILTER_MODELS_NAMES.TRADES, - { - id: { type: 'integer' }, - symbol: { type: 'string' }, - mtsCreate: { type: 'integer' }, - orderID: { type: 'integer' }, - execAmount: { type: 'number' }, - execPrice: { type: 'number' }, - orderType: { type: 'string' }, - orderPrice: { type: 'number' }, - maker: { type: 'integer' }, - fee: { type: 'number' }, - feeCurrency: { type: 'string' } - } - ], - [ - FILTER_MODELS_NAMES.FUNDING_TRADES, - { - id: { type: 'integer' }, - symbol: { type: 'string' }, - mtsCreate: { type: 'integer' }, - offerID: { type: 'integer' }, - amount: { type: 'number' }, - rate: { type: 'number' }, - period: { type: 'integer' }, - maker: { type: 'integer' } - } - ], - [ - FILTER_MODELS_NAMES.PUBLIC_TRADES, - { - id: { type: 'integer' }, - mts: { type: 'integer' }, - rate: { type: 'number' }, - period: { type: 'integer' }, - amount: { type: 'number' }, - price: { type: 'number' } - } - ], - [ - FILTER_MODELS_NAMES.ORDERS, - { - id: { type: 'integer' }, - gid: { type: 'integer' }, - cid: { type: 'integer' }, - symbol: { type: 'string' }, - mtsCreate: { type: 'integer' }, - mtsUpdate: { type: 'integer' }, - amount: { type: 'number' }, - amountOrig: { type: 'number' }, - type: { type: 'string' }, - typePrev: { type: 'string' }, - flags: { type: 'integer' }, - status: { type: 'string' }, - price: { type: 'number' }, - priceAvg: { type: 'number' }, - priceTrailing: { type: 'number' }, - priceAuxLimit: { type: 'number' }, - notify: { type: 'integer' }, - placedId: { type: 'integer' }, - amountExecuted: { type: 'number' } - } - ], - [ - FILTER_MODELS_NAMES.MOVEMENTS, - { - id: { type: 'integer' }, - currency: { type: 'string' }, - currencyName: { type: 'string' }, - mtsStarted: { type: 'integer' }, - mtsUpdated: { type: 'integer' }, - status: { type: 'string' }, - amount: { type: 'number' }, - amountUsd: { type: 'number' }, - fees: { type: 'number' }, - destinationAddress: { type: 'string' }, - transactionId: { type: 'string' }, - note: { type: 'string' } - } - ], - [ - FILTER_MODELS_NAMES.FUNDING_OFFER_HISTORY, - { - id: { type: 'integer' }, - symbol: { type: 'string' }, - mtsCreate: { type: 'integer' }, - mtsUpdate: { type: 'integer' }, - amount: { type: 'number' }, - amountOrig: { type: 'number' }, - type: { type: 'string' }, - flags: { type: 'string' }, - status: { type: 'string' }, - rate: { type: 'string' }, - period: { type: 'integer' }, - notify: { type: 'integer' }, - hidden: { type: 'integer' }, - renew: { type: 'integer' }, - rateReal: { type: 'integer' }, - amountExecuted: { type: 'number' } - } - ], - [ - FILTER_MODELS_NAMES.FUNDING_LOAN_HISTORY, - { - id: { type: 'integer' }, - symbol: { type: 'string' }, - side: { type: 'integer' }, - mtsCreate: { type: 'integer' }, - mtsUpdate: { type: 'integer' }, - amount: { type: 'number' }, - flags: { type: 'string' }, - status: { type: 'string' }, - rate: { type: 'string' }, - period: { type: 'integer' }, - mtsOpening: { type: 'integer' }, - mtsLastPayout: { type: 'integer' }, - notify: { type: 'integer' }, - hidden: { type: 'integer' }, - renew: { type: 'integer' }, - rateReal: { type: 'integer' }, - noClose: { type: 'integer' } - } - ], - [ - FILTER_MODELS_NAMES.FUNDING_CREDIT_HISTORY, - { - id: { type: 'integer' }, - symbol: { type: 'string' }, - side: { type: 'integer' }, - mtsCreate: { type: 'integer' }, - mtsUpdate: { type: 'integer' }, - amount: { type: 'number' }, - flags: { type: 'string' }, - status: { type: 'string' }, - rate: { type: 'string' }, - period: { type: 'integer' }, - mtsOpening: { type: 'integer' }, - mtsLastPayout: { type: 'integer' }, - notify: { type: 'integer' }, - hidden: { type: 'integer' }, - renew: { type: 'integer' }, - rateReal: { type: 'integer' }, - noClose: { type: 'integer' }, - positionPair: { type: 'string' } - } - ], - [ - FILTER_MODELS_NAMES.STATUS_MESSAGES, - { - key: { type: 'string' }, - timestamp: { type: 'integer' }, - price: { type: 'number' }, - priceSpot: { type: 'number' }, - fundBal: { type: 'number' }, - fundingAccrued: { type: 'number' }, - fundingStep: { type: 'number' }, - clampMin: { type: 'number' }, - clampMax: { type: 'number' } - } - ], - [ - FILTER_MODELS_NAMES.LOGINS, - { - id: { type: 'integer' }, - time: { type: 'integer' }, - ip: { type: 'string' } - } - ], - [ - FILTER_MODELS_NAMES.CHANGE_LOGS, - { - mtsCreate: { type: 'integer' }, - log: { type: 'string' }, - ip: { type: 'string' }, - userAgent: { type: 'string' } - } - ], - [ - FILTER_MODELS_NAMES.CANDLES, - { - mts: { type: 'integer' }, - open: { type: 'number' }, - close: { type: 'number' }, - high: { type: 'number' }, - low: { type: 'number' }, - volume: { type: 'number' } - } - ], - [ - FILTER_MODELS_NAMES.PAY_INVOICE_LIST, - { - id: { type: 'string' }, - t: { type: 'integer' }, - duration: { type: 'number' }, - amount: { type: 'number' }, - currency: { type: 'string' }, - orderId: { type: 'string' }, - webhook: { type: 'string' }, - redirectUrl: { type: 'string' }, - status: { type: 'string' }, - merchantName: { type: 'string' } - } - ] -]) diff --git a/workers/loc.api/helpers/filter.models.names.js b/workers/loc.api/helpers/filter.models.names.js deleted file mode 100644 index 04ba4e64..00000000 --- a/workers/loc.api/helpers/filter.models.names.js +++ /dev/null @@ -1,31 +0,0 @@ -'use strict' - -module.exports = { - /** - * It's an alias to POSITIONS_HISTORY model - */ - POSITIONS_HISTORY: 'positionsHistory', - POSITIONS_SNAPSHOT: 'positionsSnapshot', - POSITIONS_AUDIT: 'positionsAudit', - - /** - * It's an alias to TRADES model - */ - TRADES: 'trades', - ORDER_TRADES: 'orderTrades', - - LEDGERS: 'ledgers', - TICKERS_HISTORY: 'tickersHistory', - FUNDING_TRADES: 'fundingTrades', - PUBLIC_TRADES: 'publicTrades', - ORDERS: 'orders', - MOVEMENTS: 'movements', - FUNDING_OFFER_HISTORY: 'fundingOfferHistory', - FUNDING_LOAN_HISTORY: 'fundingLoanHistory', - FUNDING_CREDIT_HISTORY: 'fundingCreditHistory', - STATUS_MESSAGES: 'statusMessages', - LOGINS: 'logins', - CHANGE_LOGS: 'changeLogs', - CANDLES: 'candles', - PAY_INVOICE_LIST: 'payInvoiceList' -} diff --git a/workers/loc.api/helpers/index.js b/workers/loc.api/helpers/index.js index 1d394c3a..e038c79a 100644 --- a/workers/loc.api/helpers/index.js +++ b/workers/loc.api/helpers/index.js @@ -59,10 +59,7 @@ const checkJobAndGetUserData = require( ) const grcBfxReq = require('./grc-bfx-req') const filterResponse = require('./filter-response') -const filterModels = require('./filter-models') -const checkFilterParams = require('./check-filter-params') const normalizeFilterParams = require('./normalize-filter-params') -const FILTER_MODELS_NAMES = require('./filter.models.names') const FILTER_API_METHOD_NAMES = require('./filter.api.method.names') const FILTER_CONDITIONS = require('./filter.conditions') const getDataFromApi = require('./get-data-from-api') @@ -115,10 +112,7 @@ module.exports = { checkJobAndGetUserData, grcBfxReq, filterResponse, - filterModels, - checkFilterParams, normalizeFilterParams, - FILTER_MODELS_NAMES, FILTER_API_METHOD_NAMES, FILTER_CONDITIONS, getDataFromApi,