summaryrefslogtreecommitdiffstats
path: root/src/Types.elm
blob: 02e1257638e8c3631c4814435a4b4b15d6cc3a5a (plain)
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
40
41
42
module Types exposing (..)

import Http
import Time


type alias Model =
    { posts : List Post
    , displayError : DisplayableError
    , now : Time.Posix
    }


type Msg
    = NoOp
      -- TIME
    | SetNowPosix Time.Posix
      -- POSTS
    | GetPosts
    | GotPosts (Result Http.Error (List Post))
    | LikePost Post
    | LikedPost (Result Http.Error Post)


type DisplayableError
    = DHttpError Http.Error
    | DNoError


type alias Author =
    { id : String
    , name : String
    }


type alias Post =
    { id : String
    , content : String
    , author : Author
    , createdAt : Time.Posix
    , likes : Int
    }