package sihl

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file model.ml

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
OCaml

Innovation. Community. Security.