diff options
Diffstat (limited to 'src/database.gleam')
| -rw-r--r-- | src/database.gleam | 78 |
1 files changed, 43 insertions, 35 deletions
diff --git a/src/database.gleam b/src/database.gleam index 8e8d320..34400ce 100644 --- a/src/database.gleam +++ b/src/database.gleam @@ -49,42 +49,50 @@ pub fn add_counter(connection, name) { } pub fn get_counter(connection, name) { - let assert Ok(_) = - sqlight.query( - "insert or ignore into tb_count (name) values (?);", - with: [sqlight.text(name)], - on: connection, - expecting: dynamic.optional(dynamic.int), - ) - let assert Ok(_) = - sqlight.query( - "update tb_count set num = num + 1, updated_at = ? where name = ?;", - with: [sqlight.text(birl.to_iso8601(birl.utc_now())), sqlight.text(name)], - on: connection, - expecting: dynamic.int, - ) + case name { + "demo" -> Counter("demo", 0_123_456_789, "", "") + _ -> { + let assert Ok(_) = + sqlight.query( + "insert or ignore into tb_count (name) values (?);", + with: [sqlight.text(name)], + on: connection, + expecting: dynamic.optional(dynamic.int), + ) + let assert Ok(_) = + sqlight.query( + "update tb_count set num = num + 1, updated_at = ? where name = ?;", + with: [ + sqlight.text(birl.to_iso8601(birl.utc_now())), + sqlight.text(name), + ], + on: connection, + expecting: dynamic.int, + ) - case - sqlight.query( - "select name, num, created_at, updated_at from tb_count where name = ?;", - with: [sqlight.text(name)], - on: connection, - expecting: dynamic.tuple4( - dynamic.string, - dynamic.int, - dynamic.string, - dynamic.string, - ), - ) - { - Ok([first_element]) -> { - Counter( - first_element.0, - first_element.1, - first_element.2, - first_element.3, - ) + case + sqlight.query( + "select name, num, created_at, updated_at from tb_count where name = ?;", + with: [sqlight.text(name)], + on: connection, + expecting: dynamic.tuple4( + dynamic.string, + dynamic.int, + dynamic.string, + dynamic.string, + ), + ) + { + Ok([first_element]) -> { + Counter( + first_element.0, + first_element.1, + first_element.2, + first_element.3, + ) + } + _ -> Counter(name, 0, "", "") + } } - _ -> Counter(name, 0, "", "") } } |