|
|
@ -62,7 +62,16 @@ export class ActivitiesController { |
|
|
@UseInterceptors(TransformDataSourceInRequestInterceptor) |
|
|
@UseInterceptors(TransformDataSourceInRequestInterceptor) |
|
|
public async deleteActivities( |
|
|
public async deleteActivities( |
|
|
@Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId: string, |
|
|
@Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId: string, |
|
|
@Query() query: ActivitiesFilterDto |
|
|
@Query() |
|
|
|
|
|
{ |
|
|
|
|
|
accounts, |
|
|
|
|
|
activityTypes, |
|
|
|
|
|
assetClasses, |
|
|
|
|
|
dataSource, |
|
|
|
|
|
range, |
|
|
|
|
|
symbol, |
|
|
|
|
|
tags |
|
|
|
|
|
}: ActivitiesFilterDto |
|
|
): Promise<number> { |
|
|
): Promise<number> { |
|
|
if (impersonationId) { |
|
|
if (impersonationId) { |
|
|
throw new HttpException( |
|
|
throw new HttpException( |
|
|
@ -74,25 +83,25 @@ export class ActivitiesController { |
|
|
let endDate: Date; |
|
|
let endDate: Date; |
|
|
let startDate: Date; |
|
|
let startDate: Date; |
|
|
|
|
|
|
|
|
if (query.range) { |
|
|
if (range) { |
|
|
({ endDate, startDate } = getIntervalFromDateRange({ |
|
|
({ endDate, startDate } = getIntervalFromDateRange({ |
|
|
dateRange: query.range |
|
|
dateRange: range |
|
|
})); |
|
|
})); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const filters = this.apiService.buildFiltersFromQueryParams({ |
|
|
const filters = this.apiService.buildFiltersFromQueryParams({ |
|
|
filterByAccounts: query.accounts, |
|
|
filterByAccounts: accounts, |
|
|
filterByAssetClasses: query.assetClasses, |
|
|
filterByAssetClasses: assetClasses, |
|
|
filterByDataSource: query.dataSource, |
|
|
filterByDataSource: dataSource, |
|
|
filterBySymbol: query.symbol, |
|
|
filterBySymbol: symbol, |
|
|
filterByTags: query.tags |
|
|
filterByTags: tags |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
return this.activitiesService.deleteActivities({ |
|
|
return this.activitiesService.deleteActivities({ |
|
|
endDate, |
|
|
endDate, |
|
|
filters, |
|
|
filters, |
|
|
startDate, |
|
|
startDate, |
|
|
types: query.activityTypes, |
|
|
types: activityTypes, |
|
|
userId: this.request.user.id |
|
|
userId: this.request.user.id |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
@ -125,23 +134,36 @@ export class ActivitiesController { |
|
|
@UseInterceptors(TransformDataSourceInResponseInterceptor) |
|
|
@UseInterceptors(TransformDataSourceInResponseInterceptor) |
|
|
public async getAllActivities( |
|
|
public async getAllActivities( |
|
|
@Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId: string, |
|
|
@Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId: string, |
|
|
@Query() query: GetActivitiesDto |
|
|
@Query() |
|
|
|
|
|
{ |
|
|
|
|
|
accounts, |
|
|
|
|
|
activityTypes, |
|
|
|
|
|
assetClasses, |
|
|
|
|
|
dataSource, |
|
|
|
|
|
range, |
|
|
|
|
|
skip, |
|
|
|
|
|
sortColumn, |
|
|
|
|
|
sortDirection, |
|
|
|
|
|
symbol, |
|
|
|
|
|
tags, |
|
|
|
|
|
take |
|
|
|
|
|
}: GetActivitiesDto |
|
|
): Promise<ActivitiesResponse> { |
|
|
): Promise<ActivitiesResponse> { |
|
|
let endDate: Date; |
|
|
let endDate: Date; |
|
|
let startDate: Date; |
|
|
let startDate: Date; |
|
|
|
|
|
|
|
|
if (query.range) { |
|
|
if (range) { |
|
|
({ endDate, startDate } = getIntervalFromDateRange({ |
|
|
({ endDate, startDate } = getIntervalFromDateRange({ |
|
|
dateRange: query.range |
|
|
dateRange: range |
|
|
})); |
|
|
})); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const filters = this.apiService.buildFiltersFromQueryParams({ |
|
|
const filters = this.apiService.buildFiltersFromQueryParams({ |
|
|
filterByAccounts: query.accounts, |
|
|
filterByAccounts: accounts, |
|
|
filterByAssetClasses: query.assetClasses, |
|
|
filterByAssetClasses: assetClasses, |
|
|
filterByDataSource: query.dataSource, |
|
|
filterByDataSource: dataSource, |
|
|
filterBySymbol: query.symbol, |
|
|
filterBySymbol: symbol, |
|
|
filterByTags: query.tags |
|
|
filterByTags: tags |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
const impersonationUserId = |
|
|
const impersonationUserId = |
|
|
@ -152,14 +174,14 @@ export class ActivitiesController { |
|
|
const { activities, count } = await this.activitiesService.getActivities({ |
|
|
const { activities, count } = await this.activitiesService.getActivities({ |
|
|
endDate, |
|
|
endDate, |
|
|
filters, |
|
|
filters, |
|
|
|
|
|
skip, |
|
|
|
|
|
sortColumn, |
|
|
|
|
|
sortDirection, |
|
|
startDate, |
|
|
startDate, |
|
|
|
|
|
take, |
|
|
userCurrency, |
|
|
userCurrency, |
|
|
includeDrafts: true, |
|
|
includeDrafts: true, |
|
|
skip: query.skip, |
|
|
types: activityTypes, |
|
|
sortColumn: query.sortColumn, |
|
|
|
|
|
sortDirection: query.sortDirection, |
|
|
|
|
|
take: query.take, |
|
|
|
|
|
types: query.activityTypes, |
|
|
|
|
|
userId: impersonationUserId || this.request.user.id, |
|
|
userId: impersonationUserId || this.request.user.id, |
|
|
withExcludedAccountsAndActivities: true |
|
|
withExcludedAccountsAndActivities: true |
|
|
}); |
|
|
}); |
|
|
|