feat(member): Add members with properties #27 #37

Merged
moritz merged 2 commits from ash_member into main 2025-05-14 18:13:05 +02:00
Owner

Routes:
http://localhost:4000/members
http://localhost:4000/properties
http://localhost:4000/property_types

setup migrations:

mix ash.migrate

Seed with property_types:

mix run priv/repo/seeds.exs 
Routes: http://localhost:4000/members http://localhost:4000/properties http://localhost:4000/property_types setup migrations: ``` mix ash.migrate ``` Seed with property_types: ``` mix run priv/repo/seeds.exs ```
moritz added 2 commits 2025-05-07 19:29:52 +02:00
WIP: add liveview
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
b91df051dc
moritz added this to the Sprint 2 - 07.05. - 28.05 project 2025-05-07 19:29:52 +02:00
requested reviews from simon, carla, rafael 2025-05-07 19:30:07 +02:00
moritz self-assigned this 2025-05-07 19:30:16 +02:00
moritz force-pushed ash_member from b91df051dc to a468f3edbe 2025-05-07 19:32:51 +02:00 Compare
moritz changed title from WIP: feat(member): Add members with properties to WIP: feat(member): Add members with properties #27 2025-05-07 19:35:54 +02:00
rafael approved these changes 2025-05-08 13:45:12 +02:00
rafael left a comment
Collaborator

Denke das ist ein super start! Wenn du Lust hast, hätte ich noch ein paar Ideen, um die member_live/form_component.ex etwas zu refactoren, aber das wäre nur um ein bisschen mein Verständnis vom "funktionalen mindset" weiterzugeben. Der code so wie er ist ist super.

Denke das ist ein super start! Wenn du Lust hast, hätte ich noch ein paar Ideen, um die member_live/form_component.ex etwas zu refactoren, aber das wäre nur um ein bisschen mein Verständnis vom "funktionalen mindset" weiterzugeben. Der code so wie er ist ist super.
@ -0,0 +4,4 @@
data_layer: AshPostgres.DataLayer
postgres do
table "attribute"
Collaborator

Die Tabelle könnten wir noch zu "properties" umbenennen :)

Die Tabelle könnten wir noch zu "properties" umbenennen :)
moritz marked this conversation as resolved
@ -0,0 +89,4 @@
is_missing_property = fn i ->
not Enum.any?(member.properties, fn p ->
Map.get(i, "property_type_id") == p.property_type_id
Collaborator

Credo beschwert sich hier noch, dass das zu tief geschachtelt ist (Obwohl wir das schon refactored haben :D)

Hier ein Vorschlag von mir:

existing_properties =
  member.properties
  |> Enum.map(& &1.property_type_id)

is_missing_property = fn i ->
  not Enum.member?(existing_properties, Map.get(i, "property_type_id"))
end
Credo beschwert sich hier noch, dass das zu tief geschachtelt ist (Obwohl wir das schon refactored haben :D) Hier ein Vorschlag von mir: ```elixir existing_properties = member.properties |> Enum.map(& &1.property_type_id) is_missing_property = fn i -> not Enum.member?(existing_properties, Map.get(i, "property_type_id")) end ```
moritz marked this conversation as resolved
Collaborator

Für den zweiten credo-lint der noch failed hab ich den PR hier aufgemacht: #38

Für den zweiten credo-lint der noch failed hab ich den PR hier aufgemacht: https://git.local-it.org/local-it/mitgliederverwaltung/pulls/38
Owner

Hello!
Mega nice. Ich merk, dass ich hier noch zu wenig tief drin bin um dir gutes Feedback zu geben, aber finds super. Die validate functions sind die nun eig automatisch generiert oder von dir gechrieben?

Hello! Mega nice. Ich merk, dass ich hier noch zu wenig tief drin bin um dir gutes Feedback zu geben, aber finds super. Die validate functions sind die nun eig automatisch generiert oder von dir gechrieben?
carla changed title from WIP: feat(member): Add members with properties #27 to feat(member): Add members with properties #27 2025-05-08 16:09:48 +02:00
carla changed title from feat(member): Add members with properties #27 to WIP: feat(member): Add members with properties #27 2025-05-08 16:09:53 +02:00
moritz force-pushed ash_member from a468f3edbe to 83aab8c47b 2025-05-14 17:29:07 +02:00 Compare
moritz force-pushed ash_member from 83aab8c47b to 43ef11f869 2025-05-14 17:48:10 +02:00 Compare
moritz force-pushed ash_member from 43ef11f869 to 7199929257 2025-05-14 17:56:34 +02:00 Compare
moritz force-pushed ash_member from 7199929257 to 5906d84d0f 2025-05-14 18:10:00 +02:00 Compare
moritz changed title from WIP: feat(member): Add members with properties #27 to feat(member): Add members with properties #27 2025-05-14 18:10:41 +02:00
moritz force-pushed ash_member from 5906d84d0f to 2d6034864c 2025-05-14 18:12:33 +02:00 Compare
moritz merged commit 5690ace6e1 into main 2025-05-14 18:13:05 +02:00
moritz deleted branch ash_member 2025-05-14 18:13:06 +02:00
Author
Owner

@carla wrote in #37 (comment):

Hello! Mega nice. Ich merk, dass ich hier noch zu wenig tief drin bin um dir gutes Feedback zu geben, aber finds super. Die validate functions sind die nun eig automatisch generiert oder von dir gechrieben?

lib/membership/property_type.ex und lib/membership/property.ex sind generiert, lib/mv_web/member_live/form_component.ex ist angepasst (siehe unterschied zu den anderen beiden files).

@carla wrote in https://git.local-it.org/local-it/mitgliederverwaltung/pulls/37#issuecomment-10937: > Hello! Mega nice. Ich merk, dass ich hier noch zu wenig tief drin bin um dir gutes Feedback zu geben, aber finds super. Die validate functions sind die nun eig automatisch generiert oder von dir gechrieben? `lib/membership/property_type.ex` und `lib/membership/property.ex` sind generiert, `lib/mv_web/member_live/form_component.ex` ist angepasst (siehe unterschied zu den anderen beiden files).
Sign in to join this conversation.
No description provided.