@@ -9,18 +9,18 @@ defmodule Cadet.Assets.Assets do
99 if ( Mix . env ( ) == :test , do: [ "testFolder" ] , else: [ ] )
1010 @ accepted_file_types ~w( .jpg .jpeg .gif .png .wav .mp3 .txt)
1111
12- def upload_to_s3 ( upload_params , course_id , folder_name , file_name ) do
12+ def upload_to_s3 ( upload_params , prefix , folder_name , file_name ) do
1313 file_type = Path . extname ( file_name )
1414
1515 with :ok <- validate_file_name ( file_name ) ,
1616 :ok <- validate_folder_name ( folder_name ) ,
1717 :ok <- validate_file_type ( file_type ) do
18- if object_exists? ( course_id , folder_name , file_name ) do
18+ if object_exists? ( prefix , folder_name , file_name ) do
1919 { :error , { :bad_request , "File already exists" } }
2020 else
2121 file = upload_params . path
2222
23- s3_path = "#{ prefix ( ) } #{ course_id } / #{ folder_name } /#{ file_name } "
23+ s3_path = "#{ prefix } #{ folder_name } /#{ file_name } "
2424
2525 file
2626 |> Upload . stream_file ( )
@@ -32,11 +32,11 @@ defmodule Cadet.Assets.Assets do
3232 end
3333 end
3434
35- def list_assets ( course_id , folder_name ) do
35+ def list_assets ( prefix , folder_name ) do
3636 case validate_folder_name ( folder_name ) do
3737 :ok ->
3838 bucket ( )
39- |> S3 . list_objects ( prefix: " #{ prefix ( ) } #{ course_id } /" <> folder_name <> "/" )
39+ |> S3 . list_objects ( prefix: prefix <> folder_name <> "/" )
4040 |> ExAws . stream! ( )
4141 |> Enum . map ( fn file -> file . key end )
4242
@@ -45,12 +45,12 @@ defmodule Cadet.Assets.Assets do
4545 end
4646 end
4747
48- def delete_object ( course_id , folder_name , file_name ) do
48+ def delete_object ( prefix , folder_name , file_name ) do
4949 with :ok <- validate_file_name ( file_name ) ,
5050 :ok <- validate_folder_name ( folder_name ) do
51- if object_exists? ( course_id , folder_name , file_name ) do
51+ if object_exists? ( prefix , folder_name , file_name ) do
5252 bucket ( )
53- |> S3 . delete_object ( "#{ prefix ( ) } #{ course_id } / #{ folder_name } /#{ file_name } " )
53+ |> S3 . delete_object ( "#{ prefix } #{ folder_name } /#{ file_name } " )
5454 |> ExAws . request! ( )
5555
5656 :ok
@@ -60,11 +60,11 @@ defmodule Cadet.Assets.Assets do
6060 end
6161 end
6262
63- @ spec object_exists? ( integer ( ) , binary , binary ) :: boolean ( )
64- def object_exists? ( course_id , folder_name , file_name ) do
63+ @ spec object_exists? ( integer ( ) | binary ( ) , binary , binary ) :: boolean ( )
64+ def object_exists? ( prefix , folder_name , file_name ) do
6565 response =
6666 bucket ( )
67- |> S3 . head_object ( "#{ prefix ( ) } #{ course_id } / #{ folder_name } /#{ file_name } " )
67+ |> S3 . head_object ( "#{ prefix } #{ folder_name } /#{ file_name } " )
6868 |> ExAws . request ( )
6969
7070 case response do
@@ -99,5 +99,6 @@ defmodule Cadet.Assets.Assets do
9999
100100 defp bucket , do: :cadet |> Application . fetch_env! ( :uploader ) |> Keyword . get ( :assets_bucket )
101101
102- defp prefix , do: :cadet |> Application . fetch_env! ( :uploader ) |> Keyword . get ( :assets_prefix , "" )
102+ def assets_prefix ,
103+ do: :cadet |> Application . fetch_env! ( :uploader ) |> Keyword . get ( :assets_prefix , "" )
103104end
0 commit comments