From 8f039b77e7c85d6ab902feb7b2a001fe86678a99 Mon Sep 17 00:00:00 2001 From: "a.bouhuolia" Date: Wed, 19 Apr 2023 06:16:21 +0200 Subject: [PATCH] fix(server): foreign currency in account transactions transformer --- .../server/src/api/controllers/Items/Items.ts | 40 ++++++++----------- packages/server/src/interfaces/Account.ts | 1 + .../Accounts/AccountTransactionTransformer.ts | 4 +- 3 files changed, 19 insertions(+), 26 deletions(-) diff --git a/packages/server/src/api/controllers/Items/Items.ts b/packages/server/src/api/controllers/Items/Items.ts index 104de0b88..66deaffe4 100644 --- a/packages/server/src/api/controllers/Items/Items.ts +++ b/packages/server/src/api/controllers/Items/Items.ts @@ -177,7 +177,7 @@ export default class ItemsController extends BaseController { /** * Validate list query schema. */ - get validateListQuerySchema() { + private get validateListQuerySchema() { return [ query('column_sort_by').optional().trim().escape(), query('sort_order').optional().isIn(['desc', 'asc']), @@ -193,32 +193,20 @@ export default class ItemsController extends BaseController { ]; } - /** - * Validate autocomplete list query schema. - */ - get autocompleteQuerySchema() { - return [ - query('column_sort_by').optional().trim().escape(), - query('sort_order').optional().isIn(['desc', 'asc']), - - query('stringified_filter_roles').optional().isJSON(), - query('limit').optional().isNumeric().toInt(), - - query('keyword').optional().isString().trim().escape(), - ]; - } - /** * Stores the given item details to the storage. * @param {Request} req * @param {Response} res */ - async newItem(req: Request, res: Response, next: NextFunction) { + private async newItem(req: Request, res: Response, next: NextFunction) { const { tenantId } = req; const itemDTO: IItemDTO = this.matchedBodyData(req); try { - const storedItem = await this.itemsApplication.createItem(tenantId, itemDTO); + const storedItem = await this.itemsApplication.createItem( + tenantId, + itemDTO + ); return res.status(200).send({ id: storedItem.id, @@ -234,7 +222,7 @@ export default class ItemsController extends BaseController { * @param {Request} req * @param {Response} res */ - async editItem(req: Request, res: Response, next: NextFunction) { + private async editItem(req: Request, res: Response, next: NextFunction) { const { tenantId } = req; const itemId: number = req.params.id; const item: IItemDTO = this.matchedBodyData(req); @@ -257,7 +245,7 @@ export default class ItemsController extends BaseController { * @param {Response} res * @param {NextFunction} next */ - async activateItem(req: Request, res: Response, next: NextFunction) { + private async activateItem(req: Request, res: Response, next: NextFunction) { const { tenantId } = req; const itemId: number = req.params.id; @@ -279,7 +267,11 @@ export default class ItemsController extends BaseController { * @param {Response} res * @param {NextFunction} next */ - async inactivateItem(req: Request, res: Response, next: NextFunction) { + private async inactivateItem( + req: Request, + res: Response, + next: NextFunction + ) { const { tenantId } = req; const itemId: number = req.params.id; @@ -300,7 +292,7 @@ export default class ItemsController extends BaseController { * @param {Request} req * @param {Response} res */ - async deleteItem(req: Request, res: Response, next: NextFunction) { + private async deleteItem(req: Request, res: Response, next: NextFunction) { const itemId: number = req.params.id; const { tenantId } = req; @@ -322,7 +314,7 @@ export default class ItemsController extends BaseController { * @param {Response} res * @return {Response} */ - async getItem(req: Request, res: Response, next: NextFunction) { + private async getItem(req: Request, res: Response, next: NextFunction) { const itemId: number = req.params.id; const { tenantId } = req; @@ -342,7 +334,7 @@ export default class ItemsController extends BaseController { * @param {Request} req * @param {Response} res */ - async getItemsList(req: Request, res: Response, next: NextFunction) { + private async getItemsList(req: Request, res: Response, next: NextFunction) { const { tenantId } = req; const filter = { diff --git a/packages/server/src/interfaces/Account.ts b/packages/server/src/interfaces/Account.ts index d89616135..278840c3a 100644 --- a/packages/server/src/interfaces/Account.ts +++ b/packages/server/src/interfaces/Account.ts @@ -42,6 +42,7 @@ export enum AccountNormal { export interface IAccountsTransactionsFilter { accountId?: number; + limit?: number; } export interface IAccountTransaction { diff --git a/packages/server/src/services/Accounts/AccountTransactionTransformer.ts b/packages/server/src/services/Accounts/AccountTransactionTransformer.ts index 2c16aac76..e239b4da9 100644 --- a/packages/server/src/services/Accounts/AccountTransactionTransformer.ts +++ b/packages/server/src/services/Accounts/AccountTransactionTransformer.ts @@ -106,7 +106,7 @@ export default class AccountTransactionTransformer extends Transformer { * @returns {string} */ protected formattedFcCredit(transaction: IAccountTransaction) { - return this.formatMoney(this.fcDebit(transaction), { + return this.formatMoney(this.fcCredit(transaction), { currencyCode: transaction.currencyCode, excerptZero: true, }); @@ -117,7 +117,7 @@ export default class AccountTransactionTransformer extends Transformer { * @returns {string} */ protected formattedFcDebit(transaction: IAccountTransaction) { - return this.formatMoney(this.fcCredit(transaction), { + return this.formatMoney(this.fcDebit(transaction), { currencyCode: transaction.currencyCode, excerptZero: true, });