wip: currently rewriting the project as a full stack application tangled.org/kacaii.dev/sigo
gleam
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

:card_file_box: add support for querying members of a brigade

Kacaii 26af9702 79a930fb

+46
+40
src/app/sql.gleam
··· 6 6 7 7 import gleam/dynamic/decode 8 8 import pog 9 + import youid/uuid.{type Uuid} 9 10 10 11 /// A row you get from running the `count_active_brigades` query 11 12 /// defined in `./src/app/sql/count_active_brigades.sql`. ··· 36 37 WHERE is_active = TRUE; 37 38 " 38 39 |> pog.query 40 + |> pog.returning(decoder) 41 + |> pog.execute(db) 42 + } 43 + 44 + /// A row you get from running the `get_brigade_members` query 45 + /// defined in `./src/app/sql/get_brigade_members.sql`. 46 + /// 47 + /// > 🐿️ This type definition was generated automatically using v4.4.1 of the 48 + /// > [squirrel package](https://github.com/giacomocavalieri/squirrel). 49 + /// 50 + pub type GetBrigadeMembersRow { 51 + GetBrigadeMembersRow(full_name: String, registration: String) 52 + } 53 + 54 + /// Runs the `get_brigade_members` query 55 + /// defined in `./src/app/sql/get_brigade_members.sql`. 56 + /// 57 + /// > 🐿️ This function was generated automatically using v4.4.1 of 58 + /// > the [squirrel package](https://github.com/giacomocavalieri/squirrel). 59 + /// 60 + pub fn get_brigade_members( 61 + db: pog.Connection, 62 + arg_1: Uuid, 63 + ) -> Result(pog.Returned(GetBrigadeMembersRow), pog.QueryError) { 64 + let decoder = { 65 + use full_name <- decode.field(0, decode.string) 66 + use registration <- decode.field(1, decode.string) 67 + decode.success(GetBrigadeMembersRow(full_name:, registration:)) 68 + } 69 + 70 + "SELECT 71 + u.full_name, 72 + u.registration 73 + FROM user_account AS u 74 + INNER JOIN brigade_membership AS bm ON u.id = bm.user_id 75 + WHERE bm.brigade_id = $1 -- <- Brigade ID here 76 + " 77 + |> pog.query 78 + |> pog.parameter(pog.text(uuid.to_string(arg_1))) 39 79 |> pog.returning(decoder) 40 80 |> pog.execute(db) 41 81 }
+6
src/app/sql/get_brigade_members.sql
··· 1 + SELECT 2 + u.full_name, 3 + u.registration 4 + FROM user_account AS u 5 + INNER JOIN brigade_membership AS bm ON u.id = bm.user_id 6 + WHERE bm.brigade_id = $1 -- <- Brigade ID here