diff --git a/api/src/billing/billing.controller.ts b/api/src/billing/billing.controller.ts index 5c87136..2055c62 100644 --- a/api/src/billing/billing.controller.ts +++ b/api/src/billing/billing.controller.ts @@ -65,6 +65,9 @@ export class BillingController { status: payload.data?.status, subscriptionStartDate: payload.data?.createdAt, subscriptionEndDate: payload.data?.canceledAt, + amount: payload.data?.amount, + currency: payload.data?.currency, + recurringInterval: payload.data?.recurringInterval, }) break diff --git a/api/src/billing/billing.service.ts b/api/src/billing/billing.service.ts index 265b03f..d5cf4a9 100644 --- a/api/src/billing/billing.service.ts +++ b/api/src/billing/billing.service.ts @@ -137,7 +137,7 @@ export class BillingService { }) if (customPlanSubscription) { - return customPlanSubscription + return customPlanSubscription.populate('plan') } const proPlanSubscription = await this.subscriptionModel.findOne({ @@ -147,7 +147,7 @@ export class BillingService { }) if (proPlanSubscription) { - return proPlanSubscription + return proPlanSubscription.populate('plan') } const freePlanSubscription = await this.subscriptionModel.findOne({ @@ -157,7 +157,7 @@ export class BillingService { }) if (freePlanSubscription) { - return freePlanSubscription + return freePlanSubscription.populate('plan') } // create a new free plan subscription @@ -168,7 +168,7 @@ export class BillingService { startDate: new Date(), }) - return newFreePlanSubscription + return newFreePlanSubscription.populate('plan') } async getUserLimits(userId: string) { @@ -205,6 +205,9 @@ export class BillingService { subscriptionStartDate, subscriptionEndDate, status, + amount, + currency, + recurringInterval, }: { userId: string newPlanName?: string @@ -215,6 +218,9 @@ export class BillingService { subscriptionStartDate?: Date subscriptionEndDate?: Date status?: string + amount?: number + currency?: string + recurringInterval?: string }) { console.log(`Switching plan for user: ${userId}`) @@ -257,6 +263,9 @@ export class BillingService { subscriptionStartDate, subscriptionEndDate, status, + amount, + currency, + recurringInterval, }, { upsert: true }, ) diff --git a/api/src/billing/schemas/subscription.schema.ts b/api/src/billing/schemas/subscription.schema.ts index b004b06..1f81bfe 100644 --- a/api/src/billing/schemas/subscription.schema.ts +++ b/api/src/billing/schemas/subscription.schema.ts @@ -26,9 +26,18 @@ export class Subscription { // @Prop() // polarSubscriptionId?: string + @Prop({ type: String }) + recurringInterval?: string + @Prop({ type: Date }) subscriptionStartDate?: Date + @Prop({ type: Number }) + amount?: number + + @Prop({ type: String }) + currency?: string + @Prop({ type: Date }) subscriptionEndDate?: Date