refactor service layer

This commit is contained in:
Michael Dausmann
2023-04-05 22:42:36 +10:00
parent f2bbe8596a
commit 5350a5c712
11 changed files with 98 additions and 98 deletions

View File

@@ -1,6 +1,7 @@
import { ACCOUNT_ACCESS } from '@prisma/client';
import Stripe from 'stripe';
import UserAccountService, { AccountWithMembers } from '~~/lib/services/user.account.service';
import AccountService from '~~/lib/services/account.service';
import { AccountWithMembers } from '~~/lib/services/service.types';
const config = useRuntimeConfig();
const stripe = new Stripe(config.stripeSecretKey, { apiVersion: '2022-11-15' });
@@ -11,8 +12,8 @@ export default defineEventHandler(async (event) => {
account_id = +account_id
console.log(`session.post.ts recieved price_id:${price_id}, account_id:${account_id}`);
const userService = new UserAccountService();
const account: AccountWithMembers = await userService.getAccountById(account_id);
const accountService = new AccountService();
const account: AccountWithMembers = await accountService.getAccountById(account_id);
let customer_id: string
if(!account.stripe_customer_id){
// need to pre-emptively create a Stripe user for this account so we know who they are when the webhook comes back
@@ -20,7 +21,7 @@ export default defineEventHandler(async (event) => {
console.log(`Creating account with name ${account.name} and email ${owner?.user.email}`);
const customer = await stripe.customers.create({ name: account.name, email: owner?.user.email });
customer_id = customer.id;
userService.updateAccountStipeCustomerId(account_id, customer.id);
accountService.updateAccountStipeCustomerId(account_id, customer.id);
} else {
customer_id = account.stripe_customer_id;
}

View File

@@ -1,5 +1,5 @@
import Stripe from 'stripe';
import UserAccountService from '~~/lib/services/user.account.service';
import AccountService from '~~/lib/services/account.service';
const config = useRuntimeConfig();
const stripe = new Stripe(config.stripeSecretKey, { apiVersion: '2022-11-15' });
@@ -36,13 +36,13 @@ export default defineEventHandler(async (event) => {
throw createError({ statusCode: 400, statusMessage: `Error validating Webhook Event` });
}
const userService = new UserAccountService();
const accountService = new AccountService();
let current_period_ends: Date = new Date(subscription.current_period_end * 1000);
current_period_ends.setDate(current_period_ends.getDate() + config.subscriptionGraceDays);
console.log(`updating stripe sub details subscription.current_period_end:${subscription.current_period_end}, subscription.id:${subscription.id}, stripe_product_id:${stripe_product_id}`);
userService.updateStripeSubscriptionDetailsForAccount(subscription.customer.toString(), subscription.id, current_period_ends, stripe_product_id);
accountService.updateStripeSubscriptionDetailsForAccount(subscription.customer.toString(), subscription.id, current_period_ends, stripe_product_id);
}
}
return `handled ${stripeEvent.type}.`;