Current section
Files
Jump to
Current section
Files
src/galchemy@examples@crud.erl
-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()}))
).