24 lines
751 B
TypeScript
24 lines
751 B
TypeScript
import { createCredit } from "../db/credits.db.server";
|
|
import { CreditType, CreditTypes } from "../dtos/CreditType";
|
|
import { createScopedLogger } from "~/utils/logger.server";
|
|
|
|
const creditsLogger = createScopedLogger("usage.credits");
|
|
|
|
async function create(data: { tenantId: string; userId: string | null; type: CreditType; objectId: string | null }) {
|
|
const creditType = CreditTypes.find((t) => t.value === data.type);
|
|
if (!creditType) {
|
|
creditsLogger.error({ type: data.type }, `Credit type not found: ${data.type}`);
|
|
return;
|
|
}
|
|
return await createCredit({
|
|
tenantId: data.tenantId,
|
|
userId: data.userId,
|
|
type: data.type,
|
|
objectId: data.objectId,
|
|
amount: creditType.amount,
|
|
});
|
|
}
|
|
export default {
|
|
create,
|
|
};
|