From 2b0f961370a3153010f6dcd613e0b9b896a58601 Mon Sep 17 00:00:00 2001
From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
Date: Sat, 15 Jul 2023 12:16:19 +0200
Subject: [PATCH 1/3] Feature/improve faq page (#2152)
* Extend content
* Update changelog
---
CHANGELOG.md | 1 +
apps/client/src/app/pages/faq/faq-page.html | 43 ++++++++++++++++++++-
2 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7be92782c..8eedade39 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Disabled the caching in the health check endpoints for data providers
+- Improved the content of the Frequently Asked Questions (FAQ) page
## 1.289.0 - 2023-07-14
diff --git a/apps/client/src/app/pages/faq/faq-page.html b/apps/client/src/app/pages/faq/faq-page.html
index c906a8e98..1b441091c 100644
--- a/apps/client/src/app/pages/faq/faq-page.html
+++ b/apps/client/src/app/pages/faq/faq-page.html
@@ -4,6 +4,12 @@
Frequently Asked Questions (FAQ)
+
+ Find quick answers to commonly asked questions about Ghostfolio in our
+ Frequently Asked Questions (FAQ) section. Discover what Ghostfolio is,
+ explore its features, and learn about our privacy practices. Get all the
+ information you need in one place.
+
What is Ghostfolio?
@@ -22,7 +28,7 @@
With Ghostfolio, you can keep track of various assets like stocks,
- ETFs or cryptocurrencies.
+ ETFs, bonds, cryptocurrencies and commodities.
@@ -51,6 +57,17 @@
or Google Sign. We will guide you to set up your portfolio.
+
+
+ Will you spam me with emails once I sign up?
+
+ No, we do not even collect your email address, so you will not receive
+ any spam emails from us.
+
+
+
+
+ Do you monetize or sell my financial data?
+ No, we value your privacy. We do not sell or share your financial
+ data with any third parties.
+
+
+
+ What is your business model?
+ By offering Ghostfolio Premium, a
+ subscription plan with a managed hosting service and enhanced
+ features, we fund our business while providing added value to our
+ users.
+
Date: Sat, 15 Jul 2023 12:32:43 +0200
Subject: [PATCH 2/3] Feature/upgrade prisma to version 4.16.2 (#2109)
* Upgrade prisma to version 4.16.2
* Update changelog
---
CHANGELOG.md | 1 +
apps/api/src/app/user/user.service.ts | 2 +-
package.json | 4 +--
yarn.lock | 36 +++++++++++++--------------
4 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8eedade39..646b2805e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Disabled the caching in the health check endpoints for data providers
- Improved the content of the Frequently Asked Questions (FAQ) page
+- Upgraded `prisma` from version `4.15.0` to `4.16.2`
## 1.289.0 - 2023-07-14
diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts
index 39c0571b2..d5a3e2e00 100644
--- a/apps/api/src/app/user/user.service.ts
+++ b/apps/api/src/app/user/user.service.ts
@@ -123,7 +123,7 @@ export class UserService {
id,
provider,
role,
- Settings,
+ Settings: Settings as UserWithSettings['Settings'],
thirdPartyId,
updatedAt,
activityCount: Analytics?.activityCount
diff --git a/package.json b/package.json
index 971c24afd..45293b758 100644
--- a/package.json
+++ b/package.json
@@ -79,7 +79,7 @@
"@nestjs/platform-express": "9.1.4",
"@nestjs/schedule": "2.1.0",
"@nestjs/serve-static": "3.0.0",
- "@prisma/client": "4.15.0",
+ "@prisma/client": "4.16.2",
"@simplewebauthn/browser": "5.2.1",
"@simplewebauthn/server": "5.2.1",
"@stripe/stripe-js": "1.47.0",
@@ -120,7 +120,7 @@
"passport": "0.6.0",
"passport-google-oauth20": "2.0.0",
"passport-jwt": "4.0.0",
- "prisma": "4.15.0",
+ "prisma": "4.16.2",
"reflect-metadata": "0.1.13",
"rxjs": "7.5.6",
"stripe": "11.12.0",
diff --git a/yarn.lock b/yarn.lock
index 901276cc3..742b3f63f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3738,22 +3738,22 @@
resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
-"@prisma/client@4.15.0":
- version "4.15.0"
- resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.15.0.tgz#f52ec6ca6fbde37395a54b0a9e5da603a9de15f3"
- integrity sha512-xnROvyABcGiwqRNdrObHVZkD9EjkJYHOmVdlKy1yGgI+XOzvMzJ4tRg3dz1pUlsyhKxXGCnjIQjWW+2ur+YXuw==
+"@prisma/client@4.16.2":
+ version "4.16.2"
+ resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.16.2.tgz#3bb9ebd49b35c8236b3d468d0215192267016e2b"
+ integrity sha512-qCoEyxv1ZrQ4bKy39GnylE8Zq31IRmm8bNhNbZx7bF2cU5aiCCnSa93J2imF88MBjn7J9eUQneNxUQVJdl/rPQ==
dependencies:
- "@prisma/engines-version" "4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944"
+ "@prisma/engines-version" "4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81"
-"@prisma/engines-version@4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944":
- version "4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944"
- resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-4.15.0-28.8fbc245156db7124f997f4cecdd8d1219e360944.tgz#8d880becf996cffe08c78ad5afab6bc06090c990"
- integrity sha512-sVOig4tjGxxlYaFcXgE71f/rtFhzyYrfyfNFUsxCIEJyVKU9rdOWIlIwQ2NQ7PntvGnn+x0XuFo4OC1jvPJKzg==
+"@prisma/engines-version@4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81":
+ version "4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81"
+ resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81.tgz#d3b5dcf95b6d220e258cbf6ae19b06d30a7e9f14"
+ integrity sha512-q617EUWfRIDTriWADZ4YiWRZXCa/WuhNgLTVd+HqWLffjMSPzyM5uOWoauX91wvQClSKZU4pzI4JJLQ9Kl62Qg==
-"@prisma/engines@4.15.0":
- version "4.15.0"
- resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-4.15.0.tgz#d8687a9fda615fab88b75b466931280289de9e26"
- integrity sha512-FTaOCGs0LL0OW68juZlGxFtYviZa4xdQj/rQEdat2txw0s3Vu/saAPKjNVXfIgUsGXmQ72HPgNr6935/P8FNAA==
+"@prisma/engines@4.16.2":
+ version "4.16.2"
+ resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-4.16.2.tgz#5ec8dd672c2173d597e469194916ad4826ce2e5f"
+ integrity sha512-vx1nxVvN4QeT/cepQce68deh/Turxy5Mr+4L4zClFuK1GlxN3+ivxfuv+ej/gvidWn1cE1uAhW7ALLNlYbRUAw==
"@samverschueren/stream-to-observable@^0.3.0":
version "0.3.1"
@@ -14544,12 +14544,12 @@ pretty-hrtime@^1.0.3:
resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
integrity sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==
-prisma@4.15.0:
- version "4.15.0"
- resolved "https://registry.yarnpkg.com/prisma/-/prisma-4.15.0.tgz#4faa94f0d584828b68468953ff0bc88f37912c8c"
- integrity sha512-iKZZpobPl48gTcSZVawLMQ3lEy6BnXwtoMj7hluoGFYu2kQ6F9LBuBrUyF95zRVnNo8/3KzLXJXJ5TEnLSJFiA==
+prisma@4.16.2:
+ version "4.16.2"
+ resolved "https://registry.yarnpkg.com/prisma/-/prisma-4.16.2.tgz#469e0a0991c6ae5bcde289401726bb012253339e"
+ integrity sha512-SYCsBvDf0/7XSJyf2cHTLjLeTLVXYfqp7pG5eEVafFLeT0u/hLFz/9W196nDRGUOo1JfPatAEb+uEnTQImQC1g==
dependencies:
- "@prisma/engines" "4.15.0"
+ "@prisma/engines" "4.16.2"
prismjs@^1.28.0:
version "1.29.0"
From 81ef95e13e4fb3595338baf0626bfbbd24448f50 Mon Sep 17 00:00:00 2001
From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>
Date: Sat, 15 Jul 2023 12:32:59 +0200
Subject: [PATCH 3/3] Setup permissions (#2151)
---
.../pages/resources/resources-page.component.ts | 17 +++++++++++++++--
.../src/app/pages/resources/resources-page.html | 2 +-
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/apps/client/src/app/pages/resources/resources-page.component.ts b/apps/client/src/app/pages/resources/resources-page.component.ts
index 317f22445..36b790185 100644
--- a/apps/client/src/app/pages/resources/resources-page.component.ts
+++ b/apps/client/src/app/pages/resources/resources-page.component.ts
@@ -1,4 +1,7 @@
import { Component, OnInit } from '@angular/core';
+import { DataService } from '@ghostfolio/client/services/data.service';
+import { InfoItem } from '@ghostfolio/common/interfaces';
+import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { Subject } from 'rxjs';
@Component({
@@ -8,11 +11,21 @@ import { Subject } from 'rxjs';
templateUrl: './resources-page.html'
})
export class ResourcesPageComponent implements OnInit {
+ public hasPermissionForSubscription: boolean;
+ public info: InfoItem;
+
private unsubscribeSubject = new Subject();
- public constructor() {}
+ public constructor(private dataService: DataService) {
+ this.info = this.dataService.fetchInfo();
+ }
- public ngOnInit() {}
+ public ngOnInit() {
+ this.hasPermissionForSubscription = hasPermission(
+ this.info?.globalPermissions,
+ permissions.enableSubscription
+ );
+ }
public ngOnDestroy() {
this.unsubscribeSubject.next();
diff --git a/apps/client/src/app/pages/resources/resources-page.html b/apps/client/src/app/pages/resources/resources-page.html
index d46288dd4..9f35c6114 100644
--- a/apps/client/src/app/pages/resources/resources-page.html
+++ b/apps/client/src/app/pages/resources/resources-page.html
@@ -170,7 +170,7 @@
-