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
parent
commit
10c01ec630
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 4
      apps/api/src/app/access/access.controller.ts
  2. 2
      apps/api/src/app/account-balance/account-balance.service.ts
  3. 2
      libs/common/src/lib/interfaces/access.interface.ts
  4. 2
      libs/common/src/lib/types/access-with-grantee-user.type.ts

4
apps/api/src/app/access/access.controller.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),

2
apps/api/src/app/account-balance/account-balance.service.ts

@ -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
) )
}; };

2
libs/common/src/lib/interfaces/access.interface.ts

@ -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[];

2
libs/common/src/lib/types/access-with-grantee-user.type.ts

@ -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 };

Loading…
Cancel
Save