-module(galchemy@examples@crud). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src\\galchemy\\examples\\crud.gleam"). -export([build_select/0, build_insert/0, build_update/0, build_delete/0, main/0]). -file("src\\galchemy\\examples\\crud.gleam", 13). -spec users_table() -> galchemy@ast@schema:table(). users_table() -> galchemy@dsl@table:table(<<"users"/utf8>>). -file("src\\galchemy\\examples\\crud.gleam", 17). -spec users_id() -> galchemy@ast@schema:column(integer()). users_id() -> galchemy@dsl@table:int(users_table(), <<"id"/utf8>>). -file("src\\galchemy\\examples\\crud.gleam", 21). -spec users_name() -> galchemy@ast@schema:column(binary()). users_name() -> galchemy@dsl@table:text(users_table(), <<"name"/utf8>>). -file("src\\galchemy\\examples\\crud.gleam", 25). -spec users_active() -> galchemy@ast@schema:column(boolean()). users_active() -> galchemy@dsl@table:bool(users_table(), <<"active"/utf8>>). -file("src\\galchemy\\examples\\crud.gleam", 29). -spec build_select() -> galchemy@ast@expression:select_query(). build_select() -> _pipe = galchemy@dsl@select:select( [galchemy@dsl@expr:item(galchemy@dsl@expr:col(users_id())), galchemy@dsl@expr:item(galchemy@dsl@expr:col(users_name()))] ), _pipe@1 = galchemy@dsl@select:from(_pipe, users_table()), galchemy@dsl@select:where_( _pipe@1, galchemy@dsl@predicate:eq( galchemy@dsl@expr:col(users_active()), galchemy@dsl@expr:bool(true) ) ). -file("src\\galchemy\\examples\\crud.gleam", 38). -spec build_insert() -> galchemy@ast@query:insert_query(). build_insert() -> _pipe = galchemy@dsl@insert:insert_into(users_table()), _pipe@1 = galchemy@dsl@insert:value( _pipe, users_id(), galchemy@dsl@expr:int(1) ), _pipe@2 = galchemy@dsl@insert:value( _pipe@1, users_name(), galchemy@dsl@expr:text(<<"Ann"/utf8>>) ), _pipe@3 = galchemy@dsl@insert:value( _pipe@2, users_active(), galchemy@dsl@expr:bool(true) ), galchemy@dsl@insert:returning( _pipe@3, [galchemy@dsl@expr:item(galchemy@dsl@expr:col(users_id()))] ). -file("src\\galchemy\\examples\\crud.gleam", 46). -spec build_update() -> galchemy@ast@query:update_query(). build_update() -> _pipe = galchemy@dsl@update:update(users_table()), _pipe@1 = galchemy@dsl@update:set( _pipe, users_name(), galchemy@dsl@expr:text(<<"Bob"/utf8>>) ), _pipe@2 = galchemy@dsl@update:where_( _pipe@1, galchemy@dsl@predicate:eq( galchemy@dsl@expr:col(users_id()), galchemy@dsl@expr:int(1) ) ), galchemy@dsl@update:returning( _pipe@2, [galchemy@dsl@expr:item(galchemy@dsl@expr:col(users_id())), galchemy@dsl@expr:item(galchemy@dsl@expr:col(users_name()))] ). -file("src\\galchemy\\examples\\crud.gleam", 56). -spec build_delete() -> galchemy@ast@query:delete_query(). build_delete() -> _pipe = galchemy@dsl@delete:delete_from(users_table()), _pipe@1 = galchemy@dsl@delete:where_( _pipe, galchemy@dsl@predicate:eq( galchemy@dsl@expr:col(users_id()), galchemy@dsl@expr:int(1) ) ), galchemy@dsl@delete:returning( _pipe@1, [galchemy@dsl@expr:item(galchemy@dsl@expr:col(users_id()))] ). -file("src\\galchemy\\examples\\crud.gleam", 62). -spec main() -> nil. main() -> gleam_stdlib:println(<<"CRUD example"/utf8>>), gleam_stdlib:println( gleam@string:inspect(galchemy:compile({select, build_select()})) ), gleam_stdlib:println( gleam@string:inspect(galchemy:compile({insert, build_insert()})) ), gleam_stdlib:println( gleam@string:inspect(galchemy:compile({update, build_update()})) ), gleam_stdlib:println( gleam@string:inspect(galchemy:compile({delete, build_delete()})) ).