import "server-only"; import { executeEconomyCatalogMutation } from "./mutation-runtime-catalog"; import { executeEconomyDatabaseMutation } from "./mutation-runtime-commerce"; import { executeEconomyRewardsMutation } from "./mutation-runtime-rewards"; import type { EconomyMutationContext, EconomyMutationOperation, EconomyMutationSnapshot, } from "./mutations"; import { EconomyMutationFailure } from "./mutations"; export async function executeEconomyMutationOperation( operation: EconomyMutationOperation, input: unknown, context: EconomyMutationContext, transaction?: unknown, ): Promise { const databaseResult = await executeEconomyDatabaseMutation( operation, input, context, transaction, ); if (databaseResult) return databaseResult; const catalogResult = await executeEconomyCatalogMutation( operation, input, context, ); if (catalogResult) return catalogResult; const rewardsResult = await executeEconomyRewardsMutation( operation, input, context, ); if (rewardsResult) return rewardsResult; throw new EconomyMutationFailure( "VALIDATION", "errors.housekeeping.validation", ); }