-- Table storing all kinds of larges files as 8bit-byte vectors (regardless of encoding)
-- PostgreSQL is intelligent enough to handle this in a sensible manner;
-- helps to ensure consistency of database snapshots, no data is stored outside database
File
    title           FilePath
    content         ByteString Maybe -- Nothing iff this is a directory
    modified        UTCTime
    deriving Show Eq Generic

SessionFile
    user            UserId
    reference       SessionFileReference
    file            FileId
    touched         UTCTime