Next.js Discord

Discord Forum

Generating server actions from OpenAPI routes

Unanswered
Matt posted this in #help-forum
Open in Discord
Has anyone experimented with or know of any tools to generate server actions for an external OpenAPI compliant API?

For example we have a backend service with 50+ mutation routes and I'd like to avoid writing this boilerplate 50+ times

export async function createGameAction(prevState: ActionResponse | undefined, formData: FormData) {
  const name = formData.get("name") as string;
  const maxPlayersPerInstance = Number(formData.get("maxPlayersPerInstance"));
  const reservedPlayersPerInstance = Number(formData.get("reservedPlayersPerInstance"));
  const fillMode = formData.get("fillMode") as "fill" | "balanced" | "closest";
  const description = formData.get("description") as string;

  let gameResponse;
  try {
    gameResponse = await createGame({
      name,
      maxPlayersPerInstance,
      reservedPlayersPerInstance,
      fillMode,
      description,
    });
  } catch (error: any) {
    return {
      success: false,
      validationErrors: error.validationErrors,
      message: error.message,
    };
  }
}

1 Reply

I guess the tricky part would be extracting the formData into the correct parameter format (querystring vs body etc...)