Packages
phoenix_kit
1.7.138
1.7.207
1.7.206
1.7.205
1.7.204
1.7.203
1.7.202
1.7.201
1.7.200
1.7.199
1.7.198
1.7.197
1.7.196
1.7.194
1.7.193
1.7.192
1.7.191
1.7.190
1.7.189
1.7.187
1.7.186
1.7.185
1.7.184
1.7.183
1.7.182
1.7.181
1.7.180
1.7.179
1.7.178
1.7.177
1.7.176
1.7.175
1.7.174
1.7.173
1.7.172
1.7.171
1.7.170
1.7.169
1.7.168
1.7.167
1.7.166
1.7.165
1.7.164
1.7.162
1.7.161
1.7.160
1.7.159
1.7.157
1.7.156
1.7.155
1.7.154
1.7.153
1.7.152
1.7.151
1.7.150
1.7.149
1.7.146
1.7.145
1.7.144
1.7.143
1.7.138
1.7.133
1.7.132
1.7.131
1.7.130
1.7.128
1.7.126
1.7.125
1.7.121
1.7.120
1.7.119
1.7.118
1.7.117
1.7.116
1.7.115
1.7.114
1.7.113
1.7.112
1.7.111
1.7.110
1.7.109
1.7.108
1.7.107
1.7.106
1.7.105
1.7.104
1.7.103
1.7.102
1.7.101
1.7.100
1.7.99
1.7.98
1.7.97
1.7.96
1.7.95
1.7.94
1.7.93
1.7.92
1.7.91
1.7.90
1.7.89
1.7.88
1.7.87
1.7.86
1.7.85
1.7.84
1.7.83
1.7.82
1.7.81
1.7.80
1.7.79
1.7.78
1.7.77
1.7.76
1.7.75
1.7.74
1.7.71
1.7.70
1.7.69
1.7.66
1.7.65
1.7.64
1.7.63
1.7.62
1.7.61
1.7.59
1.7.58
1.7.57
1.7.56
1.7.55
1.7.54
1.7.53
1.7.52
1.7.51
1.7.49
1.7.44
1.7.43
1.7.42
1.7.41
1.7.39
1.7.38
1.7.37
1.7.36
1.7.34
1.7.33
1.7.31
1.7.30
1.7.29
1.7.28
1.7.27
1.7.26
1.7.25
1.7.24
1.7.23
1.7.22
1.7.21
1.7.20
1.7.19
1.7.18
1.7.17
1.7.16
1.7.15
1.7.14
1.7.13
1.7.12
1.7.11
1.7.10
1.7.9
1.7.8
1.7.7
1.7.6
1.7.5
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
1.6.20
1.6.19
1.6.18
1.6.17
1.6.16
1.6.15
1.6.14
1.6.13
1.6.12
1.6.11
1.6.10
1.6.9
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.5.2
1.5.1
1.5.0
1.4.9
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.2
1.3.1
1.3.0
1.2.10
1.2.9
1.2.8
1.2.7
1.2.5
1.2.4
1.2.2
1.2.1
1.2.0
1.1.0
1.0.0
A foundation for building Elixir Phoenix apps — SaaS, social networks, ERP systems, marketplaces, and more
Current section
221 Versions
Jump to
Current section
221 Versions
Compare versions
10
files changed
+703
additions
-298
deletions
unknownCHANGELOG.md
File is too large to be displayed (100 KB limit).
| @@ -1,6 +1,6 @@ | |
| 1 1 | {<<"links">>,[{<<"GitHub">>,<<"https://github.com/BeamLabEU/phoenix_kit">>}]}. |
| 2 2 | {<<"name">>,<<"phoenix_kit">>}. |
| 3 | - {<<"version">>,<<"1.7.133">>}. |
| 3 | + {<<"version">>,<<"1.7.138">>}. |
| 4 4 | {<<"description">>, |
| 5 5 | <<65,32,102,111,117,110,100,97,116,105,111,110,32,102,111,114,32,98,117,105, |
| 6 6 | 108,100,105,110,103,32,69,108,105,120,105,114,32,80,104,111,101,110,105, |
| @@ -553,6 +553,7 @@ | |
| 553 553 | <<"lib/phoenix_kit/migrations/postgres/v73.ex">>, |
| 554 554 | <<"lib/phoenix_kit/migrations/postgres/v03.ex">>, |
| 555 555 | <<"lib/phoenix_kit/migrations/postgres/v02.ex">>, |
| 556 | + <<"lib/phoenix_kit/migrations/postgres/v132.ex">>, |
| 556 557 | <<"lib/phoenix_kit/migrations/postgres/v72.ex">>, |
| 557 558 | <<"lib/phoenix_kit/migrations/postgres/v85.ex">>, |
| 558 559 | <<"lib/phoenix_kit/migrations/postgres/v125.ex">>, |
| @@ -758,7 +759,7 @@ | |
| 758 759 | [{<<"name">>,<<"leaf">>}, |
| 759 760 | {<<"app">>,<<"leaf">>}, |
| 760 761 | {<<"optional">>,false}, |
| 761 | - {<<"requirement">>,<<"~> 0.2.11">>}, |
| 762 | + {<<"requirement">>,<<"~> 0.2.22">>}, |
| 762 763 | {<<"repository">>,<<"hexpm">>}], |
| 763 764 | [{<<"name">>,<<"fresco">>}, |
| 764 765 | {<<"app">>,<<"fresco">>}, |
| @@ -16,6 +16,7 @@ defmodule PhoenixKit.Modules.Storage.Folder do | |
| 16 16 | |
| 17 17 | schema "phoenix_kit_media_folders" do |
| 18 18 | field :name, :string |
| 19 | + field :description, :string |
| 19 20 | field :color, :string, default: "default" |
| 20 21 | field :trashed_at, :utc_datetime |
| 21 22 | |
| @@ -46,10 +47,11 @@ defmodule PhoenixKit.Modules.Storage.Folder do | |
| 46 47 | |
| 47 48 | def changeset(folder, attrs) do |
| 48 49 | folder |
| 49 | - |> cast(attrs, [:name, :parent_uuid, :user_uuid, :color, :trashed_at]) |
| 50 | + |> cast(attrs, [:name, :description, :parent_uuid, :user_uuid, :color, :trashed_at]) |
| 50 51 | |> validate_required([:name]) |
| 51 52 | |> validate_inclusion(:color, @folder_colors) |
| 52 53 | |> validate_length(:name, min: 1, max: 255) |
| 54 | + |> validate_length(:description, max: 2000) |
| 53 55 | |> foreign_key_constraint(:parent_uuid) |
| 54 56 | |> foreign_key_constraint(:user_uuid) |
| 55 57 | |> unique_constraint([:name, :parent_uuid], |
| @@ -529,7 +529,12 @@ defmodule PhoenixKit.Migrations.Postgres do | |
| 529 529 | - Replaces unique index with partial index (slug-mode only, WHERE slug IS NOT NULL) |
| 530 530 | - Adds unique index on `(group_uuid, post_date, post_time)` for timestamp-mode posts |
| 531 531 | |
| 532 | - ### V131 - `metadata JSONB` on staff people ⚡ LATEST |
| 532 | + ### V132 - Folder description ⚡ LATEST |
| 533 | + - Adds an optional `description TEXT` column to `phoenix_kit_media_folders` |
| 534 | + so admins can add/edit a free-text note describing a folder. Nullable; |
| 535 | + `ADD COLUMN IF NOT EXISTS`, idempotent. |
| 536 | + |
| 537 | + ### V131 - `metadata JSONB` on staff people |
| 533 538 | - Adds a general-purpose `metadata JSONB NOT NULL DEFAULT '{}'` column to |
| 534 539 | `phoenix_kit_staff_people` (mirrors `phoenix_kit_entities.entity_data`). |
| 535 540 | First consumer is staff soft-delete: stashes the prior lifecycle status |
| @@ -1128,7 +1133,7 @@ defmodule PhoenixKit.Migrations.Postgres do | |
| 1128 1133 | use Ecto.Migration |
| 1129 1134 | |
| 1130 1135 | @initial_version 1 |
| 1131 | - @current_version 131 |
| 1136 | + @current_version 132 |
| 1132 1137 | @default_prefix "public" |
| 1133 1138 | |
| 1134 1139 | @doc false |
| @@ -0,0 +1,35 @@ | |
| 1 | + defmodule PhoenixKit.Migrations.Postgres.V132 do |
| 2 | + @moduledoc """ |
| 3 | + V132: `description TEXT` on `phoenix_kit_media_folders`. |
| 4 | + |
| 5 | + Adds an optional free-text description to media folders so admins (or |
| 6 | + anyone managing media) can add/edit a note explaining what a folder is |
| 7 | + for. Nullable — existing folders have no description until one is set, |
| 8 | + and the Media browser shows an "add a description" affordance when empty. |
| 9 | + |
| 10 | + Idempotent: `ADD COLUMN IF NOT EXISTS`, safe to re-run. |
| 11 | + """ |
| 12 | + |
| 13 | + use Ecto.Migration |
| 14 | + |
| 15 | + def up(opts) do |
| 16 | + prefix = Map.get(opts, :prefix, "public") |
| 17 | + p = prefix_str(prefix) |
| 18 | + |
| 19 | + execute("ALTER TABLE #{p}phoenix_kit_media_folders ADD COLUMN IF NOT EXISTS description TEXT") |
| 20 | + |
| 21 | + execute("COMMENT ON TABLE #{p}phoenix_kit IS '132'") |
| 22 | + end |
| 23 | + |
| 24 | + def down(opts) do |
| 25 | + prefix = Map.get(opts, :prefix, "public") |
| 26 | + p = prefix_str(prefix) |
| 27 | + |
| 28 | + execute("ALTER TABLE #{p}phoenix_kit_media_folders DROP COLUMN IF EXISTS description") |
| 29 | + |
| 30 | + execute("COMMENT ON TABLE #{p}phoenix_kit IS '131'") |
| 31 | + end |
| 32 | + |
| 33 | + defp prefix_str("public"), do: "public." |
| 34 | + defp prefix_str(prefix), do: "#{prefix}." |
| 35 | + end |
Loading more files…