๐Ÿ‘ฉโ€๐Ÿš’ Firefighters API written in Gleam!
lustre gleam
at main 51 lines 1.2 kB view raw
1import argv 2import envoy 3import gleam/erlang/process 4import gleam/int 5import gleam/io 6import pog 7import server 8import server/context.{type Context, Context} 9import server/user 10import shared/role 11 12pub fn main() -> Nil { 13 let db_process_name = process.new_name("db_conn") 14 let db = pog.named_connection(db_process_name) 15 16 let assert Ok(static_directory) = server.static_directory() 17 let assert Ok(secret_key) = envoy.get("SECRET_KEY") 18 let assert Ok(pog_config) = server.read_connection_uri(db_process_name) 19 let assert Ok(_) = pog.start(pog_config) 20 21 let ctx = Context(db:, static_directory:, secret_key:) 22 23 case argv.load().arguments { 24 ["sow"] -> sow_users(ctx) 25 26 _ -> Nil 27 } 28} 29 30fn sow_users(ctx: Context) -> Nil { 31 let max_users = 50 32 33 int.range(1, max_users, with: Nil, run: fn(_, i) { 34 let id = int.to_string(i) 35 36 let assert Ok(_) = 37 user.register( 38 ctx:, 39 user_name: "user_" <> id, 40 user_role: role.None, 41 user_password: "password_" <> id, 42 user_email: "user_" <> id <> "@email.com", 43 user_phone: "phone_" <> id, 44 is_active: True, 45 ) 46 47 Nil 48 }) 49 50 io.println("๓ฑข— " <> int.to_string(max_users) <> " users generated") 51}