Browse Source
Task/improve type safety in access and account balance services (#7416 )
* fix(common): update Access interface and type definitions
* fix(api): resolve type errors in access controller
* feat(api): default to user currency in account balance service
pull/7069/merge
Kenrick Tandrian
5 days ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with
5 additions and
5 deletions
apps/api/src/app/access/access.controller.ts
apps/api/src/app/account-balance/account-balance.service.ts
libs/common/src/lib/interfaces/access.interface.ts
libs/common/src/lib/types/access-with-grantee-user.type.ts
@ -78,7 +78,7 @@ export class AccessController {
) : Promise < AccessModel > {
) : Promise < AccessModel > {
if (
if (
this . configurationService . get ( 'ENABLE_FEATURE_SUBSCRIPTION' ) &&
this . configurationService . get ( 'ENABLE_FEATURE_SUBSCRIPTION' ) &&
this . request . user . subscription . type === SubscriptionType . Basic
this . request . user . subscription ? . type === SubscriptionType . Basic
) {
) {
throw new HttpException (
throw new HttpException (
getReasonPhrase ( StatusCodes . FORBIDDEN ) ,
getReasonPhrase ( StatusCodes . FORBIDDEN ) ,
@ -134,7 +134,7 @@ export class AccessController {
) : Promise < AccessModel > {
) : Promise < AccessModel > {
if (
if (
this . configurationService . get ( 'ENABLE_FEATURE_SUBSCRIPTION' ) &&
this . configurationService . get ( 'ENABLE_FEATURE_SUBSCRIPTION' ) &&
this . request . user . subscription . type === SubscriptionType . Basic
this . request . user . subscription ? . type === SubscriptionType . Basic
) {
) {
throw new HttpException (
throw new HttpException (
getReasonPhrase ( StatusCodes . FORBIDDEN ) ,
getReasonPhrase ( StatusCodes . FORBIDDEN ) ,
@ -178,7 +178,7 @@ export class AccountBalanceService {
accountId : balance.account.id ,
accountId : balance.account.id ,
valueInBaseCurrency : this.exchangeRateDataService.toCurrency (
valueInBaseCurrency : this.exchangeRateDataService.toCurrency (
balance . value ,
balance . value ,
balance . account . currency ,
balance . account . currency ? ? userCurrency ,
userCurrency
userCurrency
)
)
} ;
} ;
@ -5,7 +5,7 @@ import { AccessPermission } from '@prisma/client';
import { AccessSettings } from './access-settings.interface' ;
import { AccessSettings } from './access-settings.interface' ;
export interface Access {
export interface Access {
alias? : string ;
alias : string | null ;
grantee? : string ;
grantee? : string ;
id : string ;
id : string ;
permissions : AccessPermission [ ] ;
permissions : AccessPermission [ ] ;
@ -1,3 +1,3 @@
import { Access , User } from '@prisma/client' ;
import { Access , User } from '@prisma/client' ;
export type AccessWithGranteeUser = Access & { granteeUser? : User } ;
export type AccessWithGranteeUser = Access & { granteeUser? : User | null } ;