// DO NOT EDIT: Code generated by matcha from by_id.matcha import gleam/string_builder.{type StringBuilder} import gleam/list import funsies/schema.{type Table, type Column} import gleam/string fn columns(table: Table) -> StringBuilder { let builder = string_builder.from_string("") let builder = list.fold(table.columns, builder, fn(builder, col: Column) { let builder = string_builder.append(builder, string.replace(string.capitalise(col.name), "_", "")) builder }) builder } fn columns2(table: Table) -> StringBuilder { let builder = string_builder.from_string("") let builder = list.fold(table.columns, builder, fn(builder, col: Column) { let builder = string_builder.append(builder, string.replace(col.name, "_", "")) builder }) builder } pub fn render_builder(table table: Table) -> StringBuilder { let builder = string_builder.from_string("") let builder = string_builder.append(builder, " ") let builder = string_builder.append(builder, " ") let builder = string_builder.append(builder, " ") let builder = string_builder.append(builder, " import funs/") let builder = string_builder.append(builder, table.name) let builder = string_builder.append(builder, "_decoder import funs/") let builder = string_builder.append(builder, table.name) let builder = string_builder.append(builder, " import gleam/pgo pub fn by_id(db: pgo.Connection, id: Int) -> Result(") let builder = string_builder.append(builder, table.name) let builder = string_builder.append(builder, ".") let builder = string_builder.append(builder, string.capitalise(table.name)) let builder = string_builder.append(builder, "Row, pgo.QueryError) { let query = \"SELECT * FROM ") let builder = string_builder.append(builder, table.name) let builder = string_builder.append(builder, " WHERE id = $1\" pgo.execute(db, [pgo.int(id)], ") let builder = string_builder.append(builder, table.name) let builder = string_builder.append(builder, ".") let builder = string_builder.append(builder, table.name) let builder = string_builder.append(builder, "_decoder_) } ") builder } pub fn render(table table: Table) -> String { string_builder.to_string(render_builder(table: table)) }