# Script for populating the database. You can run it as: # # mix run priv/repo/seeds.exs # alias Mv.Membership alias Mv.Accounts for attrs <- [ %{ name: "String Field", value_type: :string, description: "Example for a field of type string", immutable: true, required: true }, %{ name: "Date Field", value_type: :date, description: "Example for a field of type date", immutable: true, required: true }, %{ name: "Boolean Field", value_type: :boolean, description: "Example for a field of type boolean", immutable: true, required: true }, %{ name: "Email Field", value_type: :email, description: "Example for a field of type email", immutable: true, required: true } ] do Membership.create_property_type!( attrs, upsert?: true, upsert_identity: :unique_name ) end # Create admin user for testing Accounts.create_user!(%{email: "admin@mv.local"}, upsert?: true, upsert_identity: :unique_email) |> Ash.Changeset.for_update(:admin_set_password, %{password: "testpassword"}) |> Ash.update!() # Create sample members for testing for member_attrs <- [ %{ first_name: "Hans", last_name: "Müller", email: "hans.mueller@example.de", birth_date: ~D[1985-06-15], join_date: ~D[2023-01-15], paid: true, phone_number: "+49301234567", city: "München", street: "Hauptstraße", house_number: "42", postal_code: "80331" }, %{ first_name: "Greta", last_name: "Schmidt", email: "greta.schmidt@example.de", birth_date: ~D[1990-03-22], join_date: ~D[2023-02-01], paid: false, phone_number: "+49309876543", city: "Hamburg", street: "Lindenstraße", house_number: "17", postal_code: "20095", notes: "Interessiert an Fortgeschrittenen-Kursen" }, %{ first_name: "Friedrich", last_name: "Wagner", email: "friedrich.wagner@example.de", birth_date: ~D[1978-11-08], join_date: ~D[2022-11-10], paid: true, phone_number: "+49301122334", city: "Berlin", street: "Kastanienallee", house_number: "8" } ] do Membership.create_member!(member_attrs) end