|
@ -1,10 +1,6 @@ |
|
|
import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; |
|
|
import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; |
|
|
import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service'; |
|
|
import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service'; |
|
|
import { |
|
|
import { DEFAULT_LANGUAGE_CODE } from '@ghostfolio/common/config'; |
|
|
DEFAULT_LANGUAGE_CODE, |
|
|
|
|
|
PROPERTY_STRIPE_CONFIG |
|
|
|
|
|
} from '@ghostfolio/common/config'; |
|
|
|
|
|
import { Subscription as SubscriptionInterface } from '@ghostfolio/common/interfaces'; |
|
|
|
|
|
import { UserWithSettings } from '@ghostfolio/common/types'; |
|
|
import { UserWithSettings } from '@ghostfolio/common/types'; |
|
|
import { SubscriptionType } from '@ghostfolio/common/types/subscription-type.type'; |
|
|
import { SubscriptionType } from '@ghostfolio/common/types/subscription-type.type'; |
|
|
import { Injectable, Logger } from '@nestjs/common'; |
|
|
import { Injectable, Logger } from '@nestjs/common'; |
|
@ -101,19 +97,8 @@ export class SubscriptionService { |
|
|
aCheckoutSessionId |
|
|
aCheckoutSessionId |
|
|
); |
|
|
); |
|
|
|
|
|
|
|
|
let subscriptions: SubscriptionInterface[] = []; |
|
|
|
|
|
|
|
|
|
|
|
const stripeConfig = (await this.prismaService.property.findUnique({ |
|
|
|
|
|
where: { key: PROPERTY_STRIPE_CONFIG } |
|
|
|
|
|
})) ?? { value: '{}' }; |
|
|
|
|
|
|
|
|
|
|
|
subscriptions = [JSON.parse(stripeConfig.value)]; |
|
|
|
|
|
|
|
|
|
|
|
const coupon = subscriptions[0]?.coupon ?? 0; |
|
|
|
|
|
const price = subscriptions[0]?.price ?? 0; |
|
|
|
|
|
|
|
|
|
|
|
await this.createSubscription({ |
|
|
await this.createSubscription({ |
|
|
price: price - coupon, |
|
|
price: session.amount_total / 100, |
|
|
userId: session.client_reference_id |
|
|
userId: session.client_reference_id |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|