Browse Source

Refactoring

pull/7146/head
Thomas Kaul 3 weeks ago
parent
commit
13014f5523
  1. 58
      apps/api/src/app/access/access.controller.ts
  2. 2
      apps/api/src/app/endpoints/public/public.controller.ts
  3. 7
      apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts

58
apps/api/src/app/access/access.controller.ts

@ -46,19 +46,13 @@ export class AccessController {
});
return accessesWithGranteeUser.map(
({
alias,
granteeUser,
id,
permissions: accessPermissions,
settings
}) => {
({ alias, granteeUser, id, permissions, settings }) => {
if (granteeUser) {
return {
alias,
grantee: granteeUser?.id,
id,
permissions: accessPermissions,
permissions,
grantee: granteeUser?.id,
settings: settings as AccessSettings,
type: 'PRIVATE'
};
@ -66,9 +60,9 @@ export class AccessController {
return {
alias,
grantee: 'Public',
id,
permissions: accessPermissions,
permissions,
grantee: 'Public',
settings: settings as AccessSettings,
type: 'PUBLIC'
};
@ -114,6 +108,27 @@ export class AccessController {
}
}
@Delete(':id')
@HasPermission(permissions.deleteAccess)
@UseGuards(AuthGuard('jwt'), HasPermissionGuard)
public async deleteAccess(@Param('id') id: string): Promise<AccessModel> {
const originalAccess = await this.accessService.access({
id,
userId: this.request.user.id
});
if (!originalAccess) {
throw new HttpException(
getReasonPhrase(StatusCodes.FORBIDDEN),
StatusCodes.FORBIDDEN
);
}
return this.accessService.deleteAccess({
id
});
}
@HasPermission(permissions.updateAccess)
@Put(':id')
@UseGuards(AuthGuard('jwt'), HasPermissionGuard)
@ -166,25 +181,4 @@ export class AccessController {
);
}
}
@Delete(':id')
@HasPermission(permissions.deleteAccess)
@UseGuards(AuthGuard('jwt'), HasPermissionGuard)
public async deleteAccess(@Param('id') id: string): Promise<AccessModel> {
const originalAccess = await this.accessService.access({
id,
userId: this.request.user.id
});
if (!originalAccess) {
throw new HttpException(
getReasonPhrase(StatusCodes.FORBIDDEN),
StatusCodes.FORBIDDEN
);
}
return this.accessService.deleteAccess({
id
});
}
}

2
apps/api/src/app/endpoints/public/public.controller.ts

@ -69,7 +69,6 @@ export class PublicController {
hasDetails = user.subscription.type === SubscriptionType.Premium;
}
// Get the portfolio filters from the access settings
const { filters: portfolioFilters = [] } = (access.settings ??
{}) as AccessSettings;
@ -99,7 +98,6 @@ export class PublicController {
user.settings?.settings.baseCurrency ?? DEFAULT_CURRENCY;
const filteredHoldings = Object.fromEntries(
Object.entries(holdings).filter(([, holding]) => {
// Remove only cash holdings that match the base currency
const isCash =
holding.assetProfile.assetSubClass === AssetSubClass.CASH;
const isBaseCurrency = holding.assetProfile.symbol === baseCurrency;

7
apps/client/src/app/components/user-account-access/create-or-update-access-dialog/create-or-update-access-dialog.component.ts

@ -61,10 +61,9 @@ import { CreateOrUpdateAccessDialogParams } from './interfaces/interfaces';
templateUrl: 'create-or-update-access-dialog.html'
})
export class GfCreateOrUpdateAccessDialogComponent implements OnInit {
public hasExperimentalFeatures = false;
public accounts: AccountWithPlatform[] = [];
public assetClasses: Filter[] = [];
public hasExperimentalFeatures = false;
public holdings: PortfolioPosition[] = [];
public tags: Filter[] = [];
@ -72,12 +71,16 @@ export class GfCreateOrUpdateAccessDialogComponent implements OnInit {
protected readonly mode: 'create' | 'update';
private readonly changeDetectorRef = inject(ChangeDetectorRef);
private readonly data =
inject<CreateOrUpdateAccessDialogParams>(MAT_DIALOG_DATA);
private readonly dataService = inject(DataService);
private readonly destroyRef = inject(DestroyRef);
private readonly dialogRef =
inject<MatDialogRef<GfCreateOrUpdateAccessDialogComponent>>(MatDialogRef);
private readonly formBuilder = inject(FormBuilder);
private readonly notificationService = inject(NotificationService);
private readonly userService = inject(UserService);

Loading…
Cancel
Save