Browse Source

feature: allow to delete all activities from portfolio

pull/1882/head
francisco 2 years ago
parent
commit
e83d0861c7
  1. 19
      apps/api/src/app/order/order.controller.ts
  2. 4
      apps/client/src/app/services/data.service.ts
  3. 2
      libs/ui/src/lib/activities-table/activities-table.component.html
  4. 1
      libs/ui/src/lib/activities-table/activities-table.component.ts

19
apps/api/src/app/order/order.controller.ts

@ -5,7 +5,7 @@ import { ApiService } from '@ghostfolio/api/services/api/api.service';
import { ImpersonationService } from '@ghostfolio/api/services/impersonation/impersonation.service';
import { HEADER_KEY_IMPERSONATION } from '@ghostfolio/common/config';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import type { RequestWithUser } from '@ghostfolio/common/types';
import { RequestWithUser } from '@ghostfolio/common/types';
import {
Body,
Controller,
@ -79,6 +79,23 @@ export class OrderController {
});
}
@Delete()
@UseGuards(AuthGuard('jwt'))
public async deleteOrders(): Promise<number> {
if (
!hasPermission(this.request.user.permissions, permissions.deleteOrder)
) {
throw new HttpException(
getReasonPhrase(StatusCodes.FORBIDDEN),
StatusCodes.FORBIDDEN
);
}
return this.orderService.deleteOrders({
userId: this.request.user.id
});
}
@Get()
@UseGuards(AuthGuard('jwt'))
@UseInterceptors(RedactValuesInResponseInterceptor)

4
apps/client/src/app/services/data.service.ts

@ -154,6 +154,10 @@ export class DataService {
return this.http.delete<any>(`/api/v1/order/${aId}`);
}
public deleteAllOrders() {
return this.http.delete<any>(`/api/v1/order/`);
}
public deleteUser(aId: string) {
return this.http.delete<any>(`/api/v1/user/${aId}`);
}

2
libs/ui/src/lib/activities-table/activities-table.component.html

@ -59,7 +59,7 @@
(click)="onDeleteAllActivities()"
>
<ion-icon class="mr-2" name="trash-outline"></ion-icon>
<span i18n>Delete all Activities</span>
<span i18n>Delete all activities</span>
</button>
</mat-menu>
</div>

1
libs/ui/src/lib/activities-table/activities-table.component.ts

@ -53,6 +53,7 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy, OnInit {
@Output() export = new EventEmitter<string[]>();
@Output() exportDrafts = new EventEmitter<string[]>();
@Output() import = new EventEmitter<void>();
@Output() deleteAllActivities = new EventEmitter<void>();
@Output() importDividends = new EventEmitter<UniqueAsset>();
@Output() selectedActivities = new EventEmitter<Activity[]>();

Loading…
Cancel
Save