55--
66module GitHub.Data.Definitions where
77
8- import Prelude ()
9- import Prelude.Compat
10-
11- import Control.DeepSeq (NFData (.. ))
12- import Control.DeepSeq.Generics (genericRnf )
13- import Control.Monad (mfilter )
14- import Data.Aeson.Compat (FromJSON (.. ), Object , withObject , withText ,
15- (.:) , (.:?) )
16- import Data.Aeson.Types (Parser )
17- import Data.Binary.Orphans (Binary )
18- import Data.Data (Data , Typeable )
19- import Data.Text (Text )
20- import Data.Time (UTCTime )
21- import GHC.Generics (Generic )
22- import Network.HTTP.Client (HttpException )
8+ import GitHub.Internal.Prelude
9+
10+ import Control.Monad (mfilter )
11+ import Data.Aeson.Types (Parser )
12+ import Network.HTTP.Client (HttpException )
2313
2414import qualified Control.Exception as E
25- import qualified Data.Text as T
2615import qualified Data.ByteString as BS
16+ import qualified Data.Text as T
2717
28- import GitHub.Data.Id
29- import GitHub.Data.Name
18+ import GitHub.Data.Id (Id )
19+ import GitHub.Data.Name (Name )
20+ import GitHub.Data.URL (URL )
3021
3122-- | Errors have been tagged according to their source, so you can more easily
3223-- dispatch and handle them.
@@ -49,8 +40,8 @@ instance Binary OwnerType
4940data SimpleUser = SimpleUser
5041 { simpleUserId :: ! (Id User )
5142 , simpleUserLogin :: ! (Name User )
52- , simpleUserAvatarUrl :: ! Text
53- , simpleUserUrl :: ! Text
43+ , simpleUserAvatarUrl :: ! URL
44+ , simpleUserUrl :: ! URL
5445 , simpleUserType :: ! OwnerType -- ^ Should always be 'OwnerUser'
5546 }
5647 deriving (Show , Data , Typeable , Eq , Ord , Generic )
@@ -61,8 +52,8 @@ instance Binary SimpleUser
6152data SimpleOrganization = SimpleOrganization
6253 { simpleOrganizationId :: ! (Id Organization )
6354 , simpleOrganizationLogin :: ! (Name Organization )
64- , simpleOrganizationUrl :: ! Text
65- , simpleOrganizationAvatarUrl :: ! Text
55+ , simpleOrganizationUrl :: ! URL
56+ , simpleOrganizationAvatarUrl :: ! URL
6657 }
6758 deriving (Show , Data , Typeable , Eq , Ord , Generic )
6859
@@ -73,8 +64,8 @@ instance Binary SimpleOrganization
7364data SimpleOwner = SimpleOwner
7465 { simpleOwnerId :: ! (Id Owner )
7566 , simpleOwnerLogin :: ! (Name Owner )
76- , simpleOwnerUrl :: ! Text
77- , simpleOwnerAvatarUrl :: ! Text
67+ , simpleOwnerUrl :: ! URL
68+ , simpleOwnerAvatarUrl :: ! URL
7869 , simpleOwnerType :: ! OwnerType
7970 }
8071 deriving (Show , Data , Typeable , Eq , Ord , Generic )
@@ -89,7 +80,7 @@ data User = User
8980 , userType :: ! OwnerType -- ^ Should always be 'OwnerUser'
9081 , userCreatedAt :: ! UTCTime
9182 , userPublicGists :: ! Int
92- , userAvatarUrl :: ! Text
83+ , userAvatarUrl :: ! URL
9384 , userFollowers :: ! Int
9485 , userFollowing :: ! Int
9586 , userHireable :: ! (Maybe Bool )
@@ -99,8 +90,8 @@ data User = User
9990 , userLocation :: ! (Maybe Text )
10091 , userCompany :: ! (Maybe Text )
10192 , userEmail :: ! (Maybe Text )
102- , userUrl :: ! Text
103- , userHtmlUrl :: ! Text
93+ , userUrl :: ! URL
94+ , userHtmlUrl :: ! URL
10495 }
10596 deriving (Show , Data , Typeable , Eq , Ord , Generic )
10697
@@ -116,13 +107,13 @@ data Organization = Organization
116107 , organizationLocation :: ! (Maybe Text )
117108 , organizationFollowers :: ! Int
118109 , organizationCompany :: ! (Maybe Text )
119- , organizationAvatarUrl :: ! Text
110+ , organizationAvatarUrl :: ! URL
120111 , organizationPublicGists :: ! Int
121- , organizationHtmlUrl :: ! Text
112+ , organizationHtmlUrl :: ! URL
122113 , organizationEmail :: ! (Maybe Text )
123114 , organizationFollowing :: ! Int
124115 , organizationPublicRepos :: ! Int
125- , organizationUrl :: ! Text
116+ , organizationUrl :: ! URL
126117 , organizationCreatedAt :: ! UTCTime
127118 }
128119 deriving (Show , Data , Typeable , Eq , Ord , Generic )
0 commit comments