diff --git a/CHANGELOG.md b/CHANGELOG.md index a876471a1..71e888246 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Added + +- Added the version to the admin control panel +- Added pagination parameters (`skip`, `take`) to the endpoint `GET api/v1/order` + ### Changed - Harmonized the settings icon of the user account page diff --git a/apps/api/src/app/order/order.controller.ts b/apps/api/src/app/order/order.controller.ts index be6a6bead..8c8e3e27a 100644 --- a/apps/api/src/app/order/order.controller.ts +++ b/apps/api/src/app/order/order.controller.ts @@ -89,7 +89,9 @@ export class OrderController { @Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId, @Query('accounts') filterByAccounts?: string, @Query('assetClasses') filterByAssetClasses?: string, - @Query('tags') filterByTags?: string + @Query('skip') skip?: number, + @Query('tags') filterByTags?: string, + @Query('take') take?: number ): Promise { const filters = this.apiService.buildFiltersFromQueryParams({ filterByAccounts, @@ -105,6 +107,8 @@ export class OrderController { filters, userCurrency, includeDrafts: true, + skip: isNaN(skip) ? undefined : skip, + take: isNaN(take) ? undefined : take, userId: impersonationUserId || this.request.user.id, withExcludedAccounts: true }); diff --git a/apps/api/src/app/order/order.service.ts b/apps/api/src/app/order/order.service.ts index f518e0bb3..10515018c 100644 --- a/apps/api/src/app/order/order.service.ts +++ b/apps/api/src/app/order/order.service.ts @@ -230,6 +230,8 @@ export class OrderService { public async getOrders({ filters, includeDrafts = false, + skip, + take = Number.MAX_SAFE_INTEGER, types, userCurrency, userId, @@ -237,6 +239,8 @@ export class OrderService { }: { filters?: Filter[]; includeDrafts?: boolean; + skip?: number; + take?: number; types?: TypeOfOrder[]; userCurrency: string; userId: string; @@ -315,6 +319,8 @@ export class OrderService { return ( await this.orders({ + skip, + take, where, include: { // eslint-disable-next-line @typescript-eslint/naming-convention diff --git a/apps/client/project.json b/apps/client/project.json index 9da89ea9e..2e36f7144 100644 --- a/apps/client/project.json +++ b/apps/client/project.json @@ -104,40 +104,40 @@ "options": { "commands": [ { - "command": "mkdir -p dist/apps/client" + "command": "shx mkdir -p dist/apps/client" }, { - "command": "cp -r apps/client/src/assets dist/apps/client" + "command": "shx cp -r apps/client/src/assets dist/apps/client" }, { - "command": "cp -r apps/client/src/assets/.well-known dist/apps/client" + "command": "shx cp -r apps/client/src/assets/.well-known dist/apps/client" }, { - "command": "cp apps/client/src/assets/favicon.ico dist/apps/client" + "command": "shx cp apps/client/src/assets/favicon.ico dist/apps/client" }, { - "command": "cp apps/client/src/assets/index.html dist/apps/client" + "command": "shx cp apps/client/src/assets/index.html dist/apps/client" }, { - "command": "cp apps/client/src/assets/robots.txt dist/apps/client" + "command": "shx cp apps/client/src/assets/robots.txt dist/apps/client" }, { - "command": "cp apps/client/src/assets/site.webmanifest dist/apps/client" + "command": "shx cp apps/client/src/assets/site.webmanifest dist/apps/client" }, { - "command": "cp node_modules/ionicons/dist/index.js dist/apps/client" + "command": "shx cp node_modules/ionicons/dist/index.js dist/apps/client" }, { - "command": "cp node_modules/ionicons/dist/ionicons.js dist/apps/client" + "command": "shx cp node_modules/ionicons/dist/ionicons.js dist/apps/client" }, { - "command": "cp -r node_modules/ionicons/dist/ionicons dist/apps/client/ionicons" + "command": "shx cp -r node_modules/ionicons/dist/ionicons dist/apps/client/ionicons" }, { - "command": "cp CHANGELOG.md dist/apps/client/assets" + "command": "shx cp CHANGELOG.md dist/apps/client/assets" }, { - "command": "cp LICENSE dist/apps/client/assets" + "command": "shx cp LICENSE dist/apps/client/assets" } ] } diff --git a/apps/client/src/app/components/admin-overview/admin-overview.component.ts b/apps/client/src/app/components/admin-overview/admin-overview.component.ts index 2053c4298..2ca3f0724 100644 --- a/apps/client/src/app/components/admin-overview/admin-overview.component.ts +++ b/apps/client/src/app/components/admin-overview/admin-overview.component.ts @@ -1,5 +1,6 @@ import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { MatCheckboxChange } from '@angular/material/checkbox'; +import { environment } from '@ghostfolio/client/../environments/environment'; import { AdminService } from '@ghostfolio/client/services/admin.service'; import { CacheService } from '@ghostfolio/client/services/cache.service'; import { DataService } from '@ghostfolio/client/services/data.service'; @@ -42,6 +43,7 @@ export class AdminOverviewComponent implements OnDestroy, OnInit { public transactionCount: number; public userCount: number; public user: User; + public version = environment.version; private unsubscribeSubject = new Subject(); diff --git a/apps/client/src/app/components/admin-overview/admin-overview.html b/apps/client/src/app/components/admin-overview/admin-overview.html index 6d8245cb7..2739547b5 100644 --- a/apps/client/src/app/components/admin-overview/admin-overview.html +++ b/apps/client/src/app/components/admin-overview/admin-overview.html @@ -3,6 +3,10 @@
+
+
Version
+
{{ version }}
+
User Count
diff --git a/package.json b/package.json index 56192852a..f303e5f51 100644 --- a/package.json +++ b/package.json @@ -194,6 +194,7 @@ "react": "18.2.0", "react-dom": "18.2.0", "replace-in-file": "7.0.1", + "shx": "0.3.4", "storybook": "7.0.9", "ts-jest": "29.1.0", "ts-node": "10.9.1", diff --git a/yarn.lock b/yarn.lock index 43b5deddd..69f995b5d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14264,7 +14264,7 @@ minimatch@^9.0.0, minimatch@^9.0.1: dependencies: brace-expansion "^2.0.1" -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -16984,6 +16984,14 @@ shelljs@^0.8.5: interpret "^1.0.0" rechoir "^0.6.2" +shx@0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/shx/-/shx-0.3.4.tgz#74289230b4b663979167f94e1935901406e40f02" + integrity sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g== + dependencies: + minimist "^1.2.3" + shelljs "^0.8.5" + side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"