Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
d18475a
Add data validator to dao
ZIMkaRU Aug 5, 2025
b3cc14f
Use data validator in db data getter
ZIMkaRU Aug 5, 2025
262c4bf
Use new filter api method name list
ZIMkaRU Aug 5, 2025
df02b0b
Use filter param data validator in main service
ZIMkaRU Aug 5, 2025
4223aa6
Merge pull request #470 from ZIMkaRU/refactoring/rework-query-param-s…
tarcisiozf Aug 6, 2025
f904af4
Add data validator schema names
ZIMkaRU Aug 7, 2025
8ac91fb
Add data validator schema ids
ZIMkaRU Aug 7, 2025
fddfaf8
Add data validator fw-defs schema
ZIMkaRU Aug 7, 2025
199f9b3
Add data validator getBalanceHistory req schema
ZIMkaRU Aug 7, 2025
1bfb025
Add data validator getBalanceHistoryFile req schema
ZIMkaRU Aug 7, 2025
962ce74
Add data validator schemas import
ZIMkaRU Aug 7, 2025
68111e9
Add fw data validator entrypoint
ZIMkaRU Aug 7, 2025
efd12dd
Reinit data validator with new schemas
ZIMkaRU Aug 7, 2025
6a28cd4
Use balance history req schema in main service
ZIMkaRU Aug 8, 2025
40efb28
Use balance history file req schema in generate-report-file service
ZIMkaRU Aug 8, 2025
f72dc6d
Rework report-file-args getter for generation-report-file
ZIMkaRU Aug 8, 2025
6f2e55c
Enable param data validation for findInCollBy method
ZIMkaRU Aug 11, 2025
0c4888d
Adjust param data validation for main sync methods
ZIMkaRU Aug 11, 2025
70a2a70
Adjust param data validation for pub sync methods
ZIMkaRU Aug 11, 2025
9a12b96
Add data validator fwGetCandles req schema name
ZIMkaRU Aug 11, 2025
e1600ae
Add data validator fwGetCandles req schema
ZIMkaRU Aug 11, 2025
a68d1d7
Add data validator fwGetCandlesFile req schema name
ZIMkaRU Aug 11, 2025
e477b2a
Add data validator fwGetCandlesFile req schema
ZIMkaRU Aug 11, 2025
01fb5df
Use candles req schema in main service
ZIMkaRU Aug 11, 2025
69436fc
Add sub-account api keys validation schema def
ZIMkaRU Aug 12, 2025
db9117d
Add data validator createSubAccount req schema name
ZIMkaRU Aug 12, 2025
a5253ca
Add data validator createSubAccount req schema
ZIMkaRU Aug 12, 2025
e7fc136
Use createSubAccount req schema in main service
ZIMkaRU Aug 12, 2025
0e3e88d
Add data validator updateSubAccount req schema name
ZIMkaRU Aug 12, 2025
39dbeb9
Add data validator updateSubAccount req schema
ZIMkaRU Aug 12, 2025
9119238
Use updateSubAccount req schema in main service
ZIMkaRU Aug 12, 2025
eaa8f9d
Add data validator interruptOperations req schema name
ZIMkaRU Aug 13, 2025
cf02bd0
Add data validator interruptOperations req schema
ZIMkaRU Aug 13, 2025
e1e3431
Use interruptOperations req schema in main service
ZIMkaRU Aug 13, 2025
21793a7
Add data validator interruptOperations req schema name
ZIMkaRU Aug 13, 2025
cc8ac95
Add data validator interruptOperations req schema
ZIMkaRU Aug 13, 2025
d4f0213
Use interruptOperations req schema in main service
ZIMkaRU Aug 13, 2025
7c9e4cf
Fix symbol schema def ref
ZIMkaRU Aug 13, 2025
fa28636
Use candle timeframe validation schema def
ZIMkaRU Aug 14, 2025
d295ded
Add data validator getWinLoss req schema name
ZIMkaRU Aug 14, 2025
ba22e73
Add data validator getWinLoss req schema
ZIMkaRU Aug 14, 2025
2a1ba88
Use getWinLoss req schema in main service
ZIMkaRU Aug 14, 2025
7bdf0bd
Add data validator getWinLossFile req schema name
ZIMkaRU Aug 14, 2025
90e6b96
Add data validator getWinLossFile req schema
ZIMkaRU Aug 14, 2025
39e21ae
Use getWinLossFile req schema in generate-report-file service
ZIMkaRU Aug 14, 2025
dc88aee
Adjust data validator getBalanceHistory req schema
ZIMkaRU Aug 14, 2025
4d94726
Add data validator getPositionsSnapshot req schema name
ZIMkaRU Aug 15, 2025
cf26651
Add data validator getPositionsSnapshot req schema
ZIMkaRU Aug 15, 2025
0144fe7
Use getPositionsSnapshot req schema in main service
ZIMkaRU Aug 15, 2025
f482211
Add data validator getPositionsSnapshotFile req schema name
ZIMkaRU Aug 15, 2025
b2fa5e2
Add data validator getPositionsSnapshotFile req schema
ZIMkaRU Aug 15, 2025
e4c6007
Use getPositionsSnapshotFile req schema in generate-report-file service
ZIMkaRU Aug 15, 2025
afdd196
Add data validator getFullSnapshotReport req schema name
ZIMkaRU Aug 15, 2025
26a43d2
Add data validator getFullSnapshotReport req schema
ZIMkaRU Aug 15, 2025
698732f
Use getFullSnapshotReport req schema in main service
ZIMkaRU Aug 15, 2025
abdd12e
Add data validator getFullSnapshotReportFile req schema name
ZIMkaRU Aug 15, 2025
0d39faa
Add data validator getFullSnapshotReportFile req schema
ZIMkaRU Aug 15, 2025
81313f3
Use getFullSnapshotReportFile req schema in generate-report-file service
ZIMkaRU Aug 15, 2025
eefcf42
Adjust params setting fo full-snapshot-report csv writer
ZIMkaRU Aug 15, 2025
57a7697
Add data validator getFullTaxReport req schema name
ZIMkaRU Aug 18, 2025
91b59f2
Add data validator getFullTaxReport req schema
ZIMkaRU Aug 18, 2025
f2100f0
Use getFullTaxReport req schema in main service
ZIMkaRU Aug 18, 2025
b587ebc
Add data validator getFullTaxReportFile req schema name
ZIMkaRU Aug 18, 2025
fd46f04
Add data validator getFullTaxReportFile req schema
ZIMkaRU Aug 18, 2025
66ed49b
Use getFullTaxReportFile req schema in generate-report-file service
ZIMkaRU Aug 18, 2025
d3d3eb3
Adjust params setting fo full-tax-report csv writer
ZIMkaRU Aug 18, 2025
25602f8
Fix params setting fo full-snapshot-report csv writer
ZIMkaRU Aug 18, 2025
6660ec0
Add trx tax strategy def to schema
ZIMkaRU Aug 18, 2025
a5c8a93
Add data validator getTransactionTaxReport req schema name
ZIMkaRU Aug 18, 2025
bece6a0
Add data validator getTransactionTaxReport req schema
ZIMkaRU Aug 18, 2025
5693448
Use getTransactionTaxReport req schema in main service
ZIMkaRU Aug 18, 2025
29c2965
Add data validator getTransactionTaxReportFile req schema name
ZIMkaRU Aug 18, 2025
d00eebc
Add data validator getTransactionTaxReportFile req schema
ZIMkaRU Aug 18, 2025
90adb9e
Use getTransactionTaxReportFile req schema in generate-report-file se…
ZIMkaRU Aug 18, 2025
f427412
Adjust params setting for transaction-tax-report csv writer
ZIMkaRU Aug 18, 2025
ad76357
Fix params setting for csv writer
ZIMkaRU Aug 18, 2025
c04a21d
Add data validator getTradedVolume req schema name
ZIMkaRU Aug 19, 2025
006c1c9
Add data validator getTradedVolume req schema
ZIMkaRU Aug 19, 2025
dccf552
Use getTradedVolume req schema in main service
ZIMkaRU Aug 19, 2025
dfc291f
Add data validator getTradedVolumeFile req schema name
ZIMkaRU Aug 19, 2025
a9fc950
Add data validator getTradedVolumeFile req schema
ZIMkaRU Aug 19, 2025
68233ef
Use getTradedVolumeFile req schema in generate-report-file service
ZIMkaRU Aug 19, 2025
15cb227
Add data validator getTotalFeesReport req schema name
ZIMkaRU Aug 19, 2025
cefbac9
Add data validator getTotalFeesReport req schema
ZIMkaRU Aug 19, 2025
cd4628f
Add fee report flag defs to schema
ZIMkaRU Aug 19, 2025
98a97a2
Use getTotalFeesReport req schema in main service
ZIMkaRU Aug 19, 2025
c9797da
Add data validator getTotalFeesReportFile req schema name
ZIMkaRU Aug 19, 2025
f965514
Add data validator getTotalFeesReportFile req schema
ZIMkaRU Aug 19, 2025
72faa67
Use getTotalFeesReportFile req schema in generate-report-file service
ZIMkaRU Aug 19, 2025
f8198af
Add data validator getPerformingLoan req schema name
ZIMkaRU Aug 20, 2025
da28a76
Add data validator getPerformingLoan req schema
ZIMkaRU Aug 20, 2025
a4f022a
Use getPerformingLoan req schema in main service
ZIMkaRU Aug 20, 2025
0b7ff9d
Add data validator getPerformingLoanFile req schema name
ZIMkaRU Aug 20, 2025
23d38ab
Add data validator getPerformingLoanFile req schema
ZIMkaRU Aug 20, 2025
cf033d1
Use getPerformingLoanFile req schema in generate-report-file service
ZIMkaRU Aug 20, 2025
302ab98
Add isVSPrevDayBalance flag def to schema
ZIMkaRU Aug 20, 2025
a790de5
Add data validator getWinLossVSAccountBalance req schema name
ZIMkaRU Aug 20, 2025
e728076
Add data validator getWinLossVSAccountBalance req schema
ZIMkaRU Aug 20, 2025
19023a6
Use getWinLossVSAccountBalance req schema in main service
ZIMkaRU Aug 20, 2025
e5a87c5
Add data validator getWinLossVSAccountBalanceFile req schema name
ZIMkaRU Aug 20, 2025
299ed7d
Add data validator getWinLossVSAccountBalanceFile req schema
ZIMkaRU Aug 20, 2025
d275e49
Use getWinLossVSAccountBalanceFile req schema in generate-report-file…
ZIMkaRU Aug 20, 2025
7787d16
Add data validator getSummaryByAsset req schema name
ZIMkaRU Aug 21, 2025
1397856
Add data validator getSummaryByAsset req schema
ZIMkaRU Aug 21, 2025
230cc03
Use getSummaryByAsset req schema in main service
ZIMkaRU Aug 21, 2025
2511648
Clean up old param validation
ZIMkaRU Aug 21, 2025
93504e8
Merge pull request #471 from ZIMkaRU/refactoring/rework-query-param-s…
tarcisiozf Aug 25, 2025
d7adea0
Update bfx-report dep
ZIMkaRU Aug 26, 2025
9fb7d54
Update bfx-report-ui sub-module
ZIMkaRU Aug 26, 2025
3e8caa9
Bump version up to 4.22.5
ZIMkaRU Aug 26, 2025
2991585
Merge pull request #472 from ZIMkaRU/feature/release-version
tarcisiozf Aug 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "bfx-reports-framework",
"version": "4.22.4",
"version": "4.22.5",
"description": "Bitfinex reports framework",
"main": "worker.js",
"license": "Apache-2.0",
Expand Down
13 changes: 13 additions & 0 deletions workers/api.framework.report.wrk.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,21 @@ const {

const appDeps = require('./loc.api/di/app.deps')
const TYPES = require('./loc.api/di/types')
const fwDataValidator = require('./loc.api/data-validator')

class WrkReportFrameWorkApi extends WrkReportServiceApi {
loadCoreDeps (...args) {
super.loadCoreDeps(...args)

this.container
.get(TYPES.DataValidator)
.reinit({
schemaNames: fwDataValidator.SCHEMA_NAMES,
schemaIds: fwDataValidator.SCHEMA_IDS,
schemas: fwDataValidator.schemas
})
}

loadAppDeps (...args) {
super.loadAppDeps(...args)

Expand Down
12 changes: 12 additions & 0 deletions workers/loc.api/data-validator/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
'use strict'

const SCHEMA_NAMES = require('./schema.names')
const SCHEMA_IDS = require('./schema.ids')
const schemas = require('./schemas')

module.exports = {
SCHEMA_NAMES,
SCHEMA_IDS,

schemas
}
8 changes: 8 additions & 0 deletions workers/loc.api/data-validator/schema.ids.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
'use strict'

const SCHEMA_NAMES = require('./schema.names')
const {
getSchemaIds
} = require('bfx-report/workers/loc.api/data-validator/helpers')

module.exports = getSchemaIds(SCHEMA_NAMES)
35 changes: 35 additions & 0 deletions workers/loc.api/data-validator/schema.names.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
'use strict'

module.exports = {
FW_DEFS: 'fwDefs',

CREATE_SUB_ACCOUNT_REQ: 'createSubAccountReq',
UPDATE_SUB_ACCOUNT_REQ: 'updateSubAccountReq',
INTERRUPT_OPERATIONS_REQ: 'interruptOperationsReq',
EDIT_ALL_PUBLIC_COLLS_CONFS_REQ: 'editAllPublicCollsConfsReq',

FW_GET_CANDLES_REQ: 'fwGetCandlesReq',
GET_BALANCE_HISTORY_REQ: 'getBalanceHistoryReq',
GET_WIN_LOSS_REQ: 'getWinLossReq',
GET_POSITIONS_SNAPSHOT_REQ: 'getPositionsSnapshotReq',
GET_FULL_SNAPSHOT_REPORT_REQ: 'getFullSnapshotReportReq',
GET_FULL_TAX_REPORT_REQ: 'getFullTaxReportReq',
GET_TRANSACTION_TAX_REPORT_REQ: 'getTransactionTaxReportReq',
GET_TRADED_VOLUME_REQ: 'getTradedVolumeReq',
GET_TOTAL_FEES_REPORT_REQ: 'getTotalFeesReportReq',
GET_PERFORMING_LOAN_REQ: 'getPerformingLoanReq',
GET_WIN_LOSS_VS_ACCOUNT_BALANCE_REQ: 'getWinLossVSAccountBalanceReq',
GET_SUMMARY_BY_ASSET_REQ: 'getSummaryByAssetReq',

FW_GET_CANDLES_FILE_REQ: 'fwGetCandlesFileReq',
GET_BALANCE_HISTORY_FILE_REQ: 'getBalanceHistoryFileReq',
GET_WIN_LOSS_FILE_REQ: 'getWinLossFileReq',
GET_POSITIONS_SNAPSHOT_FILE_REQ: 'getPositionsSnapshotFileReq',
GET_FULL_SNAPSHOT_REPORT_FILE_REQ: 'getFullSnapshotReportFileReq',
GET_FULL_TAX_REPORT_FILE_REQ: 'getFullTaxReportFileReq',
GET_TRANSACTION_TAX_REPORT_FILE_REQ: 'getTransactionTaxReportFileReq',
GET_TRADED_VOLUME_FILE_REQ: 'getTradedVolumeFileReq',
GET_TOTAL_FEES_REPORT_FILE_REQ: 'getTotalFeesReportFileReq',
GET_PERFORMING_LOAN_FILE_REQ: 'getPerformingLoanFileReq',
GET_WIN_LOSS_VS_ACCOUNT_BALANCE_FILE_REQ: 'getWinLossVSAccountBalanceFileReq'
}
21 changes: 21 additions & 0 deletions workers/loc.api/data-validator/schemas/createSubAccountReq.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
'use strict'

const SCHEMA_IDS = require('../schema.ids')

module.exports = {
$id: SCHEMA_IDS.CREATE_SUB_ACCOUNT_REQ,
type: 'object',
additionalProperties: false,
required: ['subAccountApiKeys'],
properties: {
subAccountApiKeys: {
$ref: 'fwDefs#/definitions/subAccountApiKeys'
},
subAccountPassword: {
$ref: 'fwDefs#/definitions/password'
},
localUsername: {
type: 'string'
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
'use strict'

const SCHEMA_IDS = require('../schema.ids')

module.exports = {
$id: SCHEMA_IDS.EDIT_ALL_PUBLIC_COLLS_CONFS_REQ,
type: 'object',
additionalProperties: false,
properties: {
candlesConf: {
type: 'array',
items: {
type: 'object',
additionalProperties: false,
required: ['symbol', 'start', 'timeframe'],
properties: {
start: {
$ref: 'defs#/definitions/start'
},
symbol: {
$ref: 'defs#/definitions/strSymbol'
},
timeframe: {
$ref: 'defs#/definitions/candleTimeframe'
}
}
}
},
statusMessagesConf: {
type: 'array',
items: {
type: 'object',
additionalProperties: false,
required: ['symbol', 'start'],
properties: {
start: {
$ref: 'defs#/definitions/start'
},
symbol: {
$ref: 'defs#/definitions/strSymbol'
}
}
}
},
tickersHistoryConf: {
type: 'array',
items: {
type: 'object',
additionalProperties: false,
required: ['symbol', 'start'],
properties: {
start: {
$ref: 'defs#/definitions/start'
},
symbol: {
$ref: 'defs#/definitions/strSymbol'
}
}
}
},
publicTradesConf: {
type: 'array',
items: {
type: 'object',
additionalProperties: false,
required: ['symbol', 'start'],
properties: {
start: {
$ref: 'defs#/definitions/start'
},
symbol: {
$ref: 'defs#/definitions/strSymbol'
}
}
}
}
}
}
92 changes: 92 additions & 0 deletions workers/loc.api/data-validator/schemas/fwDefs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
'use strict'

const SCHEMA_IDS = require('../schema.ids')

module.exports = {
$id: SCHEMA_IDS.FW_DEFS,
definitions: {
timeframe: {
type: 'string',
enum: [
'day',
'week',
'month',
'year'
]
},
isUnrealizedProfitExcluded: {
type: 'boolean'
},
isVSPrevDayBalance: {
type: 'boolean'
},
apiKey: {
type: 'string'
},
apiSecret: {
type: 'string'
},
token: {
type: 'string'
},
password: {
type: 'string'
},
subAccountApiKeys: {
type: 'array',
minItems: 1,
maxItems: 20,
items: {
type: 'object',
oneOf: [
{
additionalProperties: false,
properties: {
apiKey: {
$ref: '#/definitions/apiKey'
},
apiSecret: {
$ref: '#/definitions/apiSecret'
}
}
},
{
additionalProperties: false,
properties: {
token: {
$ref: '#/definitions/token'
}
}
},
{
additionalProperties: false,
properties: {
email: {
$ref: 'defs#/definitions/email'
},
password: {
$ref: '#/definitions/password'
}
}
}
]
}
},
strategy: {
type: 'string',
enum: [
'FIFO',
'LIFO'
]
},
shouldFeesBeDeducted: {
type: 'boolean'
},
isTradingFees: {
type: 'boolean'
},
isFundingFees: {
type: 'boolean'
}
}
}
59 changes: 59 additions & 0 deletions workers/loc.api/data-validator/schemas/fwGetCandlesFileReq.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
'use strict'

const SCHEMA_IDS = require('../schema.ids')

module.exports = {
$id: SCHEMA_IDS.FW_GET_CANDLES_FILE_REQ,
type: 'object',
additionalProperties: false,
required: ['symbol'],
properties: {
start: {
$ref: 'defs#/definitions/start'
},
end: {
$ref: 'defs#/definitions/end'
},
limit: {
$ref: 'defs#/definitions/limit'
},
symbol: {
$ref: 'defs#/definitions/symbolWithMaxItem'
},
sort: {
$ref: 'defs#/definitions/sort'
},
timeframe: {
$ref: 'defs#/definitions/candleTimeframe'
},
section: {
type: 'string',
enum: ['hist']
},
filter: {
$ref: 'defs#/definitions/filter'
},

email: {
$ref: 'defs#/definitions/email'
},
milliseconds: {
$ref: 'defs#/definitions/milliseconds'
},
dateFormat: {
$ref: 'defs#/definitions/dateFormat'
},
language: {
$ref: 'defs#/definitions/language'
},
timezone: {
$ref: 'defs#/definitions/timezone'
},
isPDFRequired: {
$ref: 'defs#/definitions/isPDFRequired'
},
isSignatureRequired: {
$ref: 'defs#/definitions/isSignatureRequired'
}
}
}
Loading
Loading