user_builder.ex (884B)
- # Pleroma: A lightweight social networking server
- # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
- # SPDX-License-Identifier: AGPL-3.0-only
- defmodule Pleroma.Builders.UserBuilder do
- alias Pleroma.Repo
- alias Pleroma.User
- def build(data \\ %{}) do
- user = %User{
- email: "test@example.org",
- name: "Test Name",
- nickname: "testname",
- password_hash: Pleroma.Password.Pbkdf2.hash_pwd_salt("test"),
- bio: "A tester.",
- ap_id: "some id",
- last_digest_emailed_at: NaiveDateTime.truncate(NaiveDateTime.utc_now(), :second),
- multi_factor_authentication_settings: %Pleroma.MFA.Settings{},
- notification_settings: %Pleroma.User.NotificationSetting{}
- }
- Map.merge(user, data)
- end
- def insert(data \\ %{}) do
- {:ok, user} = Repo.insert(build(data))
- User.invalidate_cache(user)
- {:ok, user}
- end
- end