File tree 1 file changed +16
-9
lines changed
1 file changed +16
-9
lines changed Original file line number Diff line number Diff line change @@ -4,9 +4,10 @@ defmodule Upload.Blob do
4
4
5
5
The checksum field is a MD5 hash of the blob.
6
6
"""
7
-
8
7
use Ecto.Schema
8
+
9
9
import Ecto.Changeset
10
+ import Ecto.Query
10
11
11
12
alias Upload.Stat
12
13
@@ -130,14 +131,20 @@ defmodule Upload.Blob do
130
131
changeset
131
132
132
133
original_blob_id ->
133
- if repo . get ( __MODULE__ , original_blob_id ) . variant do
134
- add_error (
135
- changeset ,
136
- :original_blob_id ,
137
- "Can not set original_blob_id to a variant blob."
138
- )
139
- else
140
- changeset
134
+ __MODULE__
135
+ |> where ( [ blob ] , blob . id == ^ original_blob_id )
136
+ |> select ( [ blob ] , blob . variant )
137
+ |> repo . one ( )
138
+ |> case do
139
+ nil ->
140
+ changeset
141
+
142
+ _variant ->
143
+ add_error (
144
+ changeset ,
145
+ :original_blob_id ,
146
+ "Can not set original_blob_id to a variant blob."
147
+ )
141
148
end
142
149
end
143
150
end
You can’t perform that action at this time.
0 commit comments