Browse Source

Refactoring

pull/1661/head
Thomas 3 years ago
parent
commit
90dee4e12c
  1. 9
      apps/api/src/app/user/user.service.ts
  2. 2
      apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts
  3. 9
      apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html
  4. 1
      libs/common/src/lib/types/analyticsEventType.type.ts
  5. 2
      libs/common/src/lib/types/index.ts
  6. 8
      prisma/schema.prisma

9
apps/api/src/app/user/user.service.ts

@ -14,7 +14,6 @@ import {
hasRole, hasRole,
permissions permissions
} from '@ghostfolio/common/permissions'; } from '@ghostfolio/common/permissions';
import { AnalyticsEventType } from '@ghostfolio/common/types';
import { Injectable } from '@nestjs/common'; import { Injectable } from '@nestjs/common';
import { Prisma, Role, User } from '@prisma/client'; import { Prisma, Role, User } from '@prisma/client';
import { sortBy } from 'lodash'; import { sortBy } from 'lodash';
@ -261,12 +260,10 @@ export class UserService {
}); });
if (this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION')) { if (this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION')) {
await this.prismaService.analyticsEvent.create({ await this.prismaService.analytics.create({
data: { data: {
data: { country,
country User: { connect: { id: user.id } }
},
type: <AnalyticsEventType>'createUser'
} }
}); });
} }

2
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.component.ts

@ -19,7 +19,7 @@ export class SubscriptionInterstitialDialog {
public dialogRef: MatDialogRef<SubscriptionInterstitialDialog> public dialogRef: MatDialogRef<SubscriptionInterstitialDialog>
) {} ) {}
public onCancel() { public closeDialog() {
this.dialogRef.close({}); this.dialogRef.close({});
} }
} }

9
apps/client/src/app/components/subscription-interstitial-dialog/subscription-interstitial-dialog.html

@ -34,8 +34,13 @@
<p>Refine your personal investment strategy now.</p> <p>Refine your personal investment strategy now.</p>
</div> </div>
<div class="justify-content-end" mat-dialog-actions> <div class="justify-content-end" mat-dialog-actions>
<button i18n mat-button (click)="onCancel()">Skip</button> <button i18n mat-button (click)="closeDialog()">Skip</button>
<a color="primary" mat-flat-button [routerLink]="['/pricing']"> <a
color="primary"
mat-flat-button
[routerLink]="['/pricing']"
(click)="closeDialog()"
>
<span i18n>Upgrade Plan</span> <span i18n>Upgrade Plan</span>
<ion-icon class="ml-1" name="arrow-forward-outline"></ion-icon> <ion-icon class="ml-1" name="arrow-forward-outline"></ion-icon>
</a> </a>

1
libs/common/src/lib/types/analyticsEventType.type.ts

@ -1 +0,0 @@
export type AnalyticsEventType = 'createUser';

2
libs/common/src/lib/types/index.ts

@ -1,7 +1,6 @@
import type { AccessWithGranteeUser } from './access-with-grantee-user.type'; import type { AccessWithGranteeUser } from './access-with-grantee-user.type';
import { AccountWithPlatform } from './account-with-platform.type'; import { AccountWithPlatform } from './account-with-platform.type';
import { AccountWithValue } from './account-with-value.type'; import { AccountWithValue } from './account-with-value.type';
import { AnalyticsEventType } from './analyticsEventType.type';
import type { ColorScheme } from './color-scheme'; import type { ColorScheme } from './color-scheme';
import type { DateRange } from './date-range.type'; import type { DateRange } from './date-range.type';
import type { Granularity } from './granularity.type'; import type { Granularity } from './granularity.type';
@ -17,7 +16,6 @@ export type {
AccessWithGranteeUser, AccessWithGranteeUser,
AccountWithPlatform, AccountWithPlatform,
AccountWithValue, AccountWithValue,
AnalyticsEventType,
ColorScheme, ColorScheme,
DateRange, DateRange,
Granularity, Granularity,

8
prisma/schema.prisma

@ -41,18 +41,12 @@ model Account {
model Analytics { model Analytics {
activityCount Int @default(0) activityCount Int @default(0)
country String?
updatedAt DateTime @updatedAt updatedAt DateTime @updatedAt
userId String @id userId String @id
User User @relation(fields: [userId], references: [id]) User User @relation(fields: [userId], references: [id])
} }
model AnalyticsEvent {
createdAt DateTime @default(now())
data Json?
id String @id @default(uuid())
type String
}
model AuthDevice { model AuthDevice {
createdAt DateTime @default(now()) createdAt DateTime @default(now())
credentialId Bytes credentialId Bytes

Loading…
Cancel
Save