feat: Implement getInvoices graphQL query

This commit is contained in:
Faruk AYDIN
2023-03-26 02:02:36 +03:00
parent bd55b37d5f
commit 1cbf96dff1
6 changed files with 52 additions and 2 deletions

View File

@@ -59,7 +59,7 @@ const getBillingAndUsage = async (
.andWhere(
'created_at',
'>=',
DateTime.now().minus({ days: 30 }).toFormat('D')
DateTime.now().minus({ days: 30 }).toISODate()
)
.count()
.first();

View File

@@ -0,0 +1,17 @@
import Context from '../../types/express/context';
import Billing from '../../helpers/billing/index.ee';
const getInvoices = async (
_parent: unknown,
_params: unknown,
context: Context
) => {
const subscription = await context.currentUser.$relatedQuery('subscription');
const invoices = await Billing.paddleClient.getInvoices(
Number(subscription.paddleSubscriptionId)
);
return invoices;
};
export default getInvoices;

View File

@@ -15,6 +15,7 @@ import getUsageData from './queries/get-usage-data.ee';
import getPaymentPlans from './queries/get-payment-plans.ee';
import getPaddleInfo from './queries/get-paddle-info.ee';
import getBillingAndUsage from './queries/get-billing-and-usage.ee';
import getInvoices from './queries/get-invoices.ee';
import getAutomatischInfo from './queries/get-automatisch-info';
import healthcheck from './queries/healthcheck';
@@ -36,6 +37,7 @@ const queryResolvers = {
getPaymentPlans,
getPaddleInfo,
getBillingAndUsage,
getInvoices,
getAutomatischInfo,
healthcheck,
};

View File

@@ -38,6 +38,7 @@ type Query {
getPaymentPlans: [PaymentPlan]
getPaddleInfo: GetPaddleInfo
getBillingAndUsage: GetBillingAndUsage
getInvoices: [Invoice]
getAutomatischInfo: GetAutomatischInfo
healthcheck: AppHealth
}
@@ -504,6 +505,14 @@ type GetPaddleInfo {
vendorId: Int
}
type Invoice {
id: Int
amount: Float
currency: String
payout_date: String
receipt_url: String
}
type PaymentPlan {
name: String
limit: String