Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: add iso 20022 compatibility #383

Merged
merged 104 commits into from
Jan 18, 2025
Merged
Show file tree
Hide file tree
Changes from 102 commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
9bf52f0
feat(mojaloop/#3689): fx quotes pov implementation (#326)
oderayi Mar 8, 2024
223fbdc
chore(snapshot): 15.8.0-snapshot.11
oderayi Mar 8, 2024
dd5d439
fix(mojaloop/#3689): fx quotes fixes (#328)
oderayi Mar 18, 2024
349ca83
fix(mojaloop/#3689): fx quotes bug fix (#329)
oderayi Mar 18, 2024
8fcf844
feat: enable sending events directly to Kafka (#332)
kalinkrustev May 28, 2024
b2d1418
chore: fix merge conflicts
oderayi May 29, 2024
1b57edc
feat(mojaloop/#3933): update participant accounts validation (#333)
oderayi Jun 6, 2024
cd93ed5
add check for db on api, fix docker compose
kleyow Jun 7, 2024
e72a219
chore(snapshot): 15.8.0-snapshot.17
kleyow Jun 7, 2024
45a5bf8
disable coverage, fix image scan
kleyow Jun 7, 2024
63e5485
chore(snapshot): 15.8.0-snapshot.18
kleyow Jun 7, 2024
d2057b3
disable coverage, fix image scan
kleyow Jun 7, 2024
86ed870
chore(snapshot): 15.8.0-snapshot.19
kleyow Jun 7, 2024
71b7384
image scan
kleyow Jun 7, 2024
29904f6
chore(snapshot): 15.8.0-snapshot.20
kleyow Jun 7, 2024
203abca
revert
kleyow Jun 8, 2024
0bcb479
chore(snapshot): 15.8.0-snapshot.21
kleyow Jun 8, 2024
4bae7f7
feat: allow UUID v7 in the API patterns (#334)
kalinkrustev Jun 10, 2024
ec4259f
Merge branch 'feat/fx-impl' of github.com:mojaloop/quoting-service in…
oderayi Jun 19, 2024
df4d342
feat(csi-20 & csi-164): parameterize 'switch' id (#339)
oderayi Jun 25, 2024
a151555
fix: quotes participants validation (#340)
vijayg10 Jun 27, 2024
39b8bf6
Merge branch 'feat/fx-impl' of github.com:mojaloop/quoting-service in…
oderayi Jun 27, 2024
63fd5cf
chore(snapshot): 15.8.0-snapshot.23
oderayi Jun 27, 2024
5fbe158
chore(snapshot): 15.8.0-snapshot.24
oderayi Jun 27, 2024
8e879f8
feat(mojaloop/#3991): add support for cross-network proxy routing (#341)
oderayi Jul 8, 2024
283f173
fix: deps
kalinkrustev Jul 10, 2024
ac17e67
chore(snapshot): 15.8.0-snapshot.32
kalinkrustev Jul 10, 2024
0a0ca9f
feat(csi-334): updated proxyCache lib to use redis cluster (#342)
geka-evk Jul 24, 2024
ca73b2d
fix(csi-414): fixed TypeError - Cannot read properties of undefined; …
geka-evk Aug 1, 2024
c6b141f
fix(csi-414): updated deps
geka-evk Aug 1, 2024
82ae9f3
chore(snapshot): 15.8.0-snapshot.34
geka-evk Aug 1, 2024
0c94cdf
fix(csi-411): disable validation on proxied request (#346)
kleyow Aug 12, 2024
bf4fce7
fix(csi-498): generated accept/contentType headers based on requested…
geka-evk Aug 16, 2024
5d22d4d
feat(mojaloop/#3885): extend fxquote functionality to persistant mode…
kleyow Aug 19, 2024
a2cae31
feat(mojaloop/#3817): harden fx quotes (#345)
oderayi Aug 20, 2024
91571b9
fix(mojaloop/#3817): restore proxied source validation (#349)
oderayi Aug 21, 2024
0d8fc24
chore: renable coverage and improve coverage (#350)
kleyow Aug 22, 2024
797b63f
fix(csi-550): add logs to QuotesModel (#351)
geka-evk Aug 30, 2024
d4cc0e9
fix: await transaction commit and rollback and avoid unhandledPromise…
kalinkrustev Aug 30, 2024
7acc88f
feat: add ULID support (#355)
kalinkrustev Sep 25, 2024
3ef604e
Merge branch 'main' into feat/fx-impl
kalinkrustev Sep 30, 2024
adcf757
fix: regex
kalinkrustev Sep 30, 2024
7a17575
fix: merge conflict
kalinkrustev Sep 30, 2024
fbadeea
test: start using mojaloop/build orb (#358)
kalinkrustev Oct 11, 2024
a54e40a
chore: version
kalinkrustev Oct 11, 2024
daf4359
chore(release): [ci skip] 15.9.0-iso.0
Oct 11, 2024
be4078f
chore: continuous deployment
kalinkrustev Oct 16, 2024
5e9c2db
chore(release): [ci skip] 15.9.0-iso.1
Oct 16, 2024
286dd3b
feat(csi-107): add iso-20022 support (#357)
geka-evk Oct 16, 2024
9f2267c
chore(release): [ci skip] 15.9.0-iso.2
Oct 16, 2024
1a6fff6
feat(csi-107): added initPayloadCache; added payloadCache to QH (#360)
geka-evk Oct 18, 2024
ee2a907
chore(release): [ci skip] 15.9.0-iso.3
Oct 18, 2024
a07de54
chore: continuous deployment
kalinkrustev Oct 18, 2024
9b89c0e
chore(release): [ci skip] 15.9.0-iso.4
Oct 18, 2024
37e86bf
build: test package.json version
kalinkrustev Oct 21, 2024
af6d823
build: test package.json version
kalinkrustev Oct 21, 2024
d33dbe2
chore(release): [ci skip] 15.9.0-iso.5
Oct 21, 2024
49546e0
feat(csi-107): fixed /fxQuotes payload transforming (#362)
geka-evk Oct 23, 2024
eaacf04
chore(release): [ci skip] 15.9.0-iso.6
Oct 23, 2024
0182107
fix(csi-107): fixed QSh iso callback (#364)
geka-evk Oct 24, 2024
8224c87
chore(release): [ci skip] 15.9.0-iso.7
Oct 24, 2024
4ba3d2f
feat(csi-107): refactor QSh to avoid using API_TYPE env var (#365)
geka-evk Oct 25, 2024
542a628
feat(csi-107): fixed ISO GET requests
geka-evk Oct 25, 2024
511d2b0
chore(release): [ci skip] 15.9.0-iso.8
Oct 25, 2024
75d281a
feat(csi-107): updated transformLib
geka-evk Oct 25, 2024
f148a53
chore(release): [ci skip] 15.9.0-iso.9
Oct 25, 2024
9d0a2c5
feat(csi-107): fixed PUT /fxQuotes/error ISO callback
geka-evk Oct 25, 2024
5365b0d
chore(release): [ci skip] 15.9.0-iso.10
Oct 25, 2024
6137317
chore: update iso api spec and dependencies (#366)
kleyow Oct 30, 2024
9442840
chore(release): [ci skip] 15.9.0-iso.11
Oct 30, 2024
f8aea4c
chore: update deps and api (#367)
kleyow Oct 31, 2024
0cb3af1
chore(release): [ci skip] 15.9.0-iso.12
Oct 31, 2024
f100351
feat: call rules during fx quote (#361)
kalinkrustev Nov 13, 2024
6d4df1d
chore(release): [ci skip] 15.9.0-iso.13
Nov 13, 2024
e910fcc
fix: pass proxyClient to _fetchParticipantInfo in fxQuotesModel
kalinkrustev Nov 14, 2024
02943ae
chore: dependencies
kalinkrustev Nov 14, 2024
b39d6cb
test: update expected history length in fxQuotes integration test
kalinkrustev Nov 14, 2024
f1ede9e
chore(release): [ci skip] 15.9.0-iso.14
Nov 14, 2024
2b49396
chore: forward put error callbacks (#368)
kleyow Nov 21, 2024
ea095b8
chore(release): [ci skip] 15.9.0-iso.15
Nov 21, 2024
01bf4fe
chore: use the central-services-metrics plugin (#369)
kalinkrustev Nov 25, 2024
5a7d492
chore(release): [ci skip] 15.9.0-iso.16
Nov 25, 2024
e600f9b
chore: update dependencies
kalinkrustev Nov 25, 2024
147251e
chore(release): [ci skip] 15.9.0-iso.17
Nov 25, 2024
2b49a19
chore: update dependencies
kalinkrustev Nov 29, 2024
486bd10
chore(release): [ci skip] 15.9.0-iso.18
Nov 29, 2024
0fb55e7
feat(csi-927): used common loggingPlugin (#373)
geka-evk Dec 11, 2024
c513906
chore(release): [ci skip] 15.9.0-iso.19
Dec 11, 2024
9eb2786
chore: standardize egress audit and un-stringify payload (#375)
kleyow Dec 12, 2024
06f6ea1
chore(release): [ci skip] 15.9.0-iso.20
Dec 12, 2024
2d1793f
chore: use the central-services-metrics plugin
kalinkrustev Dec 12, 2024
152d127
chore(release): [ci skip] 15.9.0-iso.21
Dec 12, 2024
999704e
feat: add error counters for metrics (#378)
kleyow Dec 23, 2024
f1eb532
chore(release): [ci skip] 15.9.0-iso.22
Dec 24, 2024
c9fc548
chore: refactor error metrics (#381)
kleyow Jan 6, 2025
a0554b6
chore(release): [ci skip] 15.9.0-iso.23
Jan 6, 2025
930bddf
chore: minor/iso dependency updates pi26 (#377)
gibaros Jan 7, 2025
ef72b76
fix: monorepo (#382)
kalinkrustev Jan 9, 2025
e27537d
chore: copilot suggestions
kleyow Jan 10, 2025
f6840f1
Merge remote-tracking branch 'origin/main' into minor/iso
kleyow Jan 12, 2025
63d5f07
chore: todos
kleyow Jan 12, 2025
7166bf5
chore(release): [ci skip] 16.1.0-iso.0
Jan 12, 2025
fdf8dcf
chore: comments
kleyow Jan 17, 2025
468c44d
chore(release): [ci skip] 16.1.0-iso.1
Jan 17, 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
871 changes: 5 additions & 866 deletions .circleci/config.yml

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -83,3 +83,5 @@ typings/
# https://devspace.sh/
devspace*
.devspace/**.*

.rush
3 changes: 2 additions & 1 deletion .ncurc.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
## Add a comment indicating the reason for each rejected dependency upgrade added to this list, and what should be done to resolve it (i.e. handle it through a story, etc).
reject: [
"json-rules-engine"
"json-rules-engine",
"eslint"
]
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ USER root
WORKDIR /opt/app

RUN apk --no-cache add git
RUN apk add --no-cache -t build-dependencies make gcc g++ py3-setuptools python3 libtool openssl-dev autoconf automake bash \
RUN apk add --no-cache -t build-dependencies make gcc g++ python3 py3-setuptools libtool openssl-dev autoconf automake bash \
&& cd $(npm root -g)/npm

COPY package.json package-lock.json* /opt/app/
Expand Down
9 changes: 2 additions & 7 deletions audit-ci.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@
// Only use one of ["low": true, "moderate": true, "high": true, "critical": true]
"moderate": true,
"allowlist": [
"GHSA-qgmg-gppg-76g5", // https://github.com/advisories/GHSA-qgmg-gppg-76g5 Mock data generator for swagger api, not a security concern at this time.
"GHSA-c429-5p7v-vgjp", // https://github.com/advisories/GHSA-c429-5p7v-vgjp
"GHSA-8hc4-vh64-cxmj", // https://github.com/advisories/GHSA-8hc4-vh64-cxmj
"GHSA-952p-6rrq-rcjv", // https://github.com/advisories/GHSA-952p-6rrq-rcjv
"GHSA-pppg-cpfq-h7wr", // https://github.com/advisories/GHSA-pppg-cpfq-h7wr Patch not released yet
"GHSA-3xgq-45jj-v275" // https://github.com/advisories/GHSA-3xgq-45jj-v275
"GHSA-mwcw-c2x4-8c55" // https://github.com/advisories/GHSA-mwcw-c2x4-8c55
]
}
}
11 changes: 11 additions & 0 deletions config/default.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
},
"HOSTNAME": "http://quoting-service",
"LISTEN_ADDRESS": "0.0.0.0",
"API_TYPE": "fspiop",
"PORT": 3002,
"MONITORING_PORT": 3003,
"AMOUNT": {
Expand Down Expand Up @@ -89,6 +90,16 @@
]
}
},
"ORIGINAL_PAYLOAD_STORAGE": "",
"PAYLOAD_CACHE": {
"enabled": true,
"type": "redis-cluster",
"connectionConfig": {
"cluster": [
{ "host": "localhost", "port": 6379 }
]
}
},
"LOG_LEVEL": "info",
"KAFKA": {
"CONSUMER": {
Expand Down
22 changes: 21 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ x-quoting-service: &quotingServiceBase
- CSL_LOG_TRANSPORT=file
volumes:
- ./docker/quoting-service/default.json:/opt/app/config/default.json
# think, how to use ./config/default.json inside docker-compose
- ./secrets/:/opt/app/secrets/
depends_on:
<<: *dependsOnMysqlAndKafka
Expand Down Expand Up @@ -58,9 +57,24 @@ services:
- "19229:9229"
container_name: qs_quoting-service

quoting-service-iso:
<<: *quotingServiceBase
command: npm start
environment:
- LOG_LEVEL=debug
- QUOTE_API_TYPE=iso20022
# - QUOTE_ORIGINAL_PAYLOAD_STORAGE=redis
- QUOTE_ORIGINAL_PAYLOAD_STORAGE=kafka
ports:
- "13002:3002"
- "39229:9229"
container_name: qs_quoting-service-iso

quoting-service-handler:
<<: *quotingServiceBase
command: npm run start:handlers:debug
environment:
- LOG_LEVEL=debug
ports:
- "3003:3003"
- "29229:9229"
Expand Down Expand Up @@ -113,6 +127,7 @@ services:

# To use with proxyCache.type === 'redis-cluster'
redis-node-0:
container_name: redis-node-0
<<: *REDIS_NODE
environment:
<<: *REDIS_ENVS
Expand All @@ -125,34 +140,39 @@ services:
- redis-node-4
- redis-node-5
redis-node-1:
container_name: redis-node-1
<<: *REDIS_NODE
environment:
<<: *REDIS_ENVS
REDIS_PORT_NUMBER: 6380
ports:
- "16380:16380"
redis-node-2:
container_name: redis-node-2
<<: *REDIS_NODE
environment:
<<: *REDIS_ENVS
REDIS_PORT_NUMBER: 6381
ports:
- "16381:16381"
redis-node-3:
container_name: redis-node-3
<<: *REDIS_NODE
environment:
<<: *REDIS_ENVS
REDIS_PORT_NUMBER: 6382
ports:
- "16382:16382"
redis-node-4:
container_name: redis-node-4
<<: *REDIS_NODE
environment:
<<: *REDIS_ENVS
REDIS_PORT_NUMBER: 6383
ports:
- "16383:16383"
redis-node-5:
container_name: redis-node-5
<<: *REDIS_NODE
environment:
<<: *REDIS_ENVS
Expand Down
18 changes: 16 additions & 2 deletions docker/quoting-service/default.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
},
"HOSTNAME": "http://quoting-service",
"LISTEN_ADDRESS": "0.0.0.0",
"LOG_LEVEL": "debug",
"PORT": 3002,
"MONITORING_PORT": 3003,
"AMOUNT": {
Expand All @@ -13,15 +14,18 @@
},
"PROTOCOL_VERSIONS": {
"CONTENT": {
"DEFAULT": "1.1",
"DEFAULT": "2.0",
"VALIDATELIST": [
"2.0",
"1.1",
"1.0"
]
},
"ACCEPT": {
"DEFAULT": "1",
"DEFAULT": "2",
"VALIDATELIST": [
"2",
"2.0",
"1",
"1.0",
"1.1"
Expand Down Expand Up @@ -86,6 +90,16 @@
]
}
},
"ORIGINAL_PAYLOAD_STORAGE": "",
"PAYLOAD_CACHE": {
"enabled": true,
"type": "redis-cluster",
"connectionConfig": {
"cluster": [
{ "host": "redis-node-0", "port": 6379 }
]
}
},
"KAFKA": {
"CONSUMER": {
"QUOTE": {
Expand Down
8 changes: 3 additions & 5 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
const path = require('path')
process.env.LOG_LEVEL = 'debug'

module.exports = {
verbose: true,
clearMocks: true, // to avoid jest.clearAllMocks() in afterEach

collectCoverageFrom: [
'**/src/**/**/*.js'
],
Expand All @@ -15,9 +17,5 @@ module.exports = {
branches: 90,
lines: 90
}
},
globals: {
__SRC__: path.resolve(__dirname, 'src'),
__ROOT__: path.resolve(__dirname)
}
}
Loading
Loading