Browse Source

Refactoring

pull/1512/head
Thomas 3 years ago
parent
commit
35cb0e9dcd
  1. 18
      apps/api/src/app/user/user.controller.ts
  2. 40
      apps/client/src/app/components/admin-overview/admin-overview.html
  3. 10
      apps/client/src/app/components/header/header.component.ts
  4. 6
      apps/client/src/app/pages/landing/landing-page.component.ts
  5. 9
      apps/client/src/app/pages/register/register-page.component.ts

18
apps/api/src/app/user/user.controller.ts

@ -1,9 +1,6 @@
import { ConfigurationService } from '@ghostfolio/api/services/configuration.service'; import { ConfigurationService } from '@ghostfolio/api/services/configuration.service';
import { PropertyService } from '@ghostfolio/api/services/property/property.service'; import { PropertyService } from '@ghostfolio/api/services/property/property.service';
import { import { PROPERTY_IS_USER_SIGNUP_ENABLED } from '@ghostfolio/common/config';
PROPERTY_IS_READ_ONLY_MODE,
PROPERTY_IS_USER_SIGNUP_ENABLED
} from '@ghostfolio/common/config';
import { User, UserSettings } from '@ghostfolio/common/interfaces'; import { User, UserSettings } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import type { RequestWithUser } from '@ghostfolio/common/types'; import type { RequestWithUser } from '@ghostfolio/common/types';
@ -72,19 +69,6 @@ export class UserController {
@Post() @Post()
public async signupUser(): Promise<UserItem> { public async signupUser(): Promise<UserItem> {
if (this.configurationService.get('ENABLE_FEATURE_READ_ONLY_MODE')) {
const isReadOnlyMode = (await this.propertyService.getByKey(
PROPERTY_IS_READ_ONLY_MODE
)) as boolean;
if (isReadOnlyMode) {
throw new HttpException(
getReasonPhrase(StatusCodes.FORBIDDEN),
StatusCodes.FORBIDDEN
);
}
}
const isUserSignupEnabled = const isUserSignupEnabled =
((await this.propertyService.getByKey( ((await this.propertyService.getByKey(
PROPERTY_IS_USER_SIGNUP_ENABLED PROPERTY_IS_USER_SIGNUP_ENABLED

40
apps/client/src/app/components/admin-overview/admin-overview.html

@ -82,6 +82,26 @@
</table> </table>
</div> </div>
</div> </div>
<div class="d-flex my-3">
<div class="w-50" i18n>User Signup</div>
<div class="w-50">
<mat-slide-toggle
color="primary"
[checked]="info.globalPermissions.includes(permissions.createUserAccount)"
(change)="onEnableUserSignupModeChange($event)"
></mat-slide-toggle>
</div>
</div>
<div *ngIf="hasPermissionToToggleReadOnlyMode" class="d-flex my-3">
<div class="w-50" i18n>Read-only Mode</div>
<div class="w-50">
<mat-slide-toggle
color="primary"
[checked]="info?.isReadOnlyMode"
(change)="onReadOnlyModeChange($event)"
></mat-slide-toggle>
</div>
</div>
<div *ngIf="hasPermissionForSystemMessage" class="d-flex my-3"> <div *ngIf="hasPermissionForSystemMessage" class="d-flex my-3">
<div class="w-50" i18n>System Message</div> <div class="w-50" i18n>System Message</div>
<div class="w-50"> <div class="w-50">
@ -109,26 +129,6 @@
</button> </button>
</div> </div>
</div> </div>
<div class="d-flex my-3">
<div class="w-50" i18n>Enable User Signup</div>
<div class="w-50">
<mat-slide-toggle
color="primary"
[checked]="info.globalPermissions.includes(permissions.createUserAccount)"
(change)="onEnableUserSignupModeChange($event)"
></mat-slide-toggle>
</div>
</div>
<div *ngIf="hasPermissionToToggleReadOnlyMode" class="d-flex my-3">
<div class="w-50" i18n>Read-only Mode</div>
<div class="w-50">
<mat-slide-toggle
color="primary"
[checked]="info?.isReadOnlyMode"
(change)="onReadOnlyModeChange($event)"
></mat-slide-toggle>
</div>
</div>
<div <div
*ngIf="hasPermissionForSubscription" *ngIf="hasPermissionForSubscription"
class="d-flex my-3 subscription" class="d-flex my-3 subscription"

10
apps/client/src/app/components/header/header.component.ts

@ -81,12 +81,10 @@ export class HeaderComponent implements OnChanges {
permissions.enableFearAndGreedIndex permissions.enableFearAndGreedIndex
); );
this.hasPermissionToCreateUser = this.hasPermissionToCreateUser = hasPermission(
!this.info?.isReadOnlyMode && this.info?.globalPermissions,
hasPermission( permissions.createUserAccount
this.info?.globalPermissions, );
permissions.createUserAccount
);
} }
public impersonateAccount(aId: string) { public impersonateAccount(aId: string) {

6
apps/client/src/app/pages/landing/landing-page.component.ts

@ -48,7 +48,7 @@ export class LandingPageComponent implements OnDestroy, OnInit {
private dataService: DataService, private dataService: DataService,
private deviceService: DeviceDetectorService private deviceService: DeviceDetectorService
) { ) {
const { globalPermissions, isReadOnlyMode, statistics } = const { globalPermissions, statistics } =
this.dataService.fetchInfo(); this.dataService.fetchInfo();
this.hasPermissionForStatistics = hasPermission( this.hasPermissionForStatistics = hasPermission(
@ -56,9 +56,7 @@ export class LandingPageComponent implements OnDestroy, OnInit {
permissions.enableStatistics permissions.enableStatistics
); );
this.hasPermissionToCreateUser = this.hasPermissionToCreateUser = hasPermission(globalPermissions, permissions.createUserAccount);
!isReadOnlyMode &&
hasPermission(globalPermissions, permissions.createUserAccount);
this.statistics = statistics; this.statistics = statistics;
} }

9
apps/client/src/app/pages/register/register-page.component.ts

@ -45,7 +45,7 @@ export class RegisterPageComponent implements OnDestroy, OnInit {
} }
public ngOnInit() { public ngOnInit() {
const { demoAuthToken, globalPermissions, isReadOnlyMode } = const { demoAuthToken, globalPermissions } =
this.dataService.fetchInfo(); this.dataService.fetchInfo();
this.demoAuthToken = demoAuthToken; this.demoAuthToken = demoAuthToken;
@ -54,9 +54,10 @@ export class RegisterPageComponent implements OnDestroy, OnInit {
globalPermissions, globalPermissions,
permissions.enableSocialLogin permissions.enableSocialLogin
); );
this.hasPermissionToCreateUser = this.hasPermissionToCreateUser = hasPermission(
!isReadOnlyMode && globalPermissions,
hasPermission(globalPermissions, permissions.createUserAccount); permissions.createUserAccount
);
} }
public async createAccount() { public async createAccount() {

Loading…
Cancel
Save