user management with pagination & modal improvements

This commit is contained in:
Adam Piontek 2021-03-04 22:03:27 -05:00
parent 488a4e5195
commit 18468e3cc3
35 changed files with 2948 additions and 86 deletions

File diff suppressed because it is too large Load diff

1000
priv/repo/MOCK_DATA_users.json Executable file

File diff suppressed because it is too large Load diff

View file

@ -9,7 +9,15 @@
#
# We recommend using the bang functions (`insert!`, `update!`
# and so on) as they will fail if something goes wrong.
alias Bones73k.Repo
alias Bones73k.Accounts
alias Bones73k.Accounts.User
alias Bones73k.Properties
alias Bones73k.Properties.Property
############################################################################
## INSERTING MOCK USER DATA
{:ok, admin} =
Accounts.register_user(%{
@ -35,6 +43,42 @@ alias Bones73k.Accounts
role: Accounts.registration_role()
})
# if Mix.env() == :dev do
this_path = Path.dirname(__ENV__.file)
users_json = Path.join(this_path, "MOCK_DATA_users.json")
count_to_take = 123
mock_users = users_json |> File.read!() |> Jason.decode!() |> Enum.take_random(count_to_take)
mock_users = ~s([
{"email":"adam@73k.us","password":"adamadam","role":"admin","inserted_at":"2018-12-14T01:01:01Z","confirmed_at":true},
{"email":"karen@73k.us","password":"karenkaren","role":"manager","inserted_at":"2018-12-14T01:06:01Z","confirmed_at":true},
{"email":"kat@73k.us","password":"katkat","role":"manager","inserted_at":"2018-12-14T01:06:01Z","confirmed_at":true}
]) |> Jason.decode!() |> Enum.concat(mock_users)
mock_users =
Enum.map(mock_users, fn e ->
add_dt = NaiveDateTime.from_iso8601!(e["inserted_at"])
%{
email: e["email"],
role: String.to_existing_atom(e["role"]),
hashed_password: Bcrypt.hash_pwd_salt(e["password"]),
inserted_at: add_dt,
updated_at: add_dt,
confirmed_at: (e["confirmed_at"] && NaiveDateTime.add(add_dt, 300, :second)) || nil
}
end)
Repo.insert_all(User, mock_users)
# end
############################################################################
## IF ENV IS DEV
## INSERTING MOCK PROPERTIES DATA
Enum.each(1..10, fn i ->
%{
name: "Property #{i} - User 1",
@ -60,3 +104,29 @@ Enum.each(1..10, fn i ->
}
|> Bones73k.Properties.create_property()
end)
# if Mix.env() == :dev do
# this_path = Path.dirname(__ENV__.file)
props_json = Path.join(this_path, "MOCK_DATA_properties.json")
count_to_take = 123
mock_props = props_json |> File.read!() |> Jason.decode!() |> Enum.take_random(count_to_take)
mock_props =
Enum.map(mock_props, fn e ->
add_dt = NaiveDateTime.from_iso8601!(e["inserted_at"])
%{
name: e["name"],
price: e["price"],
description: e["description"],
user_id: e["user_id"],
inserted_at: add_dt,
updated_at: add_dt
}
end)
Repo.insert_all(Property, mock_props)
# end