1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
exception Exception of string
module File = struct
type t =
{ id : string
; filename : string
; filesize : int
; mime : string
}
[@@deriving fields, yojson, show, eq, make]
let set_mime mime file = { file with mime }
let set_filesize filesize file = { file with filesize }
let set_filename filename file = { file with filename }
end
module StoredFile = struct
type t =
{ file : File.t
; blob : string
}
[@@deriving fields, yojson, show, eq, make]
let mime stored_file = File.mime stored_file.file
let filesize stored_file = File.filesize stored_file.file
let filename stored_file = File.filename stored_file.file
let set_mime mime stored_file =
{ stored_file with file = File.set_mime mime stored_file.file }
;;
let set_filesize size stored_file =
{ stored_file with file = File.set_filesize size stored_file.file }
;;
let set_filename name stored_file =
{ stored_file with file = File.set_filename name stored_file.file }
;;
end