Files
automatisch/packages/backend/src/graphql/queries/get-usage-data.ee.ts
2023-04-06 13:08:49 +00:00

34 lines
846 B
TypeScript

import appConfig from '../../config/app';
import Context from '../../types/express/context';
// TODO: remove as getBillingAndUsageData query has been introduced
const getUsageData = async (
_parent: unknown,
_params: unknown,
context: Context
) => {
if (!appConfig.isCloud) return;
const usageData = await context.currentUser
.$relatedQuery('currentUsageData')
.throwIfNotFound();
const subscription = await usageData
.$relatedQuery('subscription')
.throwIfNotFound();
const plan = subscription.plan;
const computedUsageData = {
name: plan.name,
allowedTaskCount: plan.quota,
consumedTaskCount: usageData.consumedTaskCount,
remainingTaskCount: plan.quota - usageData.consumedTaskCount,
nextResetAt: usageData.nextResetAt,
};
return computedUsageData;
};
export default getUsageData;