feat: Extract get invoices logic to user model

This commit is contained in:
Faruk AYDIN
2024-02-25 01:30:29 +01:00
parent e94d669eca
commit 3adf549915

View File

@@ -15,6 +15,7 @@ import Role from './role.js';
import Step from './step.js';
import Subscription from './subscription.ee.js';
import UsageData from './usage-data.ee.js';
import Billing from '../helpers/billing/index.ee.js';
class User extends Base {
static tableName = 'users';
@@ -237,6 +238,20 @@ class User extends Base {
return currentUsageData.consumedTaskCount < plan.quota;
}
async getInvoices() {
const subscription = await this.$relatedQuery('currentSubscription');
if (!subscription) {
return [];
}
const invoices = await Billing.paddleClient.getInvoices(
Number(subscription.paddleSubscriptionId)
);
return invoices;
}
async $beforeInsert(queryContext) {
await super.$beforeInsert(queryContext);